Device Settings in ICC 0.1

From ColourWiki

Copyrigth © Kai-Uwe Behrmann 2006


Table of contents

Purpose

ICC (http://www.color.org) profiles can contain informations about the calibration measurements, sometimes profiling information and the colour transformation description. What is missed are the driver settings used for the calibration process. The settings of a RIP or scanner driver are barely left out. The purpose of this specification is to provide driver specific configuration information additional to the ICC specification. The described tag follows the ICC sheme and allows applications to select and check the correct driver and to configure him properly to match calibration conditions.


Specification

The herein suggested new tag to an ICC profile must be of type 'data' and be called 'DevS' (device settings tag).

The tag starts as any other tag in a ICC profile with the bytes 0-3 for the type signature 'data' and bytes 4-7 set to zero as of ICCv4.2.

A static block of 76 follows as described in table 0.

Table 0 -- deviceSettingsType encoding
Byte position Field lenght (bytes) Content Encoded as...
0...3 4 'data' () type signature 7-bit ASCII
4...7 4 reserved, must be set to 0
8...13 6 device manufacturer (6 byte field, null terminated, unused bytes must be set to zero) 7-bit ASCII
14...31 18 device name (18 byte field, null terminated, unused bytes must be set to zero) 7-bit ASCII
32...43 12 device serial (12 byte field, null terminated, unused bytes must be set to zero) 7-bit ASCII
44...55 12 driver name (12 byte field, null terminated, unused bytes must be set to zero) 7-bit ASCII
56...67 12 driver version (12 byte field, null terminated, unused bytes must be set to zero) 7-bit ASCII
68...79 12 drivers signature/encoding (12 byte field, null terminated, unused bytes must be set to zero) 7-bit ASCII
80 1 priority of applyance (low - 0 ... high - 255) uInt8Number
81...83 3 reserved, must be set to 0 uInt8Number[]
84...83+n n driver specific configuration data (as devined in drivers signature/encoding)

After byte 83 the configuration data follows until the end of the tag.

Usage

The device names are used to check if the profile would match to a given device.

The driver names are used to check for the presence of the appropriate device driver. If no such driver is available it must be rejected. The driver should provide a compatibility query function to allow the application to ask for the lowest driver version since the last significant colour relevant changes. If the application requests exact version match the real driver version number can be used instead.

The driver signature/encoding tells the driver about what kind of data is stored in the tag. In some cases this information can be enough for the driver to identify the correct setting. In such a case the variable sized settings block may remain empty.

The priority number is used to wighten different profiles for the same device and driver. By default a generic profile should be set to value 63. A device specific measured profile should get 225. The application or user can lower or increase this value as needed. For the same degree of harmony of two profiles this number may help to identify a prefered one. The measurement time ('calt' - calibrationDateTimeTag) should play a good role in this comparision and is therefore highly recommended to include during profiling.

The configuration data is usually the colour relevant part of the configuration, which would normally be editable. The driver should accept to gray out these settings in his dialogs, as they are marked as froozen by the colour management system. The colour management system handles here blindly and relies on the driver to provide the correct configuration subset and only passes it on. Possibly the configuration data is in a transparent form (e.g. PPD), known by the application, then the application can take over more control if needed.

A profiler should ideally write the tag into the profile itself to minimise error prone interactions.

Validity

This specification is not part of the official ICC profile specification. The described tag is only valid for systems, which understands and supports him. Oyranos will obtain a implementation to support the tag.

Normative Reference

Specification ICC.1:2004-10 (Profile version 4.2.0.0)




Hagpath / Chemnitz

28. August - 04. September 2006


-> Back to Device Settings