Object optimized printing system and method
First Claim
1. A method for converting a page image of a set of page images into object optimized print data, each page image of the set of page images defined by a portion of document data, the method comprising:
- generating an object list of independent image objects within the page image from the corresponding portion of the document data;
generating scanline data from the object list of independent image objects, the scanline data comprising a plurality of raster scanlines of print data and corresponding command data; and
separating the print data and corresponding command data into a plurality of independent data sets comprising a command data set, a metabit data set and at least one of a constant color data set, a mask data set and a sample color data set.
4 Assignments
0 Petitions
Accused Products
Abstract
An object optimized printing system and method includes a page description language decomposing system, a command instruction and data generating system and an image output terminal controller. The PDL decomposition system inputs a plurality of pages in the page description language and locates the plurality of objects forming each page and their object types. Based on the determine object types and any explicit rendering commands, the PDL decomposition system automatically generates rendering tags for each of the objects. The rendering tags are used to control the command instruction and data generating system, the IOT controller and/or the IOT to optimize the printing by the IOT on an object-by-object basis. Based on the objects and the generated rendering tags, the command instruction and data generating system generates the differing types of data and the command instructions on a scanline-by-scanline basis. The generated command instructions and data are output to the IOT controller scanline-by-scanline. The data output to the IOT controller includes metabit data generated from the rendering tags. The metabit data is used to control various subsystems of the IOT controller and the IOT to optimize the printing characteristics, of the IOT for each differing object on each scanline. The metabits can optimize such processing subsystems as halftone generation, halftone screen size and angle, color space transformation, tone reproduction curve, IOT output correction and the like. Using this system, each page output by the IOT has the printing characteristics for each object within the page optimized to the object'"'"'s types.
100 Citations
8 Claims
-
1. A method for converting a page image of a set of page images into object optimized print data, each page image of the set of page images defined by a portion of document data, the method comprising:
-
generating an object list of independent image objects within the page image from the corresponding portion of the document data;
generating scanline data from the object list of independent image objects, the scanline data comprising a plurality of raster scanlines of print data and corresponding command data; and
separating the print data and corresponding command data into a plurality of independent data sets comprising a command data set, a metabit data set and at least one of a constant color data set, a mask data set and a sample color data set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
determining, after the object list generating step, if the plurality of independent image objects within the set of page images exceeds current resources; and
if current resources are exceeded, forming the scanline data using a fallback process instead of the scanline data generating and print data separating steps.
-
-
3. The method of claim 1, wherein the object list generating step comprises:
-
inputting the corresponding portion of the document data defining the page image, the document data comprising a plurality of document elements of a page description language;
selecting a document element of the page image as a current document element;
parsing the current document element;
determining if the current document element is one of an end-of-page element, a color-operator element, a masking-operator element and a state-operator element;
outputting an error indication if the current document element is not one of the end-of-page element, the color-operator element, the masking-operator element and the state-operator element;
processing the document element if the current document element is one of the color-operator element, masking-operator element and state-operator element; and
repeating the selecting, parsing, determining, outputting and processing steps until the current document element is the end-of-page element.
-
-
4. The method of claim 1, wherein the scanline data generating step comprises:
-
initializing an active object list;
setting a scanline counter to 1;
inputting a scanline indicated by the scanline counter as the current scanline;
adding any objects from a current scanline object list corresponding to the current scanline, the current scanline object list comprising objects first appearing on the current scanline, into a sorted active object list;
sorting the active object list based on a starting position of each object;
generating a scanline runs list for the current scanline;
flattening the scanline runs list for the current scanline;
generating a sorted runs list of ordered commands and palette references for the current scanline from the flattened scanline runs list;
removing any objects from the active object list which will not appear after the current scanline;
determining if the current scanline is a last scanline;
incrementing the scanline counter by 1 if the current scanline is not the last scanline; and
repeating the inputting step through the incrementing step until the current scanline is the last scanline.
-
-
5. The method of claim 1, wherein the step of separating the print data and corresponding command data comprises:
-
extracting command data from the scanline data into the command data set;
extracting constant color data from the scanline data into the constant color data set;
extracting metabit data from the scanline data into the metabit data set;
extracting mask pointers and mask data from the scanline data into the mask data set; and
extracting sample color pointers and sample color data from the scanline data into the sample color set.
-
-
6. The method of claim 1, further comprising:
-
independently compressing each one of the independent image objects on the objects list with an optimized compression technique selected based on an object type for each independent image object;
independently compressing each one of a plurality of independent data sets with an optimized compression technique selected based on the data set being compressed; and
storing the compressed independent image objects and data sets to a memory, the independent image objects and each data set being stored in separate portions of the memory.
-
-
7. The method of claim 6, further comprising:
-
selecting a next page image of the set of page images as a current page image;
reading a portion of each of the plurality of compressed data sets corresponding to the current page image from the memory;
decompressing the read portion of each of the plurality of compressed data sets;
combining the decompressed portions of the plurality of data sets based on at least one of the decompressed printer controller command data and the decompressed mask data set to generate object optimized print data, the object optimized print data comprising at least color data and render control command data;
outputting the object optimized print data to a printer, printing one of a plurality of data channels of the color data based on the render control command data;
determining if the current page image is a last page image of the set of page images; and
repeating the selecting step through the determining step until the current page is the last page.
-
-
8. The method of claim 7, further comprising:
-
determining if another copy of the set of page images is to be printed; and
repeating the selecting step through the another copy determining step until another copy is not to be printed.
-
Specification