Image Serving color management image-serving-color-management
Image Serving supports color space conversions based on color space profiles conforming to the ICC (International Color Consortium) specification.
Default color spaces section-8cfe60808bce49968091995e4e521dba
Each image catalog (and the default catalog) can define a set of ICC profiles which constitute the default color spaces for this catalog - one input and one output profile each for gray-scale, RGB, and CMYK data. See
attribute::IccProfileRgb
attribute::IccProfileGray
attribute::IccProfileCmyk
attribute::IccProfileSrcRgb
attribute::IccProfileSrcGray
attribute::IccProfileSrcCmyk.
Input color space section-9f08e2c1b6aa4fe4815be174972c1944
Source images may embed ICC profiles to define the input color space. If no profile is embedded in a source image, attribute::IccProfileSrc*
of the applicable image catalog corresponding to the pixel type of the source image is used. If this attribute is not defined in the image catalog, attribute::IccProfile*
is used. If that catalog attribute is not defined either, the image is not color-managed and only naïve transforms are applied.
Output color space section-b517bca622b64dcfa7defba6035d0716
The color space of the final image result of a request is defined with the icc=
command. If icc=
is not specified, the default output color space (from the request’s main catalog) which corresponds to the pixel type of the output image is used as the output color space. If no output profile is defined in the main or default catalog, and if the base layer is an image with an embedded profile matching the output pixel type, then that profile is used for the output color space. Otherwise, the output color space remains undefined – only naïve color conversions are applied when converting between pixel types and no color profile can be embedded in the output image.
The output color space of a nested/embedded Image Serving request is always the same as the output color space of the outer, embedding request.
Solid colors section-df03a5c5ca894e6f8b9a5ba02cf6ac03
Color values specified with color=
, bgcolor=
, or the RTF command \iscolortbl
are associated with the input color space if the color value includes the suffix ‘S’, otherwise they are associated with the output color space. Color values specified with bgc=
or the RTF commands \colortbl
and \cmykcolortbl
are always associated with the corresponding default or actual output color space.
bgc=
does not fully participate in color management-the ‘S’ suffix is ignored when specified with bgc=
, and naïve conversion is applied when the pixel type of the color value specified with bgc=
differs from the pixel type of the output image. Otherwise, bgc=
is associated with the actual output color space.Nested and embedded requests section-bdda638c31504f26a77e51ebb1ea6e3b
The output color space for nested IS requests and embedded IR requests is automatically set to the output color space of the outermost request, unless the nested request specifies an explicit output color space with icc=
. In addition, nested/embedded requests also inherit the default output color spaces from the main catalog of the outermost request, to ensure consistent handling of solid color values.
Color space conversion section-ca87b80b8e364ea59d8a92d87121b0fb
Image Serving generally attempts to delay color conversions during processing. If all layers of an image have the same layer color space, conversion to the output color space is done after merging and final scaling. If multiple layer color spaces are involved, each layer is transformed to the output color space prior to merging.
op_brightness=
, op_colorbalance=
, op_colorize=
, op_contrast=
, op_hue=
, and op_saturation=
are RGB operations. These operations maintain color fidelity only if the layer color space has RGB pixel type. If other than RGB, the data is converted to RGB using naïve color conversion, and the result has limited color fidelity. The layer color space for such layers should be considered indeterminate.Color conversion options are provided with icc=
or, if icc=
is not specified, with attribute::IccRenderIntent
, attribute::IccBlackPointCompensation
, and attribute::IccDither
.
Embedding color profiles section-261ebbae5ce046589a776ca972380052
The ICC color profile of the output color space, if available, can be embedded into the response image by specifying iccEmbed=
.
Managing ICC profiles section-eb210e4b44e64e2c8b80ee59216c5555
All color profiles used by the server must conform to the ICC specification. ICC profile files typically have an .icc or .icm file suffix and are co-located with image data files.
While output profiles can be specified by file path/name in the icc=
command, it is recommended to register all profile files in the ICC Profile Map of the default catalog or image catalog and use shortcut identifiers ( icc::Name
) instead of file paths.
All ICC profiles referenced in catalog::IccProfile
and in attribute::IccProfile*
must be registered in the ICC Profile Map of the image or default catalog.
Restrictions section-fb50ede40b124b89b30679da29782ab5
Only CMYK, RGB, and gray-scale color spaces are supported at this time.
Included ICC color profiles section-98b4a7d9f9814e8ba27d6dcf3dcf850c
Image Serving includes most standard Adobe ICC profiles in the default image catalog. These profiles can be accessed by either their common names (for example, as seen in Photoshop) or with a somewhat shorter identifier. The following table lists all standard ICC profiles. When referencing a profile in the icc=
command by its common name, spaces must be encoded as %20
.
Additional profiles may be added to the standard profiles, either to the default catalog or a specific image catalog. Refer to the ICC Profile Map Reference for details.
dynamicmedia
run mode).AdobeRGB
AppleRGB
CIERGB
ColorMatchRGB
NTSC
PAL
ProPhoto
SMPTE
sRGB
WideGamutRGB
CoatedFogra27
CoatedFogra39
CoatedGraCol
EuropeISOCoated
EuroscaleCoated
EuroscaleUncoated
JapanColorCoated
JapanColorNewspaper
JapanColorUncoated
JapanColorWebCoated
JapanWebCoated
NewsprintSNAP2007
PS4Default
PS5Default
SheetfedCoated
SheetfedUncoated
UncoatedFogra29
WebCoated
WebCoatedFogra28
WebCoatedGrade3
WebCoatedGrade5
WebUncoated
The following table applies to Dynamic Media Classic Image Serving and Dynamic Media (running in dynamicmedia_scene7
run mode).
AdobeRGB
AppleRGB
ColorMatchRGB
NTSC
PAL
ProPhoto RGB
SMPTE
sRGB
WideGamutRGB
CoatedFogra27
CoatedFogra39
Coated GRACoL 2006 (ISO 12647-2:2004)
EuropeISOCoated
Euroscale Coated v2
EuroscaleUncoated
JapanColorCoated
JapanColorNewspaper
JapanColorUncoated
Japan Color 2003 Web Coated
JapanWebCoated
PS4Default
PS5Default
SheetfedCoated
SheetfedUncoated
UncoatedFogra29
US Newsprint (SNAP 2007)
WebCoated
WebCoatedFogra28
Web Coated SWOP 2006 Grade 3 Paper
Web Coated SWOP Grade 5 Paper
WebUncoated
See also section-39159397e80b4efca5f631eab8b9aa06
International Color Consortium, icc=, iccEmbed=, attribute::IccProfile*, attribute::IccProfileSrc*, attribute::IccRenderIntent, attribute::IccBlackPointCompensation, attribute::IccDither, ICC Profile Map Reference, color=, bgc=, color