Proposal for standard tag information used to tag output device Setup, Calibration and color Profiling State. [SCPS TAG] Draft: 1.0 Date: 13 May 2011 Author: Graeme W. Gill 1.0 Introduction ---------------- In order to setup, calibrate and profile color output devices, the ability to output various test charts is required. Some devices (such as printers) have several layers of settings and processing that need to be setup in sequence, so some means of disabling this processing is needed. One approach is to have such settings on the device, or in the device output dialogs, but such a manual system can easily lead to mistakes, both during device setup, and during normal device operation. An alternative approach is to tag the test charts themselves with their purpose, so that the output processing will automatically do the correct thing for these special documents. 1.1 General output device processing flow assumed: -------------------------------------------------- This is intended to be general enough to cover all possibilities. i) Incoming source color spaces are converted to the logical device space using a color management system, such as an ICC profile based CMM. (See below for a description of what a logical device space is). ii) The logical channels may pass through a calibration adjustment (ie. per logical channel lookup tables or curve adjustment parameters). iii) The logical channels are color separated into the native device channels, including any light & dark channel separation. This may involve tables and/or settings. iv) The native channels may then undergo further calibration curves or shape setting adjustments. v) The native channels may then be subject to a channel scaling (or limit), and then screened into the quantized color values to become physical device values. It is assumed that this final stage cannot be skipped, as it would impossible to operate the device without this processing. The logical device space may be an emulated space (such as "RGB" or "CMY"), or a simplified version of the native device space (such as "CMYK" for a device that has light & dark colorants). The device might support more than one logical device space. The selection of this space is out of scope of this specification, but might be done by the typical device mode configuration, or automatically depending on the the test document colorspace selection. Not all devices will have all these steps, and such a step will be skipped. 2.0 Tag details --------------- The tag selects a device operating state. State 0: This state is the normal end user output state, and is equivalent to the SCPS Tag being absent. All processing steps i) through v) are assumed to be operational. State 1: This state is used to measure the underlying logical color space response, in order to create the color profiles that are used in step i). Processing step i) is skipped. Processing steps ii) through v) are assumed to be operational. State 2: This state is used to measure the logical color space channel responses, in order to create logical color space calibration curves used in step ii). Processing steps i) & ii) are skipped. Processing steps iii) through v) are assumed to be operational. State 3: This state is used to measure the calibrated native color channel behaviour, in order to determine the logical to native channel separation parameters or tables use in step iii). Processing steps i) through iii) are skipped. Processing steps iv) & v) are assumed to be operational. State 4: This state is used to measure the native color channel behaviour. This is used to determine the native color channel calibration curve parameters or tables in step iv), as well as any parameters used in step v). Processing step v) is assumed to be operational. Processing steps i) through iv) are skipped. If a device does not have a given processing stage, then the operation state used for determining that stages settings should behave the same as the next smaller operational state. 3.0 Tag encoding ---------------- By default the tag is encoded in 8 bit ASCII. If the file format is textural, and encoded in another character encoding format (such as UTF8, UTF16 etc.), it will be encoded in the same format, although only ASCII values are used as part of this tag. The tag consists of two tokens separated by a space character. The tokens may be preceded and/or followed by whitespace (space or tab character). 4.0 Tag embedding ---------------- 4.1 Postscript and PDF ---------------------- A single postscript comment with the following form: %% SetupCalibrationProfilingStateV1.0: N Where N is a value between 0 and 4 The comment must be contained in the file or stream within 1024 characters of the start. There must be one space after the double comment character (This is to distinguish it from a PostScript DSC comment). There must be one space between the keyword and the value. 4.2 TIFF -------- T.B.D. A private tag that contains an ASCII string consisting of the keyword, a space then the value followed by the null character (0x00). Multi-image TIFF files may contain multiple tags, one per IFD. 4.3 JFIF (JPEG) -------- T.B.D.