Computer graphics processing and selective visual display system – Computer graphics processing – Graph generating
Reexamination Certificate
1996-11-27
2001-06-19
Zimmerman, Mark (Department: 2671)
Computer graphics processing and selective visual display system
Computer graphics processing
Graph generating
C345S426000, C345S427000, C345S440000
Reexamination Certificate
active
06249289
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to computer graphics imagery, and more specifically, toward distortion correction in the display of computer generated imagery.
2. Related Art
Computer graphics applications often require the generation of complex three-dimensional surfaces (e.g., representing a car, a face, etc.) in world space. These complex three-dimensional surfaces are conventionally approximated with a mesh (or tessellation) of polygons (e.g., triangles). Generally, a polygon mesh is a collection of edges and vertices. An edge connects two vertices, and a polygon is a closed sequence of edges.
FIG. 1
illustrates a projection of an object
104
in world space
106
to screen space
108
. In this projection, an image generator uses Thales theorem in real time to produce the image exposed to an observer
102
. The projection transformation is applied to vertices because in Thales transformation, a straight line defined by a polygon edge in world space
106
, is transformed to a straight line defined by the polygon edge in screen space
108
.
Note that Thales theorem can be used to identify the distance H2 in screen space
108
. First note that L1=M*cos &thgr; and H1=M*sin &thgr;, where M is equal to the distance between observer
102
and vertex
110
. By substituting the values for L1 and H1 into Thales theorem, the value H2 is found to be equivalent to L2*tan &thgr;. The equation H2=L2*tan &thgr; represents the basic equation for generating images in screen space
108
. For the remainder of this description, the image generator that projects objects in world space to a planar viewing window is referred to as a k*tan &thgr; image generator.
As exemplified in
FIG. 1
, the computed image generated by the k*tan &thgr; image generator can be directly displayed on a monitor or a behind-the-screen projection system as long as the projector is pointing in a direction that is perpendicular to the screen. If the projector is not pointing in a direction that is perpendicular to the screen, the displayed image becomes distorted and the picture produced by the projector may no longer appear rectangular.
In one conventional solution, the trapezoidal distortion is handled directly by the projector. However, standard projectors cannot handle a lot of distortion. Further, standard projectors also have problems with focal distance and brightness regularity. In another conventional solution, the trapezoidal distortion is handled by an image generator that modifies the projection law.
Modification of a projection law becomes increasingly difficult when the screen is no longer flat (e.g., spherical). In this scenario, straight lines in world space are transformed into curved lines in screen space. As noted above, the distortion can be corrected after the image has been generated by modifying the projector. This can be accomplished by adding specific hardware directly to the projector, or as a front end to the projector. In this process, a 2D distortion map is applied to the image produced by the image generator. This solution is acceptable for low levels of distortion.
However, consider a spherical screen (i.e., &thgr; projection system). In this scenario, a significant loss of perceived resolution is encountered outside of a 60 degree viewing pyramid.
FIG. 2
illustrates a viewing pyramid that is made by joining the observer to the screen
210
, which for simplicity is . After 65 degrees (i.e., both &thgr;
x
and &thgr;
y
are greater than 65 degrees), the image correction will have to produce two pixels out of only one that is computed by the image generator, thereby diminishing the resolution.
In another conventional method, distortion correction is performed by subdividing polygon edges. This functionality is usually incorporated into the heart of the pixel-processing system, thereby limiting its portability. In this technique, a grid of distortion information is used to clip polygon edges. A polygon edge is cut into a plurality of segments defined by a plurality of vertices. The position of these vertices are adjusted to match the distortion. A drawback of this conventional method is the processing power required for implementation. The processing power required is substantially increased based upon the increased number of vertices created by the polygon edge subdivisions. This limits the ability to correct distortion on a per-pixel basis.
What is generally needed is a distortion correction system and method that provides an open solution. This would enable the system to compensate for various sources of distortion that include the screen form, projector position, projector's optical lens, the field of view, observer position, etc.
SUMMARY OF THE INVENTION
The present invention satisfies the above mentioned needs by providing a distortion correction system and method that is programmable and does not rely on any projection system assumptions. Generally, the present invention uses a two-pass system. In the first pass, a field of view (e.g., 180°×180° half spherical screen) is subdivided into one or more viewports through which objects in world space can be viewed. The projection of polygons onto the subdivided viewports provides a first approximation to the distortion (i.e., a “facet-eye” view of the objects in world space).
The second pass uses the intermediate images generated by each of the subdivided viewports in the first pass. These intermediate images are applied to a distortion mesh using a texture projection technique. Generally, the distortion mesh includes vertices that have texture coordinates representing pixels in a final distorted image. The resulting image produced by the mesh, covered with the texture of the intermediate images, represents the output image that is provided to a display generator.
One advantage of the present invention is the ability for an observer to interactively adjust the initially defined distortion mesh based upon the viewing of the final output image. This process ensures that the distortion mesh accounts for all sources of distortion, even those that could not be identified in the initial system model. Specifically, a mouse or any other pointing device can be used to interactively adjust the perceived distortion correction thereby adjusting the vertices of the distortion mesh.
The foregoing and other features and advantages of the invention will be apparent from the following, more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings.
REFERENCES:
patent: 4695964 (1987-09-01), Seto et al.
patent: 4862388 (1989-08-01), Bunker
patent: 5204944 (1993-04-01), Wolberg et al.
patent: 5278949 (1994-01-01), Thayer
patent: 5319744 (1994-06-01), Kelly et al.
Arnaud Remi
Castellar Javier
Jones Michael Timothy
Nguyen Kimbinh T.
Silicon Graphics Inc.
Sterne Kessler Goldstein & Fox P.L.L.C.
Zimmerman Mark
LandOfFree
Multi-purpose high resolution distortion correction does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Multi-purpose high resolution distortion correction, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multi-purpose high resolution distortion correction will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2439419