Jon Yngve Hardeberg, Francis Schmitt, Ingeborg Tastl,
Hans Brettel and Jean-Pierre Crettez
École Nationale Supérieure des Télécommunications,
46 rue Barrault, F-75634 Paris Cedex 13, France
Slightly modified and corrected version of Proceedings of IS&T and SID's 4th Color Imaging Conference: Color Science, Systems and Applications, pages 108-113, Scottsdale, Arizona, November 1996.
Date for this version: March 27, 1997
We propose a color management system for the color facsimile. It consists of protocols for the colorimetric calibration of the scanner and the printer by establishing the relationships between the device-dependent color coordinates and the device-independent CIELAB color space. The scanner calibration is based on 3rd order polynomial regression techniques. The printer calibration uses 3D triangulation techniques, which gives us high flexibility and which allows us to apply different color gamut mapping techniques in an efficient way. The online color transformations are calculated by a tetrahedral interpolator using 3D look-up tables provided by the calibration algorithms.
The first international standard for color facsimile was approved in 1994.  It fixed JPEG as the encoding method for continuous-tone color images and chose the CIELAB  color space with CIE Standard Illuminant D50  as the default color space for data transmission.
An important aspect of color facsimile products is the quality of the color reproduction. To obtain faithful color reproduction, colorimetric calibration of the I/O devices is needed, so that the device-dependent color coordinates of the scanner, the printer and the monitor can be linked to the device-independent CIELAB color space. Furthermore, efficient means for processing and converting images are needed. These are typically the tasks performed by a color management system. 
To calibrate I/O devices colorimetrically, three different approaches are typically used:
We present a color management system for the color facsimile, consisting of procedures for the colorimetric calibration of the scanner, based on an analytical model, as well as for the calibration of the printer, based on a geometric model. The calibration of the monitor, based on a simple physical model of a CRT display is quite straightforward, and will not be presented in this document.
The proposed methodology is composed of two steps,
All the color conversions are performed by the use of look-up tables and tetrahedral interpolation, as shown in Figure 1. This strategy presents the main advantage to be general, when compared to device-specific algorithms; only one conversion engine is needed for all types of conversions. It can therefore easily be implemented using either a single software procedure, or a dedicated hardware. Furthermore, an interpolation scheme requires less computational power than most of the conversion algorithms based on physical or analytical models.
In our approach, the central computation engine is a 3D tetrahedral interpolation algorithm which works on a regular cubic mesh.  It presents the advantage over a conventional tri-linear interpolator in that it computes a barycentric combination over only 4 vertices (4 multiplications, 3 additions per channel) instead of 8 vertices (8 multiplications, 7 additions per channel) in the tri-linear case. An important design choice is the size of the look-up table containing the final values to be interpolated at the vertices of the regular mesh. In our implementation we have chosen a cubic mesh. In the next sections, we will discuss the procedures providing the actual values for these look-up tables.
Figure 1: A color facsimile system. The transformations between device dependent color coordinates (RGB and CMY) and the CIELAB color space is performed using 3D look-up tables and a tetrahedral interpolation technique.
For the scanner calibration we propose an analytical model, based on a polynomial regression and the minimization of . The calibration is done as follows, see Figure 2. We dispose of an IT8.7/2 color chart,  which contains 288 color samples with known CIELAB values. This chart is scanned, and by a picture processing routine we segment each color sample and calculate the mean values of its RGB scanner components. In order to calibrate the scanner we want to define a 3D nonlinear transformation , which converts the RGB components into CIELAB values. Different non-linear transformations with one or several successive internal steps might be chosen. For the main step we use nth order polynomials whose coefficients may be optimized by a standard regression technique.  We can add other steps before and after the main one by using pre-defined non-linear transformations (as gamma-corrections for example). We have tested and compared various schemes. , ,  The retained method consists of using 3rd order polynomials applied on the cubic root of the RGB values. This preprocessing serves as a first approximation of the cubic root function involved in the conversion from CIEXYZ to CIELAB.
Figure 2: The scanner calibration process, providing a 3D lookup-table for the conversion from scanner RGB to CIELAB.
This transformation gives satisfactory results; applied on an AGFA Arcus II scanner, we obtained a mean error of , and a maximum error of between the computed and the measured CIELAB values on the complete set of patches of the IT8.7/2 chart. To evaluate the result of our calibration process, it would be interesting to compare the error in terms of with and without calibration, that is, for each patch of the color chart, to compare the CIELAB-values obtained by our calibration with the CIELAB-values obtained without calibration. This is, however, not a straightforward task, the problem being how to obtain "good" uncalibrated CIELAB-values. In the absence of a calibration procedure, a natural approach would be to follow what a typical user probably would do, by first adjusting the gamma corrections at the scanning step in order to choose the preferred image to the screen and then by considering the scanned image as it appears on the screen as a reference. With this in mind, it makes sense to define the uncalibrated transformation from gamma corrected RGB scanner to CIELAB as the transformation between the RGB space of a standard monitor and CIELAB. For the uncalibrated transfomation we chose a gamma correction of 2.2 at the scanner step, and then applied our CRT model, this giving a mean error of and a maximum error of . Figure 3 shows the error histograms for a calibrated and an uncalibrated system, respectively. We see that the calibration process introduces a significant improvement of the colorimetric quality of the scanner.
Figure 3: Error histograms for the FUJI IT8.7/2 chart with and without calibration.
The printer calibration is somewhat more complicated than for the scanner, for various reasons. First, we have to consider the color gamut of the printer. Gamut mapping techniques are needed to bring out-of-gamut colors inside the color gamut. Numerous algorithms have been proposed. , ,  Furthermore, the output space (CMY) of the printer is not a perceptually uniform space. This is in contrast to the scanner calibration process where the output space was CIELAB. Thus a solution based on polynomial regression is not suitable, since the mean square error minimized by the regression is no longer expressed in terms of .
We present a geometrical method where the calibration process defines a 3D look-up table for the transformation from CIELAB to CMY taking into account both the colorimetric calibration of the printer, and the color gamut mapping.
Our method, as presented in Figure 4 consists of first sending a numerical color chart to the printer, with patches containing CMY values covering the entire printer color gamut. Then we analyse the printed chart to obtain the CIELAB values corresponding to each patch. This analysis can be done either by a calibrated scanner, or by using a spectrophotometer if available. When this is done, we dispose of the CIELAB values, and the corresponding CMY values, for each color of the chart. From this data set, we construct a 3D Delaunay triangulation  in CMY space, which we then export to CIELAB space. By using a Delaunay triangulation we are not limited to using colors lying on a regular grid in the CMY space, as would be the case with regular triangulation techniques.  This implies that we can use colors that are more regularily distributed in the CIELAB space, and that we can add more colors in regions where the eye is more sensitive, for example grays or skin tones. A natural choice of color chart would be the IT8.7/3 chart. 
Figure 4: The printer calibration process, providing a 3D lookup-table for the conversion from CIELAB to CMY.
At this point we dispose of a segmentation in tetrahedra of the part of the CIELAB space lying inside the printer color gamut, see Figure 5. In order to be able to treat out-of-gamut colors, we have added an englobing structure by projection from a central point, in such a way that we can navigate in the entire CIELAB space, both inside and outside the printer gamut. Now, all possible CIELAB values are contained in this extended 3D structure, and we can use this structure to implement in an elegant, efficient and quick way different gamut mapping techniques, like clipping, gamut compression, white point adaption etc. Both image-dependent and image-independent methods are feasible.
This 3D triangulation approach allows to calculate, by tetrahedral interpolation, the transformation from CIELAB to CMY values for any point of the CIELAB space. We compute this transformation for all the vertices of the regular grid composing the look-up table which will be used for the online color conversion.
Figure 5: A CIELAB view of the triangulated color gamut of the Mitsubishi S340-10 sublimation printer, built on a regular color chart.
The proposed color management system for color facsimile presents several interesting features. First its flexibility and homogeneity: each device is characterized by a 3D look-up table and the same simple color transformation process (a tetrahedral interpolator) is used for the scanner, the printer, and the monitor.
The scanner calibration based on polynomial regression provides good results in terms of . The printer calibration based on 3D triangulation techniques is particulary well adapted to embed directly various gamut mapping algorithms.