Graphics processor with variable performance characteristics

Computer graphics processing and selective visual display system – Computer graphic processing system – Plural graphics processors

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S441000, C345S619000

Reexamination Certificate

active

06317133

ABSTRACT:

FIELD OF THE INVENTION
The invention relates generally to graphics image processing and more particularly to the processing of vertex data for rendering an image on a display.
BACKGROUND OF THE INVENTION
Graphics image processing is a computationally intensive process that is structured hierarchically to optimize the use of special purpose hardware and software. Complex images are created as, or partitioned into, smaller areas that have definable characteristics, and each of these smaller areas are processed to provide the details required to determine the value that is assigned to each individual picture element (pixel) in a display.
In conventional graphics image processing systems, the complex images consist of a combination of polygon areas, typically triangular areas, that form the image. The complex images are processed by software on a general purpose processor to produce characteristics that are associated with each of the polygon areas. The characteristics of the polygon areas are encoded as attributes that are associated with each vertex of the polygon that encloses the area. For example, each vertex includes a color attribute that defines the color at that vertex. The color at points between two vertexes is determined thereafter by an interpolation of the colors at each vertex. In the general case, the attribute values at the vertexes of each polygon define the coefficients that are used to determine the value at any location on the surface defined by the polygon.
The attributes associated with each vertex of each polygon are communicated to a special purpose graphics processing device. The graphics processing device typically consists of a setup engine and a rasterizer. The setup engine processes the vertexes associated with each polygon to produce surface coefficients. The rasterizer processes the surface coefficients to define each value that is to be displayed for each location within each polygon. The time to process each polygon is the sum of the time required to setup the polygon plus the time to rasterize the polygon.
FIG. 1A
illustrates the relationship between the size of the polygon and the time to process the polygon. The setup time
510
required by the setup engine to process the vertexes associated with each polygon to produce the surface coefficients is relatively independent of the size of the polygon. The rasterizing time
505
required by the rasterizer to process the surface coefficients is dependent upon the size of the polygon being rendered, because the rasterizer determines a value for each pixel that is contained within the polygon. The total polygon processing time
500
is the sum of setup time
510
and the rasterizing time
505
.
The time required to render a polygon affects the overall image processing rate of the graphics image processing system, because the graphics image processing system cannot continually supply images at a rate that is faster than the rate at which the graphics processing device can render the polygons associated with each image. This dependency results in a decrease in the image processing rate for images having a high amount of detail, because although each of the many small areas representing these details can be rendered quickly, each of these many areas incurs a setup time delay. Conversely, an image that has few details will consist of a few large polygons, and although each polygon consumes a rendering time that is proportional to its size, only a few setup time delays will be incurred.
FIG. 1B
is presented, for illustrative purposes only, to demonstrate this dependency for images that are rendered to a full screen display. Line
530
represents the linear dependency of the image processing time to the number of polygons being processed. A complex image will consist of many small polygons, as illustrated by region
520
a
of curve
520
. Each of these small polygons will incur the setup time
510
required to determine the surface coefficients, plus a rasterizing time
505
. As illustrated by line
530
in
FIG. 1B
, the primary component of the image processing time
520
a
is the cumulative time of N polygons times the setup time for each polygon. A relatively simple image, on the other hand, will consist of a few polygons, each of the polygons covering a relatively large portion of the image area, as illustrated by region
520
c
of curve
520
. The primary component of the image processing time for a few large polygons is the rasterizing time
505
to determine the pixel value for each pixel location within each of the large polygons. Region
520
b
represents the processing of average sized polygons, between the regions of a few large polygons
520
c
and many small polygons
520
a
. The span
550
of the image processing time of
FIG. 1B
illustrates the range of processing time that could be incurred in a conventional system, depending upon the complexity of the image being processed.
In a conventional system, to increase the rate at which the graphics processing device processes polygons, two approaches can be taken. The components that perform the setup function and rasterizing function can be made to operate more quickly, or the device can be structured to allow the setup and rasterizing functions to operate in parallel. Increasing the speed of components has a direct impact on the cost, size, and power dissipation of the device, and is limited by available technology. Alternatively, or in addition to increasing the speed of components, a buffer is provided as the interface between the setup engine and the rasterizer, to allow for parallel operation. The buffer stores the surface coefficients that are produced by the setup engine until the rasterizer processes them. The buffer decouples the setup engine performance from the rasterizer performance, so that the delays of each do not result in a cumulative delay. If the rasterizer consumes a significant amount of time processing the surface coefficients of a large polygon, the buffer allows the setup engine to continue to process the vertexes of subsequent polygons during this time. If small polygons are interspersed among large polygons, a significant rate improvement can be realized. While a large polygon is being rendered, the setup engine processes each of the small polygons. When the rasterizer completes the rasterization of the large polygon, it commences the rasterization of each of the small polygons. Because the rasterization is substantially dependent upon the size of the polygon being rendered, each of the small polygons are rendered quickly. To allow for this parallel processing and resultant rate improvement, the buffer must be sufficiently sized so as to allow the setup engine to continue to process the vertexes of multiple subsequent polygons while a large polygon is being rendered.
With ever increasing advances in graphics image processing to provide for realistic renderings, the details associated with graphics images continually increases. This increase in detail has had a substantial impact on the conventional graphics processing devices, in two areas. The increase in realism requires an increase in the amount of data corresponding to the coefficients required to describe the polygon surfaces, and the time required to process this increased amount of data increases. Because the amount of data associated with each vertex attribute is larger, the conventional buffer is insufficiently sized to allow the setup engine to process a large number of subsequent vertex attributes while the rasterizer is processing the large polygons. Therefore, the buffer is less able to decouple the setup engine performance from the rasterizer performance, and the setup time is more likely to affect the overall image processing performance, as illustrated in FIG.
1
B.
The overall image processing performance is limited by the upper bound of the span
550
of the image processing time in
FIG. 1B
, because the image processing system must provide an image processing rate that is independent of the content of the particular images being rendered.
Conseq

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Graphics processor with variable performance characteristics does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Graphics processor with variable performance characteristics, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Graphics processor with variable performance characteristics will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2572856

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.