Generation of three-dimensional movies with improved depth control

Techniques for creating 3-D movies allow improved control over camera positioning parameters and editing of depth in post-process to provide for a smoother variation in the viewer's convergence distance and a more pleasant viewing experience. A director can define reference parameters related to a desired viewing experience, and camera positioning parameters are derived therefrom. A depth script specifying piecewise continuous variations in reference parameters can be applied in post-process to generate 3-D shots, scenes, or movies. These techniques can be applied in both computer-generated and live-action 3-D movies.

BACKGROUND OF THE INVENTION

The present invention relates in general to video clips and in particular to methods and systems for generating three-dimensional (“3-D”), or stereoscopic, video clips with improved depth control.

Human beings normally see the world using stereoscopic vision. The right eye and the left eye each perceive slightly different views of the world, and the brain fuses the two views into a single image that provides depth information, allowing a person to perceive the relative distance to various objects. Movies filmed with a single camera do not provide depth information to the viewer and thus tend to look flat.

Achieving depth in a motion picture has long been desirable, and 3-D movie technology dates back a century. Most of the early efforts used anaglyphs, in which two images of the same scene, with a relative offset between them, are superimposed on a single piece of movie film, with the images being subject to complimentary color filters (e.g., red and green). Viewers donned special glasses so that one image would be seen only by the left eye while the other would be seen only by the right eye. When the viewer's brain fused the two images, the result was the illusion of depth. In the 1950s, “dual-strip” projection techniques were widely used to show 3-D movies: two films were projected side-by-side in synchronism, with the light from each projector being oppositely polarized. Viewers wore polarizing glasses, and each eye would see only one of the two images. More recently, active polarization has been used to distinguish left-eye and right-eye images. Left-eye and right-eye frames are projected sequentially using an active direction-flipping circular polarizer that applies opposite circular polarization to the left-eye and right-eye frames. The viewer dons glasses with opposite fixed circular polarizers for each eye, so that each eye sees only the intended frames. Various other systems for projecting 3-D movies have also been used over the years.

Unlike 3-D projection technology, the camera positioning techniques used to create 3-D movies have not changed significantly over the years. As shown inFIG. 1A, in one conventional technique, two cameras102and104are set up, corresponding to the left eye and right eye of a hypothetical viewer. Each camera102,104has a lens106,108with a focal length f and a film back110,112positioned at a distance f from lenses106,108. Lenses106and108each define an optical axis111,113. Cameras102and104are spaced apart by an “interaxial” distance di(i.e., the distance between optical axes111,113as measured in the plane of lenses106,108, as shown) and are “toed in” by an angle θ (the angle between the optical axis and a normal to the screen plane115), so that the images converge on a point114at a distance z0from the plane of the camera lenses106,108. When the films from cameras102and104are combined into a 3-D film, any objects closer to the cameras than z0will appear to be in front of the screen, while objects farther from the cameras will appear to be behind the screen.

With the rise of computer-generated animation, the technique shown inFIG. 1Ahas also been used to position virtual cameras to render 3-D stereo images. The description herein is to be understood as pertaining to both live-action and computer-generated movies.

Three-D images generated using the technique ofFIG. 1Atend to suffer from distortion. Objects toward the left or right of the image are significantly closer to one camera than the other, and consequently, the right-eye and left-eye images of peripheral objects can be significantly different in size. Such distortions can distract the viewer.

One known technique for reducing such distortions is shown inFIG. 1B. Cameras122and124are spaced apart by an interaxial distance di, but rather than being toed in as inFIG. 1A, the film backs126and128are offset from the optical axis by a distance dBas shown. Lenses130and132are oriented such that optical axes121and123are normal to screen plane125, reducing eye-to-eye distortions. For each camera122,124, a film-lens axis127,129is defined by reference to the center of film back126,128and the center of lens130,132. Film-lens axes127,129are effectively toed in at toe-in angle θ, and their meeting point134defines the convergence distance z0. This technique, which has been used for computer-generated animation, reduces eye-to-eye distortion.

Regardless of which technique is used, 3-D movies suffer from problems that have limited their appeal. For example, the interaxial distance diand toe-in angle θ are usually selected for each shot as the movie is being created. In close-up shots, for example, diand θ are normally selected to create a relatively short convergence distance z0; in wide shots, a longer z0is usually desired. During post-processing, the director often intercuts different shots to form scenes. To the extent that diand θ are significantly different for successive shots, the viewer's eyes must discontinuously adjust to different convergence distances. Frequent discontinuous adjustments are unnatural for human eyes and can induce headaches or other unpleasant effects.

It would therefore be desirable to provide improved techniques for creating 3-D movies.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention provide techniques for creating 3-D movies that allow improved control over camera parameters and editing of depth in post-processing to provide for a smoother variation in the viewer's convergence distance and a more pleasant viewing experience. These techniques can be applied in both computer-generated and live-action 3-D movies.

One aspect of the present invention relates to a method for creating a three dimensional movie. A reference parameter value is established for each of a number of reference parameters that define a far triangle and a near triangle associated with a shot. The “far” triangle can be defined, for example, with reference to a point in a “zero” plane in which the offset distance between left-eye and right-eye images is zero, a distance between the zero plane and a “far” plane representing a maximum distance at which objects should be seen clearly, and an offset distance between left-eye and right-eye images for objects in the far plane. The “near” triangle can be defined, for example, with reference to the point in the zero plane, a distance between the zero plane and a “near” plane representing a minimum distance at which objects should be seen clearly, and an offset distance between left-eye and right-eye images for objects in the near plane. Thus the reference parameters characterize the stereoscopic effect. Based on these reference parameter values, camera positioning parameters are determined for a first camera and a second camera; the camera positioning parameters include an interaxial distance between the first camera and the second camera. Using the camera positioning parameters, a respective sequence of images of a shot is obtained for each of the first camera and the second camera. The sequences of images may be obtained, e.g., via animation techniques, live-action cinematography, and/or post-process techniques applied to live action or animated images.

Another aspect of the invention relates to a method for creating a movie. A number of shots is obtained, where each shot include a sequence of initial images and each initial image has depth information associated therewith. The shots are sequenced to create a scene (which may include intercutting between segments from different shots, etc.). A piecewise continuous depth script is defined for the scene. Thereafter each of the shots is regenerated as a sequence of stereoscopic images having depth properties determined based on the depth script and the depth information associated with the initial images.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide techniques for creating 3-D, or stereoscopic, movies that allow improved control over stereoscopic parameters and/or editing of depth in post-processing to provide for a smoother variation in the viewer's convergence distance and a more pleasant viewing experience. These techniques can be applied in both computer-generated and live-action 3-D movies.

As used herein, the term “movie” should be understood to refer broadly to a sequence of images that when viewed in succession produce the effect of viewing a moving image. The images can be live-action, computer-generated, or a mix of live-action and computer-generated elements, and the sequence can have any length desired (e.g., two minutes to two or more hours). The images can be captured and/or displayed using analog or digital media, or a combination thereof (for example, a computer-generated image printed onto movie film). A “shot” refers to a subset of a movie during which camera parameters are either held constant or smoothly varied; it is contemplated that movies can include any number of shots. A “scene” refers to a subset of a movie that relates a continuous (in time and place) sequence of events, and a scene may be composed of multiple shots.

Camera Position Parameters

Some embodiments of the invention provide techniques for establishing camera position parameters for a 3-D shot. The director (or other person involved in creating a 3-D movie) defines reference parameters that characterize the 3-D image, and camera position parameters that will yield a 3-D image with the specified characteristics are derived from the reference parameters.

FIG. 2is a simplified plan view illustrating camera-related parameters according to an embodiment of the present invention. Two cameras202,204are provided. Each camera has a lens206,208with a focal length f and a film back210,212is placed in a plane a distance f from a “camera plane”214(dotted line). Film backs210,212are each offset by a distance db, and the center of film backs210,212and centers of lenses206,208define film-lens axes211,213.

Three other planes are shown: a “far” plane216, a “near” plane218, and a “screen” plane220. Far plane216, which is at a distance zFfrom camera plane214, corresponds to the distance to the farthest object that should be seen clearly (or at all). Near plane218, which is at a distance zNfrom camera plane214, corresponds to the distance to the closest object that should be seen clearly (or at all). An offset distance between right-eye and left-eye images in far plane216is defined as ΔxF, and an offset distance between left-eye and right-eye images in near plane218is defined as ΔxN. In the screen plane, the offset distance between right-eye and left-eye images is zero. Far plane distance zF, near plane distance zN, screen plane distance z0, and the offset distances ΔxFand ΔxFcharacterize the 3-D image as it would be experienced by a viewer.

It is to be understood that other camera parameters may be relevant to the creation of 3-D images. For example, in computer-generated animation, it is common to define a view frustum for each camera202,204. The view frustum specifies the boundaries of the visible volume in 3-D space for each camera (e.g., by defining a height and width for the near plane and the far plane). The view frustum for a camera may depend on parameters such as focal length and aperture of lenses206,208, dimensions of film backs210,212, and so on; the respective view frustum for each camera202,204may be the same or different. For purposes of determining 3-D parameters it is sufficient to consider the plane defined by the respective film-lens axes (or in other embodiments optical axes) of the two cameras; other camera parameters may also be defined at the same time as the parameters described herein.

As can be seen fromFIG. 2, the screen plane distance z0and the camera interaxial distance dican be established by specifying the near plane distance zN, the far plane distance zF, the near-plane offset ΔxN, and the far plane offset ΔxF. The film-back offset dBcan also be determined from these four parameters in combination with the focal length f of lenses206,208. Alternatively, if a toed-in camera arrangement (e.g., as shown inFIG. 1A) is used, the toe-in angle θ can be determined.

FIG. 3is a flow diagram of a process300for determining 3-D camera positioning parameters according to an embodiment of the present invention. At step302, a near plane distance zNand a far plane distance zFare defined for a shot. At step304, offset distances ΔxNand ΔxFare defined. At step306, a focal length f for the camera lenses is defined. At step308, the interaxial distance diand film-back offset dBare computed. More generally, the camera positioning parameters can include any parameters that specify the relative positioning of the two cameras. For instance, an interaxial spacing and a toe-in angle could be used.

In some embodiments, the near-plane distance zNand far-plane distance zFare specified in absolute length units such as meters or feet, while the offset distances are specified in screen-relative units such as pixels. In general, for both analog and digital image capture, the screen area can be thought of as a grid having a fixed size (measured, e.g., in pixels), and an offset specified in pixels corresponds to a fraction of the screen size.

Computation of camera positioning parameters for one such embodiment will be described with reference toFIG. 4. As shown inFIG. 4, the left-eye camera, represented by lens402and film back404, is arranged with film back404directly behind lens402at a focal distance f measured in length units, such as inches or millimeters. The width of film back404defines a horizontal aperture ahthat will be applied to both cameras. The left-eye camera is pointed straight at the screen plane.

To position the right-eye camera, represented by lens406and film back408, the interaxial distance diand the film back offset distance offhare computed. In this example, the user supplies the following reference parameters:zN, the distance from camera plane410to near plane412, in absolute length units (e.g., inches, millimeters, meters, etc.);zF, the distance from camera plane410to far plane414, in absolute length units (e.g., inches, millimeters, meters, etc.);ΔpN, the image shift in near plane412, specified as a number of pixels; andΔpF, the image shift in far plane414, specified as a number of pixels. When specifying ΔpNand ΔpFin this embodiment, positive values indicate that the right eye point is to the right of the left eye point; negative numbers indicate the opposite.

