Using Color Management on the Internet

[This is preliminary documentation and subject to change.]

Color images and graphics are an increasingly important way of communicating information for users of the Internet. Color conversion information can be embedded in some file formats. The embedding techniques currently used are not compact. Internet bandwidth considerations often make them impractical. Internet considerations include the following topics:

sRGB: A Proposed Standard Color Space

As a result of Internet bandwidth considerations, Hewlett-Packard and Microsoft have proposed the adoption of a standard predefined color space known as sRGB, so as to allow accurate color mapping with very little data overhead. A white paper discussing the technical issues involved in sRGB is available on the Internet at:

http://www.color.org/contrib/sRGB.html

A help-file version of the white paper, sRGB.hlp, is also available in the \Help folder of the ICM 2.0 Programmer's Reference.

Different file formats may use or add a flag to specify that the image is in sRGB color space. In the Windows device-independent bitmap (DIB) format, setting the bV5CSType member of the BITMAPV5HEADER structure to LCS_sRGB specifies that the DIB colors are in the sRGB color space.

ICM 2.0 provides native support for sRGB. There are two ways to use ICM 2.0 for rendering an image defined in the sRGB color space:

ICM 2.0 Defaults for Input Color Space and Output Profile

When no input color space is specified, by default ICM 2.0 uses the sRGB color space as the input color space for color mapping.

When no output profile is specified, but a default device is specified, ICM 2.0 selects a default output profile. If the default device does not have an associated profile, ICM 2.0 uses the sRGB color space as the output profile.

The following table shows the resulting color transforms when a default device is not available.

Output Profile
Specified
Output Profile
Not Specified
Input Color Space
Specified
Transform uses the specified profiles. Transform converts from known input color space to sRGB.
Input Color Space Not Specified Transform converts from sRGB to known output profile. Transform from sRGB to sRGB is assumed; nothing is done.

sRGB and Embedded Profiles

Applications that utilize ICM can embed profiles in images. Embedded profiles assist users' applications in maintaining a consistent color appearance even if images are transmitted across the Internet. One of the primary advantages of the sRGB color space is that it is readily available on all versions of Windows and Windows NT that support ICM (For information on which versions of Windows and Windows NT provide ICM support, see ICM 2.0 Availability).

Images that use the sRGB color space do not need an embedded color profile. Because they have no embedded profile, sRGB-based images are smaller and more readily transferable across data channels with limited bandwidth.

Applications should set the LCS_sRGB flag in the image's bitmap header to indicate that the image uses the sRGB color space. For details, see Windows Bitmap Header Structures and LOGCOLORSPACE.