← Back to Patent Explorer
US4714428A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of comprehensive distortion correction for a computer image generation system

Assignee: Intel Corp
•
Filing: 1987-01-28
•
Granted: 1987-12-22
•
Expires: 2007-01-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for computer image generation producing simulated visual scenes for applications such as flight training, employing a comprehensive distortion correction to generate the image takes place in three sequential stages: Controller, Geometry Processor, and Display Processor. The Display Processor generates video to produce the desired scene on the raster of the display device. If the scene is projected through a wide-angle lens and/or is projected onto a curved screen, the combination of optical and geometric distortion presents a highly distorted scene to the viewer. The comprehensive distortion correction method produces a precisely predistorted scene on the projector raster so it appears valid to the viewer. Mapping between projector space and viewer space is highly nonlinear. However, a small region of the display (span) is selected sufficiently small so that the projector/viewer transformation may be considered linear. The Geometry Processor defines face edges in viewer space and maps edge vertices into projector space. In the Display Processor detection of spans intersected by a given face is done in viewer space using the mapped span corners and edge coefficients defined by the Geometry Processor. Edge to span corner distances are determined in viewer space. This produces a piecewise linear approximation to the curves which exact mapping would provide. The edges are continuous at span boundaries and have slope discontinuities so small as to be imperceptable. The resulting scene appears fully valid to the viewer, with all distortions corrected.

Inventors

  • 👤 William M. Bunker
  • 👤 Donald M. Merz

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 18:15
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/10; G06T15/20

Claims Analysis

Total Claims: 40
Claim 1
Independent Claim 230 words
In an image generating system of the type for converting digital data into a sequence of display frames of image data in projector space suitable for display on a video image system in viewer space, the image system forming a display by individually illuminating each of a plurality of color pixels, each of the frames of image data defining a plurality of faces and each of the frames being divided into a plurality of spans, including an electronic control means for converting the digital data, a method for correcting for geometric distortion and optical distortion comprising the steps of: (a) identifying data for a frame of display, the data defining face locations in viewer space, each of the faces associated with at least one span and being arranged in a descending order of priority; (b) calculating transformation coefficients for mapping projector space span corners into viewer space; (c) determining the highest priority face for each span; (d) determining an area within a viewer space span covered by the highest priority face; (e) computing pixel image data representative of the pixels within the projector space span covered by the face; (f) repeating step (c) through step (f) until the last face is processed into pixel image data or until all areas of the spans are fully covered by faces; and (g) transferring the pixel image data to the video image system.
Claim 2
Dependent Claim 230 words
In an image generating system of the type for converting digital data into a sequence of display frames of image data in projector space suitable for display on a video image system in viewer space, the image system forming a display by individually illuminating each of a plurality of color pixels, each of the frames of image data defining a plurality of faces and each of the frames being divided into a plurality of spans, including an electronic control means for converting the digital data, a method for correcting for geometric distortion and optical distortion comprising the steps of: (a) identifying data for a frame of display, the data defining face locations in viewer space, each of the faces associated with at least one span and being arranged in a descending order of priority; (b) calculating transformation coefficients for mapping projector space span corners into viewer space; (c) determining the highest priority face for each span; (d) determining an area within a viewer space span covered by the highest priority face; (e) computing pixel image data representative of the pixels within the projector space span covered by the face; (f) repeating step (c) through step (f) until the last face is processed into pixel image data or until all areas of the spans are fully covered by faces; and (g) transferring the pixel image data to the video image system.
Claim 3
Dependent Claim 35 words
The method of claim 1, wherein the step (b) of calculating, further comprises the step of predetermining the transformation coefficients for a mapping for a fixed projection of the pixel image for a fixed view.
Claim 4
Dependent Claim 32 words
The method of claim 1, wherein the step (b) of calculating, further comprises the step of computing a variable mapping for a moving viewer or projection relative to the video image system.
Claim 5
Dependent Claim 29 words
The method of claim 1, wherein the step (c) of determining further comprises the step of determining an edge of the highest priority face for a projector space span.
Claim 6
Dependent Claim 204 words
The method of claim 4, wherein the step of determining an edge, further comprises the steps of: (a) identifying data for a face, the data representative of an edge of a face in viewer space, each edge having a starting and a terminating vertex and a slope; (b) locating the edge vertices in viewer space coordinates; (c) transforming the edge vertices from viewer space to projector space for defining a starting projector space span and a terminating projector space span for an edge of the face; (d) transforming the projector space span corners to viewer space span corners; (e) computing a perpendicular distance in viewer space from the edge of the face to the viewer space span corners; (f) determining from the viewer space distance a subsequent projector space span intersected by the edge of the face; (g) storing in a memory each projector space span intersected by the edge; (h) storing where the edge intersects the span boundaries in projector space; (i) repeating step (d) of transforming through step (h) of storing until the last edge of the face is processed; and (j) repeating step (a) of identifying through step (c) of transforming using a next face, until all the faces are processed.
Claim 7
Dependent Claim 46 words
The method of claim 5, wherein the step (f) of determining further comprises the step of searching along the edges of a face in a clockwise direction, beginning with a first edge of a face, for each span that an edge of a face passes through.
Claim 8
Dependent Claim 129 words
The method of claim 5, wherein the step (e) of computing a perpendicular further comprises the steps of: (a) inputting, into the address lines of a read only memory, data representative of the slope of an edge and the endpoints; (b) calculating the perpendicular distance from the corner of each span according to the formula D=LO+LI*I+LJ*J, where: D is the perpendicular distance from a point (I,J) to an edge; LO is an initial predetermined distance from a fixed reference point such as I=0 and J=0; LI is the cosine of the edge slope; and LJ is the sine of the edge slope; and (c) outputting, from the data lines of the read only memory, data representative of the perpendicular distance from the corner of a span to an edge.
Claim 9
Dependent Claim 87 words
The method of claim 5, further comprising the steps of: (a) determining a projector space span to be processed based upon data representative of the area covered by previously processed faces; (b) recalling from memory the edges of the highest priority non-processed face intersecting a projector space span; (c) determining the portions of the span covered by the face defined by the recalled edges; and (d) repeating steps (a) of determining through step (c) of determining until all spans are covered or until all faces are processed.
Claim 10
Dependent Claim 181 words
The method of claim 8, wherein step (c) of determining the portions of the span further comprises the steps of: (a) recalling from memory where the edge intersects the span boundaries in projector span; (b) calculating new edge coefficients for the projector space span; (c) determining a pixel of a projector space span intersected by an edge of a face; (d) dividing the pixel into a plurality of subpixel areas; (e) computing a distance from the center of each pixel area to the edge; (f) determining the area of the subpixel areas covered by the face bounded by the edge; (g) computing a weight for each subpixel area from the area covered by the face and the color of the face; (h) repeating step (d) of dividing through step (g) of computing for each edge through the pixel; (i) summing the weighted values for each pixel; (j) generating a color for each pixel corresponding to the summed weighted values; and (k) repeating step (c) of determining through step (h) of generating for each pixel intersected by an edge in the span.
Claim 11
Dependent Claim 54 words
The method of claim 9, wherein the step (i) of summing further comprises the steps of: (a) receiving data representative of a translucency of a face in a subpixel area; (b) summing the translucency of the subpixel area of the face with the weighted value for the subpixel to obtain a translucency weighted value.
Claim 12
Dependent Claim 40 words
The method of claim 10, further comprising the step of receiving data representative of a translucency of a face in a subpixel area based upon a programatic event representative of smoke, fog, environmental events, and events characteristic of simulated warfare.
Claim 13
Dependent Claim 53 words
The method of claim 9, wherein the step (e) of computing a distance from the center of each pixel area, further comprises the step of computing the distance from the center of a subpixel area to the edge by bilinear interpolation of the distances from the corners of the pixel to the edge.
Claim 14
Dependent Claim 44 words
The method of claim 9, wherein the step (f) of determining the area of the subpixel areas, further comprises the step of determining the subpixel areas assigned to the face as a function of the distance to the edge and slope of the edge.
Claim 15
Dependent Claim 158 words
The method of claim 9, wherein the step (e) of computing a distance from the center of each pixel area, further comprises the steps of: (a) inputting the distances from each pixel area to the edge, and the edge slope, into a read only memory having address lines for input and memory lines for output; (b) calculating the perpendicular distance from the corner of each span according to the formula D=LO+LI*I+LJ*J, where: D is the perpendicular distance from a point (I,J) to an edge; LO is an initial predetermined distance from a fixed reference point such as I=0 and J=0; LI is the cosine of the edge slope; and LJ is the sine of the edge slope; and (c) determining the subpixel areas assigned to the face from the distance to the edge and the slope of the edge; and (d) outputting the subpixel areas assigned to the face on the memory lines of the rear only memory.
Claim 16
Dependent Claim 32 words
The method of claim 14, further comprising the step of determining the accuracy of a subpixel area assigned to the face by a total area accuracy of at least one-half subpixel area.
Claim 17
Dependent Claim 30 words
The method of claim 15, further comprising the step of determining the accuracy of a subpixel area assigned to the face by a positioned accuracy of at least one subpixel.
Claim 18
Dependent Claim 34 words
The method of claim 9, wherein the step (g) of computing, further comprises the step of computing a weight for each subpixel area equal to the area covered by a face times the color.
Claim 19
Dependent Claim 36 words
The method of claim 9, the step (i) of summing further comprises the step of receiving data representative of a translucency of a face in a subpixel area based upon input from an external logic means.
Claim 20
Dependent Claim 69 words
The method of claim 1, wherein the step (h) of transferring, further comprises the steps of: (a) receiving data for a pixel, the data including a haze control, an illumination control and a texture control; (b) computing a color contribution for the pixel image data from the data and the previous pixel image data; and (c) transferring the color contribution of the pixel image data to the video display.
Claim 21
Dependent Claim 208 words
In an image generating system of the type for converting digital data into a sequence of display frames of image data in projector space suitable for display on a video image system in viewer space, the image system forming a display by individually illuminating each of a plurality of color pixels, each of the frames of image data defining a plurality of faces and each of the frame being divided into a plurality of spans, including an electronic control means for converting the digital data, a method for correcting for geometric distortion and optical distortion comprising the steps of: (a) identifying data for a frame of display, the data defining face locations in viewer space, each of the faces associated with at least one span; (b) calculating transformation coefficients for mapping projector space span corners into viewer space; (c) determining a face to be processed for each span; (d) determining an area within a viewer space span covered by said face; (e) computing pixel image data representative of the pixels within the projector space span covered by said face; (f) repeating step (c) through step (f) until a last face is processed into pixel image data; and (g) transferring the pixel image data to the video image system.
Claim 22
Dependent Claim 208 words
In an image generating system of the type for converting digital data into a sequence of display frames of image data in projector space suitable for display on a video image system in viewer space, the image system forming a display by individually illuminating each of a plurality of color pixels, each of the frames of image data defining a plurality of faces and each of the frame being divided into a plurality of spans, including an electronic control means for converting the digital data, a method for correcting for geometric distortion and optical distortion comprising the steps of: (a) identifying data for a frame of display, the data defining face locations in viewer space, each of the faces associated with at least one span; (b) calculating transformation coefficients for mapping projector space span corners into viewer space; (c) determining a face to be processed for each span; (d) determining an area within a viewer space span covered by said face; (e) computing pixel image data representative of the pixels within the projector space span covered by said face; (f) repeating step (c) through step (f) until a last face is processed into pixel image data; and (g) transferring the pixel image data to the video image system.
Claim 23
Dependent Claim 32 words
The method of claim 20, wherein the step (b) of calculating, further comprises the step of computing a variable mapping for a moving viewer or projection relative to the video image system.
Claim 24
Dependent Claim 35 words
The method of claim 20, wherein the step (b) of calculating, further comprises the step of predetermining the transformation coefficients for a mapping for a fixed projection of the pixel image for a fixed view.
Claim 25
Dependent Claim 29 words
The method of claim 22, wherein the step (c) of determining further comprises the step of determining an edge of the highest priority face for a projector space span.
Claim 26
Dependent Claim 203 words
The method of claim 23, wherein the step of determining an edge, further comprises the steps of: (a) identifying data for a face, the data representative of an edge of a face in viewer space, each edge having a starting and a terminating vertex and a slope; (b) locating the edge vertices in viewer space coodinates; (c) transforming the edge vertices from viewer space to projector space for defining a starting projector space span and a terminating projector space span for edge of the face; (d) transforming the projector space span corners to viewer space span corners; (e) computing a perpendicular distance in viewer space from the edge of the face to the viewer space span corners; (f) determining from the viewer space distance a subsequent projector space span intersecting by the edge of the face; (g) storing in a memory each projector space span intersected by the edge; (h) storing where the edge intersects the span boundaries in projector space; (i) repeating step (d) of transforming through step (h) of storing until the last edge of the face is processed; and (j) repeating step (a) of identifying through step (c) of transforming using a next face, until all the faces are processed.
Claim 27
Dependent Claim 46 words
The method of claim 24, wherein the step (f) of determining further comprises the step of searching along the edges of a face in a clockwise direction, beginning with a first edge of a face, for each span that an edge of a face passes through.
Claim 28
Dependent Claim 129 words
The method of claim 24, wherein the step (e) of computing a perpendicular distance further comprises the steps of: (a) inputting, into the address lines of a read only memory, data representative of the slope of an edge and endpoints; (b) calculating the perpendicular distance from the corner of each span according to the formula D=LO+LI*I+LJ*J, where: D is the perpendicular distance from a point (I,J) to an edge; LO is an initial predetermined distance from a fixed reference point such as I=0 and J=0; LI is the cosine of the edge slope; and LJ is the sine of the edge slope; and (c) outputting, from the data lines of the read only memory, data representative of the perpendicular distance from the corner of a span to an edge.
Claim 29
Dependent Claim 87 words
The method of claim 24, further comprising the steps of: (a) determining a projector space span to be processed based upon data representative of the area covered by previously processed faces; (b) recalling from memory the edges of the highest priority non-processed face intersecting a projector space span; (c) determining the portions of the span covered by the face defined by the recalled edges; and (d) repeating steps (a) of determining through step (c) of determining until all spans are covered or until all faces are processed.
Claim 30
Dependent Claim 181 words
The method of claim 27, wherein step (c) of determining the portions of the span further comprises the steps of: (a) recalling from memory where the edge intersects the span boundaries in projector span; (b) calculating new edge coefficients for the projector space span; (c) determining a pixel of a projector space span intersected by an edge of a face; (d) dividing the pixel into a plurality of subpixel areas; (e) computing a distance from the center of each pixel area to the edge; (f) determining the area of the subpixel areas covered by the face bounded by the edge; (g) computing a weight for each subpixel area from the area covered by the face and the color of the face; (h) repeating step (d) of dividing through step (g) of computing for each edge through the pixel; (i) summing the weighted values for each pixel; (j) generating a color for each pixel corresponding to the summed weighted values; and (k) repeating step (c) of determining through step (h) of generating for each pixel intersected by an edge in the span.
Claim 31
Dependent Claim 54 words
The method of claim 28, wherein the step (i) of summing further comprises the steps of: (a) receiving data representative of a translucency of a face in a subpixel area; (b) summing the translucency of the subpixel area of the face with the weighted value for the subpixel to obtain a translucency weighted value.
Claim 32
Dependent Claim 40 words
The method of claim 29, further comprising the step of receiving data representative of a translucency of a face in a subpixel area based upon a programatic event representative of smoke, fog, environmental events, and events characteristic of simulated warfare.
Claim 33
Dependent Claim 36 words
The method of claim 28, the step (i) of summing further comprises the step of receiving data representative of a translucency of a face in a subpixel area based upon input from an external logic means.
Claim 34
Dependent Claim 53 words
The method of claim 28, wherein the step (e) of computing a distance from the center of each pixel area, further comprises the step of computing the distance from the center of a subpixel area to the edge by bilinear interpolation of the distances from the corners of the pixel to the edge.
Claim 35
Dependent Claim 44 words
The method of claim 28, wherein the step (f) of determining the area of the subpixel areas, further comprises the steps of determining the subpixel areas assigned to the face as a function of the distance to the edge and slope of the edge.
Claim 36
Dependent Claim 158 words
The method of claim 28, wherein the step (e) of computing a distance from the center of each pixel area, further comprises the steps of: (a) inputting the distance from each pixel area to the edge, and the edge slope, into a read only memory having address lines for input and memory lines for output; (b) calculating the perpendicular distance from the corner of each span according to the formula D=LO+LI*I+LJ*J, where: D is the perpendicular distance from a point (I,J) to an edge; LO is an initial predetermined distance from a fixed reference point such as I=0 and J=0; LI is the cosine of the edge slope; and LJ is the sine of the edge slope; and (c) determining the subpixel areas assigned to the face from the distance to the edge and the slope of the edge; and (d) outputting the subpixel areas assigned to the face on the memory lines of the read only memory.
Claim 37
Dependent Claim 32 words
The method of claim 34, further comprising the step of determining the accuracy of a subpixel area assigned to the face by a total area accuracy of at least one-half subpixel area.
Claim 38
Dependent Claim 30 words
The method of claim 36, further comprising the step of determining the accuracy of a subpixel area assigned to the face by a positioned accuracy of at least one subpixel.
Claim 39
Dependent Claim 34 words
The method of claim 28, wherein the step (g) of computing, further comprises the step of computing a weight for each subpixel area equal to the area covered by a face times the color.
Claim 40
Dependent Claim 69 words
The method of claim 20, wherein the step (h) of transferring, further comprises the steps of: (a) receiving data for a pixel, the data including a haze control, an illumination control and a texture control; (b) computing a color contribution for the pixel image data from the data and the previous pixel image data; and (c) transferring the color contribution of the pixel image data to the video display.

References Cited (Backward Citations)

US4590465A Cited
US4550315A Cited
US4656521A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1990-12-21 1991-06-22 1991-12-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1994-12-21 1995-06-22 1995-12-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1998-12-21 1999-06-22 1999-12-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag