Method and Apparatus for rendering Grayscales at a printing device using a calibrated threshold matrix via the Virtual Printer.
Original Publication Date: 2000-Apr-01
Included in the Prior Art Database: 2003-Jun-20
Described is a method for increasing the fidelity of grayscaled images in a diversified print environment. Owing to differences in microcode and toner fusing mechanisms, each model of print engine will render a grayscale image differently. Even identical printer models will render the same image differently from machine to machine due to wear, operating temperature, toner quality, and other factors. In the prior art two approaches were taken to insure consistent results in a multiple printer environment: modify data generating applications to produce a different image for each output device, or apply a data transform with a threshold array and calibration curve to produce corrected images. The first approach is excessively burdensome to end users of the print environment, who may not even be aware of how the print environment is configured. The second approach requires technology created by IBM specifically for Advanced Function Printing (AFP) environments, restricting its use to printers that support the Intelligent Printer Data Stream (IPDS) . By presenting a virtual printer as an IPDS proxy, a heterogeneous network of printers at various quality levels and accepting any variety of printer languages can create homogenized and high fidelity output without modification to any user application. A typical embodiment is depicted in Figure 1. When a job is scheduled by print management system 100, the threshold array and calibration curves appropriate to the model or instance of printer can be sent to data format transform 101 along with the application data. A wide variety of datastreams may be converted into Mixed Object Document Content Architecture (MODCA)  by data format transform 101. The data formats listed in the figure are illustrative, not intended as a comprehensive list. Print management system 100 converts MODCA into IPDS. Value added in MODCA may include impositioning instructions and overlays external to the application data. Value added in IPDS may include performance benefits and page level error recovery. Printer management system 100 sends IPDS to "virtual" printer 102. Virtual printer 102 rasterizes data contained in the IPDS to create a bitmap; a "virtual" printer does not use the bitmap to fuse toner on paper but repackages sheet sides in a format understood by printer 103. Details of the virtual printer are depicted in Figure 2. Attachment layer 200 conducts a dialog with the print management system. Attachment layer 200 conveys selected IPDS commands to rasterizer 201. Rasterizer 201 converts valid IPDS data into bitmaps, then sends bitmaps and contents of selected object containers to mechanism 202 via a minimal interface defined in a single source code file. Any mechanism honoring the interface may be employed. Mechanism 202 in this embodiment wraps each bitmap with headers and trailers in a format understood by the actual printer and submits the print job to the actual printer. Job status returned by the printer can be echoed to a print management system which has an Application Program Interface (API). 1