[comp.graphics] computer generated holograms, the long explanation

halazar@media-lab.MEDIA.MIT.EDU (Michael Halle) (01/12/91)

Taking a momentary break from the ol' thesis to answer this repeated
and nagging question, "What about those computer generated holograms,
anyway?", he dived in....

ALL 94% OF YOU EVER WANTED TO KNOW ABOUT COMPUTER GENERATED HOLOGRAMS

A hologram is a medium that records the direction and intensity of
light, in contrast to a photograph, which only records light's
intensity.  Typically, the holographic material (usually a high
resolution photosensitive emulsion) records an interference pattern
caused by the simultaneous exposure of two sources of coherent light:
one reflected from the object being imaged, the other directly from a
reference or carrier beam.  This interference pattern is such that if
the developed hologram is placed in the original reference beam, light
is diffracted or reflected in such a way that the original object
appears to float in space at its original location.  The spatial
relationship between the viewer and objects in the scene appears
identical in "real life" and in the hologram.  More complicated
holographic processes can produce white-light illuminable, even
multi-color holograms.

Computer generated holograms replace the objects in the scene with
synthetic objects.  Presently, two major types of computer generated
holograms exist.  The first, and the most difficult to produce, is
commonly called a CGH (computer generated hologram; yes, brace
yourself for confusion).  CGHs are made by calculating the
interference patterns to be recorded on the holographic plate by first
figuring out what part of the synthetic object is visible from what
part of the hologram, then summing the phase and amplitude of the
light that each part of the object reflects.  For interesting objects,
this calculation must be performed for many points on the hologram
because the spatial frequencies range from 100-1000 fringes per
millimeter.  Recording the information onto the holographic medium is
also a problem;  for CGH optical elements, for instance, the pattern
is often recorded using an electron beam writer.  

Although computing fringe patterns may seem like the obvious way to
make computed holograms, the technique is impractical for large,
complicated, static images.  CGH is computationally viable for simple
or repetitive interference patterns, such as optical elements.
Computing fringe patterns is also useful for dynamic holography (or
holographic video).  In MIT's system, data from a memory store is
converted to an analog signal and used to modulate an acoustic signal
emitted from a transducer.  This transducer is coupled to an optical
crystal in which the sound waves form compression patterns capable of
diffracting light.  A small crystal can be used to "sweep out" a large
diffractive area.  The diffractive pattern in memory is a holographic
fringe pattern, currently computed at up to several frames per second
(for simple wireframe objects) using a 16K processor Connection
Machine 2.  The memory store is the CM2's framebuffer.  However, the
image size is still quite small (3x3x3 cm) usable volume updated at
40Hz, I'd guess), and complicated objects take a long time to compute.

High quality synthesized display holograms are almost exclusively
produced using a technique known as holographic stereography.  If a
hologram is analogous to a window onto the original scene, then a
stereogram is a series of many slit small windows, each only big
enough horizontally to fit the pupil of the viewer's eye when the
viewer stands up next to the plate.  Instead of a view onto a 3D
scene, each little window has information about a single, 2D
projection of that scene.  These projections can be created using a
moving cinema camera or standard polygonal or raytracing computer
graphics program.  The different views are computed by moving the
camera, with its lens axis always facing perpendicular to the camera's
direction of travel, horizontally through the view zone.  A new image
of the scene is captured every pupil's width or so.  To make the
stereogram, these images are projected using laser light onto a
diffusion screen, and a vertical slit of a holographic plate is
exposed to the screen and to a reference beam.  The geometrical
relationship of the slit to the projection screen is the same as the
relationship between the camera and its plane of focus when the view
for that slit was captured.  So when the hologram is illuminated, a
viewer looking through the plate actually looks through two different
slits, and thus sees to different image perspectives, the same ones
that would have been seen were the viewer really looking at the
object.  

A second hologram, called a transfer hologram, is commonly used to
allow the viewer to stand some distance from the stereogram.  The
transfer hologram is actually a hologram of the  slit hologram.  When
illuminated, the transfer hologram projects an image of the slits of
the master hologram out into space, so the viewer can easily step into
the master plane without suffering facial lacerations.  Because images
are only captured side to side, the stereogram exhibits only
horizontal parallax:  vertical viewer motion doesn't change the
appearance of the subject.

The holographic stereogram has a lot going for it.  The input
perspectives are relatively easy to produce using widely available
computer graphics techniques.  In general, interesting and realistic
graphics hacks look even more interesting and realistic in a
stereogram. Only about 100 perspective images need to be generated for
a standard 20x25cm (8x10") stereogram.  Transfer holograms can be
made in full, vibrant color, with a little work.  Size is almost
unlimited; with a little cleverness, a rig that would fit in a
suburban garage could crank out life size computer images of Miatas.
Fringe-pattern-type CGHs just aren't anywhere near as convenient,
useful, or satisfying, and won't be for quite a while.

But, sadly, only a handful of places in the world can make
stereograms, and even fewer know how.  Most of them are research
facilities, like our group.  The rest are usually involved in mass
production or commissioned work so its tough unless your images or
data is really cool.  A full, high quality stereogram lab costs about
$500 thousand.  And the holography market is hardly booming.  The
technology almost exists for a holographic printer computer
peripheral, which would open the world of low cost (couple dollars a
page), high quality 3D hardcopy to many more people, but no one wants
to put much money into it.  You'd think the 1 meter square computer
generated hubcaps in the basement would convince somebody....

So the short answer is, "No, it isn't hard to compute a holographic
image.  It's really hard, however, to make it into a hologram."
Unless you'd like to be a lab sponsor, that is.

					--Michael Halle
					  Spatial Imaging Group
					  MIT Media Lab
					  mhalle@media-lab.media.mit.edu

sandin@uicbert.eecs.uic.edu (Dan Sandin) (01/15/91)

Might I recommend PHSColograms, the product of (Art)^n laboratory?

PHSColograms are computer-generated three-dimensional hologram-like
images. They are usually made at 20x24 inches, backlit, and
have the full color of cibachrome film.

Finished images may be bought at an art gallery for less than $8000,
with a much lower cost for scientists who wish to collaborate with
good scientific visualization.

PHSColograms may be seen at the Boston computer museum starting March 1,
in a show called "Science in Depth" which is travelling there today from
the Museum of Science and Industry in Chicago. They may also be seen at
the Bronx Museum, in Barcelona at Art Futura, and in the SigGraph art show
for the last 3 or 4 years.

For more information, fax to (312) 567-6908 or mail to:



Stephan Meyers
Associate Director
(Art)^n Laboratory
319 Wishnick Hall
3255 S. Dearborn Ave
Chicago, IL 60616

Any netters who have seen the images we produce at (Art)^n are welcome
to discuss them here, we would love the feedback.

... and just wait till ya see what we're working on now!


			stephan meyers c/o sandin@uicbert.eecs.uic.edu