Introduction to Color Management in Microsoft Windows Operating Systems
Color Is Pervasive Across Media, Yet Difficult To Reproduce Consistently
Over the years, magazines, newspapers, television, computers and, now, the Internet have all made the transition from black and white to color.
Now that all these media use color, they provide professional designers with the challenge of finding a way to make color consistent from page to screen to printer and beyond. Consistent color across various displays and types of output is critical to success. For example, in the publishing industry, consistent color throughout the commercial publishing process will save both time and money. Designers want to ensure that their clients' printed material will produce the same results when the job is passed to the service bureau, trade shop, and printer and that it will also look great when it's made available on the Internet.
The same is true for business professionals developing color presentations, or consumers wanting to buy products from an Internet site. All these users expect "true" or what-you-see-is-what-you-get (WYSIWYG) computer color across all input and output peripherals and across various publishing and productivity applications. The computer industry has increased expectations for WYSIWYG graphics by achieving consistency in black-and-white publishing.
With color, however, WYSIWYG results across scanners, monitors, applications, and printers are often difficult, or impossible, to achieve for two reasons:
- Different illuminants and colorants. There is no color without light. White light contains the three components of color, namely red, green, and blue (RGB), and the perception of color is based on which of these wavelengths reach our eyes.
Monitors and scanners are based on the "additive" color system using RGB, starting with black and then adding red, green, and blue to achieve color. Full saturation of RGB gives the perception of white, and images are created that radiate varying amounts of RGB.
Printers are based on the "subtractive" color system, usually using the colors cyan, magenta, yellow, and black (CMYK). Printed material creates images by reflecting light off of substances such as ink, dye, wax, and toner. Printers begin with white (the presence of white light) and subtract RGB to achieve colors and black. Cyan, for instance, subtracts red and allows the reflection of green and blue.
Both RGB and CMYK are known as device-dependent color systems or "color spaces."
Monitors can look different from one another for a variety of reasons, such as variances in the phosphors used to radiate the light and different bit depths. Printers can also give different results depending on a number of factors, such as the media used and the inks.
- Different gamuts. Each device, whether a scanner, monitor, or printer, has a particular range of colors that it is capable of producing, known as the device gamut. The gamut of a device is determined by the physical characteristics of the device itself, as well as the ambient lighting (for example, the colors may appear rich in a dimly lit room and washed out in bright viewing conditions).
A low-cost color monitor can, in many cases, reproduce nearly twice the number of colors as a multimillion-dollar printing press, because the gamut of the monitor is superior to that of the press.
The gamuts of devices of the same types may vary. For instance, the gamuts of scanners depend on the technology used (flatbed, drum, charge-coupled device) as well as the media scanned (reflective vs. transparent). With monitors, the gamut depends on the composition of the phosphors. With printers, the gamut varies depending on the inks and media used.
Because color science is so complex, it is impossible to completely eliminate these differences. However, there is a way to improve the situation - a color management system. A color management system (CMS) performs three main functions:
- Maps colors between devices that have different gamuts (e.g., scanners and monitors)
- Transforms colors from one color space to another (e.g., RGB to CMYK)
- Provides accurate on-screen or print previews that allow for corrective action
Color Management at the Operating-System Level Brings Advantages over Application-Specific Color
In the publishing process, images and graphics are captured by scanners and digital cameras as well as from CDs, and they are brought together in editing and composition packages. From here, design professionals use a variety of proofing systems to simulate the final printed output and, ultimately, generate film for plate generation for final delivery to commercial printing presses. Designers also take these graphics to the Internet. Business and home users are likely to deliver their final graphics to a color printer, to the Internet, or to an intranet in corporate environments.
The publishing process is summarized in the Figure 1:
Figure 1. The publishing process
Being able to consistently reproduce color across scanners, monitors, printers, and applications sounds like a simple goal; but without a color management system in the operating system, it is difficult to achieve.
Without a standard CMS, each application writes to a different proprietary color management system with little or no interaction with the operating system. Each application generates its own color profiles, limiting the ability for consistent color interchange throughout the publishing process, which includes scanning, editing and composition, proofing, and distribution. The applications may produce different results.
In addition, each application must supply profiles for all kinds of devices, as well as profile generation tools for all types of devices, a disadvantage to both the application developer and to the user.
As a result of each application generating its own profiles for every conceivable device, and in the absence of consistent interchange between devices, acceptable color on the output is achieved largely through trial and error. See Figure 2 for a diagram of application-specific color management.
Figure 2. Application-specific color management
Enhanced Color Support for Publishing and Productivity Applications
Microsoft Corporation's first implementation of color management support was released in the Microsoft® Windows® 95 operating system as Integrated Color Management (ICM) 1.0, an API to which third-party applications can write. This version of ICM was designed to address the needs of applications that work with RGB, to work seamlessly for the end user, and to enable simple support from application developers.
ICM 1.0 supports profiles that conform to the International Color Consortium (ICC) profile specification. The ICC profile specification is a cross-platform industry standard that accurately and consistently characterizes devices including scanners, monitors, and printers. The ICC started in 1993 as an organization to promote color standards with desktop applications.
ICM profiles must be installed for all of the color devices on the user's system, and applications that need to portray colors accurately must support the ICM 1.0 API.
The ICM 1.0 technology supports alternate color management modules (CMMs) that transform color information between different color spaces, such as the RGB colors captured by the scanner to the slightly different RGB values displayed on a monitor or sent to printers.
After listening to customers and application vendors, Microsoft enhanced the capability of ICM to provide increased functionality and performance and to bring it to the Windows 2000 operating system and Windows 98, extending the reach beyond Windows 95. Microsoft also wanted support for more color spaces (beyond RGB to CMYK, to device-independent color spaces such as CIELAB, a theoretical color space defined by the Commission Internationale de L'Eclairage, or CIE), as well as support for additional colors for processes such as HiFi Color.
Higher-Quality Color Management Module
ICM 2.0 supports the LinoColor color management module (CMM) as the default CMM. The CMM transforms color information across various devices. Linotype-Hell AG is one of the leading vendors of color technology in the publishing and prepress world. This technology is now expected to become available to all applications that support the ICM 2.0 API.
Applications will now have the ability to support all color spaces—RGB and CMYK, as well as device-independent color spaces, such as those defined by the CIE, e.g., CIELAB.
ICM 2.0 supports up to eight input and output color channels for enhanced printing processes, such as HiFi Color.
Support for Industry Standards Ensures Cross-Platform Compatibility
By licensing the industry-standard LinoColorCMM and continuing support for ICC profiles, Microsoft is helping to ensure that applications that support ICM 2.0 will be compatible with other platforms—a fact that is important because multiple platforms may be used throughout the color publishing process.
Like ICM 1.0, ICM 2.0 supports the ICC profiles, allowing the same device profiles to be used across platforms and ensuring better color management throughout the publishing process. Microsoft plans to recommend that all hardware vendors ship these profiles with their Windows-compatible peripherals, ensuring a high level of compatibility and availability.
Ease of Use for Productivity Application End Users, Publishing Professionals, and Developers
For productivity and entry-level publishing applications, ICM 2.0 can be configured to be completely transparent to the end user.
For professional publishing applications, full manual control is available, in each case ensuring color consistency across devices and platforms. In addition, for professional publishers, ICM provides an easy-to-use selection method for choosing alternative profiles.
For application developers, the ICM API is simple to implement.
Modular, Extensible Architecture
Applications will have the ability to support two levels of API - one that deals only in RGB, and one that works in multiple color spaces. As developers take advantage of these enhanced capabilities, users will be able to manage device profiles and select an alternate CMM for their color transformations.
The architecture is summarized in Figure 3.
Figure 3. ICM 2.0 technology overview
Support for a Complementary Standard Color Space: sRGB
ICM provides a standard way to manage color between any input device (e.g., scanner) and output device (e.g., monitor), including the ability to embed ICC profiles directly into the image or to pass the ICC profile directly to the application. The application, together with ICM and the rendering intent, generates a transform that ensures accurate color representation between the input and output device.
Embedding the ICC profile into each image is an excellent way to ensure that the color profile information is being passed along throughout the publishing process. However, the additional overhead it adds to the image may be unacceptable for transmission over the Internet. Also, several image formats currently do not support embedded ICC profiles, which makes it very difficult to represent the color image accurately.
Hewlett-Packard Co. and Microsoft have created a new color space, sRGB, which is meant to complement current color management strategies by enabling another method of handling color in the operating system and the Internet. It will provide good quality and backward compatibility, with minimum transmission and system overhead. Based on a calibrated colorimetric RGB color space, which is well suited to monitors, television, scanners, digital cameras and printing systems, such a space can be supported with minimum cost to software and hardware vendors.
In addition, both companies have worked with the World Wide Web Consortium (W3C) to ensure that sRGB is available to all vendors. sRGB is now the standard color space for HTML 3.2 and Cascading Style Sheets (CSS) 1.0, and it is freely available to any software or hardware vendor.
Microsoft also plans to make sRGB the default color space in Windows 98 and Windows 2000 operating systems for all color images that do not have an embedded ICC profile, or for images that are not specifically tagged with other color information. This will help ensure that colors are represented in a way that looks best on the widest range of devices.
A summary of when sRGB is expected to be used is outlined in Figure 4. The "source" referred to in the figure could be a scanner, and the "destination" could be a monitor.
Figure 4. Understanding when sRGB is the default color space in the color mapping process
For More Information
International Color Consortium (ICC) Web site:
World Wide Web Consortium (W3C) HTML 3.2 Web site:
W3C CSS 1.0 Web site:
W3C Web site article "A Standard Default Color Space for the Internet - sRGB":
- Color spaces
- A theoretical three-dimensional color system, whereby the axes of color, hue, saturation, and brightness can be represented.
- A dye or pigment that causes a color to appear.
- Color management module (CMM)
- A component in a color management system (CMS) that transforms color data from one color space to another.
- Cascading Style Sheets (CSS)
- CSS1 is a simple style sheet mechanism that allows authors and readers to attach style (e.g., fonts, colors, and spacing) to HTML documents. The CSS1 language is human-readable and writable, and expresses style in common desktop publishing terminology.
- Commission Internationale de L'Eclairage, an organization for setting standards for color measurement.
- A theoretical color space defined by the CIE.
- A color space whereby one can measure the color values. Colorimeters are devices used to measure the color values on a monitor or on printed material.
- Cyan, magenta, yellow, and black are the four-color process inks used in color printing. Cyan absorbs the red hues, magenta absorbs the green hues, and yellow absorbs the blue hues. Black is an ink whose colorant has no apparent hue.
- HiFi Color
- HiFi Color is a variety of print processes that achieve superior visual appearance of color and imagery not possible with conventional four-color process printing. HiFi Color offers an expanded color gamut compared with traditional printing processes.
- HTML 3.2
- Hypertext markup language is the open-standards language for describing the hyperlinking on the Internet. The standards body that evolves the language is known as the World Wide Web Consortium (W3C). Version 3.2 is the current version of the language in the industry.
- International Color Consortium (ICC)
- The International Color Consortium was established in 1993 by eight industry vendors for the purpose of creating, promoting and encouraging the standardization and evolution of an open, vendor-neutral, cross-platform color management system architecture and components.
- Red, green, and blue is the color system used in scanners, digital cameras, and printers.
- World Wide Web Consortium (W3C)
- The standards body responsible for advancing the Internet standards.