US20110249896A1 - Rule-based color management and image processing system - Google Patents
Rule-based color management and image processing system Download PDFInfo
- Publication number
- US20110249896A1 US20110249896A1 US12/757,957 US75795710A US2011249896A1 US 20110249896 A1 US20110249896 A1 US 20110249896A1 US 75795710 A US75795710 A US 75795710A US 2011249896 A1 US2011249896 A1 US 2011249896A1
- Authority
- US
- United States
- Prior art keywords
- rule
- module
- library
- profile
- color
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/603—Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer
Definitions
- the present disclosure relates to an architecture for a color management system, and more particularly relates to a color management system having a modularized architecture which builds a color transformation workflow for transforming source-side color image data into corresponding destination-side color image data.
- Color management systems are provided to convert color between source and destination color device representations of the color such that the appearance of color fidelity is maintained.
- Color management systems are ordinarily structured to exhibit fixed functionality and to behave in a fixed manner. In other words, the processing of a color takes a fixed functional route through various color transform modules. Some color management systems accept parameters for the transform modules, which allow for a fine-tuning adjustment in the degree or amount of transformation, even though the nature of the transform remains unchanged. But in general, functionality of color management systems is ordinarily rigid and inflexible, except in the supply of parameters which drive functionality.
- the Windows Color System is a measurement-based color management system in which devices are represented by a combination of measurement information stored in a profile and a device model. More specifically, a device model, an appearance model and a gamut mapping model are selected, together with an inverse device model and an inverse appearance model. Parameters which are stored in profiles are provided to each model in order to drive color management.
- the color management workflow of WCS is fixed and inflexible. Accordingly, it is not usually possible to accommodate a change in the functionality of WCS, such as the introduction of a new color space, for the reason that such changes would entail new color transforms, new interfaces, and other changes to the WCS workflow.
- a color transformation workflow is built for transforming source-side color image data into corresponding destination-side color image data.
- a module library includes plural module entries each corresponding to a respective function module which implements color processing functionality. Each module entry comprises at least a module locator specifying a location for the function module.
- a profile library includes plural profile entries each corresponding to a respective source of parameters that characterize a function module. Each profile entry comprises at least a profile locator specifying a location for the source of parameters, and a profile interface definition which specifies an interface for supply of the parameters to the function module characterized thereby.
- the module entry further comprises a profile interface definition which specifies an interface for supply of parameters which characterize the function module.
- a rule library includes entries for plural external rules and entries for plural internal rules. Each such external rule is associated with function modules located by module entries in the module library, and the external rules and the internal rules characterize color transformation workflows of the color management module.
- An interface receives factual input including factual input derived from the source-side color image data.
- a rule engine determines a sequence of function modules and sources of parameters from the module library and profile library, respectively, by using the factual input from the interface and the plural internal and external rules in the rule library. The rule engine builds the color transformation workflow from the determined sequence of function modules and sources of parameters.
- function modules which encapsulate color processing functionalities can be flexibly arranged to build color transformation workflows customized according to factual input together with rules provided to a rule engine to accommodate new color management techniques. Additionally, the function modules can be dynamically arranged on-the-fly based on the factual input together with rules provided to a rule engine. In this manner, a user can more easily and flexibly build color transformation workflows.
- each module entry further comprises at least one external rule.
- the profile entry includes at least one external rule.
- the profile entry includes at least one function module, wherein each such function module includes at least one external rule.
- each external rule specifies a rule condition that is used to determine whether the function module should be used, and a rule process that is executed when the rule condition is satisfied.
- the module library is updatable so as to permit introduction of new module entries after deployment of the color management module.
- the rule library is updatable so as to permit introduction of new external rules and new internal rules after deployment of the color management module.
- the factual input received at the interface includes at least one of color data, environmental information, geographical information, and a desired output.
- a fact database includes at least the received factual input, and the rule engine accesses the rule library and the fact database to derive a conclusion.
- the conclusion derived by the rule engine is the sequence of function modules and sources of parameters used to build the color transformation workflow.
- each external rule and each internal rule is at least one of a rule for performing an action and a rule for deducing a consequence of the factual input.
- each external rule and each internal rule specifies a rule condition and a corresponding rule process.
- the rule engine executes the corresponding rule process which adds the respective function module and sources of parameters to the sequence of function modules.
- the order in which the function modules appear in the sequence of function modules is determined by the order in which the corresponding rule process is executed by the rule engine.
- the order in which the rule processes are executed by the rule engine is determined by at least one of priorities of the corresponding rules and the received factual input.
- FIG. 1 is a representative view of computing equipment relevant to one example embodiment.
- FIG. 2 is a detailed block diagram depicting the internal architecture of the host computer shown in FIG. 1 .
- FIG. 3 is a view for explaining software architecture of a modular color management module according to an example embodiment.
- FIG. 4 is a view for explaining a sequence of function modules according to an example embodiment.
- FIG. 5 is a flow diagram for explaining color processing in a modular color management module according to an example embodiment.
- FIG. 1 is a representative view of computing equipment, peripherals and digital devices, relevant to one example embodiment.
- Computing equipment 40 includes host computer 41 which generally comprises a programmable general purpose personal computer (hereinafter “PC”) having an operating system such as Microsoft® Windows® or Apple® Mac OS® or LINUX, and which is programmed as described below so as to perform particular functions and in effect to become a special purpose computer when performing these functions.
- Computing equipment 40 includes color monitor 43 including display screen 42 , keyboard 46 for entering text data and user commands, and pointing device 47 .
- Pointing device 47 preferably comprises a mouse for pointing and for manipulating objects displayed on display screen 42 .
- Host computer 41 also includes computer-readable memory media such as computer fixed disk 45 and DVD disk drive 44 , which are constructed to store computer-readable information such as computer-executable process steps.
- DVD disk drive 44 provides a means whereby host computer 41 can access information, such as image data, computer-executable process steps, application programs, etc. stored on removable memory media.
- information can also be retrieved through other computer-readable media such as a USB storage device connected to a USB port (not shown), or through network interface 80 .
- Other devices for accessing information stored on removable or remote media may also be provided.
- Projector 50 is a first example of a color output device, and in this example is an RGB or RGBW projector, such as a DLPTM digital projector or other display device that projects images in accordance with image data from host computer 41 onto a projection screen (not shown).
- Projector 50 may be an HDR device capable of projecting HDR images. Projector 50 projects images onto a display screen (not shown) by using additive light combinations of red (R), green (G) and blue (B) colorant lights.
- R red
- G green
- B blue
- projector 50 also uses a white (W) light so as to increase the brightness/luminance of projected images and thereby project HDR images with good fidelity over a large dynamic range.
- W white
- Printer 90 is a second example of a color output device, and in this example is a color laser printer which forms color images on a recording medium such as paper or transparencies or the like.
- Printer 90 forms color images using cyan, magenta, yellow and black colorants, although printers and other devices can be used which form color images using other colorant combinations that might or might not include black, such as a CMYKOG device.
- Digital color scanner 70 is a first example of a color input device, and is provided for scanning documents and images and sending the corresponding image data to host computer 41 .
- Digital color camera 60 is a second example of a color input device, and is provided for sending digital image data to host computer 41 .
- host computer 41 may acquire digital image data from other sources such as a digital video camera, a local area network or the Internet via network interface 80 .
- host computer 41 may interface with other color output devices, such as color output devices accessible over network interface 80 .
- FIG. 2 is a detailed block diagram showing the internal architecture of host computer 41 of computing equipment 40 .
- host computer 41 includes central processing unit (CPU) 113 which may be a multi-core CPU and which interfaces with computer bus 114 .
- CPU central processing unit
- RAM random access memory
- ROM read only memory
- DVD disk interface 119 display interface 120 for monitor 43 , keyboard interface 122 for keyboard 46 , mouse interface 123 for pointing device 47 , scanner interface 124 for scanner 70 , printer interface 125 for printer 90 , digital camera interface 126 for digital camera 60 , and digital projector interface 127 for digital projector 50 .
- RAM 116 interfaces with computer bus 114 so as to provide information stored in RAM 116 to CPU 113 during execution of the instructions in software programs such as an operating system, application programs, color management modules, and device drivers. More specifically, CPU 113 first loads computer-executable process steps from fixed disk 45 , or another storage device into a region of RAM 116 . CPU 113 can then execute the stored process steps from RAM 116 in order to execute the loaded computer-executable process steps. Data such as color images or other information can be stored in RAM 116 , so that the data can be accessed by CPU 113 during the execution of computer-executable software programs, to the extent that such software programs have a need to access and/or modify the data.
- software programs such as an operating system, application programs, color management modules, and device drivers. More specifically, CPU 113 first loads computer-executable process steps from fixed disk 45 , or another storage device into a region of RAM 116 . CPU 113 can then execute the stored process steps from RAM 116 in order to execute the loaded computer-executable
- fixed disk 45 contains computer-executable process steps for operating system 130 , and application programs 131 , such as word processing programs or graphic image management programs.
- Fixed disk 45 also contains computer-executable process steps for device drivers for software interface to devices, such as input device drivers 132 , output device drivers 133 , and other device drivers 134 .
- Image files 141 including color image files, and other files 142 are available for output to color output devices and for manipulation by application programs.
- Modular color management module (MCMM) 135 comprises computer-executable process steps executed by a computer for building a color transformation workflow for transforming source-side color image data into corresponding destination-side color image data. MCMM 135 builds the color transformation workflow so as to maintain good color fidelity for color images that are transferred from a source device to a destination device, such as the transfer of color image data from capture by digital camera 60 to display by projector 50 .
- MCMM 135 is not limited to color transformation workflows between real devices, and that MCMM 135 also builds the color transformation workflow so as to maintain good color fidelity for color images that are transferred between any type of color space, such as, for example, a real device color space, a mathematical color space (e.g., sRGB, scRGB, ProPhoto, AdobeRGB), and the like.
- MCMM 135 includes, at least, profile library 136 , module library 137 , rule library 138 , fact database 139 and rule engine 140 .
- Module library 137 includes plural module entries each corresponding to a respective function module which implements color processing functionality.
- a function module may encapsulate color management operations such as device modeling, color appearance modeling, or gamut mapping.
- the function modules are used by MCMM 135 to construct the color transformation workflow.
- Each module entry includes at least a module locator specifying a location for the function module so that the function module itself is not necessarily part of the module library 137 . This permits the function module to be located remotely of module library 137 .
- each module entry further includes at least one external rule that specifies a rule condition and a corresponding rule process. The rule condition and rule process of the rule reference executable steps in the module that are executed by the rule engine in order to determine which processes should be executed and in what order.
- the module entry further includes a profile interface definition which specifies an interface for supply of parameters which characterize the function module.
- a function module can be accessed through a variety of sources.
- function modules are built-in to the color management system and stored on fixed disk 45 .
- function modules are provided as plug-ins or embedded into profile entries.
- function modules can be implemented as machine-code programs or as interpretive code using either pseudo-code or compiled source code, or a combination thereof.
- module library 137 is updatable so as to permit the introduction of new module entries after deployment of the color management module.
- Profile library 136 includes plural profile entries, each corresponding to a respective source of parameters that characterize a function module. Each profile entry includes at least a profile locator specifying a location for the source of parameters, so that the profile entry itself is not necessarily part of profile library 136 . This permits the profile entry to be located remotely from profile library 136 . In addition, each profile entry further includes at least a profile interface definition which specifies an interface for supply of the parameters to the function module characterized thereby. In addition, for at least some of the profile entries of the profile library, the profile entry includes plural profile interface definitions. In the example embodiment, profile interface definitions are text interfaces. In other embodiments, profile interface definitions are binary interfaces or network interfaces.
- the profile entry includes at least one external rule.
- the profile entry includes at least one function module, wherein each such function module includes at least one external rule.
- profile library 136 comprises computer-executable process steps executed by a computer for accessing the profile entries.
- a profile interface definition may be constructed to accommodate for active feedback, for example, such that a profile entry may be calibrated.
- Rule library 138 includes entries for plural external rules and entries for plural internal rules. Each external rule is associated with function modules located by module entries in module library 137 . In an example embodiment, external rules are included in function modules. The external rules and the internal rules characterize color transformation workflows of the color management module. In some embodiments, each external rule specifies a rule condition that is used to determine whether the function module should be used, and a rule process that is executed when the rule condition is satisfied. In one example embodiment, each external rule and each internal rule is at least one of a rule for performing an action and a rule for deducing a consequence of the factual input.
- rule library 138 is updatable so as to permit introduction of new external rules and new internal rules after deployment of the color management module. Rule library 138 will be discussed in further detail below with respect to FIG. 4 .
- Fact database 139 includes at least factual input received through the interface, including factual input derived from the source-side color image data.
- the factual input received at the interface includes at least one of color data, environmental information, geographical information and a desired output.
- profile library 136 , module library 137 , rule library 138 and fact database 139 are stored in fixed disk 45 as shown in FIG. 2 .
- profile library 136 , module library 137 , rule library 138 and fact database 139 can be stored inside of devices (e.g., digital camera 60 , scanner 70 or printer 90 ), inside of ROM 117 , or inside of any other suitable storage device.
- profile library 136 , module library 137 , rule library 138 and fact database 139 can be stored in one device, or can be split up and distributed among several devices.
- Rule engine 140 generally comprises computer-executable process steps that determine a sequence of function modules and sources of parameters from the module library and profile library, respectively, by using the factual input from the interface and the plural internal and external rules in the rule library. Rule engine 140 builds the color transformation workflow from the determined sequence of function modules and sources of parameters.
- MCMM 135 may be configured as a part of operating system 130 , as part of an output device driver such as a printer driver, or as a stand-alone application program such as a color management system. They may also be configured as a plug-in or dynamic link library (DLL) to the operating system, device driver or application program.
- MCMM 135 may be incorporated in an output device driver for execution in a computing device, such as a printer driver, embedded in the firmware of an output device, such as a printer, or provided in a stand-alone color management application for use on a general purpose computer.
- MCMM 135 is incorporated directly into the operating system for general purpose host computer 41 . It can be appreciated that the present disclosure is not limited to these embodiments and that the disclosed color management module may be used in other environments in which color management is used.
- FIG. 3 is a view for explaining software architecture of modular color management module (MCMM) 135 .
- MCMM modular color management module
- there are three types of users interfacing with MCMM 135 namely an end user 301 , a color engineer/designer 302 and a color scientist 303 .
- End user 301 specifies a variety of factual input which is stored in fact database 139 .
- Factual input includes, for example, color data, including color data for input image 311 , environmental information, geographical information and a desired output.
- the factual input is received from a user through a user interface.
- Factual input is also derived from the source-side color image data for input image 311 .
- factual input also includes a desired processing speed, a preference for color accuracy, an availability of resources, and other user requirements.
- Color engineer/designer 302 creates new profile entries for profile library 136 , such as a profile entry for printer 90 or digital camera 60 .
- profile entries correspond to a source of parameters that characterize a particular function module, and each profile entry has a profile interface definition specifying an interface for the supply of parameters to the function module characterized by the particular profile entry.
- color engineer/designer 302 has the ability to create and add new profile interface definitions such that profile library 136 is extensible.
- MCMM 135 is such that color engineer/designer 302 is able to add new profile interface definitions after deployment of MCMM 135 to end users in the field, without the need to alter or reconfigure the MCMM 135 itself, such that the core processing functionality of MCMM 135 remains unchanged.
- color engineer/designer 302 creates new external rules and new internal rules 306 and modifies existing external rules and existing internal rules 306 .
- Each external rule is associated with function modules in module library 137 , and internal rules 306 are included within MCMM 135 .
- color engineer/designer 302 has the ability to create and add new external and internal rules such that both module library 137 and internal rules 306 are extensible.
- the architecture of MCMM 135 is such that color engineer/designer 302 is able to add new external and internal rules after deployment of MCMM 135 to end users in the field, without the need to alter or reconfigure the MCMM 135 itself, such that the core processing functionality of MCMM 135 remains unchanged.
- Color scientist 303 creates new function modules for module library 137 .
- module library 137 includes plural module entries each corresponding to a respective function module which implements color processing functionality.
- color scientist 303 has the ability to add new color processing functionalities by generating new function modules, such that module library 137 is extensible. In this way, module library 137 can be expanded to include new and currently unknown color processing techniques, as well as existing color processing techniques.
- Each module entry includes at least a module locator. Some of the module entries also include a profile interface definition. Thus, color scientist 303 also has the ability to add new interface definitions to module library 137 .
- MCMM 135 is such that color scientist 303 is able to add new function modules after deployment of MCMM 135 to end users in the field, without the need to alter or reconfigure the MCMM 135 itself, such that the core processing functionality of MCMM 135 remains unchanged.
- end user 301 , color engineer/designer 302 and color scientist 303 interface with MCMM 135 by using a user interface.
- Any convenient type of user interface may be used, including, for example, graphic or non-graphic based user interfaces.
- MCMM 135 includes initializer module 305 and rule engine 140 .
- Initializer module 305 receives, as input, entries for plural external rules included in module library 137 and included in profile library 136 as well as entries for plural internal rules 306 included in MCMM 135 . Based on the received entries, initializer module 305 outputs rule library 138 . More specifically, initializer module 305 reads out entries for the external rules included in module library 137 and profile library 136 and the entries for the internal rules 306 included in MCMM 135 in order to build rule library 138 .
- each external and internal rule stored in rule library 138 specifies a rule condition and a corresponding rule process.
- rule library 138 includes the rule together with the rule condition and the rule process. If a new external rule is added to module library 137 , for example when color scientist 303 creates a new function module, initializer module 305 finds the new external rule and adds the external rule and its corresponding rule condition and rule process to rule library 138 . Similarly, if a new internal rule 306 is added to MCMM 135 , initializer 305 finds the new internal rule 306 and adds the internal rule 306 and its corresponding rule condition and rule process to rule library 138 .
- rule library 138 is a database which identifies the external or internal rule and the corresponding rule condition and rule process for each respective rule entry.
- Rule engine 140 determines a sequence of function modules and sources of parameters from module library 137 and profile library 136 , respectively, by using the factual input stored in fact database 139 and the internal and external rules in the rule library 138 , and builds color transformation workflow 309 from the determined sequence of function modules and sources of parameters.
- rule engine 40 receives external and internal rules from rule library 138 and factual input stored in fact database 139 and derives a conclusion, which is the sequence of function modules and sources of parameters used to build color transformation workflow 309 .
- rule engine 140 executes the corresponding rule process which adds the respective function module and sources of parameters to the sequence of function modules.
- the order in which the function modules appear in the sequence of function modules is determined by the order in which the corresponding rule process is executed by rule engine 140 .
- the order in which the rule processes are executed by rule engine 140 is determined by priorities of the corresponding rules and the factual input.
- Function Modules “A”, “B” and “C” are shown in FIGS. 4A , 4 B and 4 C.
- Function Module “A” ( 400 ) includes rule A 1 , wherein rule A 1 includes rule condition A 1 and rule process A 1 .
- Function Module “B” ( 405 ) includes rule B 1 , wherein rule B 1 includes rule condition B 1 and rule process B 1
- Function Module “C” ( 410 ) includes rule C 1 , wherein rule C 1 includes rule condition C 1 and rule process C 1 .
- rule engine 140 executes rule process A 1 and rule process C 1 which adds function module “A” and function module “C” to the sequence of function modules.
- the order in which function modules “A” and “C” appear in the sequence is determined by the order in which the rule processes are executed, which is determined by priorities of the corresponding rules and factual input.
- rule engine 140 executes rule process B 1 and rule process C 1 which adds function module “B” and function module “C” to the sequence of function modules.
- the order in which function modules “B” and “C” appear in the sequence is determined by the order in which the rule processes are executed, which is determined by priorities of the corresponding rules and factual input.
- rule engine 140 is flexible and that a large variety of rule engines are suitable.
- a rule engine such as the CLIPS (“C Language Integrated Production System) rule engine may be used in order to access fact database 139 and rule library 139 in order to determine the sequence of function modules and sources of parameters. See Joseph C. Giarratano, “CLIPS User's Guide”, Quicksilver Beta, Dec. 31, 2007, available at ⁇ http://clipsrules.sourceforge.net/documentation/v630/ug.pdf, the entire contents of which are incorporated by reference as if set forth in full herein.
- a rule engine using a RETE algorithm may be used.
- Input image 311 is a color image which includes source-side color image data.
- the source-side color image data is transformed into corresponding destination-side color image data by MCMM 135 .
- input image 311 is stored in fixed disk 45 .
- input image 311 can be stored in any suitable storage device, such as a removable storage device, in other example embodiments.
- Color transformation workflow 309 generates transformer module 310 .
- Transformer module 310 receives, as input, input image 311 .
- Transformer module 310 transforms source-side color image data for input image 311 into corresponding destination-side color image data for output image 312 .
- FIG. 5 is a flow diagram for explaining color processing in MCMM 135 , in relation to the architecture depicted in FIG. 4 .
- the process steps shown in FIG. 5 are computer-executable process steps stored on a computer-readable memory medium such as at 135 on fixed disk 45 , and are executed by CPU 113 of host computer 41 , so as to implement a color management module which builds a color transformation workflow for transforming source-side color image data into corresponding destination-side color image data.
- a sequence of function modules and sources of parameters from module library 137 and profile library 136 is determined by using factual input from the interface and the plural internal and external rules in rule library 138 .
- rule engine 140 accesses the factual input stored in fact database 139 in step S 501 , and accesses the external and internal rules in rule library 138 in step S 502 .
- rule engine 140 determines the sequence of function modules and sources of parameters from module library 137 and profile library 136 , respectively, by using the factual input in fact database 139 and the internal and external rules in rule library 138 , and builds color transformation workflow 309 from the determined sequence of function modules and sources of parameters.
- the rule condition is a condition that is satisfied if the factual inputs in the fact database indicate that there is color data that matches the rule condition of the corresponding function module.
- rule engine 140 executes the corresponding rule process, which adds the corresponding function module and sources of parameters to the sequence of function modules and sources of parameters used to build color transformation workflow 309 .
- rule engine 140 executes the corresponding rule process to add the associated function module to the sequence of function modules.
- Rule engine 140 executes the rule process such that the associated function module is added to the sequence of function modules such that it receives the color data that satisfies the corresponding rule condition.
Abstract
Description
- The present disclosure relates to an architecture for a color management system, and more particularly relates to a color management system having a modularized architecture which builds a color transformation workflow for transforming source-side color image data into corresponding destination-side color image data.
- Color management systems are provided to convert color between source and destination color device representations of the color such that the appearance of color fidelity is maintained.
- Color management systems are ordinarily structured to exhibit fixed functionality and to behave in a fixed manner. In other words, the processing of a color takes a fixed functional route through various color transform modules. Some color management systems accept parameters for the transform modules, which allow for a fine-tuning adjustment in the degree or amount of transformation, even though the nature of the transform remains unchanged. But in general, functionality of color management systems is ordinarily rigid and inflexible, except in the supply of parameters which drive functionality.
- As one example, the Windows Color System (WCS) is a measurement-based color management system in which devices are represented by a combination of measurement information stored in a profile and a device model. More specifically, a device model, an appearance model and a gamut mapping model are selected, together with an inverse device model and an inverse appearance model. Parameters which are stored in profiles are provided to each model in order to drive color management.
- Thus, similar to other typical color management systems, the color management workflow of WCS is fixed and inflexible. Accordingly, it is not usually possible to accommodate a change in the functionality of WCS, such as the introduction of a new color space, for the reason that such changes would entail new color transforms, new interfaces, and other changes to the WCS workflow.
- Recently, various color management technologies have emerged which do not typically fit into existing color management systems. Because typical color management systems are often inflexible, it is ordinarily necessary to build a new color management system in order to accommodate new color management techniques. For example, some emerging color management techniques involve spectral image data, and it is ordinarily necessary to build a new color management system in order to introduce transforms in to and out of a spectral color space.
- Extending the capabilities of a color management system is becoming increasingly important due to advances in color technologies. Current color management systems, which are typically based on colorimetric or appearance based color transformations, are not ordinarily adequate for performing image-based color management, multispectral color management, or sophisticated tone-mapping techniques that are being developed for improved image reproduction.
- The foregoing situation is addressed through the provision of a modular color management system architecture that uses a rule engine which flexibly builds customized color management transformation sequences by sequentially arranging function modules which encapsulate color processing functionalities, such that new functionalities and new color spaces can be easily accommodated.
- Thus, in an example embodiment described herein, a color transformation workflow is built for transforming source-side color image data into corresponding destination-side color image data. A module library includes plural module entries each corresponding to a respective function module which implements color processing functionality. Each module entry comprises at least a module locator specifying a location for the function module. A profile library includes plural profile entries each corresponding to a respective source of parameters that characterize a function module. Each profile entry comprises at least a profile locator specifying a location for the source of parameters, and a profile interface definition which specifies an interface for supply of the parameters to the function module characterized thereby. For at least some of the module entries of the module library, the module entry further comprises a profile interface definition which specifies an interface for supply of parameters which characterize the function module.
- A rule library includes entries for plural external rules and entries for plural internal rules. Each such external rule is associated with function modules located by module entries in the module library, and the external rules and the internal rules characterize color transformation workflows of the color management module. An interface receives factual input including factual input derived from the source-side color image data. A rule engine determines a sequence of function modules and sources of parameters from the module library and profile library, respectively, by using the factual input from the interface and the plural internal and external rules in the rule library. The rule engine builds the color transformation workflow from the determined sequence of function modules and sources of parameters.
- By virtue of this arrangement, function modules which encapsulate color processing functionalities can be flexibly arranged to build color transformation workflows customized according to factual input together with rules provided to a rule engine to accommodate new color management techniques. Additionally, the function modules can be dynamically arranged on-the-fly based on the factual input together with rules provided to a rule engine. In this manner, a user can more easily and flexibly build color transformation workflows.
- In example embodiments, each module entry further comprises at least one external rule. In some example embodiments, for at least one of the profile entries of the profile library, the profile entry includes at least one external rule. In one example embodiment, for at least one of the profile entries of the profile library, the profile entry includes at least one function module, wherein each such function module includes at least one external rule.
- In an example embodiment, each external rule specifies a rule condition that is used to determine whether the function module should be used, and a rule process that is executed when the rule condition is satisfied.
- In some embodiments, the module library is updatable so as to permit introduction of new module entries after deployment of the color management module. Furthermore, in some embodiments, the rule library is updatable so as to permit introduction of new external rules and new internal rules after deployment of the color management module.
- By virtue of providing an updatable module library, it is possible to add new color processing functionalities and new external and internal rules to the color management system, such that the color management system is extensible.
- In example embodiments, the factual input received at the interface includes at least one of color data, environmental information, geographical information, and a desired output.
- In some example embodiments, a fact database includes at least the received factual input, and the rule engine accesses the rule library and the fact database to derive a conclusion. In this case, the conclusion derived by the rule engine is the sequence of function modules and sources of parameters used to build the color transformation workflow.
- In other example embodiments, each external rule and each internal rule is at least one of a rule for performing an action and a rule for deducing a consequence of the factual input.
- In example embodiments, each external rule and each internal rule specifies a rule condition and a corresponding rule process. In this situation, for each rule condition that is satisfied, based on the received factual input, the rule engine executes the corresponding rule process which adds the respective function module and sources of parameters to the sequence of function modules.
- In some example embodiments, the order in which the function modules appear in the sequence of function modules is determined by the order in which the corresponding rule process is executed by the rule engine. In this case, the order in which the rule processes are executed by the rule engine is determined by at least one of priorities of the corresponding rules and the received factual input.
- This brief summary has been provided so that the nature of this disclosure may be understood quickly. A more complete understanding can be obtained by reference to the following detailed description and to the attached drawings.
-
FIG. 1 is a representative view of computing equipment relevant to one example embodiment. -
FIG. 2 is a detailed block diagram depicting the internal architecture of the host computer shown inFIG. 1 . -
FIG. 3 is a view for explaining software architecture of a modular color management module according to an example embodiment. -
FIG. 4 is a view for explaining a sequence of function modules according to an example embodiment. -
FIG. 5 is a flow diagram for explaining color processing in a modular color management module according to an example embodiment. -
FIG. 1 is a representative view of computing equipment, peripherals and digital devices, relevant to one example embodiment.Computing equipment 40 includeshost computer 41 which generally comprises a programmable general purpose personal computer (hereinafter “PC”) having an operating system such as Microsoft® Windows® or Apple® Mac OS® or LINUX, and which is programmed as described below so as to perform particular functions and in effect to become a special purpose computer when performing these functions.Computing equipment 40 includescolor monitor 43 includingdisplay screen 42,keyboard 46 for entering text data and user commands, and pointingdevice 47.Pointing device 47 preferably comprises a mouse for pointing and for manipulating objects displayed ondisplay screen 42. -
Host computer 41 also includes computer-readable memory media such as computer fixed disk 45 andDVD disk drive 44, which are constructed to store computer-readable information such as computer-executable process steps.DVD disk drive 44 provides a means wherebyhost computer 41 can access information, such as image data, computer-executable process steps, application programs, etc. stored on removable memory media. In an alternative, information can also be retrieved through other computer-readable media such as a USB storage device connected to a USB port (not shown), or throughnetwork interface 80. Other devices for accessing information stored on removable or remote media may also be provided. -
Projector 50 is a first example of a color output device, and in this example is an RGB or RGBW projector, such as a DLP™ digital projector or other display device that projects images in accordance with image data fromhost computer 41 onto a projection screen (not shown).Projector 50 may be an HDR device capable of projecting HDR images.Projector 50 projects images onto a display screen (not shown) by using additive light combinations of red (R), green (G) and blue (B) colorant lights. In addition, and particularly in a case of an HDR device,projector 50 also uses a white (W) light so as to increase the brightness/luminance of projected images and thereby project HDR images with good fidelity over a large dynamic range. -
Printer 90 is a second example of a color output device, and in this example is a color laser printer which forms color images on a recording medium such as paper or transparencies or the like.Printer 90 forms color images using cyan, magenta, yellow and black colorants, although printers and other devices can be used which form color images using other colorant combinations that might or might not include black, such as a CMYKOG device. -
Digital color scanner 70 is a first example of a color input device, and is provided for scanning documents and images and sending the corresponding image data tohost computer 41. -
Digital color camera 60 is a second example of a color input device, and is provided for sending digital image data tohost computer 41. - Of course,
host computer 41 may acquire digital image data from other sources such as a digital video camera, a local area network or the Internet vianetwork interface 80. Likewise,host computer 41 may interface with other color output devices, such as color output devices accessible overnetwork interface 80. -
FIG. 2 is a detailed block diagram showing the internal architecture ofhost computer 41 ofcomputing equipment 40. As shown inFIG. 2 ,host computer 41 includes central processing unit (CPU) 113 which may be a multi-core CPU and which interfaces withcomputer bus 114. Also interfacing withcomputer bus 114 are fixed disk 45,network interface 112, random access memory (RAM) 116 for use as a main run-time transient memory, read only memory (ROM) 117,DVD disk interface 119,display interface 120 formonitor 43,keyboard interface 122 forkeyboard 46,mouse interface 123 for pointingdevice 47,scanner interface 124 forscanner 70,printer interface 125 forprinter 90,digital camera interface 126 fordigital camera 60, anddigital projector interface 127 fordigital projector 50. -
RAM 116 interfaces withcomputer bus 114 so as to provide information stored inRAM 116 toCPU 113 during execution of the instructions in software programs such as an operating system, application programs, color management modules, and device drivers. More specifically,CPU 113 first loads computer-executable process steps from fixed disk 45, or another storage device into a region ofRAM 116.CPU 113 can then execute the stored process steps fromRAM 116 in order to execute the loaded computer-executable process steps. Data such as color images or other information can be stored inRAM 116, so that the data can be accessed byCPU 113 during the execution of computer-executable software programs, to the extent that such software programs have a need to access and/or modify the data. - As also shown in
FIG. 2 , fixed disk 45 contains computer-executable process steps foroperating system 130, andapplication programs 131, such as word processing programs or graphic image management programs. Fixed disk 45 also contains computer-executable process steps for device drivers for software interface to devices, such asinput device drivers 132,output device drivers 133, andother device drivers 134. Image files 141, including color image files, andother files 142 are available for output to color output devices and for manipulation by application programs. - Modular color management module (MCMM) 135 comprises computer-executable process steps executed by a computer for building a color transformation workflow for transforming source-side color image data into corresponding destination-side color image data.
MCMM 135 builds the color transformation workflow so as to maintain good color fidelity for color images that are transferred from a source device to a destination device, such as the transfer of color image data from capture bydigital camera 60 to display byprojector 50. It should be appreciated thatMCMM 135 is not limited to color transformation workflows between real devices, and thatMCMM 135 also builds the color transformation workflow so as to maintain good color fidelity for color images that are transferred between any type of color space, such as, for example, a real device color space, a mathematical color space (e.g., sRGB, scRGB, ProPhoto, AdobeRGB), and the like. As shown inFIG. 2 ,MCMM 135 includes, at least,profile library 136,module library 137,rule library 138,fact database 139 andrule engine 140. -
Module library 137 includes plural module entries each corresponding to a respective function module which implements color processing functionality. For example, a function module may encapsulate color management operations such as device modeling, color appearance modeling, or gamut mapping. The function modules are used byMCMM 135 to construct the color transformation workflow. - Each module entry includes at least a module locator specifying a location for the function module so that the function module itself is not necessarily part of the
module library 137. This permits the function module to be located remotely ofmodule library 137. In addition, in this example embodiment, each module entry further includes at least one external rule that specifies a rule condition and a corresponding rule process. The rule condition and rule process of the rule reference executable steps in the module that are executed by the rule engine in order to determine which processes should be executed and in what order. - In addition, for at least some of the module entries of the module library, the module entry further includes a profile interface definition which specifies an interface for supply of parameters which characterize the function module.
- A function module can be accessed through a variety of sources. In the example embodiment, function modules are built-in to the color management system and stored on fixed disk 45. In other embodiments, function modules are provided as plug-ins or embedded into profile entries. Furthermore, function modules can be implemented as machine-code programs or as interpretive code using either pseudo-code or compiled source code, or a combination thereof.
- In example embodiments,
module library 137 is updatable so as to permit the introduction of new module entries after deployment of the color management module. -
Profile library 136 includes plural profile entries, each corresponding to a respective source of parameters that characterize a function module. Each profile entry includes at least a profile locator specifying a location for the source of parameters, so that the profile entry itself is not necessarily part ofprofile library 136. This permits the profile entry to be located remotely fromprofile library 136. In addition, each profile entry further includes at least a profile interface definition which specifies an interface for supply of the parameters to the function module characterized thereby. In addition, for at least some of the profile entries of the profile library, the profile entry includes plural profile interface definitions. In the example embodiment, profile interface definitions are text interfaces. In other embodiments, profile interface definitions are binary interfaces or network interfaces. - In this example embodiment, for at least one of the profile entries of the
profile library 136, the profile entry includes at least one external rule. In other embodiments, for at least one of the profile entries of the profile library, the profile entry includes at least one function module, wherein each such function module includes at least one external rule. - In some embodiments,
profile library 136 comprises computer-executable process steps executed by a computer for accessing the profile entries. Furthermore, a profile interface definition may be constructed to accommodate for active feedback, for example, such that a profile entry may be calibrated. -
Rule library 138 includes entries for plural external rules and entries for plural internal rules. Each external rule is associated with function modules located by module entries inmodule library 137. In an example embodiment, external rules are included in function modules. The external rules and the internal rules characterize color transformation workflows of the color management module. In some embodiments, each external rule specifies a rule condition that is used to determine whether the function module should be used, and a rule process that is executed when the rule condition is satisfied. In one example embodiment, each external rule and each internal rule is at least one of a rule for performing an action and a rule for deducing a consequence of the factual input. - In some example embodiments,
rule library 138 is updatable so as to permit introduction of new external rules and new internal rules after deployment of the color management module.Rule library 138 will be discussed in further detail below with respect toFIG. 4 . -
Fact database 139 includes at least factual input received through the interface, including factual input derived from the source-side color image data. In example embodiments, the factual input received at the interface includes at least one of color data, environmental information, geographical information and a desired output. - In this example embodiment,
profile library 136,module library 137,rule library 138 andfact database 139 are stored in fixed disk 45 as shown inFIG. 2 . In other embodiments,profile library 136,module library 137,rule library 138 andfact database 139 can be stored inside of devices (e.g.,digital camera 60,scanner 70 or printer 90), inside ofROM 117, or inside of any other suitable storage device. Of course,profile library 136,module library 137,rule library 138 andfact database 139 can be stored in one device, or can be split up and distributed among several devices. -
Rule engine 140 generally comprises computer-executable process steps that determine a sequence of function modules and sources of parameters from the module library and profile library, respectively, by using the factual input from the interface and the plural internal and external rules in the rule library.Rule engine 140 builds the color transformation workflow from the determined sequence of function modules and sources of parameters. - The computer-executable process steps for
MCMM 135 may be configured as a part ofoperating system 130, as part of an output device driver such as a printer driver, or as a stand-alone application program such as a color management system. They may also be configured as a plug-in or dynamic link library (DLL) to the operating system, device driver or application program. For example,MCMM 135 according to example embodiments may be incorporated in an output device driver for execution in a computing device, such as a printer driver, embedded in the firmware of an output device, such as a printer, or provided in a stand-alone color management application for use on a general purpose computer. In one example embodiment described herein,MCMM 135 is incorporated directly into the operating system for generalpurpose host computer 41. It can be appreciated that the present disclosure is not limited to these embodiments and that the disclosed color management module may be used in other environments in which color management is used. -
FIG. 3 is a view for explaining software architecture of modular color management module (MCMM) 135. In the embodiment depicted inFIG. 3 , there are three types of users interfacing withMCMM 135, namely anend user 301, a color engineer/designer 302 and acolor scientist 303. -
End user 301 specifies a variety of factual input which is stored infact database 139. Factual input includes, for example, color data, including color data forinput image 311, environmental information, geographical information and a desired output. In this embodiment, the factual input is received from a user through a user interface. Factual input is also derived from the source-side color image data forinput image 311. In some embodiments, factual input also includes a desired processing speed, a preference for color accuracy, an availability of resources, and other user requirements. - Color engineer/
designer 302 creates new profile entries forprofile library 136, such as a profile entry forprinter 90 ordigital camera 60. As previously discussed, profile entries correspond to a source of parameters that characterize a particular function module, and each profile entry has a profile interface definition specifying an interface for the supply of parameters to the function module characterized by the particular profile entry. Thus, color engineer/designer 302 has the ability to create and add new profile interface definitions such thatprofile library 136 is extensible. It should be appreciated that the architecture ofMCMM 135 is such that color engineer/designer 302 is able to add new profile interface definitions after deployment ofMCMM 135 to end users in the field, without the need to alter or reconfigure theMCMM 135 itself, such that the core processing functionality ofMCMM 135 remains unchanged. - In addition, color engineer/
designer 302 creates new external rules and newinternal rules 306 and modifies existing external rules and existinginternal rules 306. Each external rule is associated with function modules inmodule library 137, andinternal rules 306 are included withinMCMM 135. Thus, color engineer/designer 302 has the ability to create and add new external and internal rules such that bothmodule library 137 andinternal rules 306 are extensible. It should be appreciated that the architecture ofMCMM 135 is such that color engineer/designer 302 is able to add new external and internal rules after deployment ofMCMM 135 to end users in the field, without the need to alter or reconfigure theMCMM 135 itself, such that the core processing functionality ofMCMM 135 remains unchanged. -
Color scientist 303 creates new function modules formodule library 137. As previously discussed,module library 137 includes plural module entries each corresponding to a respective function module which implements color processing functionality. Thus,color scientist 303 has the ability to add new color processing functionalities by generating new function modules, such thatmodule library 137 is extensible. In this way,module library 137 can be expanded to include new and currently unknown color processing techniques, as well as existing color processing techniques. Each module entry includes at least a module locator. Some of the module entries also include a profile interface definition. Thus,color scientist 303 also has the ability to add new interface definitions tomodule library 137. It should be appreciated that the architecture ofMCMM 135 is such thatcolor scientist 303 is able to add new function modules after deployment ofMCMM 135 to end users in the field, without the need to alter or reconfigure theMCMM 135 itself, such that the core processing functionality ofMCMM 135 remains unchanged. - In the example embodiment,
end user 301, color engineer/designer 302 andcolor scientist 303 interface withMCMM 135 by using a user interface. Any convenient type of user interface may be used, including, for example, graphic or non-graphic based user interfaces. -
MCMM 135 includesinitializer module 305 andrule engine 140.Initializer module 305 receives, as input, entries for plural external rules included inmodule library 137 and included inprofile library 136 as well as entries for pluralinternal rules 306 included inMCMM 135. Based on the received entries,initializer module 305outputs rule library 138. More specifically,initializer module 305 reads out entries for the external rules included inmodule library 137 andprofile library 136 and the entries for theinternal rules 306 included inMCMM 135 in order to buildrule library 138. - In this embodiment, each external and internal rule stored in
rule library 138 specifies a rule condition and a corresponding rule process. In this case,rule library 138 includes the rule together with the rule condition and the rule process. If a new external rule is added tomodule library 137, for example whencolor scientist 303 creates a new function module,initializer module 305 finds the new external rule and adds the external rule and its corresponding rule condition and rule process to rulelibrary 138. Similarly, if a newinternal rule 306 is added toMCMM 135,initializer 305 finds the newinternal rule 306 and adds theinternal rule 306 and its corresponding rule condition and rule process to rulelibrary 138. In the example embodiment,rule library 138 is a database which identifies the external or internal rule and the corresponding rule condition and rule process for each respective rule entry. -
Rule engine 140 determines a sequence of function modules and sources of parameters frommodule library 137 andprofile library 136, respectively, by using the factual input stored infact database 139 and the internal and external rules in therule library 138, and buildscolor transformation workflow 309 from the determined sequence of function modules and sources of parameters. In particular,rule engine 40 receives external and internal rules fromrule library 138 and factual input stored infact database 139 and derives a conclusion, which is the sequence of function modules and sources of parameters used to buildcolor transformation workflow 309. - More specifically, for each rule condition that is satisfied, based on the factual input received by the interface and stored in
fact database 139,rule engine 140 executes the corresponding rule process which adds the respective function module and sources of parameters to the sequence of function modules. The order in which the function modules appear in the sequence of function modules is determined by the order in which the corresponding rule process is executed byrule engine 140. In the example embodiment, the order in which the rule processes are executed byrule engine 140 is determined by priorities of the corresponding rules and the factual input. - For example, Function Modules “A”, “B” and “C” are shown in
FIGS. 4A , 4B and 4C. As shown inFIG. 4A , Function Module “A” (400) includes rule A1, wherein rule A1 includes rule condition A1 and rule process A1. Similarly, Function Module “B” (405) includes rule B1, wherein rule B1 includes rule condition B1 and rule process B1, and Function Module “C” (410) includes rule C1, wherein rule C1 includes rule condition C1 and rule process C1. - As shown in
FIG. 4B , when rule condition A1 and rule condition C1 are satisfied based on the factual input stored infact database 139, but rule condition B1 is not satisfied,rule engine 140 executes rule process A1 and rule process C1 which adds function module “A” and function module “C” to the sequence of function modules. The order in which function modules “A” and “C” appear in the sequence is determined by the order in which the rule processes are executed, which is determined by priorities of the corresponding rules and factual input. - As shown in
FIG. 4C , when rule condition B1 and rule condition C1 are satisfied based on the factual input stored infact database 139, but rule condition A1 is not satisfied,rule engine 140 executes rule process B1 and rule process C1 which adds function module “B” and function module “C” to the sequence of function modules. The order in which function modules “B” and “C” appear in the sequence is determined by the order in which the rule processes are executed, which is determined by priorities of the corresponding rules and factual input. - A person having ordinarily skill in the art will recognize that the precise nature of
rule engine 140 is flexible and that a large variety of rule engines are suitable. As one example, a rule engine such as the CLIPS (“C Language Integrated Production System) rule engine may be used in order to accessfact database 139 andrule library 139 in order to determine the sequence of function modules and sources of parameters. See Joseph C. Giarratano, “CLIPS User's Guide”, Quicksilver Beta, Dec. 31, 2007, available at <http://clipsrules.sourceforge.net/documentation/v630/ug.pdf, the entire contents of which are incorporated by reference as if set forth in full herein. As a second example, a rule engine using a RETE algorithm may be used. See Chan, Chung, “Rules and Rule Chaining”, Massachusetts Institute of Technology, last modified on Oct. 4, 2001, available at <http://web.mit.edu/chungc/6.034/11.html>, the entire contents of which are incorporated by reference as if set forth in full herein. -
Input image 311 is a color image which includes source-side color image data. The source-side color image data is transformed into corresponding destination-side color image data byMCMM 135. In the example embodiment,input image 311 is stored in fixed disk 45. However,input image 311 can be stored in any suitable storage device, such as a removable storage device, in other example embodiments. -
Color transformation workflow 309 generatestransformer module 310.Transformer module 310 receives, as input,input image 311.Transformer module 310 transforms source-side color image data forinput image 311 into corresponding destination-side color image data foroutput image 312. -
FIG. 5 is a flow diagram for explaining color processing inMCMM 135, in relation to the architecture depicted inFIG. 4 . The process steps shown inFIG. 5 are computer-executable process steps stored on a computer-readable memory medium such as at 135 on fixed disk 45, and are executed byCPU 113 ofhost computer 41, so as to implement a color management module which builds a color transformation workflow for transforming source-side color image data into corresponding destination-side color image data. Briefly, according to the process steps shown inFIG. 5 , a sequence of function modules and sources of parameters frommodule library 137 andprofile library 136, respectively, is determined by using factual input from the interface and the plural internal and external rules inrule library 138. - In more detail,
rule engine 140 accesses the factual input stored infact database 139 in step S501, and accesses the external and internal rules inrule library 138 in step S502. In step S503,rule engine 140 determines the sequence of function modules and sources of parameters frommodule library 137 andprofile library 136, respectively, by using the factual input infact database 139 and the internal and external rules inrule library 138, and buildscolor transformation workflow 309 from the determined sequence of function modules and sources of parameters. - As one example, for each rule associated with a function module, the rule condition is a condition that is satisfied if the factual inputs in the fact database indicate that there is color data that matches the rule condition of the corresponding function module. In the case where such a rule condition is satisfied,
rule engine 140 executes the corresponding rule process, which adds the corresponding function module and sources of parameters to the sequence of function modules and sources of parameters used to buildcolor transformation workflow 309. In particular, if a rule condition is satisfied if XYZ color data is available and if the fact database includes facts that indicate that XYZ color data is available, then ruleengine 140 executes the corresponding rule process to add the associated function module to the sequence of function modules.Rule engine 140 executes the rule process such that the associated function module is added to the sequence of function modules such that it receives the color data that satisfies the corresponding rule condition. - This disclosure has provided a detailed description with respect to particular representative embodiments. It is understood that the scope of the appended claims is not limited to the above-described embodiments and that various changes and modifications may be made without departing from the scope of the claims.
Claims (52)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/757,957 US8326033B2 (en) | 2010-04-09 | 2010-04-09 | Rule-based color management and image processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/757,957 US8326033B2 (en) | 2010-04-09 | 2010-04-09 | Rule-based color management and image processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20110249896A1 true US20110249896A1 (en) | 2011-10-13 |
US8326033B2 US8326033B2 (en) | 2012-12-04 |
Family
ID=44760971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/757,957 Expired - Fee Related US8326033B2 (en) | 2010-04-09 | 2010-04-09 | Rule-based color management and image processing system |
Country Status (1)
Country | Link |
---|---|
US (1) | US8326033B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367890B2 (en) | 2011-12-28 | 2016-06-14 | Samsung Electronics Co., Ltd. | Image processing apparatus, upgrade apparatus, display system including the same, and control method thereof |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480299B1 (en) * | 1997-11-25 | 2002-11-12 | University Technology Corporation | Color printer characterization using optimization theory and neural networks |
JP2007189674A (en) * | 2006-01-10 | 2007-07-26 | Toshiba Corp | System and method for managing memory for color transforms |
US7436995B2 (en) * | 2004-01-22 | 2008-10-14 | Konica Minolta Photo Imaging, Inc. | Image-processing apparatus, image-capturing apparatus, image-processing method and image-processing program |
US7538917B2 (en) * | 2005-07-08 | 2009-05-26 | Xerox Corporation | Method for prepress-time color match verification and correction |
US7583405B2 (en) * | 2005-07-08 | 2009-09-01 | Xerox Corporation | Method for remote proofing of DFE color architecture |
US7612912B2 (en) * | 2005-07-08 | 2009-11-03 | Xerox Corporation | Method for prepress-time color match verification and correction |
US8031369B2 (en) * | 2006-01-20 | 2011-10-04 | Oce Printing Systems Gmbh | Method, computer program product and device for generating and processing document data with media-related color management resources |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6518975B1 (en) | 1998-10-02 | 2003-02-11 | Canon Kabushiki Kaisha | Modularized architecture for color and image management system |
US7095529B2 (en) | 2000-12-22 | 2006-08-22 | Xerox Corporation | Color management system |
US6831999B2 (en) | 2001-02-08 | 2004-12-14 | Canon Kabushiki Kaisha | Color management architecture using phantom profiles to transfer data between transformation modules |
US6795084B2 (en) | 2002-01-02 | 2004-09-21 | Canon Kabushiki Kaisha | Heuristic determination of color reproduction parameters |
US7158668B2 (en) | 2003-08-01 | 2007-01-02 | Microsoft Corporation | Image processing using linear light values and other image processing improvements |
US7433514B2 (en) | 2005-07-13 | 2008-10-07 | Canon Kabushiki Kaisha | Tone mapping of high dynamic range images |
US7822270B2 (en) | 2005-08-31 | 2010-10-26 | Microsoft Corporation | Multimedia color management system |
-
2010
- 2010-04-09 US US12/757,957 patent/US8326033B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480299B1 (en) * | 1997-11-25 | 2002-11-12 | University Technology Corporation | Color printer characterization using optimization theory and neural networks |
US7436995B2 (en) * | 2004-01-22 | 2008-10-14 | Konica Minolta Photo Imaging, Inc. | Image-processing apparatus, image-capturing apparatus, image-processing method and image-processing program |
US7538917B2 (en) * | 2005-07-08 | 2009-05-26 | Xerox Corporation | Method for prepress-time color match verification and correction |
US7583405B2 (en) * | 2005-07-08 | 2009-09-01 | Xerox Corporation | Method for remote proofing of DFE color architecture |
US7612912B2 (en) * | 2005-07-08 | 2009-11-03 | Xerox Corporation | Method for prepress-time color match verification and correction |
JP2007189674A (en) * | 2006-01-10 | 2007-07-26 | Toshiba Corp | System and method for managing memory for color transforms |
US8031369B2 (en) * | 2006-01-20 | 2011-10-04 | Oce Printing Systems Gmbh | Method, computer program product and device for generating and processing document data with media-related color management resources |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367890B2 (en) | 2011-12-28 | 2016-06-14 | Samsung Electronics Co., Ltd. | Image processing apparatus, upgrade apparatus, display system including the same, and control method thereof |
US9396511B2 (en) | 2011-12-28 | 2016-07-19 | Samsung Electronics Co., Ltd. | Image processing apparatus, upgrade apparatus, display system including the same, and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
US8326033B2 (en) | 2012-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7356181B2 (en) | Embedded gamut mapping algorithm | |
US6037950A (en) | Configurable, extensible, integrated profile generation and maintenance environment for facilitating image transfer between transform spaces | |
US7647347B2 (en) | Color management system that supports legacy and advanced color management applications | |
US7636468B2 (en) | System for customer and automatic color management using policy controls | |
US7583405B2 (en) | Method for remote proofing of DFE color architecture | |
US8542402B2 (en) | Selection of samples for spanning a spectral gamut | |
US7538917B2 (en) | Method for prepress-time color match verification and correction | |
JP2006081190A (en) | Method and apparatus for efficient processing of color conversion | |
US20080123948A1 (en) | Profile creation configuration file | |
US6831999B2 (en) | Color management architecture using phantom profiles to transfer data between transformation modules | |
US7483170B2 (en) | Generation of color measured data from transform-based color profiles | |
US7342682B2 (en) | Incremental color transform creation | |
US8270029B2 (en) | Methods, apparatus and systems for using black-only on the neutral axis in color management profiles | |
JP2002538734A (en) | Color processing | |
US7978369B2 (en) | Plug-in for customized device model with interface for device profiler and for color management system | |
US8326033B2 (en) | Rule-based color management and image processing system | |
US8610948B2 (en) | Spectral gamut mapping by constrained subdivision of gamut | |
US8014028B2 (en) | Intent preservation when constructing measurement-based color transforms from transform-based profiles | |
US20110182504A1 (en) | Modular color management system architecture | |
US7889387B2 (en) | Construction of colorimetric measurements from device profile of spectral measurements | |
Zhang et al. | The new challenge for color management in digital printing | |
JP2009253467A (en) | Color processing device and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CANON KABUSHIKI KAISHA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HAIKIN, JOHN S;REEL/FRAME:024214/0488 Effective date: 20100409 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20201204 |