Turning now to the drawings wherein the illustrations are for purposes of illustrating the preferred embodiment only, and not for the purpose limiting the same, illustrated is a document processing environment 100, suitably comprised of a shared-peripheral document processing environment, such as would be expected in an office. In the illustration of
Such a typical office environment also includes a gateway 118 by which devices on the network can communicate to external networks or devices, such as illustrated by Internet or WAN 120. As will be appreciated by the skilled artisan, a suitable gateway 118 employed in accordance with the present invention includes, WiMax, 802.11a, 802.11b, 802.11g, 802.11(x), Bluetooth, the public switched telephone network, a proprietary communications network, infrared, optical, or any other suitable wired or wireless data transmission communications known in the art.
The color space conversion of the subject application is suitably completed in a controller 122 of the document rendering device 114. However, it is to be appreciated that subject conversions which are software driven, are suitably completed in any processing device, such as workstation 110 or server 112.
Turning now to
Also included in the controller 200 is random access memory 206, suitably formed of dynamic random access memory, static random access memory, or any other suitable, addressable and writable memory system. Random access memory provides a storage area for data instructions associated with applications and data handling accomplished by processor 202.
A storage interface 208 suitably provides a mechanism for non-volatile, bulk or long term storage of data associated with the controller 200. The storage interface 208 suitably uses bulk storage, such as any suitable addressable or serial storage, such as a disk, optical, tape drive and the like as shown as 216, as well as any suitable storage medium as will be appreciated by one of ordinary skill in the art.
The subject system suitably operates on instructions and data that operate on processor 202, utilizing memory 206 and storage 216.
A network interface subsystem 210 suitably routes input and output from an associated network allowing the controller 200 to communicate to other devices. The network interface subsystem 210 suitably interfaces with one or more connections with external devices to the device 200. By way of example, illustrated is at least one network interface card 214 for data communication with fixed or wired networks, such as Ethernet, token ring, and the like, and a wireless interface 218, suitably adapted for wireless communication via means such as WiFi, WiMax, wireless modem, cellular network, or any suitable wireless communication system. It is to be appreciated however, that the network interface subsystem suitably utilizes any physical or non-physical data transfer layer or protocol layer as will be appreciated by one of ordinary skill in the art. In the illustration, the network interface 214 is interconnected for data interchange via a physical network 220, suitably comprised of a local area network, wide area network, or a combination thereof.
Data communication between the processor 202, read only memory 204, random access memory 206, storage interface 208 and network interface subsystem 210 is suitably accomplished via a bus data transfer mechanism, such as illustrated by bus 212.
Also in data communication with bus 212 is a document processor interface 222. Document processor interface 222 suitably provides connection with hardware 232 to perform one or more document processing operations. Such operations include copying accomplished via copy hardware 224, scanning accomplished via scan hardware 226, printing accomplished via print hardware 228, and facsimile communication accomplished via facsimile hardware 230. It is to be appreciated that a controller suitably operates any or all of the aforementioned document processing operations. Systems accomplishing more than one document processing operation are commonly referred to as multifunction peripherals or multifunction devices.
Functionality of the subject system is accomplished on a suitable document processing device that includes a controller of
In the preferred embodiment, the engine 302 allows for printing operations, copy operations, facsimile operations and scanning operations. This functionality is frequently associated with multi-function peripherals, which have become a document processing peripheral of choice in the industry. It will be appreciated, however, that the subject controller does not have to have all such capabilities. Controllers are also advantageously employed in dedicated or more limited purposes document processing devices that are subset of the document processing operations listed above.
The engine 302 is suitably interfaced to a user interface panel 310, which panel allows for a user or administrator to access functionality controlled by the engine 302. Access is suitably via an interface local to the controller, or remotely via a remote thin or thick client.
The engine 302 is in data communication with printer function 304, facsimile function 306, and scan function 308. These devices facilitate the actual operation of printing, facsimile transmission and reception, and document scanning for use in securing document images for copying or generating electronic versions.
A job queue 312 is suitably in data communication with printer function 304, facsimile function 306, and scan function 308. It will be appreciated that various image forms, such as bit map, page description language or vector format, and the like, are suitably relayed from scan function 308 for subsequent handling via job queue 312.
The job queue 312 is also in data communication with network services 314. In a preferred embodiment, job control, status data, or electronic document data is exchanged between job queue 312 and network services 314. Thus, suitable interface is provided for network access to the controller 300 via client side network services 320, which is any suitable thin or thick client. In the preferred embodiment, the web services access is suitably accomplished via a hypertext transfer protocol, file transfer protocol, uniform data diagram protocol, or any other suitable exchange mechanism. Network services 314 also advantageously supply data interchange with client side services 320 for communication via FTP, electronic mail, TELNET, or the like. Thus, the controller function 300 facilitates output or receipt of electronic document and user information via various network access mechanisms.
Job queue 312 is also advantageously placed in data communication with an image processor 316. Image processor 316 is suitably a raster image process, page description language interpreter or any suitable mechanism for interchange of an electronic document to a format better suited for interchange with device services such as printing 304, facsimile 306 or scanning 308.
Finally, job queue 312 is in data communication with a parser 318, which parser suitably functions to receive print job language files from an external device, such as client device services 322. Client device services 328 suitably include printing, facsimile transmission, or other suitable input of an electronic document for which handling by the controller function 300 is advantageous. Parser 318 functions to interpret a received electronic document file and relay it to a job queue 312 for handling in connection with the afore-described functionality and components.
Turning now to
Properties of document rendering devices, such as printers, laser printers, ink jet printers, as well as any other document rendering device, are associated with a set of parameters referred to as their gamut. A device gamut is the range of colors that can be reproduced given the physical and chemical properties associated with a document output device, image deposition materials or associated output media. As noted earlier, factors such as paper properties, toner options, toner properties and properties associated with a document rendering engine, will affect a gamut of a particular output device, or type or series of output devices. In the subject application, empirical information associated with a particular device gamut is acquired prior to populating a lookup table associated with a color space conversion. Such empirical data includes measurement of a complete output gamut associated with a particular device or family of devices.
Turning to
In
In the conversion system 500 of
Block 508 illustrates an input of an electronic document. At block 510, a received electronic document is available, which document is defined in a first encoded multidimensional color space. As noted above, in a representative conversion of the preferred embodiment, the document at block 510 is suitably encoded in an additive primary color space, such as RGB. This document is then communicated to block 512, which block has received a conversion mechanism, such as a device link profile, which incorporates empirical data as well as optional mode data as noted above. While the subject illustration is directed to a single-step conversion directly between color spaces, such as RGB to CMYK, it is to be appreciated that similar weighting of conversions that employ empirical data associated with one or more output devices are also suitably incorporated into multi-step conversions, such as RGB to CIE to CMYK.
Once a color space conversion is completed at block 512, block 514 illustrates that such document is now encoded in a second multidimensional color space, which document is advantageously converted taking improved advantage of output characteristics of a particular document output or rendering device. Next, the converted electronic document is communicated to block 516 for output from such a rendering device.
In earlier systems, output profiles, such as ICC profiles, do not accommodate a gamut associated with source profiles. In a typical RGB system, color encoding is completed in an 8-bit system. Thus, a primary color is suitably described with 256 possible levels. In such a system, a pixel is suitably described as a three-dimensional vector, with a magnitude for each component. Thus, by way of example RGB=[0,0,0] is suitably defined as black. Conversely, a value RGB=[255,255,255] is suitably defined as white.
In the illustration of
It will be appreciated that each of these nodes are typically defined as CMYK. However, it will be appreciated that any such description or space such as RGB, CMYKRB, as whether in any other suitable output values are contemplated.
Each of the aforementioned nodes is suitably CMYK. However, as noted above, it is to be appreciated that any color space such as RGB, CMYKRB and other color spaces are contemplated as will be appreciated by one of ordinary skill in the art. In current systems, a source profile or color space array is typically used to describe a transformation between an input color space, such as RGB, to a profile connection space. A profile connection space is then, in turn, transformed to the output color space, such as CMYK.
The illustration of
In a preferred embodiment, population of a lookup table for use in connection with a device link profile commences with an empirical determination of a starting value for each node. Ideally, the CMYK value for the white point is maintained at [0,0,0,] and a complimentary black point is defined empirically. Also, values associated with colors on the outer surfaces of the array cube are ideally set at a maximum output of a primary associated with a particular document output device. Therefore, boundaries of the array 600 are ideally set by capabilities of a corresponding output device. In addition, as noted above, particular paths between extremes are device specific and populating with empirically ascertained data and transition pass. In the illustration of
In addition to the foregoing, it is often desirable to employ certain modes or effects on a rendered document. Such modes or effects alter the ultimate output from the document rendering device. Conventional effects include those characteristics such as photo, match screen, web colors, vivid, sepia, soft or natural effects. In an alternative embodiment, population of the device link profile array is further alterable to allow for ready inclusion on any such desired effect.
In accordance with the foregoing, an output mode is alterable in connection with desired output characteristics. A weighting of conversion values, such as with a device link profile, is suitable to achieve such a desired output. To accomplish this in a preferred embodiment, CMYK values of nodes are first established. Next, a profile associated with a desired mode is selected, and then concatenated with the previous table of empirical values. The combined nodes values are there for use to modify near-node values so as to allow for inclusion of the desired effect and a smooth progression from neutral to device gamut.
In accordance with the foregoing, the application teaches the provision of a system which allows for fully exploiting the capabilities of a document output device, such as a printer while maintaining visual integrity with an input image. The system of the application further teaches inclusion of desired effects which can be readily incorporated into an output rendered image.
The invention extends to computer programs in the form of source code, object code, code intermediate sources and partially compiled object code, or in any other form suitable for use in the implementation of the invention. Computer programs are suitably standalone applications, software components, scripts or plug-ins to other applications. Computer programs embedding the invention are advantageously embodied on a carrier, being any entity or device capable of carrying the computer program: for example, a storage medium such as ROM or RAM, optical recording media such as CD-ROM or magnetic recording media such as floppy discs. The carrier is any transmissible carrier such as an electrical or optical signal conveyed by electrical or optical cable, or by radio or other means. Computer programs are suitably downloaded across the Internet from a server. Computer programs are also capable of being embedded in an integrated circuit. Any and all such embodiments containing code that will cause a computer to perform substantially the invention principles as described, will fall within the scope of the invention.
The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiment was chosen and described to provide the best illustration of the principles of the invention and its practical application to thereby enable one of ordinary skill in the art to use the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.