Claims
- 1. A method for generating object optimized print data of an output image, comprising:
inputting document data defining a document, the document comprising at least one page, converting the document data into a plurality of independent image objects, each independent image object having an object type, each page of the document comprising at least one of the plurality of independent image objects; generating the object optimized print data for each page of the output image based on the at least one independent image object comprising each page and the object type corresponding to each independent image object.
- 2. The method of claim 1, further comprising compressing at least one of the plurality of independent image objects based upon at least the corresponding object type.
- 3. The method of claim 1, wherein the object optimized print data comprises a plurality of separate data types including at least one of print data, render control command data and printer controller command data, the print data comprising a plurality of separate print data types.
- 4. The method of claim 3, wherein the print data comprises at least one of color data and a binary mask data.
- 5. The method of claim 4, wherein the color data comprises at least constant color data and sampled color data.
- 6. The method of claim 3, further comprising:
selecting at least one object optimized processing procedure for the print data based on the render control command data, the printer controller data and printer characteristic data; and applying the selected at least one object optimized processing procedure to the print data; wherein the at least one object optimized processing procedure is selected from at least an object optimized color space transformation procedure, an object optimized half-tone generating procedure, an object optimized spatial filtering procedure, an object optimized trapping procedure and an object optimized printer artifact suppression procedure.
- 7. The method of claim 3, further comprising:
compressing the print data based on the data type; compressing the render control command data and the printer controller command data based upon their data structures; transmitting the compressed print data, the render control command data and the printer controller command data to a printer controller; decompressing the print data based on the data type; decompressing the render controller data and the printer controller data based upon their data structures; and combining and processing the print data based on the render control command data, the printer controller data and the print data.
- 8. The method of claim 7, further comprising storing, after the print data compressing step, the compressed print data in a memory, wherein the transmitting step comprises transmitting the compressed data from the memory.
- 9. The method of claim 1, further comprising:
inputting real-time print data from an external source; and selecting the real-time print data based on the object optimized print data, the object type and the render control command data.
- 10. The method of claim 1, further comprising:
outputting the object optimized print data for the document to a printer; and controlling the printer based on the object optimized print data to print an object optimized version of the document, the object optimized print data comprising color data and render control command data.
- 11. The method of claim 10, further comprising:
analyzing an appearance of the printed object optimized document; revising the object optimized print data based on the analysis; repeating the analyzing and revising steps until the appearance of the printed object optimized document reaches a desired state; revising the document data based on the revised object optimized print data.
- 12. The method of claim 1, further comprising:
printing a calibration document having at least one object on a printer; measuring an appearance of the at least one object in the printed calibration document; adjusting the object optimized print data generation step based on the measured appearance; and repeating the printing, appearance measuring and adjusting steps until the appearance of the at least one object in the printed calibration document reaches a desired state.
- 13. 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.
- 14. The method of claim 13, further comprising:
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.
- 15. The method of claim 13, 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.
- 16. The method of claim 13, 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.
- 17. The method of claim 13, 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.
- 18. The method of claim 13, 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.
- 19. The method of claim 18, 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.
- 20. The method of claim 19, 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.
Parent Case Info
[0001] This application is a continuation-in-part application of U.S. patent application Ser. No. 08/245,320, filed May 18, 1994, which is incorporated herein by reference.
Divisions (1)
|
Number |
Date |
Country |
Parent |
08715664 |
Sep 1996 |
US |
Child |
09778741 |
Feb 2001 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08245320 |
May 1994 |
US |
Child |
08715664 |
Sep 1996 |
US |