Additional per-camera parameters (which usually apply to both cameras) can be pre-specified or provided by the user. In this embodiment, the per-camera parameters include at least:pH, the horizontal resolution of the image in pixels;f, the camera focal length, e.g., in inches or millimeters; andah, the camera's horizontal aperture, e.g., in inches or millimeters.

Other per-camera parameters, such as vertical resolution and aperture, or aspect ratio for the image, can also be specified if desired.

The horizontal field of view angle (hfov) can be determined using:
hfov=2*atan(0.5*ah/f),  (1)
assuming that horizontal aperture ahand focal length f are in the same units. (These lengths can readily be converted to the same units using appropriate conversion factors.) The width of the image in the near plane (widthN) is then:
widthN=2*zN*tan(hfov/2),  (2)
and the width of the image in the far plane (widthF) is:
widthF=2*zF*tan(hfov/2).  (3)
Note that widthNand widthFhave the same units as zNand zF(e.g., inches, meters, etc.).

The image width can be used to convert pixel shifts to shift distances. Specifically, the near-plane shift ΔxNis given by:
ΔxN=widthN*ΔpN/pH,  (4)
and the far-plane shift ΔxFis given by:
ΔxF=widthF*ΔpF/pH,  (5)
The slope mCof the “convergence” line416is:
mC=(zF−zN)/(ΔxF−ΔxN).  (5)

This slope can be used to determine the distance z0from camera plane410to screen plane418:
z0=zN−mC*ΔxN.  (6)

The positioning parameters for the right-eye camera can then be determined. The interaxial distance diis given by:
di=z0/mC,  (7)
and the film back offset offhfor the right-eye camera is given by:
offh=f/mC(8)

Those skilled in the art will appreciate that other techniques can be used. In addition, other camera positioning parameters can also be computed. For instance, a toe-in angle for the right-eye camera, rather than a film back offset, could be computed based on the slope mC. In addition, the cameras could be positioned symmetrically (e.g., as shown inFIG. 2), and similar techniques could be used to determine positioning parameters for both cameras.

After the camera positioning parameters (e.g., interaxial spacing diand film back offset or toe-in angle) are determined, the shot can be made. In the case of an animated shot, making the shot typically includes rendering two images of the scene data, one using the right-eye camera positioning parameters and the other using the left-eye parameters; the two rendering operations can take place in parallel or sequentially as desired. In the case of a live-action shot, making the shot can include setting up real cameras according to the positioning parameters determined at step304and filming the action.

The offsets between left-eye and right-eye cameras may be selected as desired. In practice, various ad hoc limits may be determined. For example, to make sure that information for both eyes is available, the offsets ΔxFand ΔxNshould not exceed the width of the screen. In addition, there is a maximum offset distance beyond which a viewer's eyes can no longer fuse the two images; this is often less than screen width.

The examples shown inFIGS. 3 and 4place the screen plane at the convergence distance z0from the camera plane. It is to be understood that the screen plane could be placed in front of or behind the convergence plane (or “zero plane”). However, it has been observed that a large discrepancy between the screen distance and the convergence distance can be uncomfortable for viewers; thus, it may be desirable to limit this discrepancy, e.g., by always using the zero plane as the screen plane.

In some instances, having objects appear in front of the screen plane (e.g., between screen plane220and near plane218ofFIG. 2) can create distortion depending on where viewers are sitting relative to the screen. Accordingly, it may be desirable to merge screen plane220and near plane218into a single plane.FIG. 5is a flow diagram of a process500for determining 3-D camera positioning parameters according to another embodiment of the present invention. Process500can be used, e.g., if screen plane220and near plane218ofFIG. 2are the same plane. At step502, screen plane distance z0and far plane distance zFare defined for a shot. At step504, far-plane offset distance ΔxFis defined; the offset in the screen plane is always zero. (Offset distance ΔxFcan be defined directly or indirectly, e.g., using a pixel offset as described above.) At step506, focal length f is defined. At step508, the interaxial distance diand film-back offset dBare computed. After that, the shot can be made, e.g., as described above.

