orthogonal array sampling for monte carlo rendering...

6
Eurographics Symposium on Rendering 2019 T. Boubekeur and P. Sen (Guest Editors) Volume 38 (2019), Number 4 Orthogonal Array Sampling for Monte Carlo Rendering: supplemental document Wojciech Jarosz Afnan Enayet Andrew Kensler Charlie Kilpatrick Per Christensen Dartmouth College Pixar Animation Studios 1. Further reading list Below is our suggested sequence through a subset of the OA litera- ture for graphics researchers to most quickly get ramped up on these topics. Graphics 1. First become familiar with Chiu, Shirley, and Wang’s original multi-jittered sampling paper [CSW94] as it is the conceptual precursor to orthogonal arrays. 2. Then read Kensler’s correlated multi-jittered tech report [Ken13]. While the title suggests the main contribution is to incorporate favorable correlations, more importantly, this paper shows how to construct multi-jittered samples in-place, one sample at a time without requiring any storage. Orthogonal array basics 3. The preface and first chapter of Hedayat, Sloane, and Stufken [HSS99] provides a great non-technical introduction to orthogo- nal arrays from the experimental design perspective. 4. Sections 10.3 and 10.4 of Owen [Owe13] provide a great Monte Carlo integration-centric introduction to Latin hypercubes and orthogonal arrays. We suggest reading it before diving into more detail in the original publications. 5. [Tan93] first introduced the idea of enforcing both OA stratifica- tion and Latin hypercube stratification with “orthogonal array- based Latin hypercube designs” also called “U-designs” (similar to Chiu, Shirley, and Wang’s multi-jittered stratification, but for points of arbitrary dimension). 6. Many more general OA construction routines require arithmetic on finite/Galois fields. This is more involved than our routines using modular arithmetic, but many open-source libraries exist (particularly for binary finite fields) since these are used in cryp- tography. Hedayat, Sloane, and Stufken [HSS99] provides a good introduction to Galois fields within the context of orthogonal arrays. Additional avenues After becoming familiar with the basics from the main paper and the references above, there are several promising off-shoots that may be useful for graphics: 7. Strong orthogonal arrays: These enforce stratification in all dimensional projections, and are strongly related to (t , m, s)-nets from QMC. [HT12] originally proposed them, and there has been active work in this area since then [HCT18; HT14; LL15; Wen14]. 8. Nested orthogonal arrays/Latin hypercube designs: These are a stepping stone to progressive sample sequences. They al- low creating two or more layers of nested point sets [HHQ16; AZ16; HQ10; HQ11; QA10; WL13; ZWD19; RHVD10; Qia09; QAW09; YLL14; SLQ14]. 9. Correlation-controlled Latin hypercubes/orthogonal arrays: Instead of independently randomizing the factors and levels of an orthogonal array, variance can be reduced by controlling the correlations [Owe94; CQ14; Tan98]. This is the same idea used by correlated multi-jittered sampling [Ken13]. 2. Additional and alternate code listings Here we include alternate code listings and additional visualizations and variance graphs. Listing 1: A modified version of Listing 1 from the main document which computes all dimensions (instead of just one) of an arbitrary sample from a Bose OA pattern. 1 vector<float> boseOA(unsigned i, // sample index 2 unsigned d, // number of dimensions (<= s+1) 3 unsigned s, // number of levels/strata 4 unsigned p[], // array of d pseudo-random seeds 5 OffsetType ot) { // J, MJ, or CMJ 6 vector<float> Xi(d); 7 i = permute(i % (s*s), s*s, p[0]); 8 unsigned Ai0 =i%s; 9 unsigned Ai1 =i/s; 10 unsigned stratumX = permute(Ai0, s, p[0] * 0x51633e2d); 11 unsigned stratumY = permute(Ai1, s, p[1] * 0x51633e2d); 12 float sstratX = offset(Ai0, Ai1, s, p[0] * 0x68bc21eb, ot); 13 float sstratY = offset(Ai1, Ai0, s, p[1] * 0x68bc21eb, ot); 14 float jitterX = randfloat(i, p[0] * 0x02e5be93); 15 float jitterY = randfloat(i, p[1] * 0x02e5be93); 16 Xi[0] = (stratumX + (sstratumX + jitterX) / s) / s; 17 Xi[1] = (stratumY + (sstratumY + jitterY) / s) / s; 18 for (unsigned j = 2; j < d; ++j) { 19 unsigned Aij = (Ai0 + (j-1) * Ai1) % s; 20 unsigned j2 = (j % 2) ? j-1 : j+1; 21 unsigned Aij2 = (Ai0 + (j2-1) * Ai1) % s; 22 unsigned stratumJ = permute(Aij, s, p[j] * 0x51633e2d); 23 unsigned sstratJ = offset(Aij, Aij2, s, p[j] * 0x68bc21eb, ot); 24 float jitterJ = randfloat(i, p[j] * 0x02e5be93); 25 Xi[j] = (stratumJ + (sstratJ + jitterJ) / s) / s; 26 } 27 return Xi; 28 } submitted to Eurographics Symposium on Rendering (2019)

Upload: others

Post on 13-Jul-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Orthogonal Array Sampling for Monte Carlo Rendering ...graphics.pixar.com/library/OrthogonalArraySampling... · Figure 1: All six bivariate projections of a 4D strength-2 Bush-OA

Eurographics Symposium on Rendering 2019T. Boubekeur and P. Sen(Guest Editors)

Volume 38 (2019), Number 4

Orthogonal Array Sampling for Monte Carlo Rendering:supplemental document

Wojciech Jarosz Afnan Enayet Andrew Kensler Charlie Kilpatrick Per Christensen

Dartmouth College Pixar Animation Studios

1. Further reading list

Below is our suggested sequence through a subset of the OA litera-ture for graphics researchers to most quickly get ramped up on thesetopics.

Graphics

1. First become familiar with Chiu, Shirley, and Wang’s originalmulti-jittered sampling paper [CSW94] as it is the conceptualprecursor to orthogonal arrays.

2. Then read Kensler’s correlated multi-jittered tech report [Ken13].While the title suggests the main contribution is to incorporatefavorable correlations, more importantly, this paper shows howto construct multi-jittered samples in-place, one sample at a timewithout requiring any storage.

Orthogonal array basics

3. The preface and first chapter of Hedayat, Sloane, and Stufken[HSS99] provides a great non-technical introduction to orthogo-nal arrays from the experimental design perspective.

4. Sections 10.3 and 10.4 of Owen [Owe13] provide a great MonteCarlo integration-centric introduction to Latin hypercubes andorthogonal arrays. We suggest reading it before diving into moredetail in the original publications.

5. [Tan93] first introduced the idea of enforcing both OA stratifica-tion and Latin hypercube stratification with “orthogonal array-based Latin hypercube designs” also called “U-designs” (similarto Chiu, Shirley, and Wang’s multi-jittered stratification, but forpoints of arbitrary dimension).

6. Many more general OA construction routines require arithmeticon finite/Galois fields. This is more involved than our routinesusing modular arithmetic, but many open-source libraries exist(particularly for binary finite fields) since these are used in cryp-tography. Hedayat, Sloane, and Stufken [HSS99] provides a goodintroduction to Galois fields within the context of orthogonalarrays.

Additional avenues

After becoming familiar with the basics from the main paper and thereferences above, there are several promising off-shoots that may beuseful for graphics:

7. Strong orthogonal arrays: These enforce stratification in alldimensional projections, and are strongly related to (t,m,s)-netsfrom QMC. [HT12] originally proposed them, and there has beenactive work in this area since then [HCT18; HT14; LL15; Wen14].

8. Nested orthogonal arrays/Latin hypercube designs: Theseare a stepping stone to progressive sample sequences. They al-low creating two or more layers of nested point sets [HHQ16;AZ16; HQ10; HQ11; QA10; WL13; ZWD19; RHVD10; Qia09;QAW09; YLL14; SLQ14].

9. Correlation-controlled Latin hypercubes/orthogonal arrays:Instead of independently randomizing the factors and levels ofan orthogonal array, variance can be reduced by controlling thecorrelations [Owe94; CQ14; Tan98]. This is the same idea usedby correlated multi-jittered sampling [Ken13].

2. Additional and alternate code listings

Here we include alternate code listings and additional visualizationsand variance graphs.

Listing 1: A modified version of Listing 1 from the main documentwhich computes all dimensions (instead of just one) of an arbitrarysample from a Bose OA pattern.

1 vector<float> boseOA(unsigned i, // sample index2 unsigned d, // number of dimensions (<= s+1)3 unsigned s, // number of levels/strata4 unsigned p[], // array of d pseudo-random seeds5 OffsetType ot) { // J, MJ, or CMJ6 vector<float> Xi(d);7 i = permute(i % (s*s), s*s, p[0]);8 unsigned Ai0 = i % s;9 unsigned Ai1 = i / s;

10 unsigned stratumX = permute(Ai0, s, p[0] * 0x51633e2d);11 unsigned stratumY = permute(Ai1, s, p[1] * 0x51633e2d);12 float sstratX = offset(Ai0, Ai1, s, p[0] * 0x68bc21eb, ot);13 float sstratY = offset(Ai1, Ai0, s, p[1] * 0x68bc21eb, ot);14 float jitterX = randfloat(i, p[0] * 0x02e5be93);15 float jitterY = randfloat(i, p[1] * 0x02e5be93);16 Xi[0] = (stratumX + (sstratumX + jitterX) / s) / s;17 Xi[1] = (stratumY + (sstratumY + jitterY) / s) / s;18 for (unsigned j = 2; j < d; ++j) {19 unsigned Aij = (Ai0 + (j-1) * Ai1) % s;20 unsigned j2 = (j % 2) ? j-1 : j+1;21 unsigned Aij2 = (Ai0 + (j2-1) * Ai1) % s;22 unsigned stratumJ = permute(Aij, s, p[j] * 0x51633e2d);23 unsigned sstratJ = offset(Aij, Aij2, s, p[j] * 0x68bc21eb, ot);24 float jitterJ = randfloat(i, p[j] * 0x02e5be93);25 Xi[j] = (stratumJ + (sstratJ + jitterJ) / s) / s;26 }27 return Xi;28 }

submitted to Eurographics Symposium on Rendering (2019)

Page 2: Orthogonal Array Sampling for Monte Carlo Rendering ...graphics.pixar.com/library/OrthogonalArraySampling... · Figure 1: All six bivariate projections of a 4D strength-2 Bush-OA

2 Jarosz, Enayet, Kensler, Kilpatrick, and Christensen / Orthogonal Array Sampling for Monte Carlo Rendering:supplemental document

Listing 2: A modified version of Listing 2 from the main documentwhich computes all dimensions (instead of just one) of an arbitrarysample from a Bush OA pattern.

1 vector<float> bushOA(unsigned i, // sample index2 unsigned d, // number of dimensions (<= s+1)3 unsigned s, // number of levels/strata4 unsigned t, // strength of OA (0 < t <= d)5 unsigned p[], // array of d pseudo-random seeds6 OffsetType ot) { // J or MJ7 vector<float> Xi(d);8 unsigned N = pow(s, t);9 i = permute(i, N, p[0]);

1011 // get digits of ‘i‘ in base ‘s‘12 auto iDigits = toBaseS(i, s, t);1314 unsigned stm = N / s; // pow(s, t-1)15 for (unsigned j = 0; j < s; ++j) {16 unsigned k = (j % 2) ? j - 1 : j + 1;17 unsigned phi = evalPoly(iDigits, j);18 unsigned stratum = permute(phi % s, s, p[j] * 0x51633e2d);19 unsigned sstratum = offset(i, s, stm, p[j] * 0x68bc21eb, ot);20 float jitter = randfloat(i, p[j] * 0x02e5be93);21 Xi[j] = (stratum + (sstratum + jitter) / stm) / s;22 }23 return Xi;24 }

Listing 3: A modified version of Listing 3 from the main documentwhich computes all dimensions (instead of just one) of a CMJ patterngeneralized to arbitrary dimensions d.

1 vector<float> cmjdD(unsigned i, // sample index2 unsigned s, // number of levels/strata3 unsigned t, // strength of OA (t=d)4 unsigned p[] { // array of d pseudo-random seeds5 vector<float> Xi(t);6 unsigned N = pow(s, t);7 i = permute(i, N, p[0]);89 // get digits of ‘i‘ in base ‘s‘

10 auto iDigits = toBaseS(i, s, t);1112 unsigned stm1 = N / s; // pow(s, t-1)13 for (unsigned j = 0; j < s; ++j) {14 unsigned stratum = permute(iDigits[j], s, p[j] * 0x51633e2d);15 auto pDigits = allButJ(iDigits, j);16 unsigned sstratum = evalPoly(pDigits, s);17 sstratum = permute(sstrata, stm1, p[j] * 0x68bc21eb);18 float jitter = randfloat(i, p[j] * 0x02e5be93);19 Xi[d] = (stratum + (sstratum + jitter) / stm1) / s;20 }21 return Xi;22 }

submitted to Eurographics Symposium on Rendering (2019)

Page 3: Orthogonal Array Sampling for Monte Carlo Rendering ...graphics.pixar.com/library/OrthogonalArraySampling... · Figure 1: All six bivariate projections of a 4D strength-2 Bush-OA

Jarosz, Enayet, Kensler, Kilpatrick, and Christensen / Orthogonal Array Sampling for Monte Carlo Rendering:supplemental document 3

1

2

3

0 1 2 0 1 2 0 1 2

1

2

3

0 1 2 0 1 2 0 1 2

1

2

3

0 1 2 0 1 2 0 1 2(a) Jittered (b) Multi-Jittered (c) Correlated Multi-Jittered

Figure 1: All six bivariate projections of a 4D strength-2 Bush-OA with 121, 289 and 1369 samples using jittered, multi-jittered, and correlatedmulti-jittered offsets.

submitted to Eurographics Symposium on Rendering (2019)

Page 4: Orthogonal Array Sampling for Monte Carlo Rendering ...graphics.pixar.com/library/OrthogonalArraySampling... · Figure 1: All six bivariate projections of a 4D strength-2 Bush-OA

4 Jarosz, Enayet, Kensler, Kilpatrick, and Christensen / Orthogonal Array Sampling for Monte Carlo Rendering:supplemental document

y

u

v

x y u x y u x y u

(a) XORed-padded 2D (0,2) sequence [KK02] (b) XORed+shuffle-padded 2D (0,2) sequence (c) Shuffle-padded 2D CMJ points [Ken13]

Figure 2: Alternate version of Fig. 2 from the main document with 3D projections of the 4D pointsets instead of power spectra. A commonway to create samples for higher-dimensional integration is to pad together high-quality 2D point sets. Kollig and Keller [KK02] proposedscrambling each dimension of a (0,2) sequence by XORing it with a different random bit vector. While odd-even dimension pairings producehigh-quality point sets, even-even (xu) or odd-odd (yv) dimensions are poorly distributed. These issues can be eliminated by additionallyrandomly shuffling the points across dimension pairs, but this decorrelates all cross dimensions, destroying 2D stratification.

No shear Slight shear Extreme shear

101 102 103 104 105 106

Samples

10−10

10−9

10−8

10−7

10−6

10−5

10−4

10−3

10−2

Var

ianc

e −0.99, Random−1.01, Latin Hypercube−1.50, (0,2)-seq−1.49, BushMJ(t = 2)

−1.32, BushMJ(t = 3)

−1.30, CMJND(t = 3)

−1.59, Sobol (2,14,15)

−1.50, Sobol (0,1,2)

101 102 103 104 105 106

Samples

10−10

10−9

10−8

10−7

10−6

10−5

10−4

10−3

10−2

Var

ianc

e −0.99, Random−1.01, Latin Hypercube−1.03, (0,2)-seq−1.04, BushMJ(t = 2)

−1.34, BushMJ(t = 3)

−1.32, CMJND(t = 3)

−1.43, Sobol (2,14,15)

−1.39, Sobol (0,1,2)

101 102 103 104 105 106

Samples

10−9

10−8

10−7

10−6

10−5

10−4

10−3

10−2V

aria

nce −1.00, Random

−1.00, Latin Hypercube−1.01, (0,2)-seq−1.01, BushMJ(t = 2)

−1.32, BushMJ(t = 3)

−1.34, CMJND(t = 3)

−1.38, Sobol (2,14,15)

−1.32, Sobol (0,1,2)

Figure 3: Variance graphs for a cylinder sheared by different amounts. This integrand is defined by two circles that lie in the z = 0 andz = 1 planes with centers (x0,y0,0) and (x1,y1,1). The analytic integral is defined as

∫ 10 (x,y,z) = πr2√(x1− x0)2 +(y1− y0)2 +1 where the

radius r is an arbitrary constant. Since an extruded circle with no shear (left) is actually a two-dimensional integrand, samplers that have2D stratification perform best in this case. Once any shear is applied, however, the integrand is 3D and, asymptotically, 2D stratificationdegrades to O(N−1) convergence. With only slight shear (middle), 2D stratified samplers initially perform best, but their variance graphscurve and start to perform worse than 3D stratification at higher sampler counts. For larger shear angles the tipping point starts earlier, with3D stratification dominating even at lower sample counts.

submitted to Eurographics Symposium on Rendering (2019)

Page 5: Orthogonal Array Sampling for Monte Carlo Rendering ...graphics.pixar.com/library/OrthogonalArraySampling... · Figure 1: All six bivariate projections of a 4D strength-2 Bush-OA

Jarosz, Enayet, Kensler, Kilpatrick, and Christensen / Orthogonal Array Sampling for Monte Carlo Rendering:supplemental document 51-

addi

tive( fD 4,

1+)

2-ad

ditiv

e( fD 4,

2+)

2-m

ultip

licat

ive( fD 4,

2×)

4D-r

adia

l( fD 4)

Gaussian(D=∞)

101

102

103

104

105

106

Sam

ples

10−

14

10−

12

10−

10

10−

8

10−

6

10−

4

10−

2

100

Variance

−1.

00,R

ando

m−

2.01

,Jitt

ered

2Dpa

d−

2.97

,Lat

inhy

perc

ube

−2.

99,C

MJ2

Dpa

d−

1.94

,(0,

2)-s

eq.p

ad−

3.00

,Bos

eCM

J(t=

2)−

2.99

,Bus

hMJ(

t=2)

−3.

01,B

ushM

J(t=

3)−

2.93

,Bus

hMJ(

t=4)

−2.

93,C

MJ4

D(t

=4)

−1.

86,H

alto

n−

1.95

,Sob

ol(0

,2,1

4,15

)−

1.94

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

13

10−

11

10−

9

10−

7

10−

5

10−

3

10−

1

Variance

−1.

00,R

ando

m−

1.01

,Jitt

ered

2Dpa

d−

1.00

,Lat

inhy

perc

ube

−1.

00,C

MJ2

Dpa

d−

1.01

,(0,

2)-s

eq.p

ad−

1.52

,Bos

eCM

J(t=

2)−

1.78

,Bus

hMJ(

t=2)

−1.

69,B

ushM

J(t=

3)−

1.53

,Bus

hMJ(

t=4)

−1.

48,C

MJ4

D(t

=4)

−1.

87,H

alto

n−

2.01

,Sob

ol(0

,2,1

4,15

)−

1.95

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

14

10−

12

10−

10

10−

8

10−

6

10−

4

Variance

−1.

00,R

ando

m−

1.00

,Jitt

ered

2Dpa

d−

1.00

,Lat

inhy

perc

ube

−0.

99,C

MJ2

Dpa

d−

1.00

,(0,

2)-s

eq.p

ad−

1.00

,Bos

eCM

J(t=

2)−

1.00

,Bus

hMJ(

t=2)

−1.

00,B

ushM

J(t=

3)−

1.49

,Bus

hMJ(

t=4)

−1.

32,C

MJ4

D(t

=4)

−1.

97,H

alto

n−

1.99

,Sob

ol(0

,2,1

4,15

)−

2.02

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

14

10−

12

10−

10

10−

8

10−

6

10−

4

10−

2

Variance

−1.

00,R

ando

m−

1.00

,Jitt

ered

2Dpa

d−

1.00

,Lat

inhy

perc

ube

−1.

00,C

MJ2

Dpa

d−

1.00

,(0,

2)-s

eq.p

ad−

1.07

,Bos

eCM

J(t=

2)−

1.02

,Bus

hMJ(

t=2)

−1.

05,B

ushM

J(t=

3)−

1.51

,Bus

hMJ(

t=4)

−1.

35,C

MJ4

D(t

=4)

−1.

95,H

alto

n−

2.09

,Sob

ol(0

,2,1

4,15

)−

2.03

,Sob

ol(0

,1,2

,3)

Linearstep(D=1)

101

102

103

104

105

106

Sam

ples

10−

14

10−

12

10−

10

10−

8

10−

6

10−

4

10−

2

Variance

−1.

00,R

ando

m−

2.00

,Jitt

ered

2Dpa

d−

2.97

,Lat

inhy

perc

ube

−3.

00,C

MJ2

Dpa

d−

1.92

,(0,

2)-s

eq.p

ad−

2.99

,Bos

eCM

J(t=

2)−

2.98

,Bus

hMJ(

t=2)

−3.

00,B

ushM

J(t=

3)−

3.02

,Bus

hMJ(

t=4)

−3.

02,C

MJ4

D(t

=4)

−1.

84,H

alto

n−

1.92

,Sob

ol(0

,2,1

4,15

)−

1.92

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

11

10−

9

10−

7

10−

5

10−

3

10−

1

101

Variance

−1.

00,R

ando

m−

1.02

,Jitt

ered

2Dpa

d−

1.00

,Lat

inhy

perc

ube

−1.

00,C

MJ2

Dpa

d−

1.03

,(0,

2)-s

eq.p

ad−

1.72

,Bos

eCM

J(t=

2)−

1.99

,Bus

hMJ(

t=2)

−1.

65,B

ushM

J(t=

3)−

1.50

,Bus

hMJ(

t=4)

−1.

73,C

MJ4

D(t

=4)

−1.

86,H

alto

n−

2.01

,Sob

ol(0

,2,1

4,15

)−

1.95

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

11

10−

9

10−

7

10−

5

10−

3

10−

1

Variance

−1.

00,R

ando

m−

1.00

,Jitt

ered

2Dpa

d−

0.99

,Lat

inhy

perc

ube

−0.

99,C

MJ2

Dpa

d−

1.01

,(0,

2)-s

eq.p

ad−

1.03

,Bos

eCM

J(t=

2)−

1.02

,Bus

hMJ(

t=2)

−1.

09,B

ushM

J(t=

3)−

1.48

,Bus

hMJ(

t=4)

−1.

42,C

MJ4

D(t

=4)

−1.

92,H

alto

n−

1.89

,Sob

ol(0

,2,1

4,15

)−

1.96

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

10

10−

8

10−

6

10−

4

10−

2

Variance

−1.

00,R

ando

m−

1.00

,Jitt

ered

2Dpa

d−

0.99

,Lat

inhy

perc

ube

−0.

99,C

MJ2

Dpa

d−

1.01

,(0,

2)-s

eq.p

ad−

1.01

,Bos

eCM

J(t=

2)−

1.01

,Bus

hMJ(

t=2)

−1.

05,B

ushM

J(t=

3)−

1.46

,Bus

hMJ(

t=4)

−1.

38,C

MJ4

D(t

=4)

−1.

79,H

alto

n−

1.77

,Sob

ol(0

,2,1

4,15

)−

1.73

,Sob

ol(0

,1,2

,3)

Binarystep(D=0)

101

102

103

104

105

106

Sam

ples

10−

12

10−

10

10−

8

10−

6

10−

4

10−

2

Variance

−1.

00,R

ando

m−

1.57

,Jitt

ered

2Dpa

d−

2.09

,Lat

inhy

perc

ube

−2.

09,C

MJ2

Dpa

d−

1.92

,(0,

2)-s

eq.p

ad−

2.05

,Bos

eCM

J(t=

2)−

2.05

,Bus

hMJ(

t=2)

−2.

04,B

ushM

J(t=

3)−

1.89

,Bus

hMJ(

t=4)

−1.

89,C

MJ4

D(t

=4)

−1.

84,H

alto

n−

1.92

,Sob

ol(0

,2,1

4,15

)−

1.92

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

8

10−

6

10−

4

10−

2

100

Variance

−1.

01,R

ando

m−

1.03

,Jitt

ered

2Dpa

d−

1.00

,Lat

inhy

perc

ube

−1.

00,C

MJ2

Dpa

d−

1.03

,(0,

2)-s

eq.p

ad−

1.49

,Bos

eCM

J(t=

2)−

1.50

,Bus

hMJ(

t=2)

−1.

32,B

ushM

J(t=

3)−

1.23

,Bus

hMJ(

t=4)

−1.

32,C

MJ4

D(t

=4)

−1.

56,H

alto

n−

1.54

,Sob

ol(0

,2,1

4,15

)−

1.53

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

8

10−

6

10−

4

10−

2

Variance

−1.

00,R

ando

m−

1.01

,Jitt

ered

2Dpa

d−

0.99

,Lat

inhy

perc

ube

−1.

01,C

MJ2

Dpa

d−

1.01

,(0,

2)-s

eq.p

ad−

1.01

,Bos

eCM

J(t=

2)−

1.01

,Bus

hMJ(

t=2)

−1.

10,B

ushM

J(t=

3)−

1.24

,Bus

hMJ(

t=4)

−1.

28,C

MJ4

D(t

=4)

−1.

45,H

alto

n−

1.42

,Sob

ol(0

,2,1

4,15

)−

1.44

,Sob

ol(0

,1,2

,3)

101

102

103

104

105

106

Sam

ples

10−

8

10−

6

10−

4

10−

2

Variance

−1.

00,R

ando

m−

1.00

,Jitt

ered

2Dpa

d−

0.99

,Lat

inhy

perc

ube

−0.

99,C

MJ2

Dpa

d−

1.00

,(0,

2)-s

eq.p

ad−

0.99

,Bos

eCM

J(t=

2)−

0.99

,Bus

hMJ(

t=2)

−1.

04,B

ushM

J(t=

3)−

1.25

,Bus

hMJ(

t=4)

−1.

28,C

MJ4

D(t

=4)

−1.

28,H

alto

n−

1.27

,Sob

ol(0

,2,1

4,15

)−

1.28

,Sob

ol(0

,1,2

,3)

Figu

re4:

Fig.

4fr

omth

em

ain

pape

rex

tend

edw

ithth

eG

auss

ian

inte

gran

d.Va

rian

cebe

havi

orof

13sa

mpl

ers

on4D

anal

ytic

inte

gran

dsof

diffe

rent

com

plex

ity(c

olum

ns)a

ndco

ntin

uity

(row

s).W

elis

tthe

best

-fits

lope

ofea

chte

chni

que,

whi

chge

nera

llym

atch

esth

eth

eore

tical

lypr

edic

ted

conv

erge

nces

rate

s(T

able

3).O

ursa

mpl

ers

alw

ays

perf

orm

bette

rth

antr

aditi

onal

padd

ing

appr

oach

es,b

utar

eas

ympt

otic

ally

infe

rior

tohi

gh-d

imen

sion

alQ

MC

sequ

ence

sfo

rge

nera

lhig

h-di

men

sion

alin

tegr

ands

.Whe

nst

reng

tht<

d(r

ight

two

colu

mns

),co

nver

genc

ede

grad

esto−

1,bu

thig

her

stre

ngth

sat

tain

low

erco

nsta

ntfa

ctor

s.

submitted to Eurographics Symposium on Rendering (2019)

Page 6: Orthogonal Array Sampling for Monte Carlo Rendering ...graphics.pixar.com/library/OrthogonalArraySampling... · Figure 1: All six bivariate projections of a 4D strength-2 Bush-OA

6 Jarosz, Enayet, Kensler, Kilpatrick, and Christensen / Orthogonal Array Sampling for Monte Carlo Rendering:supplemental document

References[AZ16] ATKINS, J. and ZAX, D. B. “Nested orthogonal arrays”.

arXiv:1601.06459 [stat] (Jan. 2016). arXiv: 1601.06459 [stat] 1.

[CQ14] CHEN, J. and QIAN, P. Z. “Latin hypercube designs with controlledcorrelations and multi-dimensional stratification”. Biometrika 101.2 (Feb.2014), 319–332. ISSN: 1464-3510. DOI: 10/f5549t 1.

[CSW94] CHIU, K., SHIRLEY, P., and WANG, C. “Multi-jittered sampling”.Graphics Gems IV. Ed. by HECKBERT, P. S. San Diego, CA, USA:Academic Press, 1994, 370–374. ISBN: 0-12-336155-9 1.

[HCT18] HE, Y., CHENG, C.-S., and TANG, B. “Strong orthogonal arraysof strength two plus”. The Annals of Statistics 46.2 (Apr. 2018), 457–468.ISSN: 0090-5364. DOI: 10/gfznb6 1.

[HHQ16] HWANG, Y., HE, X., and QIAN, P. Z. “Sliced orthogonal array-based Latin hypercube designs”. Technometrics 58.1 (Jan. 2016), 50–61.ISSN: 1537-2723. DOI: 10/f8cjrk 1.

[HQ10] HAALAND, B. and QIAN, P. Z. G. “An approach to constructingnested space-filling designs for multi-fidelity computer experiments”.Statistica Sinica 20.3 (2010), 1063–1075. ISSN: 1017-0405 1.

[HQ11] HE, X. and QIAN, P. Z. G. “Nested orthogonal array-based Latinhypercube designs”. Biometrika 98.3 (Sept. 2011), 721–731. ISSN: 0006-3444. DOI: 10/cz9pj6 1.

[HSS99] HEDAYAT, A. S., SLOANE, N. J. A., and STUFKEN, J. Orthogo-nal Arrays: Theory and Applications. Springer-Verlag, 1999. ISBN: 978-1-4612-7158-1. DOI: bqh3jj 1.

[HT12] HE, Y. and TANG, B. “Strong orthogonal arrays and associatedLatin hypercubes for computer experiments”. Biometrika 100.1 (Dec.2012), 254–260. ISSN: 1464-3510. DOI: 10/gfznb5 1.

[HT14] HE, Y. and TANG, B. “A characterization of strong orthogonalarrays of strength three”. The Annals of Statistics 42.4 (2014), 1347–1360.ISSN: 00905364. DOI: 10/gfznb4 1.

[Ken13] KENSLER, A. Correlated Multi-Jittered Sampling. Tech. rep. 13-01. Pixar Animation Studios, Mar. 2013 1, 4.

[KK02] KOLLIG, T. and KELLER, A. “Efficient multidimensional sam-pling”. Computer Graphics Forum (Proceedings of Eurographics) 21.3(Sept. 2002), 557–563. ISSN: 0167-7055. DOI: 10/d2stpx 4.

[LL15] LIU, H. and LIU, M.-Q. “Column-orthogonal strong orthogonalarrays and sliced strong orthogonal arrays”. Statistica Sinica (2015). ISSN:1017-0405. DOI: 10/f7z56h 1.

[Owe13] OWEN, A. B. Monte Carlo Theory, Methods and Examples. Tobe published, 2013. URL: https://statweb.stanford.edu/~owen/mc/(visited on 06/07/2019) 1.

[Owe94] OWEN, A. B. “Controlling correlations in Latin hypercube sam-ples”. Journal of the American Statistical Association 89.428 (Dec.1994), 1517–1522. ISSN: 1537-274X. DOI: 10/gfzncf 1.

[QA10] QIAN, P. Z. G. and AI, M. “Nested lattice sampling: a new sam-pling scheme derived by randomizing nested orthogonal arrays”. Journalof the American Statistical Association 105.491 (2010), 1147–1155. ISSN:01621459. DOI: 10/fwjp8h 1.

[QAW09] QIAN, P. Z. G., AI, M., and WU, C. F. J. “Construction of nestedspace-filling designs”. The Annals of Statistics 37.6A (Dec. 2009), 3616–3643. ISSN: 0090-5364, 2168-8966. DOI: 10/fr79bb 1.

[Qia09] QIAN, P. Z. G. “Nested Latin hypercube designs”. Biometrika 96.4(2009), 957–970. ISSN: 0006-3444. DOI: 10/cpmd77 1.

[RHVD10] RENNEN, G., HUSSLAGE, B., VAN DAM, E. R., and DENHERTOG, D. “Nested maximin Latin hypercube designs”. Structuraland Multidisciplinary Optimization 41.3 (Apr. 2010), 371–395. ISSN:1615-1488. DOI: 10/cpqtq3 1.

[SLQ14] SUN, F., LIU, M.-Q., and QIAN, P. Z. G. “On the construction ofnested space-filling designs”. The Annals of Statistics 42.4 (2014), 1394–1425. ISSN: 0090-5364. DOI: 10/gf3nmd 1.

[Tan93] TANG, B. “Orthogonal array-based Latin hypercubes”. Journalof the American Statistical Association 88.424 (Dec. 1993), 1392–1397.ISSN: 1537-274X. DOI: 10/gfzncp 1.

[Tan98] TANG, B. “Selecting Latin hypercubes using correlation criteria”.Statistica Sinica 8.3 (1998), 965–977. ISSN: 10170405, 19968507 1.

[Wen14] WENG, J. “Maximin Strong Orthogonal Arrays”. M.Sc. Thesis.Simon Fraser University, 2014 1.

[WL13] WANG, K. and LI, Y. “Constructions of nested orthogonal arrays”.Journal of Combinatorial Designs 21.10 (2013), 464–477. ISSN: 1520-6610. DOI: 10/gf2zf9 1.

[YLL14] YIN, Y., LIN, D. K., and LIU, M.-Q. “Sliced Latin hypercube de-signs via orthogonal arrays”. Journal of Statistical Planning and Inference149 (June 2014), 162–171. ISSN: 0378-3758. DOI: 10/gfzncs 1.

[ZWD19] ZHANG, T.-F., WU, G., and DEY, A. “Construction of somenew families of nested orthogonal arrays”. Communications in Statistics -Theory and Methods 48.3 (Feb. 2019), 774–779. ISSN: 0361-0926. DOI:10/gf2zf4 1.

submitted to Eurographics Symposium on Rendering (2019)