WO2005048017A2 - A system for customer and automatic color management using policy controls - Google Patents
A system for customer and automatic color management using policy controls Download PDFInfo
- Publication number
- WO2005048017A2 WO2005048017A2 PCT/US2004/024817 US2004024817W WO2005048017A2 WO 2005048017 A2 WO2005048017 A2 WO 2005048017A2 US 2004024817 W US2004024817 W US 2004024817W WO 2005048017 A2 WO2005048017 A2 WO 2005048017A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- policy
- level
- setting
- color management
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/06—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
-
- 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/06—Adjustment of display parameters
- G09G2320/0606—Manual adjustment
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/06—Adjustment of display parameters
- G09G2320/0666—Adjustment of display parameters for control of colour parameters, e.g. colour temperature
Definitions
- the present invention relates to color management technology for a computer system, and in particular provides control of color management.
- Input devices include not only high-end drum scanners but also high-end flatbed scanners, desktop flatbeds, desktop slide scanners, and digital cameras.
- Output devices include not only web and sheetfeed presses with waterless inks, soy inks, direct-to-plate printing, and Hi-Fi color but also digital proofers, flexography, film recorders, silk screeners, color copiers, laser printers, inkjet printers, and even monitors that function as final output devices.
- the diversity of input and output devices vastly complicates the approach of a closed workflow as previously discussed. Thus, possible workflows may be associated with a many-to-many mapping of input devices to output devices.
- Color management is a solution for managing the different workflows that may be supported between different input device and output device combinations.
- Color management typically supports an intermediate representation of the desired colors.
- the intermediate representation is commonly refened as a profile connection space (PCS), which may be alternately refened as a working space.
- PCS profile connection space
- the function of the profile connection space is to serve as a hub for the plurality of device-to-device transformations.
- the mxn link problem is reduced to m+n links, in which only one link is needed for each device.
- Each link effectively describes the color reproduction behavior of a device.
- a link is commonly refened as a device profile.
- a device profile and the profile connection space are two of the four key components in a color management system.
- the profile connection space allows the color management system to give a color an unambiguous numerical value in CLE XYZ or CIE LAB color space that does not depend on the quirks of the plurality of devices being used to reproduce the color but instead defines the color as a person actually sees the color.
- CIE XYZ and CIE LAB are color spaces that are modeled as being device independent.
- a profile describes the relationship between a device's RGB (red, green, and blue) or CMYK control signals and the actual colors that the control signals produce.
- a profile defines the CIE XYZ or CIE LAB values that conespond to a given set of RGB or CMYK numbers.
- a color management module (CMM) is often called the engine of the color management system.
- the color 1 management module is a piece of software that performs all of the calculations needed to convert the RGB or CMYK values.
- the color management module works with the color data that is contained in the profiles.
- Rendering intents includes four different rendering intents. Each type of rendering intent is a different way of dealing with "out-of-gamut" colors, where the output device is not physically capable of reproducing the color that is present in the source space.
- a workflow utilizes four stages of color management that include defining color meaning, normalizing color, converting color, and proofing. Defining the color meaning includes determining if a profile is embedded in the content and defining a profile if there is no embedded profile. The workflow can then proceed with normalizing color to a working space (conesponding to a device independent color space) or with converting the color representation of the image file directly to the destination space.
- a color management system can then determine a transformation table from the source profile and the destination profile, using the common values from the working space. Consequently the color management system can convert a source image to a destination image using the transformation table.
- color management is typically administered at both the application level and the device level.
- Adobe® Photoshop® software application which is a professional image-editing standard for producing high quality images for print and the Web
- the user configures the application in accordance with a policy.
- the policy is a set of rules or actions that may be dependent on different contingencies.
- the Photoshop application can assume a profile, assign a profile, or assign a profile and do a conversion to some other profile in accordance with user selections selected by the user in a dialog box.
- the user typically responds to a plurality of dialog boxes in order to establish the desired policy.
- the Photoshop application allows the user to configure other aspects of color management, including configuring printer controls (e.g., a printer profile and rendering intent). If, however, the output device is changed, the user typically must re-enter the appropriate dialog and modify the policy.
- printer controls e.g., a printer profile and rendering intent
- the user typically must re-enter the appropriate dialog and modify the policy.
- the above example illusfrates a common deficiency with the prior art.
- a policy is established for each combination of application, device, and system.
- a user may use a plurality of applications in processing colors documents, where each application requires the user to respond to a series of dialog boxes for each application.
- the user may process a color document from one of a plurality of input devices and to one of a plurality of output devices with one or more applications.
- a plurality of users may use the same system or each of a plurality of users may use a different system in which the consistency of color management policies is desired. Having to configure policies separately for each application, device, user, and system can be very demanding on the user. Hence, there is a real need in the industry to provide a more integrated and consolidated approach for controlling the policies of color management systems.
- the present invention provides methods and apparatuses for supporting a color management system that processes an image in accordance to a policy that is structured in a hierarchical fashion.
- the policy may be modeled with a schema in which the policy is organized with a plurality of policy levels, including a system level, a user level, an operational level, profile level, a device and codec (image format) level, and a color management application programming interface level.
- policy settings at a lower policy level may override policy settings at a higher policy level.
- a lockout mechanism may prevent a lower policy level from overriding a higher policy level.
- a user interface supports the capability of a user configuring policy settings through a series of dialog boxes.
- the dialog boxes are hierarchically organized in accordance with configuration levels, including a system level, an input device level, a display device level, and an output device level, where the configuration levels are associated with the policy levels.
- the dialog boxes provide a consolidated approach for configuring a color management system by a user.
- an interface is supported, enabling a component, e.g., an application, to send inputs to a color management system in order to configure the policy.
- An embodiment of the invention supports an application program interface, in which an application may set a policy setting and get (retrieve) a policy setting from the color management system.
- Figure 1 illusfrates an example of a suitable computing system environment on which the invention may be implemented.
- Figure 2 illusfrates a hierarchical relation among policy levels in accordance with an embodiment of the invention.
- Figure 3 illusfrates a schema of a hierarchical policy schema in accordance with an embodiment of the invention.
- Figure 4 shows an architecture of a color management system in accordance with an embodiment of the invention.
- Figure 5 illustrates a dialog box for setting policy at a system level in accordance with an embodiment of the invention.
- Figure 6 illusfrates a dialog box for setting policy at an input device level in accordance with an embodiment of the invention.
- Figure 7 illustrates a dialog box for setting policy for an input device that is associated with an access path in accordance with an embodiment of the invention.
- Figure 8 illusfrates a dialog box for setting policy for an input device that is characterized by a format type in accordance with an embodiment of the invention.
- Figure 9 illustrates a dialog box for setting policy for an input device that is associated with a profile in accordance with an embodiment of the invention.
- Figure 10 illusfrates a dialog box for setting policy for a display device in accordance with an embodiment of the invention.
- Figure 11 illusfrates a dialog box for setting policy for an output device in accordance with an embodiment of the invention.
- Figure 12 illusfrates a dialog box for setting policy for an output device that is associated with an access path in accordance with an embodiment of the invention.
- Figure 13 illustrates a dialog box for setting policy for an output device that is characterized by a format type in accordance with an embodiment of the invention.
- FIG. 14 illusfrates a component utilizing an application program interface (API) call to a color management system in accordance with an embodiment of the invention.
- API application program interface
- FIG. 15 illustrates a requesting component utilizing an application program interface (API) call to a color management system through an intermediate component in accordance with an embodiment of the invention.
- API application program interface
- Figure 16 illusfrates an interface as a conduit through which first and second code segments communicate.
- Figure 17 illusfrates an interface as comprising interface objects.
- Figure 18 illustrates a function provided by an interface that may be subdivided to convert communications of the interface into multiple interfaces.
- Figure 19 illustrates a function provided by an interface that may be subdivided into multiple interfaces in order to achieve the same result as the function illustrated in Figure 18.
- Figure 20 illustrates an example of ignoring, adding, or redefining aspects of a programming interface while still accomplishing the same result.
- Figure 21 illustrates another example of ignoring, adding, or redefining aspects of a programming interface while still accomplishing the same result.
- Figure 22 illustrates merging code segments in relation to the example that is shown in Figure 16.
- Figure 23 illusfrates merging interfaces in relation to the example that is shown in Figure 17.
- Figure 24 illustrates middleware that converts communications to conform to a different interface.
- Figure 25 illustrates a code segment that is associated with a divorce interface.
- Figure 26 illustrates an example in which an installed base of applications is designed to communicate with an operating system in accordance with an interface protocol, in which the operating system is changed to use a different interface.
- Figure 27 illustrates rewriting interfaces to dynamically factor or otherwise alter the interfaces.
- Channel - Images contain one or more 'channels' of information. Commonly colors are represented by the additive primary colors (red, green and blue). Color information for each of these three colors would be encoded into its own channel. Channels are not limited to RGB — they can be broken into luminance (brightness) and chrominance (color) channels, or other still-more-exotic ways. Channels may also be used to encode things other than color — transparency, for example. A measure of the color quality of an image is the number of bits used to encode per channel (bpch). • Clipping - Any time two different values in the source data are mapped to the same value in the destination data, the values are said to be clipped. This is significant because clipped data cannot be restored to its original state — information has been lost.
- Color Management is the process of ensuring the color recorded by one device is represented as faithfully as possible to the user preference on a different device, often this is match the perception on one device to another.
- the sensor of an imaging device will have, when compared to the human eye, a limited ability to capture all the color and dynamic range that the human eye can.
- the same problem occurs on both display devices and with output devices. The problem is that while all three classes of device have these color and dynamic range limitations, none of them will have limitations in exactly the same way. Therefore conversion 'rules' must be set up to preserve as much of the already limited color and dynamic range information as possible, as well as ensure the information appears as realistic as possible to the human eye, as it moves through the workflow.
- Color Space A sensor may detect and record color, but the raw voltage values have absolutely no meaning without a reference.
- the reference scale could be the measured capabilities of the sensor itself — if the sensor is measured to have a particular frequency response spectrum, then numbers generated will have meaning. More useful, though, would be a common reference, representing all the colors visible by the human eye. With such a reference (a color space known as CIELAB), a color could be represented unambiguously, and other devices could consume this information and do their best to reproduce it.
- CIELAB color space known as CIELAB
- Color Context A generalized form of a gamut in a described color space. While certain file formats make use of gamut information as described by a particular color management standard, a color context is effectively the same concept but includes those file (encoding) formats which do not support ICC gamuts.
- HSV Hue Saturation Value
- Profile A file that contains enough information to let a color management system convert colors into and out of a specific color space. This may be a device's color space - in which we would call it a device profile, with subcategories input profile, output profile, and display profile (for input, output, and display devices respectively); or an abstract color space.
- Rendering Intent The setting that tells the color management system how to handle the issue of converting color between color spaces when going from a larger gamut to a smaller one.
- Saturation The purity of color.
- Figure 1 illustrates an example of a suitable computing system environment 100 on which the invention may be implemented.
- Figure 1 shows an operation of a wireless pointer device 161, e.g. an optical wireless mouse, in the context of computing system environment 100.
- the computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100.
- the invention is operational with numerous other general purpose or special purpose computing system environments or configurations.
- Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote computer storage media including memory storage devices. >
- an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110.
- Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120.
- the system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
- ISA Industry Standard Architecture
- MCA Micro Channel Architecture
- EISA Enhanced ISA
- VESA Video Electronics Standards Association
- PCI Peripheral Component Interconnect
- Computer 110 typically includes a variety of computer readable media.
- Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer readable media may comprise computer storage media and communication media.
- Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD- ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110.
- Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
- the system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132.
- ROM read only memory
- RAM random access memory
- BIOS basic input/output system
- RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120.
- Figure 1 illusfrates operating system 134, application programs 135, other program modules 136, and program data 137.
- the computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
- Figure 1 illustrates a hard disk drive 140 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD ROM or other optical media.
- removable/nonremovable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
- the hard disk drive 141 is typically connected to the system bus 121 through an non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.
- the drives and their associated computer storage media discussed above and illustrated in Figure 1, provide storage of computer readable instructions, data structures, program modules and other data for the computer 110.
- hard disk drive 141 is illusfrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers here to illustrate that, at a minimum, they are different copies.
- a user may enter commands and information into the computer 110 through input devices such as a keyboard 162 and wireless pointing device 161, commonly refened to as a mouse, trackball or touch pad.
- wireless pointing device 161 may be implemented as a mouse with an optical sensor for detecting movement of the mouse.
- Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
- These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB), h Figure 1, wireless pointer 161 communicates with user input interface 160 over a wireless channel 199.
- USB universal serial bus
- Wireless channel 199 utilizes an electromagnetic signal, e.g., a radio frequency (RF) signal, an infrared signal, or a visible light signal.
- RF radio frequency
- a monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190.
- computers may also include other peripheral output devices such as speakers 197 and printer 196, which may be connected through a output peripheral interface 190.
- the computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180.
- the remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in Figure 1.
- the logical connections depicted in Figure 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
- the computer 110 When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet.
- the modem 172 which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism.
- program modules depicted relative to the computer 110, or portions thereof may be stored in the remote memory storage device.
- Figure 1 illustrates remote application programs 185 as residing on memory device 181. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- a peripheral interface 195 may interface to a video input device such as a scanner (not shown) or a digital camera 194, where output peripheral interface may support a standardized interface, including a universal serial bus (USB) interface.
- Color management which may be supported by operating system 134 or by an application 135, assists the user in obtaining a desired color conversion between computer devices.
- the computer devices are typically classified as input devices, e.g., digital camera 194, display devices, e.g., monitor 191, and output devices, e.g., printer 196. Operation of color management is explained in greater detail in the following discussion.
- FIG. 200 illusfrates a hierarchical relation 200 among policy levels that is supported by a color management system in accordance with an embodiment of the invention.
- Relation 200 comprises six policy levels 201-211.
- Policy level 201 level 1 - system level
- Policy level 201 is the highest and coarsest level of control, spanning system-wide color management control.
- the color management system maintains two working spaces (where a working space may be refened as a profile connection space): a small working space and a large working space.
- the small working space is a traditional 8-bpch (bit per channel) color space that keeps an image file's size to a minimum at the expense of color fidelity and dynamic range.
- the small working space is sRGB by default.
- the large working space is a high-fidelity working space.
- the large working space is typically greater than 8-bpch to preserve the image file's quality at expense of increasing the file's size and operation speed.
- the large working space is scRGB (32-b
- the color management system supports three quality settings for specified gamut mappings in converting an image file to either the small working space or the large working space as shown in Table 1.
- the first quality setting Ql optimizes a conversion so that a specified gamut mapping (as discussed with rendering
- the limited 8- bpch fidelity of the small working space generally is associated with a large dynamic range (large gamut) or high color fidelity but not both.
- the image file may experience reduced fidelity if the image file is processed significantly.
- Image files having more than 8-bpch are scaled down to 8-bpch.
- With the second quality setting Q2 (ensure no loss), an image file having 8-bpch data or less is converted to the small working space.
- An image files with more than 8-bpch data is mapped to the large working space.
- an image file is typically characterized by the quality benefits of the third quality setting Q3 (as explained below) but requires more memory resources than with the first quality setting.
- the third quality setting Q3 optimize for quality
- the color management system converts all image files to the large working space so that all operations on an image file are performed in the large working space. If the large working space is configured for the scRGB color space, the image file has greater immunity to clipping with super/sub-luminal value support, maintenance of fidelity due to high-color precision, and faithful color reproduction.
- the processing of an 8- bpch image file requires a memory footprint four times larger than with the first or second quality setting (Ql or Q2).
- the conversion of an image file may require that the image file be converted to a conesponding smaller working space (e.g., an image space having a scRGB color space being converted to the small working space) or to a larger working space (e.g., an image space having a RGB color space converted to the large working space), hi such cases, a rendering intent setting indicates to the color management system how to handle the issue of converting color between color spaces when going from a larger gamut to a smaller one as shown in Table 2.
- the color spaces of the gamuts should be considered. It the color spaces are not the same, the color spaces should be converted to an intermediate space.
- Gamut A is compared with gamut B, in which four possible conditions exist.
- gamut space A is larger than gamut B, where gamut A fully encompasses gamut B.
- gamut A is smaller than gamut B, where gamut A is fully enclosed by gamut B.
- gamut A has an intersection with gamut B, where neither gamut fully encloses the other gamut.
- gamut A is independent of gamut B, where there is not commonality between gamuts.
- binary gamut mapping operations are supported.
- a camera manufacturer may provide a source profile and a source gamut map to replicate the camera's "look and feel"
- a printer manufacturer may provide a destination profile and a destination gamut map to replicate the printer's "look and feel”.
- a color management system supports the capability of selecting the following choices:
- a user may disable color management in its entirety so that color spaces may be meaningless. However, there are mappings that are meaningful with the activation of color management. In such cases, simple arithmetic operations are executed without a traditional color managed context. An example is the conversion from 3- channel RGB to 4-channel CMYK.
- a user may disable color management entirely or select the small working space and the large working space at policy level 201 (system level).
- a lower level policy level i.e. policy level 203, 205, 207, 209, or 211
- policy level 201 may lockout the ability of a lower policy level from overriding policy 201.
- each policy level 201, 203, 205, 207, and 209 has a locking function to provide the user control over whether a lower policy level may override the settings of the policy level, whether or not to prompt the user, or simply carry out the request in accordance with the user's instructions.
- policy level 203 the user can configure policy for the user without affecting policy for other users. This capability may be important if the color management system supported by a computer system (e.g., computer 110) is used by a plurality of users such in an educational system.
- a computer system e.g., computer 110
- the user has the ability of controlling color management based upon the operation being supported by the color management system.
- operations include “capture”, “display”, “print”, “load”, and “save”, “copy” and “paste”.
- the color management system may be configured to always convert the image file to scRGB.
- the color management system may be configured to convert the image file go Epson 9600 - Premium Luster. Policies can be configured for each designated operation.
- policy level 207 the user has the ability to control color management based on an image file's embedded profile or a lack of an embedded profile. The user may desire to perform a certain conversion when certain policies are encountered.
- the user can control conversions by the color management system according to the device and then to codec (format of image file).
- policy level 211 (color management API) an application may make an API call directly to the color management API to perform a color operation.
- the color management API is discussed in more detail with Figures 14 and 15.
- policy level 209 is not typically exposed to the user.
- Figure 3 illustrates a schema of a hierarchical policy sche *ma 300 conesponding to policy levels 201, 203, 205, and 209. Policy may be established for system 301. If policy is not configured for lower policy levels, then the policy configured at the system level 201 is utilized by the color management system. However, a lower level policy can ovenide the policy set by policy level 201 if policy level 201 does not lockout the lower level policy.
- each of three user entities 303, 305, and 307 may conespond to different users of computer 110, in which each user may configure policy for the user's environment without affecting other users.
- user entities 303, 305, and 307 may conespond to other associations.
- user entities 303, 305, and 307 may conespond to different customers of a user, where each customer has different color management objectives that require different policy settings.
- Capture operation 309, display operation 311, print operation 313, load/save operation 315, copy operation 308, and paste operation 316 are associated with operational level 205, in which policy configuration settings are contingent on the type of operation.
- Each operation is hierarchically associated with devices that can support the operation.
- Different devices can be configured with different policy settings at device/codec level 209.
- capture operation 309 as shown in Figure 3, can be associated with a plurality of input devices e.g., cameras 317 and scanners 319, in which each device type is associated with different policy settings.
- Load/save operation 315 can be associated with different codec (format) types including JPEG format 321, TIFF format 323, and GIF format 325.
- Display operation 311 may be associated with different monitor devices (not shown).
- Print operation 313 may be associated with different printer devices (not shown).
- different device models can be configured with specific policy settings. For example, D1X model 327 and D100 model 329 are associated with cameras 317.
- Color management settings in accordance with schema 300, may be represented in text file, e.g., as an Extensible Markup Language (XML) file in which color management settings for each policy level are represented with at least one attribute.
- XML Extensible Markup Language
- the XML file facilitates configuring the policies on computer 110, if the policy settings become contaminated or to conform to policy settings of another computer.
- FIG. 4 shows an architecture of a color management system 400 in accordance with an embodiment of the invention.
- Color management system 400 comprises color processing module 401, configuration module 411, user interface 413, and interface module 421.
- Color processing module 401 comprises color management module (CMM) 407, selected profiles 405, and working space 409.
- CCM color management module
- Color management system 400 may select from one of a plurality of color management modules as configured by policy settings by configuring policy settings through configuration module 411.
- Color management module 407 is a software engine that converts the RGB or CMYK values using the color data in selected profile 405.
- a profile may be associated with source device 415 (e.g., a digital camera) while another profile may be associated with destination device 417.
- a profile may be two-way (i.e., converting from the device space to the working space and from the working space to the device space) because a display device may function as both an input and an output device.
- a profile may be assumed and selected by color management system 400 or may be obtained from an image file if the profile is embedded in the image file.
- color management module 407 determines how colors are computed in working space 409 using the sample points from ⁇ profile 405.
- Color management module 407 typically performs interpolation between the profile sample points to determine the values in working space 409, which may be refened as a profile connection space (PCS).
- PCS profile connection space
- Working space 409 may be a large working space or a small working space as determined by gamut mapping in accordance with policy settings that are obtained from configuration module 411 from user interface 413.
- a user can configure policy settings through user interface 413 by interacting with a series of dialog boxes. (Configuring policy settings is discussed in more detail with Figures 5-12.)
- Configuration module 411 utilizes the inputted policy settings to configure color management system 400.
- configuration module 411 may receive a policy setting that is contained in an input from component 419 through interface module 421.
- component 419 is an application that utilizes application program interface (API) calls to set or to get policy settings from color management system 400.
- API application program interface
- color management system 400 uses the interpolation algorithm defined by color management module 407 to build a table for source device 415 and a table for destination device 417. Color management system 400 connects the two tables together through common working space values and builds a combined table that goes directly from source device 415 and destination device 417. Color management system 400 then passes each pixel in the source image through the combined table, converting the values from source to destination.
- a color management system (e.g., color management system 400) allows for robust color management by permitting a user to monitor, inspect, intenogate, conect, modify, and/or ignore, a color management workflow.
- the color management system assures a user of what color management has been or will be performed, when color management was or will be performed, and by whom color management has, will, or should be performed.
- a choke point is defined as a predefined contact point for a certain operation where all pixels of color object data are sent through one function in a very limited fixed set of exclusive functions.
- choke points are implemented as disclosed in a patent application entitled Color Management System That Enables Dynamic Balancing of Performance with Flexibility, having Attorney docket no. 003797.00696, filed October 10, 2003, wherein the patent application is incorporated by reference in its entirety.
- Figure 5 illusfrates a dialog box 500 for setting policy at a system configuration level in accordance with an embodiment of the invention.
- Dialog box 500 is displayed in response to a user selecting system tab 501.
- Other configuration levels include input configuration level (conesponding to tab 503), display configuration level (conesponding to tab 505), and output configuration level (conesponding to tab 507).
- a different configuration level may be selected through a different configuration indicator, e.g., radio buttons.
- the system configuration level conesponds to system policy level 201 as shown in Figure 2. The user can globally enable color management for the system by selecting "enable color management" object 509.
- the user specifies a low-precision working space (small working space) through “low-precision working space” object 513 and a high-precision working space (large working space) through “high-precision working space” object 515.
- the user specifies a system-wide gamut mapping algorithm through "fidelity" object 517.
- the selections provided with object 517 are consistent with quality settings as previously discussed.
- descriptive text object 519 provides the user assistance and guidance when navigating through the different dialog boxes.
- dialog 500 provides a plurality of user tabs so that another dialog box (not shown) can be displayed, in which the conesponding user may enter policy settings that pertain only to the user and not to other users. This capability may be useful in a computer system that is shared by a plurality of users.
- Figure 6 illusfrates a dialog box 600 for setting policy at an input device configuration level in accordance with an embodiment of the invention.
- Dialog box 600 is displayed in response to the user selecting input configuration tab 503 and device priority tab 601.
- Other priority input tabs include paths priority tab 603, formats priority tab 605, and profiles priority tab 607 which, if selected by the user, conesponds to dialog boxes 700, 800, and 900, respectively.
- the order of priority (from highest to lowest priority) for priority input indicators (conesponding to priority input tabs) is "devices" followed by "paths” followed by "formats” followed by "profiles". Incoming images are matched against higher priority rules before lower priority rules.
- "Input device list” object 609 is a list is devices capable of delivering images to a computer, e.g., computer 110.
- Object 611 displays the input device selected from object 609.
- "Enable color management policy for this input device” object 621 is a global setting for the device. When object 621 is cleared, all other controls (not shown) are disabled, and the device is not included in the set of rules that are applied against incoming images.
- Color manage object 623 indicates whether color management system 400 silently handles color management or whether the user should be prompted at run-time for color management decisions. If object 623 is set to “manual”, the remaining controls on the tab are disabled (not shown). As shown in Figure 6, when object 623 is set to “automatically (by policy)", color management decisions are automatically determined in according to the policy. [79] "Images with a profile” object 613 sets the policy of what to do when an image with an embedded profile is encountered. If object 613 is set to "Respect profile”, color management system 400 converts from the color space indicated by the image's profile. If object 613 is set to "Assign”, color management system 400 ignores the image's embedded profile and uses the specified profile in lieu of the embedded profile.
- object 615 set the policy of what to do when an image without a profile is encountered. If object 615 is set to "Assign”, color management system 400 uses the specified file and may convert (if selected) the image from the assigned profile color space to the working space. If object 615 is set to "Ask me what to do”, color management system 400 prompts the user at the time that the situation is encountered.
- "Gamut mapping" object 617 controls how subject elements of a conversion takes place.
- a list of options is similar (in this embodiment is identical) to the list of options presented in objects 513 and 515 as shown in Figure 5 with the additional choice of "Use System Setting”.
- Object 619 provides description text that is relevant to dialog box 600.
- Figure 7 illustrates a dialog box 700 for setting policy for an input device configuration level that is associated with an access path in accordance with an embodiment of the invention.
- Dialog box 700 is displayed in response to the user selecting input configuration tab 503 and paths priority tab 603.
- Objects 713, 715, 717, 719, 721, and 723 conespond to objects 613, 615, 617, 619, 621, and 623 as shown in Figure 6.
- "Path List” object 701 lists the selectable paths for an image file.
- "Add Path" object 725 enables the user to add a path to "Path List” object 701.
- Dialog box 700 enables the user to instruct color management system 400 to treat other images (e.g., files in a photographer's image library) to be treated independently from other image files. Also, a path designation may be applied to network imaging devices.
- Figure 8 illusfrates a dialog box 800 for setting policy for an input device configuration level that is characterized by a format type in accordance with an embodiment of the invention.
- Dialog box 800 is displayed in response to the user selecting input configuration tab 503 and formats priority tab 605.
- Objects 813, 815, 817, 819, 821, and 823 conespond to objects 613, 615, 617, 619, 621, and 623 as shown in Figure 6.
- "Format List” object 801 lists the selectable image file formats (which may be refened as codecs). Format types include TIFF (tagged image file format), JPEG (Joint Photographic Experts Group), and GIF (graphics interchange format).
- "Add Format" object 825 enables the user to add a format to "Format List” object 801.
- Figure 9 illustrates a dialog box 900 for setting policy for an input device configuration level that is associated with a profile in accordance with an embodiment of the invention.
- Dialog box 900 is displayed in response to the user selecting input configuration tab 503 and profiles priority tab 607.
- Objects 913, 917, 919, 921, and 923 conespond to objects 613, 615, 617, 619, 621, and 623 as shown in Figure 6.
- "Color Management Profiles List" object 1001 lists profiles that may be embedded in an image file.
- Figure 10 illustrates a dialog box 1000 for setting policy for a display device configuration level in accordance with an embodiment of the invention.
- Dialog box 1000 is displayed in response to the user selecting display configuration tab 505.
- Objects 1019, 1021, and 1023 conespond to objects 619, 621, and 623 as shown in Figure 6.
- "Display list" object 1001 lists display devices that may be selected by the user. The selected display device is displayed in object 1003.
- Object 1025 enables the user to select the conesponding profile for the selected display device. Additionally, the user may be reminded to periodically recalibrate the display device in accordance with the selection from object 1027.
- Figure 11 illusfrates a dialog box 1100 for setting policy for an output device configuration level in accordance with an embodiment of the invention.
- Dialog box 1100 is displayed in response to the user selecting output configuration tab 507 and devices priority tab 1101.
- "Output Devices List" object 1107 lists the output devices that the user can select.
- Objects 1117, 1119, 1121, and 1123 conespond to objects 617, 619, 621, and 623 as shown in Figure 6.
- Objects 1125, 1127, 1129, and 1131 enable the user to specify whether to use the cunent profile of the output device, to specify another profile, or to ask the user whenever the situation is encountered.
- Figure 12 illustrates a dialog box 1200 for setting policy for an output device configuration level that is associated with an access path in accordance with an embodiment of the invention.
- Dialog box 1200 is displayed in response to the user selecting output configuration tab 507 and paths priority tab 1103.
- "Output Path List" object 1205 lists the output paths that the user can select. The user can add a path through "add path” object 1233 or remove a path through "remove path” object 1235.
- Objects 1117, 1119, 1121, and 1123 conespond to objects 617, 619, 621, and 623 as shown in Figure 6.
- Objects 1225, 1227, 1229, and 1231 conespond to objects 1125, 1127, 1129, and 1131 as shown in Figure 11.
- Figure 13 illusfrates a dialog box 1300 for setting policy for an output device configuration level that is characterized by a format type in accordance with an embodiment of the invention.
- Dialog box 1300 is displayed in response to the user selecting output configuration tab 507 and formats priority tab 1105.
- "Output Format List” object 1305 lists the formats (similar to the formats discussed in Figure 8) that the user can select.
- the user can add a format through "Add Format” object 1333 and remove a format through "Remove Format” object 1335.
- Objects 1117, 1119, 1121, and 1123 conespond to objects 617, 619, 621, and 623 as shown in Figure 6.
- Objects 1325, 1327, 1329, and 1331 conespond to objects 1125, 1127, 1129, and 1131 as shown in Figure 11.
- dialog boxes 500-1300 imply a mapping between different configuration levels 501-507, as shown in Figures 5-13, and policy levels 201-211, as shown in Figures 2-3, other embodiments of the invention may utilize a different mapping between the configuration levels and the policy levels.
- Figure 14 illusfrates a requesting component 1401 utilizing a program interface call to a color management system 400 in accordance with an embodiment of the invention.
- requesting component 1401 is an application, although with other embodiments, requesting component 1401 may be integrated within peripheral hardware to computer 110 or may be integrated within operating system 134 as shown in Figure 1.
- Requesting component 1401 may configure color management system 400 by setting policy settings that may be similar to the policy settings described in Figures 5-13 (conesponding to dialog boxes 500-1300) in which a user inputs the policy settings through user interface 413 and configuration module 411 as shown in Figure 4.
- a policy setting may conespond to different objects in Figures 5-13, e.g., the specification of color spaces and gamut mappings.
- Requesting component 1401 sends an input 1403 (which is API call SET(A,B) 1403 in the embodiment shown in Figure 14) to color management system 400.
- Input 1403 contains parameter 1409 (which conesponds to a value of a policy setting) and parameter 1411 (which conesponds to an associated configuration level), fri response to input 1403, color management system 400 returns a result (conesponding to RETURN RESULT 1407), where parameter 1413 is indicative whether the value of the policy setting was successfully updated.
- requesting component 1401 may send an input 1405 (which is API call GET(A,B) in the embodiment) to color management system 400 to obtain the cunent value of a policy setting.
- Parameter 1409 conesponds to an identification of a policy setting and parameter 1411 conesponds to an associated configuration level.
- color management system 400 returns a result (conesponding to RETURN RESULT 1407), where parameter 1413 is indicative of the value of the policy setting.
- Figure 15 illustrates requesting component 1501 utilizing a program interface call to color management system 400 through intermediate component 1551 in accordance with an embodiment of the invention.
- requesting component 1501 sends an input (input 1503 with parameters 1509 and 1511 or 1505 with parameters 1515 and 1517) to color management system 400.
- the input is sent through intermediate component 1551, which may be another application or a utility program.
- Intermediate component 1551 transfers the input to color management system 400.
- intermediate component 1551 transfers the result (RETURN_RESULT 1507) to requesting component 1501, where parameter 1513 is indicative of the result.
- inputs 1403, 1405, 1503, and 1505 may be expanded to a support a plurality of policy settings within each input, where parameters 1409, 1415, 1509, and 1515 may contain a list of parameter settings and where parameters 1413 and 1513 may contain a list of results for each of the conesponding parameter settings.
- a programming interface may be viewed as any mechanism, process, protocol for enabling one or more segment(s) of code to communicate with or access the functionality provided by one or more other segment(s) of code.
- a programming interface may be viewed as one or more mechanism(s), method(s), function call(s), module(s), object(s), etc. of a component of a system capable of communicative coupling to one or more mechanism(s), method(s), function call(s), module(s), etc. of other component(s).
- segment of code in the preceding sentence is intended to include one or more instructions or lines of code, and includes, e.g., code modules, objects, subroutines, functions, and so on, regardless of the terminology applied or whether the code segments are separately compiled, or whether the code segments are provided as source, intermediate, or object code, whether the code segments are utilized in a runtime system or process, or whether they are located on the same or different machines or distributed across multiple machines, or whether the functionality represented by the segments of code are implemented wholly in software, wholly in hardware, or a combination of hardware and software.
- a programming interface may be viewed generically, as shown in Figure 16 or Figure 17.
- Figure 16 illustrates an interface Interfacel as a conduit through which first and second code segments communicate.
- Figure 17 illusfrates an interface as comprising interface objects II and 12 (which may or may not be part of the first and second code segments), which enable first and second code segments of a system to communicate via medium M.
- interface objects II and 12 which may or may not be part of the first and second code segments
- FIG. 17 show bi-directional flow and interfaces on each side of the flow, certain implementations may only have information flow in one direction (or no information flow as described below) or may only have an interface object on one side.
- terms such as application programming interface (API), entry point, method, function, subroutine, remote procedure call, and component object model (COM) interface, are encompassed within the definition of programming interface.
- API application programming interface
- COM component object model
- aspects of such a programming interface may include the method whereby the first code segment transmits information (where "information" is used in its broadest sense and includes data, commands, requests, etc.) to the second code segment; the method whereby the second code segment receives the information; and the structure, sequence, syntax, organization, schema, timing and content of the information.
- the underlying transport medium itself may be unimportant to the operation of the interface, whether the medium be wired or wireless, or a combination of both, as long as the information is transported in the manner defined by the interface.
- information may not be passed in one or both directions in the conventional sense, as the information transfer may be either via another mechanism (e.g. information placed in a buffer, file, etc.
- a communication from one code segment to another may be accomplished indirectly by breaking the communication into multiple discrete communications.
- This is depicted schematically in Figures 18 and 19.
- some interfaces can be described in terms of divisible sets of functionality.
- the interface functionality of Figures 16 and 17 may be factored to achieve the same result, just as one may mathematically provide 24, or 2 times 2 times 3 times 2.
- the function provided by interface Interfacel may be subdivided to convert the communications of the interface into multiple interfaces Interfacel A, Interface IB, Interface 1C, etc. while achieving the same result.
- the function provided by interface II may be subdivided into multiple interfaces II a, lib, lie, etc. while achieving the same result.
- interface 12 of the second code segment which receives information from the first code segment may be factored into multiple interfaces I2a, I2b, I2c, etc.
- the number of interfaces included with the 1st code segment need not match the number of interfaces included with the 2nd code segment.
- the functional spirit of interfaces Interfacel and II remain the same as with Figures 16 and 17, respectively.
- the factoring of interfaces may also follow associative, commutative, and other mathematical properties such that the factoring may be difficult to recognize.
- ordering of operations may be unimportant, and consequently, a function carried out by an interface may be carried out well in advance of reaching the interface, by another piece of code or interface, or performed by a separate component of the system.
- a function carried out by an interface may be carried out well in advance of reaching the interface, by another piece of code or interface, or performed by a separate component of the system.
- one of ordinary skill in the programming arts can appreciate that there are a variety of ways of making different function calls that achieve the same result.
- the functionality of square can be achieved, so long as output is returned after input is squared by the second code segment.
- Precision may very well be a meaningful parameter to some downstream or other portion of the computing system; however, once it is recognized that precision is not necessary for the nanow purpose of calculating the square, it may be replaced or ignored. For example, instead of passing a valid precision value, a meaningless value such as a birth date could be passed without adversely affecting the result.
- interface II is replaced by interface II', redefined to ignore or add parameters to the interface.
- Interface 12 may similarly be redefined as interface 12', redefined to ignore unnecessary parameters, or parameters that may be processed elsewhere.
- a programming interface may include aspects, such as parameters, that are not needed for some purpose, and so they may be ignored or redefined, or processed elsewhere for other purposes.
- Figures 16 and 17 may be converted to the functionality of Figures 22 and 23, respectively.
- Figure 22 the previous 1st and 2nd Code Segments of Figure 16 are merged into a module containing both of them.
- the code segments may still be communicating with each other but the interface may be adapted to a form which is more suitable to the single module.
- formal Call and Return statements may no longer be necessary, but similar processing or response(s) pursuant to interface Interfacel may still be in effect.
- part (or all) of interface 12 from Figure 17 may be written inline into interface II to form interface II".
- interface 12 is divided into I2a and I2b, and interface portion I2a has been coded in-line with interface II to form interface II".
- interface II For a concrete example, consider that the interface II from Figure 17 performs a function call square (input, output), which is received by interface 12, which after processing the value passed with input (to square it) by the second code segment, passes back the squared result with output. In such a case, the processing performed by the second code segment (squaring input) can be performed by the first code segment without a call to the interface.
- a communication from one code segment to another may be accomplished indirectly by breaking the communication into multiple discrete communications. This is depicted schematically in Figures 24 and 25. As shown in Figure 24, one or more piece(s) of middleware (Divorce Interface(s), since they divorce , functionality and / or interface functions from the original interface) are provided to convert the communications on the first interface, Interfacel, to conform them to a different interface, in this case interfaces Interface2A, Interface2B and Interface2C. This might be done, e.g., where there is an installed base of applications designed to communicate with, say, an operating system in accordance with an Interfacel protocol, but then the operating system is changed to use a different interface, in this case interfaces Interface2A, Interface2B and Interface2C.
- middleware Divorce Interface(s)
- a third code segment can be introduced with divorce interface DI1 to receive the communications from interface II and with divorce interface DI2 to transmit the interface functionality to, for example, interfaces I2a and I2b, redesigned to work with DI2, but to provide the same functional result.
- DI1 and DI2 may work together to translate the functionality of interfaces II and 12 of Figure 17 to a new operating system, while providing the same or similar functional result.
- Yet another possible variant is to dynamically rewrite the code to replace the interface functionality with something else but which achieves the same overall result.
- a code segment presented in an intermediate language e.g. Microsoft IL, Java ByteCode, etc.
- JIT Just-in-Time
- the JIT compiler may be written so as to dynamically convert the communications from the 1st Code Segment to the 2nd Code Segment, i.e., to conform them to a different interface as may be required by the 2nd Code Segment (either the original or a different 2nd Code Segment).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
- Processing Or Creating Images (AREA)
- Facsimile Image Signal Circuits (AREA)
- Digital Computer Display Output (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006539462A JP4796503B2 (en) | 2003-11-10 | 2004-07-30 | System for customer and automatic color management using policy control |
EP04779769.1A EP1588243B1 (en) | 2003-11-10 | 2004-07-30 | A system for customer and automatic color management using policy controls |
KR1020057010326A KR101120693B1 (en) | 2003-11-10 | 2004-07-30 | A system for customer and automatic color management using policy controls |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/704,833 | 2003-11-10 | ||
US10/704,833 US7636468B2 (en) | 2003-11-10 | 2003-11-10 | System for customer and automatic color management using policy controls |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2005048017A2 true WO2005048017A2 (en) | 2005-05-26 |
WO2005048017A3 WO2005048017A3 (en) | 2005-09-22 |
Family
ID=34552210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2004/024817 WO2005048017A2 (en) | 2003-11-10 | 2004-07-30 | A system for customer and automatic color management using policy controls |
Country Status (6)
Country | Link |
---|---|
US (2) | US7636468B2 (en) |
EP (1) | EP1588243B1 (en) |
JP (2) | JP4796503B2 (en) |
KR (1) | KR101120693B1 (en) |
CN (1) | CN100361069C (en) |
WO (1) | WO2005048017A2 (en) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6937249B2 (en) * | 2003-11-07 | 2005-08-30 | Integrated Color Solutions, Inc. | System and method for display device characterization, calibration, and verification |
US7636468B2 (en) * | 2003-11-10 | 2009-12-22 | Microsoft Corporation | System for customer and automatic color management using policy controls |
US20050219561A1 (en) * | 2003-11-28 | 2005-10-06 | Canon Kabushiki Kaisha | User interface for selecting color settings |
US7394565B2 (en) * | 2003-12-30 | 2008-07-01 | Microsoft Corporation | System and method for dynamically controlling gamut mapping functions |
US20060048064A1 (en) * | 2004-08-31 | 2006-03-02 | Microsoft Corporation | Ambient display of data in a user interface |
US7570403B2 (en) * | 2005-03-16 | 2009-08-04 | Kabushiki Kaisha Toshiba | Color image processing apparatus |
KR100743766B1 (en) * | 2005-08-17 | 2007-07-30 | 엘지전자 주식회사 | Method and apparatus of correcting color coordinate |
US8237736B2 (en) | 2006-06-01 | 2012-08-07 | Microsoft Corporation | User interface color based on background image |
KR20080029410A (en) * | 2006-09-29 | 2008-04-03 | 삼성전자주식회사 | Display system and image processing method thereof |
US20080123948A1 (en) * | 2006-11-29 | 2008-05-29 | Monotype Imaging, Inc. | Profile creation configuration file |
KR20080052007A (en) * | 2006-12-07 | 2008-06-11 | 삼성전자주식회사 | System of output for multi output and method thereof |
US8237938B2 (en) | 2006-12-08 | 2012-08-07 | Samsung Electronics Co., Ltd. | Method and apparatus to create color conversion profiles |
US8386653B2 (en) | 2007-03-27 | 2013-02-26 | Microsoft Corporation | Instrumenting configuration and system settings |
US8040356B2 (en) * | 2007-03-30 | 2011-10-18 | Microsoft Corporation | Color management user interface |
US8448193B2 (en) | 2007-04-27 | 2013-05-21 | Ricoh Company, Ltd. | Image forming device, information processing method, and information processing program |
JP4985087B2 (en) * | 2007-05-11 | 2012-07-25 | 富士ゼロックス株式会社 | Image processing apparatus, image output apparatus, image processing system, image processing program, and image output program |
US7869619B2 (en) * | 2007-08-30 | 2011-01-11 | Integrated Color Solutions, Inc. | System and method for display device characterization, calibration, and verification |
JP4898606B2 (en) * | 2007-09-06 | 2012-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Apparatus and method for providing a user interface |
US7941443B1 (en) * | 2008-05-21 | 2011-05-10 | Symantec Corporation | Extending user account control to groups and multiple computers |
US8314979B2 (en) * | 2008-05-27 | 2012-11-20 | Xerox Corporation | Color management methods and systems to adaptively tune colors for image marking devices |
EP2304578A4 (en) * | 2008-06-13 | 2012-08-29 | Hewlett Packard Development Co | Hierarchical policy management |
US8560941B2 (en) * | 2009-04-08 | 2013-10-15 | Microsoft Corporation | Schema based user interface mechanisms |
US20110222761A1 (en) * | 2010-03-10 | 2011-09-15 | Canon Kabushiki Kaisha | Method and system for preserving the creative intent within an image production chain |
US9152437B2 (en) * | 2010-10-28 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Dynamically installing image processing |
US8687091B2 (en) | 2010-11-03 | 2014-04-01 | Canon Kabushiki Kaisha | Image capturing systems and methods utilizing customizable look management |
US8866838B2 (en) | 2010-12-01 | 2014-10-21 | Apple Inc. | Color management for multiple display presentation of visual media |
RU2487409C2 (en) * | 2011-02-17 | 2013-07-10 | Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военный авиационный инженерный университет" (г. Воронеж) Министерства обороны Российской Федерации | Method of generating solutions to problems of developing automated control system and system for realising said method |
US8621341B2 (en) * | 2011-10-28 | 2013-12-31 | Microsoft Corporation | Theming engine |
US9015857B2 (en) * | 2011-11-14 | 2015-04-21 | Wave Systems Corp. | Security systems and methods for encoding and decoding digital content |
US9047489B2 (en) * | 2011-11-14 | 2015-06-02 | Wave Systems Corp. | Security systems and methods for social networking |
US9043866B2 (en) * | 2011-11-14 | 2015-05-26 | Wave Systems Corp. | Security systems and methods for encoding and decoding digital content |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0975150A2 (en) | 1998-07-24 | 2000-01-26 | Canon Kabushiki Kaisha | Image processing apparatus and method, and profile generating method |
US20030167447A1 (en) | 2001-12-04 | 2003-09-04 | Seiko Epson Corporation | Layout editing program |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH087553B2 (en) * | 1988-10-27 | 1996-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Color image quantization method and apparatus |
US5502580A (en) | 1993-10-06 | 1996-03-26 | Fuji Photo Film Co., Ltd. | Color reproduction system |
AU3232595A (en) * | 1994-07-01 | 1996-01-25 | Apple Computer, Inc. | Method and system for embedding a device profile into a document and extracting a device profile from a document in a color management system |
US5668596A (en) * | 1996-02-29 | 1997-09-16 | Eastman Kodak Company | Digital imaging device optimized for color performance |
US6603879B2 (en) * | 1999-11-15 | 2003-08-05 | Canon Kabushiki Kaisha | Embedded gamut mapping algorithm |
US6977661B1 (en) * | 2000-02-25 | 2005-12-20 | Microsoft Corporation | System and method for applying color management on captured images |
US6462748B1 (en) | 2000-02-25 | 2002-10-08 | Microsoft Corporation | System and method for processing color objects in integrated dual color spaces |
US6628828B1 (en) | 2000-04-24 | 2003-09-30 | Microsoft Corporation | System and method for performing a recoloring operation sequence on color objects |
US6525721B1 (en) | 2000-05-05 | 2003-02-25 | Xerox Corporation | Color profile management and color collection management, navigation and visual design |
US6831998B1 (en) * | 2000-06-22 | 2004-12-14 | Hitachi, Ltd. | Inspection system for circuit patterns and a method thereof |
US6831999B2 (en) * | 2001-02-08 | 2004-12-14 | Canon Kabushiki Kaisha | Color management architecture using phantom profiles to transfer data between transformation modules |
CA2353390C (en) * | 2001-07-20 | 2008-11-04 | Corel Corporation | System and method for colour management of colour devices and colour spaces |
JP3646931B2 (en) * | 2001-08-29 | 2005-05-11 | セイコーエプソン株式会社 | Image retouching program |
US7466447B2 (en) * | 2003-10-14 | 2008-12-16 | Microsoft Corporation | Color management system that enables dynamic balancing of performance with flexibility |
US7636468B2 (en) * | 2003-11-10 | 2009-12-22 | Microsoft Corporation | System for customer and automatic color management using policy controls |
US20080195977A1 (en) * | 2007-02-12 | 2008-08-14 | Carroll Robert C | Color management system |
-
2003
- 2003-11-10 US US10/704,833 patent/US7636468B2/en active Active
-
2004
- 2004-07-30 EP EP04779769.1A patent/EP1588243B1/en not_active Expired - Lifetime
- 2004-07-30 CN CNB2004800031593A patent/CN100361069C/en not_active Expired - Fee Related
- 2004-07-30 KR KR1020057010326A patent/KR101120693B1/en active IP Right Grant
- 2004-07-30 WO PCT/US2004/024817 patent/WO2005048017A2/en active Application Filing
- 2004-07-30 JP JP2006539462A patent/JP4796503B2/en not_active Expired - Fee Related
-
2009
- 2009-05-15 US US12/467,156 patent/US7711185B2/en not_active Expired - Fee Related
-
2010
- 2010-06-14 JP JP2010134647A patent/JP2010231804A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0975150A2 (en) | 1998-07-24 | 2000-01-26 | Canon Kabushiki Kaisha | Image processing apparatus and method, and profile generating method |
US20030167447A1 (en) | 2001-12-04 | 2003-09-04 | Seiko Epson Corporation | Layout editing program |
Non-Patent Citations (1)
Title |
---|
See also references of EP1588243A4 |
Also Published As
Publication number | Publication date |
---|---|
WO2005048017A3 (en) | 2005-09-22 |
US20050100211A1 (en) | 2005-05-12 |
CN100361069C (en) | 2008-01-09 |
KR101120693B1 (en) | 2012-03-23 |
JP4796503B2 (en) | 2011-10-19 |
US7711185B2 (en) | 2010-05-04 |
JP2007511004A (en) | 2007-04-26 |
US20090228955A1 (en) | 2009-09-10 |
EP1588243A2 (en) | 2005-10-26 |
JP2010231804A (en) | 2010-10-14 |
US7636468B2 (en) | 2009-12-22 |
EP1588243A4 (en) | 2009-09-30 |
CN1816815A (en) | 2006-08-09 |
KR20060113356A (en) | 2006-11-02 |
EP1588243B1 (en) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7711185B2 (en) | System for customer and automatic color management using policy controls | |
US7593959B2 (en) | Color management system that supports legacy and advanced color management applications | |
US7796299B1 (en) | Composite rendering intent for color proofing applications | |
US7227666B1 (en) | Dynamic selection of rendering intent for color proofing transforms | |
JP4471056B2 (en) | Color image processor and image rendering method | |
JP2014165656A (en) | Color profile generation device, image processing apparatus, image processing system, color profile generation method and program | |
US20070279659A1 (en) | Color converter, color converting method, and computer readable medium | |
US7456999B2 (en) | Device link profile creation method and device and image processing apparatus | |
JP4910557B2 (en) | Color conversion apparatus, color conversion method, color conversion program, color conversion coefficient creation apparatus, color conversion coefficient creation method, and color conversion coefficient creation program | |
US7973971B1 (en) | Gray component replacement in color conversions | |
US20070211267A1 (en) | System and method for extracting grayscale data within a prescribed tolerance | |
JP2001111862A (en) | Image processing method and image processing system | |
US7518752B2 (en) | System and method for two color document rendering | |
JP2007243957A (en) | System, method and program for extracting gray information from color image data | |
US8351099B2 (en) | Hue specific monochromatic printing mechanism | |
JP2021180377A (en) | Image processing device, control method of the same, and program | |
JP2007214954A (en) | Color transformation device and method, and image forming system | |
Allen | Colour management systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020057010326 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004779769 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006539462 Country of ref document: JP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 20048031593 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2004779769 Country of ref document: EP |