It will be appreciated that the processes for determining camera parameters described herein are illustrative and that variations and modifications are possible. Steps described as sequential may be executed in parallel, order of steps may be varied, and steps may be modified or combined. Where toe-in angle θ is used in place of film-back offset dB, the angle θ can be determined using techniques similar to those described above.

Further, the set of reference parameters that are defined by the director can be varied. Any combination of parameters that characterizes the desired 3-D properties of the image can be used. For example, in process500it is assumed that the screen plane and the near plane are the same. This condition is not required, and a near-plane distance zNcan be specified as a separate reference parameter. It should be noted that if zN, z0and zFare all used as reference parameters, only one of the offset distances ΔxFor ΔxNneeds to be provided as a reference parameter; the other offset distance can be determined from the similarity of far triangle232and near triangle234inFIG. 2. More generally, any set of parameters sufficient to define far triangle232and near triangle234ofFIG. 2can be used as the reference parameters, and diand dBcan be computed from these parameters. Thus, any two of the following parameter sets suffice to determine the third: (1) near plane distance zNand offset ΔxN, (2) far plane distance zFand offset ΔxF; and (3) zero plane distance z0. (If the screen plane is not the zero plane, an offset between the two can also be specified.)

FIGS. 6A and 6Billustrate a technique for selecting camera parameters for a head shot according to an embodiment of the present invention.FIG. 6Ashows the face602of a character, as viewed on a screen. Face602can be at any angle to the screen, e.g., straight on, profile, backside, or some other angle. Face602has an apparent width w, which may depend on the angle at which face602is seen. (Apparent width w can be measured, e.g., in pixels.)

FIG. 6Bis a top view showing how apparent width w can be used to define the depth parameters zFand zNaccording to an embodiment of the present invention. Specifically, apparent width w ofFIG. 6Ais used to define a circle604of diameter w. The cameras are represented by camera plane610(dotted line). Near plane606is at a distance zNfrom camera plane610that is determined based on how close the head shot is to be, and far plane608is at a distance zF=zN+W from camera plane610.

In some embodiments, apparent width w is used to define an initial value for zF, and the initial value can be tweaked to minimize any squashing effect or to transition smoothly from shot to shot.

Apparent width w of a head or face (e.g., face602ofFIG. 6A) can also be used to define pixel offsets in the near and/or far planes.FIG. 6Cis a flow diagram of a process640that uses the apparent width of a head as shown on the screen to determine near-plane and far-plane pixel offsets ΔpNand ΔpF. At step642, a “depth constant” (δ0) is defined based on an image of the head when its apparent height is the full vertical height of the image. To define depth constant δ0in one embodiment, a 3-D image of a test head that fills the vertical height of the image is rendered, with the near plane and far plane coinciding with the front and back of the head (e.g., as shown inFIG. 6B) and near plane and far plane pixel offsets ΔpN0and ΔpF0. The pixel offsets ΔpN0and ΔpF0are adjusted until the test head appears fully rounded. Depth constant δ0is then defined as:
δ0=|ΔpN0−ΔpF0|.  (9)

At step644, the ratio ρ is determined as the ratio of the apparent width w of the head to be rendered (measured, e.g., in pixels) to the height of the image (also measured in pixels). At step646, an offset difference δRto attain a fully rounded head is computed as:
δR=δ0*ρ.  (10)

In some cases, a head that is less than fully rounded may be desired; accordingly, at step648, the creator of the image can specify a fractional roundness αR(e.g., from 0 to 1). At step650, the near-to-far offset difference δ to be used for the image is computed as:
δ=δR*αR.  (11)

