• No results found

a lower rate (58 Hz) than the image processing (15 Hz).

6.4 Conclusions on Dynamic Adaptation

Others have synthetically created corrective ICC prole for the purpose of colour correc- tion rather than device characterisation [53,54]. In this research we are proposing a system that will alter a device's characterisation (the ICC prole), to t it to the current condi- tions. Through doing this, we are able to build on solidly founded and tested ICC colour management processes as well as apply colour corrections in a more controlled and linear colour space than RGB, which may use at times unknown gamma functions. To achieve this goal it is essential to have a both a solid understanding of the process of ICC proling as well as the internals of an ICC prole. Initial proling is step zero in the previous section. The following Chap.7starts o at this point, and therefore provides a deep insight into the proling process by outlining the construction of our own proler.

The quality of the correction is on the one hand dependent on the accuracy of modelling the shift, as well as on the accuracy with which tracked samples' colours can be determined. The often rather complex characteristics of colour perception of cameras are largely already captured by the initially determined ICC input prole of the device. The adaptive terms smelted into the ICC prole only have a corrective nature, and should be generally much simpler in character than the full device characterisation. Therefore, it can be modelled with a lot less parameters, and the (computational) overhead over full characterisation is signi- cantly lower. The steps one, two and three in the previous section describe approaches for colour sample tracking, characterisation of an introduced colour shift and the construction of a corrective colour transformation. Possible solutions to these three aspects are developed in Chap.8.

An update of the ICC prole can be performed at run time without an interruption of the continuous observation. This is performed by a separate process, that is running largely independent of the colour correction process in the acquisition loop. The concur- rently decoupled updating process produces adapted new proles at regular intervals, or upon demand after sudden changes. A sample architecture for an implementation of this scheme through a service oriented architecture has been outlined. Employing this system as proposed will shift the colour correction approach from deductive or statistical inference in colour constancy to a measurement based derivation, while maintaining minimal disruption to image acquisition and processing. Updating an existing ICC prole with information from the corrective colour transformation requires access to the internals of the ICC prole. At this point the extra eorts undertaken by building our own proler in Chap.7 are giving us full access to all aspects of prole creation for this purpose. Chap.9picks up from this point and describes the exact process of fusing the colour correction into a standard conformant ICC prole.

Chapter 7

ICC Prole Generation

As mentioned in Chap.5, ICC proles are used to perform accurate and predictable colour conversion between dierent device colour spaces. This is accomplished by bridging the transformation via an intermediate, device-independent prole connection space (PCS), which can be either CIE LAB or CIE XYZ. For the purposes of this research, we are interested in using input transformations from the camera's device-dependent input colour space towards the independent PCS. Particularly, the properties of a PCS inL∗a∗b∗are of interest.

This transformation is usually performed using a Colour Management Module (CMM) in conjunction with an ICC prole. ICC proles have been standardised by the International Color Consortium (ICC) [49], which is also a conrmed international standard ISO 15076- 1:2005.

As introduced, this chapter presents the steps taken to create ICC proles for the research purpose: That is ICC input proles for common cameras with three colour channels towards a CIE LAB PCS. The descriptions start with the general construction and elements of ICC proles (Sect.7.1), through the mathematical background of representing the transformation (Sect.7.2) and its implementation (Sect.7.3) towards a discussion of the results as presented in Sect.7.4.

7.1 Blueprint of an ICC Prole

The precise construction of an ICC prole is described in the current version 4.4.0.0 speci- cation [49]. The descriptions in this chapter target device proles and areas relevant to this research only.

An ICC prole consists of exactly three sections: • A prole header,

• a prole tag table,

• and the prole's tag data for all elements.

The header contains prole meta information like prole size, prole format version number, data colour space, PCS, time stamp, rendering intent, PCS white point (mandatory D50), etc. This information is used by the CMM to determine what the prole can be used

for, and it contains further meta data for managing the available ICC proles on a system. The tag table serves management purposes for the specic prole only. It contains only the number of tags included, and for each tag the tag type, the byte oset within the prole, and the size of that specic tag. The tag data then actually contains the pay load of the prole used by the CMM to apply colour transformations. It contains data for each of the tags listed in the tag table.

7.1.1 ICC Tags

As mentioned, the tags contain the content used for performing actual colour space trans- formations. Some of these tags may contain additional meta data (prole description, copy- right, manufacturer description, device model description, etc.) as well as tags containing colourimetric data (media white point, custom chromatic adaptation matrix, etc.). But the heart of the prole is stored in the transformation specic tags (transformation matrix, tone reproduction curves, A to B/B to A, etc.). This last group of tags contains the trans- formation information, and these need to be crafted for each characterisation of a device to enable ICC based colour management.

For the most exible and accurate characterisation one needs to resort to the Colour Lookup Table (CLUT) based proles. The transformation information is stored in the AToBx tags for transformations to PCS, and BToAx tags for transformations from PCS. x denotes an indicator expressing which transformation to choose depending on the selected rendering intent (see Sect.7.1.2).

AToBx/BToAx tags, as suitable here, consist of ve processing elements (as shown in Fig. 7.1). A curves are the pre-linearisation tables per device colour channel (1-D), and B curves are the post-linearisation tables per PCS channel (1-D), respectively. The M curves are single channel transformation curves (1-D), permissible only together with a linear transformation matrix, which is only permissible for a PCS in CIE XYZ. The core of most non-trivial device proles is the multi dimensional CLUT.

Elements not used in the tag can be either left out or have to be disabled by setting them to an identity transformation. For the case of the desiredL∗a∗b∗based device proles, this is done for the matrix and M curves, as they are not applicable, as well as for the B curves often not used (as the CLUT interpolation then yieldsL∗a∗b∗ values directly).

These pre-linearisation curves, as well as the CLUT, must be computed in the device characterisation process (see Chap.5) to populate the AToBx/BToAx tags. Within that process, a multi dimensional smoothing interpolation (see Sect.7.2) must be performed.

7.1. BLUEPRINT OF AN ICC PROFILE 79

Figure 7.1: Chain of processing elements for a transformation from device to PCS with three or more components/colours.

Due to their enhanced capabilities and exibility, we will use CLUT based proles in this research only. A detailed description on how shaper/matrix based ICC proles can be created can be found in [55].

7.1.2 Rendering Intents

When the gamut of the source colour space exceeds that of the destination, the saturated colours need to be treated in order to t into the gamut. This process is performed by the CMM, and is handled according to one of four ways specied by the ICC, called rendering intents: (ICC) absolute colourimetric, (media-) relative colourimetric, perceptual and satu- ration [6,21]. The rendering intent is chosen by the user, and depends on the source image, source and destination colour spaces, and the intent of the application.

ICC Absolute ICC Absolute colourimetry and media-relative colourimetry actually use the same table (from the AToB1 tag), but dier in the adjustment for the media white point. This rendering intent is calculated by the CMM by transforming the coordinates to place the CIE colourimetry (relative to a perfect reecting diuser illuminated by a D50

illumination source) into the PCS. If the output device has for all colours a larger gamut than the source prole, i. e., all the colours in the source can be represented in the output, using the absolute colourimetry rendering intent would ideally (ignoring noise, precision, etc.) give an exact output of the specied CIE LAB values. Perceptually, the colours may appear incorrect, but instrument measurements of the resulting output would match the source. Colours outside of the system's possible colour are mapped to the boundary of the colour gamut.

Media-Relative The goal in media-relative colourimetry (using the AToB1 tag) is to be truthful to the specied colour, with only a correction for the media white point. Media dierences are the only thing that need to be adjusted for. Gamut mapping (for out of gamut colours) usually is handled in a way that hue and lightness are maintained at the cost of reduced saturation. Relative colourimetric is the default rendering intent on most systems.

Perceptual and Saturation For the perceptual (AToB0 tag) and saturation (AToB2 tag) intents, the results largely depend upon the prole maker. This is one way for com- petitors in this market to dierentiate themselves. Perceptual intent proles are commonly created to result in pleasing images, while the saturation intent is often used for eye- catching business graphics. This is achieved through the use of dierent perceptual remaps of the data as well as dierent gamut mapping methods. Both of these are commonly recommended for colour separation for printing.

Proles can be annotated with a supported rendering intent, and not support the full range of possible rendering intents. In these cases often only the AToB0 and BToA0 tags are written, but used for either media relative, perceptual or saturation intents as well, depending on which one the prole has been created for.

The question now is, which rendering intent to use for the purpose of capturing imagery from a digital camera to analyse colourimetric information? The perceptual and saturation intents handle colour in a proprietary and non-standardised way to create pleasing images by compressing or expanding the tone scale [49], particularly for colours close to the gamut boundary. We are interested in maintaining image colourimetry as exactly as possible. So these intents are not suitable. Additionally, the PCS can assumed to be large enough to accommodate any input device gamut. Technically, the PCS is limited only by the boundaries of the PCS colour encoding (16 or 8 bit), which is designed to be large enough for all realistic cases. Due to the lacking compensation for the illuminant's white point, absolute colourimetry is not ideal [56]. Therefore, media-relative colourimetry is the rendering intend most suitable for this research purpose.