Processing pixels of a digital image

Computer graphics processing and selective visual display system – Plural physical display element control system – Display elements arranged in matrix

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S600000

Reexamination Certificate

active

06795048

ABSTRACT:

TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and apparatus for processing pixels of a digital image and, in particular, to the rendering of grey-scale graphic objects into raster pixel images.
BACKGROUND ART
Most object based graphics systems utilise a frame store or page buffer to hold a pixel-based image of the page or screen. Typically, the outlines of the graphic objects are calculated, filled and written into the frame store. For two-dimensional graphics, objects which appear in front of other objects are simply written into the frame store after the background objects, thereby replacing the background on a pixel-by-pixel basis. This is commonly known in the art as the “Painter's algorithm”. Objects are considered in priority order, from the rearmost object to the foremost object, and, typically, each object is rasterised in scan line order and pixels are written to the frame store in sequential runs along each scan line.
There are essentially two problems with this technique. The first is that it requires fast random access to all the pixels in the frame store. This is because each new object considered could affect any pixel in the frame-store. For this reason, the frame store is normally kept in semiconductor random access memory (RAM). For high resolution color printers the amount of RAM required is very large, typically in excess of 100 MBytes, which is costly and difficult to operate at high speed. The second problem is that many pixels which are painted (rendered), are over-painted (re-rendered) by later objects. Painting the pixels with the earlier objects was a waste of time.
One method for overcoming the large frame-store problem is the use of “banding”. When banding is used, only part of the frame-store exists in memory at any one time. All of the objects to be drawn are retained in a “display list”. The whole image is rendered as above, but pixel painting (rendering) operations that try to paint (render) outside the fraction of the frame-store which exists are “clipped” out. After all the objects have been drawn, the fractional part of the frame-store is sent to the printer (or some other location) and another fraction of the frame-store is selected and the process repeated. There are penalties with this technique. For example, the objects being drawn must be considered and re-considered many times—once for each band. As the number of bands increases, so too does the repetitious examination of objects requiring rendering. The technique of banding does not solve the problem of the cost of over-painting.
Some other graphic systems consider the image in scan line order. Again, all the objects to be drawn are retained in a display list. On each scan line the objects which intersect that scan line are then considered in priority order and for each object, spans of pixels between object edge intersection points are set in a line store. This technique also overcomes the large frame store problem, but still suffers from the over-paint problem.
There are other techniques which overcome both the large frame-store problem and the over-painting problem. In one such technique, each scan line is produced in turn. Again, all the objects to be drawn are retained in a display list. On each scan line, the edges of objects which intersect that scan line are held in order of increasing coordinate of intersection with the scan line. These points of intersection, or edge crossings, are considered in turn and used to toggle an array of active flags. There is one active flag for each object priority which is of interest on the scan line. Between each pair of edges considered, the color data for each pixel which lies between the first edge and the next edge is generated by using a priority encoder on the active flags to determine which priority is topmost, and using the color associated with that priority for the pixels of the span between the two edges. In preparation for the next scan line, the coordinate of intersection of each edge is updated in accordance with the nature of each edge. Adjacent edges which become mis-sorted as a result of this update are swapped. New edges are also merged into the list of edges.
This technique has the significant advantages that there is no frame store or line store, there is no over painting, and the object priorities are dealt with in constant order time, rather than order N time (where N is the number of priorities).
The output of such graphic system normally consists of a bus (24 or 32-bit wide) to carry pixel color data that toggles at every clock cycle or so. Accompanying the pixel data bus are some control signals that signify pixel's attributes and properties. The pixel color data is typically made of its color components, that is Red, Green, Blue, and with or without opacity channels (or Cyan, Magenta, Yellow and Black channels).
In the case of grey scale rendering, the systems either have a narrower data path (that is 8-bit wide) or make use of one of the four available channels in the color graphic system.
SUMMARY OF THE INVENTION
It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
According to one aspect of the invention, there is provided a method of processing pixels of a digital image, said method comprising the steps of: configuring an image processor to operate in a first processing mode or a second processing mode, said image processor having a plurality of color output channels; processing one or more color pixels each having one or more pixel color components and outputting one said color pixel at a time by outputting said one or more pixel color components on respective one or more said color output channels when said image processor is configured in said first processing mode; and processing one or more pixels each having one pixel color component and outputting one or more said pixels at a time by outputting said one or more pixels simultaneously on respective said color output channels when said image processor is configured in said second processing mode.
According to another aspect of the invention, there is provided apparatus for processing pixels of a digital image, said apparatus comprising: an image processor for processing pixels of a digital image, said image processor comprising a plurality of color output channels; and a controller for configuring the image processor to operate in a first processing mode or a second processing mode; said image processor processes one or more color pixels each having one or more pixel color components and outputting one said color pixel at a time by outputting said one or more pixel color components on respective one or more said color output channels when said image processor is configured in said first processing mode; and said image processor processes one or more pixels each having one pixel color component and outputting one or more said pixels at a time by outputting said one or more pixels simultaneously on respective said color output channels when said image processor is configured in said second processing mode.
According to another aspect of the invention, there is provided a method of processing pixels of a digital image, said method comprising the steps of: configuring an image processor to operate in a first operating mode or a second operating mode, said image processor having a plurality of color output channels; generating, during said first operating mode, one or more color pixels having one or more pixel color components; outputting, during said first operating mode, said generated color pixels one at a time by outputting said one or more pixel color components of each generated pixel on corresponding said color output channels; generating, during said second operating mode, one or more fill commands each comprising a parameter indicating the number of consecutive pixel locations in raster order to which the fill command applies, wherein said number can vary from one to a maximum number equal to the number of said color output chann

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

Processing pixels of a digital image does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Processing pixels of a digital image, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Processing pixels of a digital image will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3259581

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