At step652, the offset difference δ is used to set near-plane pixel offset ΔpNand far-plane offset ΔpF. For instance, if the middle of the head is to be in the convergence plane, then:
ΔpN=0.5*δR; ΔpF=−0.5*δR.  (12)

More generally, the offset difference Scan be added in equal and opposite measures to near-plane pixel offset ΔpNand far-plane offset ΔpF. This provides control over the position of the convergence point relative to the subject's head while keeping the head depth constant, so that the viewer does not perceive changes in the shape of the head as the distance between the head and the camera varies. Similar techniques can be applied for close-ups of other objects.

Depth Script

In other embodiments of the present invention, the techniques for defining 3-D camera positioning parameters described above can be used to create a “depth script” for a movie. The depth script can be used to reduce discontinuities in 3-D convergence distance caused by abrupt changes in the distance z0.

In some embodiments, the depth script provides smooth variations in the director-defined reference parameters (e.g., zF, zN, ΔxF, ΔxN) within a shot or from shot to shot within a scene. As long as the script specifies that these parameters vary continuously, the convergence distance z0also varies continuously; discontinuous changes in the director-defined reference parameter values result in discontinuous changes in z0. Thus, the director can control the number and frequency of discontinuous changes in convergence distance. In particular, over the course of a movie, z0can be made to vary in a piecewise continuous manner, with fewer discontinuous jumps than previous 3-D techniques provided. For example, within a scene, z0might vary continuously, with discontinuous jumps occurring only between scenes.

FIG. 7is a flow diagram of a process700for creating a 3-D movie according to an embodiment of the present invention. At step702, the director (or other responsible party) establishes initial 3-D camera positioning parameters for each shot. For example, process300or500described above could be used. At step704, the shots are created using the initial parameters. At step706, the shots are sequenced to create a scene. At this stage, the scene may have any number of discontinuous jumps in 3-D camera positioning parameters. At step708, a depth script for the scene is defined. The depth script can be defined, e.g., by establishing zF, zN, ΔxF, and ΔxNreference parameters for each shot such that there are few or no discontinuous jumps in the viewer's convergence distance. To provide continuity, the reference parameters can be held constant or smoothly varied as a function of time during a shot. At step710, the shots are regenerated, using the depth script to determine the 3-D camera positioning parameters for each shot.

Depth scripting can be applied in both computer-generated and live-action 3-D movies. In the case of computer-generated movies, applying a depth script (e.g., step710ofFIG. 7) generally entails re-rendering the images using the camera positioning parameters determined from the depth script. For live-action movies, scenes could be re-filmed, although this is usually prohibitively expensive.

As an alternative to re-filming, depth information for a live-action scene can be gathered as the scene is filmed. For example, a “trinocular” camera, as described in R. Tanger et al., “Trinocular Depth Acquisition,”SMTPE Motion Imaging Journal, May/June 2007 (incorporated herein by reference), could be employed. Tanger et al. describe a camera system that includes a main cinematic camera and two “satellite” cameras positioned to the left and right of the main camera. By analyzing the images recorded by these three cameras, it is possible to extract depth information from a live-action scene.

In some embodiments of the present invention, a trinocular camera or other system capable of providing depth information for a live-action scene can be used to support depth composition in post-process without requiring scenes to be re-filmed. For example, the geometry of the scene can be extracted using the depth information, and “virtual” 3-D cameras can be used to record the geometry from a desired position. This approach combines live-action and computer-generated animation techniques.

FIG. 8is a flow diagram of a process800for creating a live-action 3-D movie according to an embodiment of the present invention. At step802, shots are filmed using a camera system that provides depth information, such as the trinocular camera system of Tanger et al. At step804, the director (or other party) sequences the shots to create a scene. It should be noted that at this point, the movie might exist as a two-dimensional (2-D) movie. At step806, a depth script is defined for the scene. As in process700, the depth script can be defined by establishing reference parameters for each shot such that there are few or no discontinuous jumps in the viewer's convergence distance.

At step808, scene geometry is extracted from the visual and depth information collected at step802, when the scene was filmed. Extracting the scene geometry can include modeling the objects in the scene or other processes for identifying what objects are in the scene and where (in 3-D space) those objects are located. At step810, the scene is rendered using the extracted geometry and virtual 3-D cameras positioned in accordance with the depth script. In some cases, rendering the scene may also involve creating additional geometry, e.g., to represent objects or portions of objects that were occluded from the original camera angle but become visible in the final 3-D view. The need for such additional geometry will be minor provided that the final 3-D rendering is done from the same camera position as the initial cinematography.

Alternatively, image re-projection techniques can be used. In one such technique, in addition to extracting the geometry, the image is extracted as a texture. The image can then be projected back onto the geometry and recorded from two uniquely chosen points of view representing the left eye and right eye cameras, thereby effecting stereo imagery. Because the camera views can be chosen after the scene edit is made, it is possible to follow a smoothly varying depth script. Image re-projection is a straightforward technique for achieving the desired effect; other techniques may also be used.

It will be appreciated that the depth-scripting processes described herein are illustrative and that variations and modifications are possible. Steps described as sequential may be executed in parallel, order of steps may be varied, and steps may be modified or combined. The processes may be used in combination with each other to create scenes that involve a combination of live-action and computer-generated elements (e.g., scenes with computer-generated visual effects).

These processes allow depth to be composed in post-process rather than during principal photography of a movie. The processes provide increased control over depth, including increased control over how much and how rapidly the viewer's convergence distance varies from shot to shot or scene to scene, better enabling moviemakers to provide a comfortable viewing experience with relatively few abrupt shifts in convergence distance.

While the invention has been described with respect to specific embodiments, one skilled in the art will recognize that numerous modifications are possible. Further, some aspects or embodiments of the invention can be practiced independently of each other; for instance, the techniques described herein for establishing camera parameters can be used independently of the depth scripting techniques, and vice versa.

Some components of the processes described herein can be implemented using suitably-configured computer systems. Such systems may be of conventional design and may include standard components such as microprocessors, monitors, keyboards, disk drives, CD-ROM drives, network interface components, and the like. In addition, interconnected groups of computers may be used to practice the present invention. While the embodiments described above may make reference to specific hardware and software components, those skilled in the art will appreciate that different combinations of hardware and/or software components may also be used and that particular operations described as being implemented in hardware might also be implemented in software or vice versa.

Computer programs incorporating various features of the present invention may be encoded on various computer readable media for storage and/or transmission; suitable media include magnetic disk or tape, optical storage media such as compact disk (CD) or DVD (digital versatile disk), flash memory, and the like. Such programs may also be encoded and transmitted using carrier signals adapted for transmission via wired, optical, and/or wireless networks conforming to a variety of protocols, including the Internet. Computer readable media encoded with the program code may be packaged with a compatible device or provided separately from other devices (e.g., via Internet download).

The techniques described herein can be used to generate images for 3-D, or stereoscopic, movies that can be stored, distributed and displayed using various movie formats and projection or display technology. For example, the sequences of left-eye and right-eye images making up the movie can be printed onto film and projected using a suitably configured projector Alternatively, digital data representing the left-eye and right-eye images can be stored on a computer-readable storage medium (e.g., optical or magnetic disk, flash memory, etc.) and displayed using a computer-based system capable of reading the medium and driving an image-displaying device (e.g., a projector incorporating liquid crystal display or digital micromirror technology) to sequentially display the images. The 3-D effect can be created using conventional techniques (e.g., projecting the left-eye and right-eye frames alternately with coordinated alternating polarization as described above) or any other technique that presents the left-eye images to the left eye and right-eye images to the right eye.