Complex computer generated images are normally made up of many different parts. These parts generally comprise graphic object-based data which form part of the image in addition to pixel-based scanned image data which, by itself, can also be considered to be an object. Hence, a final created complex image may consist of many thousands, if not millions, of objects which are layered on top of one another with differing degrees of transparency such that objects occurring below other transparent objects are partially visible through the transparent objects.
In most prior art systems for the creation of these images, it is necessary to "render" the objects to a frame buffer or memory storage device, with the frame buffer storing a pixel by pixel representation of the final image to be printed. The need for the use of a frame buffer is most often the consequence of a mismatch between the speed with which a complex image can be produced and the speed with which a final printing device can operate. Additionally, many printing devices impose strict timing specifications on the delivery of image data to be reproduced. Therefore, one way to meet these specifications is to render the image to form a pixel based image in a frame buffer and to print out the image pixel by pixel once it has been rendered. Of course, each image will have its own degree of complexity with a consequential limitation on the speed with which it can be rendered to the frame buffer.
The use of a frame buffer, with its pixel by pixel replication of the final image, imposes a large memory cost which adds to the expense of any final system incorporating the frame buffer. For example, common ink jet printing systems such as Canon's CJ10 can handle 24 bits per pixel color (8 bits of each of Red, Green, Blue), with a typical A4 page comprising 3,300 by 4,600 pixels or dots at 600 dots per inch (dpi). This is equivalent to 45 megabytes of data.