Efficient hue-preserving and edge-preserving spatial color gamut mapping

We present a new efficient hueand edge-preserving spatial color gamut mapping algorithm. The initial computation of the algorithm is to project all out-of-gamut colors to the destination gamut boundary towards the center of the gamut. Based on this spatially invariant hue-preserving clipping of the image, we construct a greyscale map indicating the amount of compression performed. This map can be spatially modified by applying an edgepreserving smoothing filter that never decreases the amount of compression applied to an individual pixel. Finally, the colors of the original image are compressed towards the gamut center according to the filtered map. Examples on real images show that the algorithm gives interesting results. Introduction Color gamut mapping algorithms (GMAs) has been an active field of research for quite some time. A good review of the state of the art of gamut mapping was given by Morovic and Luo in 2001 [1]. Recently, spatial GMAs has become an active and important field of research. Farup et al. [2] gave a thorough review of spatial GMAs along with the presentation of their novel technique. Bonnier et al. [3] suggested to group the spatial GMAs into two groups. For the algorithms in the first group, a functional to be minimized is defined. This can e.g., be a contrast measure [4] or a Retinex-related measure [5]. Optimization is then performed using standard optimization techniques [4] or a variational approach [5]. The second group of algorithms work by first performing some kind of spatially invariant algorithm (most often clipping), and then reinserting some of the high-frequency information that is lost in the process. Often, this results in an image that is again slightly out of gamut, so the process can be iterated. Multilevel gamut mapping algorithms like those of Bala et al. [6], Morovic and Wang [7], Zolliker and Simon [8], and Farup et al. [9] are examples of this approach. In this paper, we focus only on this second group of algorithms. The main advantage of spatial GMAs is that they improve the rendering of details. However, as discussed by Farup et al. [9], this often happens at the cost of introducing some new problems. Halos: When high frequency information is reinjected into the gamut mapped image, haloing artefacts near sharp edges can easily appear. Bala [6] argued that this can be a good thing in that it can, through an artificial Kornsweet effect, increase the strenght of edges that would else disappear. However, for most images, it is a problem that should be avoided. Farup et al. [2] suggested a method to strongly reduce haloing artefacts by the means of only changing colors close to those of the low-pass filtered image, and forcing the change to occur on lines of constant hue. Zolliker [8] more or less completely eliminated the problem of halos by using computationally expensive edge-preserving bilateral filters instead of conventional blur filters. Hue changes: Hue preservation is considered an imporant goal in gamut mapping [1]. The high-pass information that is reinjected into the spatially filtered image is obtained by a per-channel spatial filtering. Thus, the added information does not necessarily change the image in a hue-preserving manner. It was demonstrated by Farup et al. [2] that the classical multilevel approach can severly disturb the hue close to sharp edges. They further suggested a way to force the color change to occur at constant hue. Computation time: Conventional spatially invariant GMAs can be implemented in terms of simple 3D LUTs, and are therefore inherently fast. Spatial processing, however, can easily become time consuming. The algorithm of Bala [6] performs quite well (but introduces halos and hue changes), whereas the algorithms of Morovic and Wang [7], Zolliker and Simon [8] and Farup et al. [2] are complex and slow. In order to be feasible to apply in a printing process, GMAs should not exceed a complexity of O(N), N being the number of pixels. As seen, some of the previously proposed algorithms solve some of these problems, but thus far there exists no algorithm solving all of them. In the next section, we present a new spatial GMA that solves all of them and that gives good results. Some example results from running the algorithm on real images and gamuts are then given and discussed in the following section. The proposed algorithm The general idea of the proposed algorithm goes as follows. First, the image is gamut clipped. Then a map indicating the relative amount of compression needed for each pixel to achieve clipping is constructed from the original image and the gamut clipped one. This map is then smoothed by means of spatial filtering. Finally, the colors of the original image are gamut compressed according to the spatially filtered map. A graph giving the overview of the proposed algorithm is shown in Figure 1. In the following subsections, each step of the algorithm will be described in more detail. Hue preserving clipping First, we compute an intermediate relative colorimetric image where the hue of out-of-gamut colors is preserved. This is done in CIELAB by projecting an out-of-gamut color (C) towards the middle grey of the gamut along the L axis in the destination gamut. See Figure 2. Figure 1. Overview of the proposed spatial gamut mapping technique. Map computation From the original image and the gamut clipped one, we compute a map telling us how much the individual colors of the image had to be compressed towards grey during the clipping: