Professional Documents
Culture Documents
\1'11
NEW ORItANs
The Lumigraph
Steven J. Gortler Radek Grzeszczuk Richard Szeliski Michael F. Cohen
Microsoft Research
43
SIGGRAPH 96, New OrIeans, Louisiana, August 4-9, 1996
2 Representation t
2.1 From 5D to 4D
ing surface has been used hefore. 1n full-parallax holographic ste- (a)
1-eograms [3 1. the appearance of an object is captured by moving a
t
kiS ,
image, which can display the appearanceofthe 3D object. The work
reported in this paper takes many of its concepts from holographic I
stereograms.
Global illumination rescarchers have used the "surface restric-
4D parameterization
ted plenoptic function" to el ticiently simulate light-transfer between of rays
regions of an environment containing complicated geometric ob-
jects. The plenoptic function is represented on the suriace of a cube Z ,
A limited version of the work reported here has heen described s O ray(s,u)
ation is then used to generate new images ofthe object from other S\ r
points in space. Bec.luse they only capture the plenoptic function i ray(s,u) U
u
aIong a line, they only obtain horizontal paraIlax. and distortion is
introduced assoonasthenew virtualcameraleaves theline. Finally.
Figure 2: Parameterization of the Lumigraph
in work concurrent to our own, Levoyand Hanrahan [16] represent
a 4D function thal allows for undistorted, full parallax views of the
object from anywhere in space.
We choose a simple parameterization of the cube face with or-
thogonal axes running parallel to the sides labeled s and t (see Fig-
2.2 Parameterization of the 4D Lumigraph ure 1). Direction is parameterized using a second plane parallel to
the st plane with axes labeled u and u (Figure 2). Any point in the
There are many potential ways to parameterize the four dimensions
4D Lumigraph is thus identified by its four coordinates (s, t, u, u),
of the Lumigraph. We adopt a parameterization similar to that used
the coordinates of a ray piercing the first planeat(s, t) andintersect-
in digital holographic stereograms [91 and also used by Levoy and
ing the second plane at (u, v) (see Ray(s, t, u, u) in Figure 2). We
Hanrahan [ 16]. We begin with a cube to organize a Lumigraph
place the origin at the center ofthe 1,1, plane, with the z axis normal
and. without loss ot-generality, 0nly consider fordiscussiona single
to the plane. The st p]ane is located at z = 1. The full Lumigraph
square fuce o f the cube (the full Lumigraph is constructed from six
consists of six such pairs o f planes with normals along the r, -I, y,
such faces).
-g,z,and-z directions.
It will be instructive at times to consider two 2D analogs to the
-2 We only consider a snapshot of the function, thus time is eliminated.
Without loss of generality, we also consider only a monochromatic func-
4D Lumigraph. Figure 2(b) shows a 2D slice of the 4D Lumigraph
tion (in practice 3 discrete color channels).eliniinating the need to consider that indicates the u and s axes. Figure 2(c) shows the same arrange-
wavelength. We fui·thennore ignore issues of dynamic range and thus limit ment in 2D ray coordinates in which rays are mapped to points (e.g..
ourselves to scalar values !ying in some finite range. ray(s, u) ) and points are mapped to lines.4
' In an analogolls fashion one can reconstruct the complete plenoptic Figure 3 shows the re]ationship between this parameterization of
function inside an empty convex region hy representing it only on thesur- the Lumigraph and a pixel in some arbitrary image. Given a Lu-
face boundingthe empty region. At any point inside the region. one can find
the light entering from any dircction by finding that direction's intersection 4 More precisely, a line in ray space represents the set of rays through a
with the region boundary point in space.
44
COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1996
4D V
U
\0 1 O 1 - P
0 0
0Ilio
t
J.-0
- (i,i).2
\\ 0lr-- Nk
o -»CO 0
1 11 0
GridPoint( i.i,P,q)
O *-* -
/ f' Image platie -
h
O
»-
0
nera center
rary image
2D GridPoint(i.p) G 2D Ray Space
migraph. L. one can generate an arbitrary new image coloring each :r:.iii
We associate with each grid point a basis function 8,,,p,q sO that Inthe caseofthe box basis, 8 = /3. Theduals ofthequadralinear
the continuous Lumigraph is reconstructed as the linear sum basis functions are more complex, but these basis functions suffi-
ciently approximate theii- own duals for our purposes.
Af A,I N N
0ne can interpret this projection as point sampling L after it has
L( s,t,u, t,) =ELlI .Ez,,p,qI3:,j,p,q(s,1, u, u) been low pass filtered with the kernel U. This interpretation is pur-
1=0 J=0 p=0 q=0 sued in the context of holographic stereograms by Halle [9]. 0ne
can also interpret this projection as the result of placing a physical
where L is a finite dimensional Lumigraph that exists in the space or synthetic "skewed" camera at grid point (s„ tj) with an aper-
delined by the choice of basis. ture corresponding to the bilinear basis and with a pixel centered at
45
SIGGRAPH 96, New Orleans, Louisiana, August 4-9, 1996
173EEN
u U B:.*1Wd
1 1 ,>>.%: B> »4:fE{{@§§t
.S 1 1
my space
9 1 ,2);1031**19}}%*}Q{·7· N.1 , u
·
8 1\
- „iR:iQaP11*,5R::%+*@9A":.
:
N.Z....1 :>2:4{**a:, :\ i
1 .
1-z
0 1 M-1
0 M-1
1.
z= 1 -1 - U. U U'
1 ' 'U
(a) (b) Up_] Up LIp+1
z Ray(s.u)
U
2.3.3 Resolution
46
C0MPUTER GRAPHICS Proceedings, Annual Conference Series, 1996
Reconstruct
Rebin mt> Compress C*' Images
' U
Capture
S
..6
1 U 0bject Geometry
object »-C»
in the image, the camera's position and orientation (its pose) is es-
Figure 8: (a) Support of an uncorrected basis function. (b) Support timated. This provides enough information to create an approxim-
of a depth corrected basis function. (c) Support of both basis func- ate geometric object for use in the depth correction of (u, v) values.
tions in ray space.
More importantly, each pixel in each image acts as a sample of the
plenoptic function and is used to estimate the coefficients of the dis-
crete Lumigraph (i.e., to developthe Lumigraph). Alternatively, the
The new basis function B'z,1,P,q(.g, l.,u, v) is defined by first Lumigraph of a synthetic object can be generated directly by integ-
finding u' and 4 using equation 2 and then evaluating B, that is rating a set of rays cast in a rendering system. We only briefly touch
on compression issues, Finally, given an arbitrary virtual camera,
B9,3,p,q(s,t,u, v) = B,,j,p,g(s,t, u',v') new images of the object are quickly rendered.
47
SIGGRAPH 96, New Orleans, Louisiana, August 4-9, 1996
Figure 11: The user interface for the image capture stage displays
the current and previous camera positions on a viewing sphere. The
goal of the user is to "paint" the sphere.
48
COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1996
/ /'/ rCC.90
7-40:* *;>SN41*
1 1 T*S*§;1/0
problem of multidimensional scattered data approximation. In the
Lumigraph setting. the problem is difficult for many reasons. Be-
cause the samples are not evenly spaced, one cannot apply stand-
ard Fourier-based sampling theory. Because the number of sample
points may belarge(= 108) and becauseweareworking in a 4 di-
/.-7 21 ,° 1 1\
mensional space, it is too expensive to solve systems of equations
(as is done when solving thin-plate problems [28. 18]) or to build
spatia] data structures (such as Delauny triangulations). Figure 1 3: 2D pull-push. At lower resolutions the gaps are smaller.
in addition to the numberof sample points, the distribution Ofthe
dam samples have two qualities that make the problem particularly
= Ek 82 (sk)
difficult, First, the sampling density can be quite sparse, with large Unuor:
0
gaps in many regions. Second,the sampling density is typically very
(4)
non-uniform.
r? = 20 11 4(.90 L(sk)
The first of these problems has been addressed in a two ditnen-
sional scattered data approximation algorithm described by Burt [51 where sk denotes the domain location 01- sample k, I f uf is 0, then
In his aigorithm. a hierarchical set of lower resolution data sets is tite .7is undefined. H the U, have compact support, then each
created using an image pyramid. Each of these lower resolutions sample influences on]y a constant number of coefficients. There-
represents a 'blurred" verSiOn ofthe inputdata: at lowerresolutions. R)re. this step runs in time linear in the number of samples.
thegaps inthedat.1 becomesmaller. Thislowresolutiondataisthen If the sample points sk are chosen from a uniform distribution.
used to fil] in the gaps at higher resolutions, this estimator converges to the correct value of the integral in Equa-
The second of these problems, the non-uniformity of the tion (3), and for n sample points has a variance of approximately
sampling density. has been addressed by Mitchell [20] 1le
solves the problem of obtaining the value of a pixel that has heen
1- f,(82(s) L(s) - i:, bAs))2 ds. This variance is similar to that
obtained using importance sampling, which is often inuch smaller
super-sampled with a non-uniform density. In this problem. when than the crude Monte CarIo estimator. For a full analysis of this es-
averaging the sainple values. one does not want the result to timator. see [22].
be overly in11uenced by the regions sampled most densely, His
algorithm avoids this by compuling average values in a number of
3.4.2 Pull
smaller regions. The final value of the pixei is then computed hy
averaging logether the values of these strata. This average is not
In the pW/ phase, lower resolution approximations of the function
weighted by the number of s.Imples falling in each of the strata.
are derived using a set of wider kemels. These wider kernels are
Thus. the non-uniformity of the samples does not bias the answer.
defined by linearly summing together the higher resolution kernels
For our problem. we 1mve developed a new hierarchical al-
®+1 = Ek hA:-2, BL) using some discrete sequence h. Forlin-
gorithm that combines concepts from both of these algorithms. Like
Burt. our method uses a pyramid algorithm to fill in gaps. and like ear -hat" functions.h[-1..1]is {},1, i}
Mitchell. we ensurethat the non-uniformity of thedata does not bias The ]owerresolution coefficients are computed by combining the
the "blutiing" step higher resolution coeilicients using h. 0ne way todothis would be
For ease of notation. the algorithm is described in lD. and will to COmpute
The vaIue 1 repres ents full saturation7. and the min operator is used
3.4.1 Splatting to placean upper bound on the degree tIiat one coe fficient in a highly
In the splatting phase. coefficients are computed by perIormiig 7Using the value 1 introduces no loss of generality if the normalization
Monte-Carlo integration using the following weighted average es- 0fh is not fixed.
49
SIGGRAPH96,New Orleans, Louisiana, August 4-9, 1996
sampled region, can influence the total sum 8 (u,u) images. To store the six f-aces o f our viewing cube with 24-
The pull stage runs in time linear in the number o f basis function bits per pixel requires 322 .2562 -6·3= 1.125GBofstorage
suinmed over all of the resolutions. Because each lower resolution Fortunately, there is a large amount of coherence between
has half the density of basis functions, this stage runs in time linear Cs,t, u, 11) samples. One could apply a transform code to the 4D ar-
in the number of basis functions at resolution 0. ray. such as a wave]et transform or block DCT Given geometric in-
formation. we can expect to do even better by considering the 4D ar-
3.4.3 Push ray as a 2D array of images. We can then prediPtnew (ii, v) images
from adjacent images, (i.e., images at adjacent (s, t) locations). In-
During the pushstage, the lowerresolution approximation is used to traframe compression issues are identical to compressing single im-
fill in the regions in the higher resolution that have low weight 9. Ifa ages (a simple JPEG compression yields about a 20:1 savings). In-
higher resolution coetticient has a high associated confidence (i.e.. terframe compression can take advantage of increased information
has weight greater than one), we fully disregard the lower resolu- overothercompressionmethods suchasMPEG.Since weknow that
tion information there. I f the higher resolution coefficient does not the object is static and know the camera motion between adjacent
have sufficient weight, we blend in the information from the lower images, we can predict the motion of pixels. In addition, we can
resolution. 1everage the fact that we have a 2D array of images rather than a
To blend this information, the low resolution approximation of single linear video stream.
the function must be expressedin the higher resolution basis. This is Although we have not completed a full analysis o f compression
doneby upsampling and convolving with asequence/z, that satisfies issues. our preliminary experiments suggest that a 200:1 compres-
U;+1 =Il/4-2iHI. sion ratio should be achievable with almost no degradation. This
We first compute temporary values reduces the storage requirements to under6MB. 0bviously, further
improvements can be expected using a more sophisticated predic-
t11)t = Ek /z,_2k Inin(·(t,+1.1) tion and encoding scheme.
1 .r 7 k h z -2 k Mirl ( 4+ 1 , 1 ) 1 k ,r+1
This is analogous to the blending performed in image compositing. 3.6.1 Ray Tracing
5()
COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1996
u.,)3 ,
(a)
Bilinear basis
centered at (i,j)
/0 ,r r735
Desired Imag 0
S--.
Linear Basis
Desired Camera
centered at (ij)
Figure 14: Texture mapping a portion of the st plane Figure 15: Quadralinear vs. linear-bilinear
st plane. and texture mapping it using the four texture coordinates ralinear interpolation. This process requires at most 6 M2 texture
(1,, t' )O,(14 vIl, (u, u)2, and (u, v)p, to index into tex2,j mapped, a-blended triangles to be drawn.
Repeating this process for each grid point on the st plane and Depth Correction
viewing the result from the desired camera results in a complete re- As before. the (u, v) coordinates of the vertices of the texture
construction of the desired image. Thus. if one has an MxM mapped triangles can be depth corrected. At interior pixels, the
resolution for the st plane. one needs to draw at most M2 texture
depth correction is only approximate. This is not valid when there
mapped squares. requiring on average. 0nly one ray intersection for are large depth changes within the bounds of the triangle. There-
each square since the vertices are shared. Since many of the M2 fore, we adaptively subdivide the triangles into four smaller ones by
squares on the st plane are invisible from the desired camera, typic- connecting the midpoints of the sides until they are (a) smaller than
ally only a small fraction o f these squares need to be rendered. The a minimum screen size or (b) have a sufficiently small variation in
rendering cost is independentof the resolution of the final image. depth at the three comers and center. The a values at intermediate
Intuitively, youcanthink ofthe st plane asapieceof holographic vertices are the average of the vertices of the parent triangles.
film. As your eye moves back and forth you see different things at
the same point in st since each point holds a complete image.
Quadralinear Basis
4 Results
The reconstruction of images from a quadralinear basis Lu-
migraph can also be performed using a combination of texture map-
ping and alpha blending. In the quadralinear basis, the support of We have implemented the complete system described in this paper
and have created Lumigraphs of both synthetic and actual objects.
the basis function at i, j covers a larger square on the st plane than
For synthetic objects, Lumigraphs can be created either from poly-
does the box basis (see Figure 1 5(a)). Although the regions do not
overlap in the constant basis. they do in the quadralinear basis. For gon rendered or ray traced images. Computing all of the necessary
images is a lengthy process often taking weeks of processing time.
a given pixel in the desired image. values from 164D grid points
contribute to the final value. For real objects. the capture is perf-ormed with an inexpensive.
The quadralinear interpolation of these 16 values can be carried single chip Panasonicana!0gvideocamera. Thecapture phasetakes
out as a sequence of bilinear interpolations, first in uu and then in less than one hour. The captured data is then "developed" into a Lu-
st. A bilinear basis function is shown in Figure 15(b) centered at migraph. This off-line processing, which includes segmenting the
grid point (i, j). A similar basis would lie over each grid point in image from its background,creating an approximate volumetric rep-
u vand every grid point in st. resentation, and rebinning the samples, takes less than one day of
Texture mapping hardwareon an SGI workstationcan automatic- processing on an SGI Indy workstation.
ally carry outthe bilinear interpolation ofthe texture in uv. Unfortu- 0nce the Lumigraph has been created, arbitrary new images of
nately, there is no hardware support for the st bilinear interpolation. the object or scene can be generated. 0ne may generate these new
We could approximate the bilinear pyramid with a linear pyramid by images on a ray by ray basis. which takes a few seconds per frame
drawing the four triangles shown on the floor of the basis function at 450 x 450 resolution. If one has hardware texture mapping avail-
in Figure 15(b). By assigninga values to each vertex (a = 1 at the able, then one may use the acceleration algorithm described in Sec-
center. and a =0at the outer four vertices) and using alpha blend- tion 3.6.2. This texture mapping algorithm is able to create multiple
ing, the final image approximates the full quadralinearinterpolation frames per second from the Lumigraph on an SGI Reality Engine.
with a linear-bilinear one. Unfortunately, such a set of basis func- The rendering speed is almost independent of the desired resolution
tions do not sum to unity which causes serious artifacts. of the output images. The computational bottleneck is moving the
A different pyramid of triangles can be built that does sum data from main memory to the smaller texture cache.
to unity and thus avoids these arti facts. Figure 15(c) shows a Figure 19 shows images of a synthetic fruit bowl, an actual fruit
hexagonal region associated with grid point (i. j) and an associated bowl, anda stuffed lion, generated from Lumigraphs. No geometric
linear basis function. We draw the six triangles of the hexagon with information was used in the Lumigraph of the synthetic fruit bowl.
a = 1 at the center and a =0at the outside six vertices11. The For the actual fruit bowl and the stuffed lion, we have used the ap-
linear interpolation of a values together with the bilinear interpol- proximate geometry that was computed using the silhouette inform-
ation of the texture map results in a linear-bilinear interpolation. In ation. These images can be generated in a fraction of a second, inde-
practice we have found it to be indistinguishable from the full quad- pendent of scene complexity. The complexity of both the geometry
and the lighting effects present in these images wou]d be difficult to
1 1 The alpha blending mode is set to perform a simple summation. achieve using traditional computer graphics techniques.
51
SIGGRAPH 96, New Orleans, Louisiana, August 4-9, 1996
tional methods for efficiently storing and rendering realistic 3D ob- 1 191 McM ILLAN. I...ANDBls HoP. G. Plenoptic modeling:Animage-based render-
jects and scenes. ing xystem. In ComputerGraphics, AnnualConderenceSeries, /995. pp. 39-46.
I 201 MITcHELL, D. P.Generaiting .intialiaxed images at lowsampling densities. C(}in
puter Graphic·s21,4(1987).65-72.
Acknowledgments
I211 P0TMEsII.. M. Generating octreemodels of3Dobjects from their xilhouetteK
The authors would like to ackIlOWledge the heIp and advice we re- inasequence of images. ComputerVision, Graphics, and ImagePnicessing 40
(1987).1-29
ceived in the conception. implementation and writing of this paper
Thanks to Marc Levoy and Pat Hanrahan for discussions on issues 1221 P0WELL.M.J.D., ANDSwANN, J.Weighted uniformsampling -amonte carlo
related to the 5D to 4D simplitication, the two-plane parameteriz- technique for reducing vari,Ince. 1. /n.vt. Mailix Applics 2 0 966),228-236.
ation and the camera based aperture analog. Jim Kajiya and Tony 1231 R0SENFE1.I).A..ANDKAK,A.C. DigitalPictureProcessing. Academic Press.
DeRose provided a terrific sounding board throughout this project. New York. New York. 1976.
The ray tracer used for the synthetic fruit bowl was written by John 124] S [.M(.)NE'[iI.[I. E. P. FREEMAN. W.T., ADIELSON.E.H.,AND HEliGER, D.J.
Snyder. The mesh simplification code used for the bunny was writ- Shiftable multiscale transfornis. 1EEETran.wi·tions on lnformation Theory 324
ten by Hugues 11oppe. Portions ofthecameracapturecodewereim- (1992),587-607.
plemented by Matthew Turk. Jim B]inn. Hugues Hoppe, Andrew
I25I SNYDER.J. M.. AND KAJI YA.J. T. Generative modeling: A symbolic system
Glassner and Jutta Joesch provided excellent editing suggestions.
for geometric modeling. Computer Graphics 26.2(\ 992),369-379.
Erynn Ryan is deeply thanked for her creative crisis management.
1 26 1 SZEI.I S KI, R. Rapid octree const· uction from image bequences. CVGIP: 1mage
Fimilly, we wish to thank the anonymous reviewers who pointed us
Understanding 58, 1 (July 1993), 23-32.
toward a number of significant references we had missed.
I271 TAl!BIN.G. A signal procexxing approach to fairsurface design. In Contputer
Graphics,A/inual Con*renceSeries, 1 995.pp. 35 1-358.
References
[281 TERZoPolIl.os. D.Regularizationofinversevi0ualproblemsinvolvingdiscon-
tinuities. 1EEE PAMI 8, 4 (July 1986),413-424.
I 1 1 A DELsON. I.L. 11..AND BERGEN,I.R.The p!enoptic function and theelements
ofearlyvision. In ComptitationalMmIels of Vistmt P nIc'CX.sing, Liindy iind Movs- 129! TsAl. R.Y. A versatile camer„calibrationtechnique forhigh-accuracy 3Dma-
hon. Eds. MIT Press, Cambridge, Masachusetts. 199 1, ch. 1.
chine vision metrology using off-the-sheIfTV c,uneras and lenses. 1EEEJournal
12I ASHD0WN.I. Near-field photometry: A new approach. Journal ,j- the 111umin- of Rolotics and Automation RA-3.4 (August 1987). 323-344.
ation Engineering SocieO'22, 1 (1993),163-180.
[30] WERNER.T..HERSCH,R.D..ANDHLAVAC,V.Rendering real-wortdobjects
131 BENTON. S. A. Survey of holographic stereogram,.Pro'eedings ut the SPlE
un,ing vie w interpolation. In Fi/th /nnernationalCoider ence on Cmnputer Vision
39/ (1982).15-22. 0CCV'9.5) (Cambridge. Massachusetts, June 1995). pp. 957-962.
I41 B()LLES.R. C .BAKER. H H.,AND MARIMONT. D.H. Epipolar-planeim- 1311 WiLLsoN.R. G. Modeling and Calibration „f Automate£lZootii Lenses. PhD
,1ge an;,1ysis: An approach to determining structure from motion. //1ternational thehis. Carnegie Mellon University. 1994.
Journal<,fCompiterVisimn j (1981).1-55.
52
COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1
(a) constant basis /single sample quadrature (a) constant/no depth correction (a)256 linesamples
( b) constant basis /full quadrature (b) quadralinear/no depth correction (b) reconstruction from (a)
A .7 3
r.
.T t
(c) quadralinear basis /single sample (c) constanUdepth corrected (c) 100 line samples
(d) quadralinear./full quadrature (d) quadralinear/depth corrected (d) reconstruction from (c)
54
Figure 19: stereo pairs generated from Lumigraphs. (cross eyed style)
.1q
U*f