Embodiments of the present invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The figures listed above are expressly incorporated as part of this detailed description.
It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the methods and systems of the present invention is not intended to limit the scope of the invention but it is merely representative of the presently preferred embodiments of the invention.
Elements of embodiments of the present invention may be embodied in hardware, firmware and/or software. While exemplary embodiments revealed herein may only describe one of these forms, it is to be understood that one skilled in the art would be able to effectuate these elements in any of these forms while resting within the scope of the present invention.
Some color transformations may be mathematically described through matrices including, but not limited to 3- and 4-D matrices. For some transformations the data values are integers. For other transformations the data are real numbers. Either way, it is possible to combine multiple transformations into a single transformation by multiplying the associated matrices. One composite transformation is computationally more efficient than multiple separate transformations.
In some methods, one color transformation may occur in the printer driver and another transformation may occur in the printer firmware. In these cases, computation of a composite color transform requires the transfer of transformation data between the printer driver (residing on a host computer) and the printer firmware.
This transfer may be performed by downloading the printer driver transformation to the printer, performing the matrix multiplication and saving the result. To accomplish this, a separate profile must be stored on the printer for each combination of host operating system (OS) and application color space. This approach is not widely used because of limited memory in the printer.
Historically, printers were connected to their host computers by a uni-directional network connection. This prevented upload of even small amounts of data, let alone any large color characterization profiles. Some host platforms, notably the Apple Macintosh, have long printed over a bi-directional connection. However, the slow speed of its historic data connection discouraged upload of any large data sets.
Today, host computers are commonly connected to printers over fast bi-directional network links. However the color printing market is still dominated by the uni-directional work flow paradigm.
In some embodiments of the present invention, a color printer can upload a large color profile to the printer driver that runs on the host. The profile can be uploaded: with every job, only when the printer itself is recalibrated, on demand or at some other interval or condition. That profile can be used to compute one or more composite color transformations that can be saved to disk for reuse at a later time.
The printer driver can subsequently use this stored color transform to directly convert calibrated colors from the application color space into printer native (e.g. CMYK) colors with no more runtime computation than was previously required just to generate the PDL color space values. And because the printer firmware requires no special processing for colors specified in its native color space, the system is capable of reproducing the requested calibrated colors with no additional color transform.
Embodiments of the present invention can be used to significantly improve color work flow performance. Some embodiments comprising custom profiles may be of particular benefit.
Some embodiments of the present invention may be described with reference to
In an exemplary embodiment, the host computing device may be a personal computer running a Windows operating system (OS) wherein the host storage medium is a hard disk drive.
Some embodiments of the present invention may be performed when a printer color profile is changed. This color profile may change when the printer is installed and calibrated after purchase, when an MIS department downloads a custom-profile, when a new revision of printer firmware is installed or for some other reason. As a result of this change, a new color profile may be stored in non-volatile memory in the printer or on a resource accessible to the printer. In some embodiments, the non-volatile memory may be a hard disk drive in the printer, a flash RAM or some other memory device.
In these embodiments, a printer driver may access the color profile from the printer over the network. In some embodiments, this may be done using an FTP protocol, by retrieving these data from a printer web page or by some other method. The printer driver may then combine the retrieved color transformation data with one or more “input color space” transformations to create a composite transformation. A composite transformation may then be stored for later use. Composite transformation creation may occur in the normal course of work flow or “off-line” when the printer driver would otherwise be idle.
When invoked (e.g., by an application), the printer driver may match the application's “input color space” to the appropriate composite transformation and generate device-native colors in the output PDL data stream. In some embodiments, device native colors may be expressed as RGB, CMY or CMYK, depending on the work flow. The printer driver may then transmit this PDL data stream to the printer. The printer firmware may then interpret the PDL data and mark the page.
Some embodiments of the present invention may be described with reference to
Some embodiments of the present invention may be described with reference to
The color profile transform may then be combined 31 with a first input color space transform thereby creating a first color space composite transform. The color profile transform may also be combined 32 with a second input color space transform thereby creating a second color space composite transform.
When a print job is received 33, the print job may be analyzed to determine 34 the input color space associated with the print job. The composite transform corresponding to the input color space of the print job may then be selected 35. When the correct color space composite transform is applied to the print job, device-native color will be generated 36.
In some embodiments of the present invention, illustrated in
Some embodiments of the present invention may be described with reference to
Some embodiments of the present invention may be described with reference to
Some embodiments of the present invention may be described with reference to
The terms and expressions which have been employed in the foregoing specification are used therein as terms of description and not of limitation, and there is no intention in the use of such terms and expressions of excluding equivalence of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims which follow.