Chroma Enhancement in CIELAB Color Space Using a Lookup Table

In this study, we present a method of chroma enhancement in the CIELAB color space and compare it with that in the RGB color space. Color image enhancement using the CIELAB color space has the disadvantage that the color gamut problem occurs because the conversion to the RGB color space is necessary to display the image. However, since the CIELAB color space is based on human visual perception, the quality of the resulting images is expected to be higher than that of the RGB color space. In the method using the CIELAB color space, we introduce a lookup table to reduce the calculation costs. Experiments comparing image enhancement results obtained from two color spaces are performed using several digital images.


Introduction
Color digital images have been used in various situations in daily life due to the development of digital devices and Internet technologies. Therefore, it is necessary to improve the quality of these color digital images depending on their application [1,2].
The choice of color space when performing color image enhancement is an important factor that influences the quality of the resulting images [3]. The RGB color space is a typical color space for digital image processing. An arbitrary color in the RGB color space is represented by the ratio of the three primary colors of R (red), G (green), and B (blue). Meanwhile, the three attributes of color (i.e., hue, chroma, and lightness) are more useful when specifying a certain color based on human sensitivities than the RGB components [4]. These three attributes of color can also be geometrically defined in the RGB color space. Naik et al. clarified the conditions for preserving the hue in the RGB color space and demonstrated the method of image enhancement with its conditions [5]. Furthermore, several image enhancement methods have been proposed with reference to Naik's method [6][7][8][9][10][11][12][13]. These methods make it possible to suppress hue distortion when image enhancement is applied in the RGB color space. Color image enhancement in the RGB color space has the advantage of not causing the color gamut problem, because the conversion to other color spaces is unnecessary. Furthermore, the relationship between hue, chroma, and lightness is easy to formulate, and the algorithm for color image enhancement can be expressed simply. However, since these attributes defined in the RGB color space are not based on human visual perception as in uniform color spaces, the quality of the resulting images may not be sufficient.
When focusing on human visual perception, the color spaces that can directly represent colors by using hue, chroma, and lightness, such as the HSI [14][15][16][17][18] and CIELAB [19][20][21][22][23][24][25] color spaces, are more useful than the RGB color space. Previously, we proposed an image enhancement method in the CIELAB color space, which is one of the uniform color spaces. In our previous method [22], a color gamut adjustment is applied to address the problem that may occur when inversely converting processed color components in the CIELAB color space to the RGB color space. However, in this method, there is a problem in that the calculation cost is high because it is necessary to solve the third-order polynomial for the pixels outside the color gamut. In this study, we introduce a lookup table that stores the maximum chroma values at sample points of hue and lightness. Finally, we compare the results obtained from the methods using the RGB and CIELAB color spaces.
The remainder of this paper is organized as follows: Sections 2 and 3 explain the chroma enhancement methods in the RGB and CIELAB color spaces, respectively. In Section 4, a lookup table introduced in a method using CIELAB color space is described. Section 5 provides the experimental results of applying the proposed chroma enhancement methods to several digital images. Section 6 presents the conclusions of our study.

Chroma Enhancement in RGB Color Space
The RGB color space is usually used to represent color digital images acquired by various digital devices. In this section, we describe a method to enhance the chroma while preserving the hue and lightness in the RGB color space.

Equal Hue and Equal Lightness in RGB Color Space
In this study, sRGB is assumed as the RGB color space. Let I(i, j) be the input digital image at the pixel (i, j). I(i, j) have the three RGB components I r (i, j), I g (i, j), I b (i, j) . Here, each RGB component is assumed to be normalized to the interval [0, 1]. For simplicity of notation, we omit (i, j) after this.
Let J be the RGB color components after applying color image enhancement to I. When J have the same hue as I, they are obtained as follows [5]: where e = (1, 1, 1). Equation (1) is the plane equation passing through (0, 0, 0), (1, 1, 1), and I with the parameters α and β. The lightness of I is given by the inner product of I and V = (V r , V g , V b ): In our previous method [11], we employed V = e/3. In this study, to correspond to the lightness defined in the CIELAB color space, let V be (0.2126, 0.7152, 0.0722), where V · e = 1.
Here, the lightness is kept at l before and after color image enhancement. That is, By calculating the inner products of both sides of Equation (1) and V , and substituting Equations (2) and (3) for the calculation result, we get Hence, by substituting Equation (4) for Equation (1), we get The chroma enhancement is executed by selecting the appropriate RGB color components on the straight line J (Figure 1).

Chroma in RGB Color Space
In the HSI color space with a cylindrical coordinate system (Figure 2), the hue, H, and the chroma, S, are obtained as follows [26]: From Equations (5) and (6), H(I) = H(J). This indicates that the hue is preserved after the chroma enhancement.
In addition, S(I) can be rewritten as where · indicates the Euclidean distance. Equation (8) represents the distance between I and the achromatic axis, e, as shown in Figure 1. That is, the chroma of a color in the RGB color space increases as the color moves away from the achromatic axis, e. Thus, from Equation (5), the chroma of J becomes larger than that of I as α increases from 1.

Chroma Enhancement Method
Let O be the intersection point between the straight line, J, and the boundary surface of the RGB color space. O has the maximum chroma among the colors that are of equal hue and equal lightness with the input color, I. The enhanced color is decided by using the distance, D γ , as follows: Here, D γ is obtained as where γ is the parameter that determines the degree of the chroma enhancement. J coincides with I when γ = 1 and coincides with O having the maximum chroma when γ → ∞ owing to D γ → 1. Hence, by setting the parameter γ to a value larger than 1, we get a color with a chroma larger than that of the input color, I.

Chroma Enhancement in CIELAB Color Space
The definitions of hue, chroma, and, lightness in the RGB color space may not exactly match human visual perception because it is not a uniform color space. In this section, we present a method to enhance the chroma while preserving the hue and lightness in the CIELAB color space, which is one of the uniform color spaces.
Let F E be the input value of a nonlinear RGB component. E takes any one of r, g, and b, which indicate the red, green, and blue components, respectively. The nonlinear RGB component F E is converted to the linear RGB component F E as follows [27]: The RGB color components, (F r , F g , F b ), are first converted to the CIEXYZ color components, (X, Y, Z), by the following linear transformation: Next, (X, Y, Z) are converted to the CIELAB color components, (L * , a * , b * ), by the following nonlinear transformation [28]: where the function, f , is defined by Here, L * is the lightness, and a * and b * represent the chromaticity indices of redness, greenness and yellowness, and blueness. X n , Y n , and Z n are the CIEXYZ values for the reference white of the illuminant CIE D65 and are 0.9505, 1.000, and 1.089, respectively. Note that 0 ≤ X/X n , Y/Y n , and Z/Z n ≤ 1 and 0 ≤ L * ≤ 100. The chroma, C * , and the hue, h, in the CIELAB color space are obtained by C * = (a * ) 2 + (b * ) 2 and h = arctan(b * /a * ), respectively. Here, C * ≥ 0 and 0 ≤ h < 360. In this study, let h = 0 in the case of C * < 0.1 because h becomes very sensitive to the change in a * or b * when C * is very small.
The chroma enhancement is conducted in the CIELAB color space while preserving the hue. The enhanced chroma, C * e , is obtained by where k is the parameter that determines the degree of the chroma enhancement. When applying the chroma enhancement by Equation (17), the hue, h, is preserved regardless of the value of k owing to h = arctan(kb * /ka * ) = arctan(b * /a * ). When the lightness is not changed before and after image enhancement, the CIELAB color components after the chroma enhancement are given by (L * , ka * , kb * ). The final RGB color components, (G r , G g , G b ), are obtained by converting (L * , ka * , kb * ) to the RGB color space. However, it is unknown whether (G r , G g , G b ) is within the color gamut of the RGB color space. Therefore, it is necessary to address the color gamut problem.

Color Gamut Adjustment after Chroma Enhancement Using Lookup Table
When image enhancement is conducted in the CIELAB color space, some pixels of the enhanced image may not be correctly converted into the RGB color space. In this section, as a solution to this problem, we propose a method of color gamut adjustment using a lookup table.

Relationship among Hue, Chroma, and Lightness
In our previous method [22], to handle the color gamut problem, Equations (14) and (15) are reformulated using variables related to hue, chroma, and lightness as follows: where H = b * /a * and sgn(·) is the sign function defined as follows: f (X/X n ) and f (Z/Z n ) are the equations of straight lines with C * as a variable when H and f (Y/Y n ), which are related to the hue and lightness, are fixed. Therefore, the color gamut problem is solved by finding the maximum value of C * at arbitrary hue and lightness.

Preparation of Lookup Table
We proposed a color gamut adjustment method that obtains the maximum chroma values while preserving the lightness and hue according to the range of Y. However, our previous method has a problem in that the calculation cost is high because it is necessary to solve the third-order polynomial for the pixels outside the color gamut.
Therefore, we introduced a lookup table to reduce the calculation cost. The lookup table stores the maximum chroma values at the sampled Y and h. The procedure of making the lookup table is as follows: First, Y and h are sampled at 100 points from 0.005 to 0.995 with a step of 0.01 and at 360 points from 0.5 to 359.5 with a step of 1, respectively. Next, the maximum chroma values are calculated at these 36,000 points of (Y, h) using our previous method. Let t(m, n) be the element of the lookup table, where m = {1, 2, · · · , 100} and n = {1, 2, · · · , 360}. t(m, n) stores the maximum chroma value at the point, (Y = 0.005 + 0.01(m − 1), h = 0.5 + (n − 1)). Figure 3 shows the lookup table obtained by the above procedure. This indicates the maximum chroma for a given hue and lightness.

Determination Method for Maximum Chroma Value Using Lookup Table
The approximate maximum chroma value of an arbitrary point, (Y, h), can be obtained by the lookup table. Y and h are first converted to the integers as follows: where round(·) is the function that rounds to the nearest integer. The point (Y, h) is located inside the quadrangle with four vertices, namely, (iY, ih), (iY + 1, ih), (iY, ih + 1), and (iY + 1, ih + 1), as shown in Figure 4. Therefore, in the proposed method, the maximum chroma value of the point, (Y, h), is assigned the minimum value among the four elements of the lookup table on the above points as follows: where MIN(·) is the function that finds the minimum value in any given data. However, C * LT is set to 0 when iY = 0 and iY = 100, corresponding to black and white. In addition, when ih = 0 and ih = 360, the following formula is used

RGB Components after Color Gamut Adjustment
The approximate maximum chroma C * LT of the color gamut that is determined by h and Y is extracted from the lookup table by the procedure in Section 4.3. Substituting C * LT for Equations (18) and (19), we get f (Y/Y n ) = L * + 16 116 .
(27) Figure 5 shows f (X /X n ) and f (Z /Z n ) at (Y = 0.005 + 0.01(20 − 1), h = 0.5 + (30 − 1)). By applying the inverse function of f (α) to the above equations, we get Here, f −1 (α) is defined as follows: (G r , G g , G b ) are obtained by converting (X , Y, Z ) to the RGB color space by using the inverse of the matrix used in Equation (12): Finally, the nonlinear RGB component G E of the output image is obtained as

Chroma Enhancement
To illustrate the effectiveness of the proposed method, experiments are conducted using seven digital images: Pepper, Mandrill, Sailboat, Airplane, Balloon, Earth, and Lenna [29]. These are 24-bit color images of 256 × 256 pixels in size. Figure A1 shows the experimental results of seven digital images. We can see that the large red bell peppers in Figure A1d1,e1 are deeper red than that in Figure A1b1. In addition, the blue part of the mandrill's face in Figure A1d2,e2, the trunks and branches of the trees in Figure A1d3,e3, the clouds in Figure A1d4,e4, and the Earth in Figure A1d6,e6 are not over-enhanced compared to those in Figure A1b2-b4,b6.
To evaluate the quality of enhanced images from a perceptual point of view objectively, the difference related to hue between the enhanced and original images is calculated as follows [30]: where h e and h o are the hues of the corresponding pixels in the enhanced and original images, respectively. Similarly, C * e and C * o refer to the chromas. |·| is the absolute value. In addition, the differences, ∆L * = L * e − L * o and ∆C * = C * e − C * o , related to lightness and chroma are calculated to confirm the degree of image enhancement. Here, L * e and L * o refer to the lightnesses in the same meaning as above. Table A1 shows the averages and standard deviations of |∆h * |, ∆L * , and ∆C * over all pixels in Figure A1. From the results of |∆h * |, we can see that |∆h * | and ∆C * of the proposed method (e1-e7) are not so different from that of our previous method (d1-d7). In addition, the limitation of our previous method is trying to approximate Equation (16) by f (x) = x 1/3 when applying color gamut adjustment. Therefore, when the lightness is very low, it becomes an approximate solution [22]. Since the present method using the lookup table selects the minimum chroma value among the four surrounding elements, the resulting color is highly likely to exist within the color gamut, and then it is thought that |∆h * | becomes smaller than that of our previous method. That is, the lookup table can achieve the image enhancement without significantly deteriorating the quality.

Combination of Lightness and Chroma Enhancement
The advantage of using the CIELAB color space compared to the RGB color space is that the chroma and lightness components are completely independent. The proposed lookup table can also be applied when both the lightness and chroma are enhanced. Here, the lightness is enhanced as follows: where p is the parameter that determines the degree of lightness enhancement. The proposed method is compared with the method of Ref. [5] using histogram equalization, the method of Ref. [7] using the parameters (l, r, λ) = (exp(−9/2), exp(−9/2), 1/2) [31], and the RGB chroma enhancement in Section 2, in which histogram equalization is applied to the lightness. Figure A2 show the experimental results of four digital images. These are 24-bit color images of 960 × 1280 pixels, 1478 × 1108 pixels and 1280 × 622 pixels, 623 × 1280 pixels in size, respectively. We can see that Figure A2e1-e4 are more naturally enhanced in comparison to Figure A2b1,c1,d1,b2,c2,d2 and b3,c3,d3,b4,c4,d4. Especially, the colors of the cat and various objects in Figure A2e4 are well reproduced. Table A2 shows the averages and standard deviations of |∆h * |, ∆L * , and ∆C * over all pixels in Figure A2. We can see that |∆h * | of the proposed method (e1-e4) provides better results than those of the other methods (b1-b4, c1-c4, and d1-d4).

Computational Load
Our previous method is computationally expensive. In contrast, the computational costs of the proposed method are low because it uses the lookup table. The flow of the proposed method is as follows: Step 1. Input image is converted to the CIELAB color space.
Step 3. Enhanced image is converted to the RGB color space.

Conclusions
In this study, we proposed a method of chroma enhancement in the CIELAB color space, which incorporates a lookup table and compared it with that in the RGB color space. The lookup table was implemented to solve the color gamut problem that occurs when inversely converting the CIELAB color space to the RGB color space at low computational costs. The experimental results showed that the proposed method using the CIELAB color space provides better results than that of the RGB color space, especially when performing both the lightness and chroma enhancement.
However, since the methods using the RGB color space does not require the color space conversion, the formulation for image enhancement can be easily realized in comparison to those using the HSI or the CIELAB color space. Furthermore, the color gamut problem does not occur when image enhancement is performed in the RGB color space.
Therefore, the proposed method needs to be further improved its performance. The CIELAB color space is not a complete uniform color space. This limits the performance of the proposed method. Hence, it is expected to extend the proposed method by considering better uniform color spaces that accurately simulate human vision such as DIN99d [32] and CAM02-UCS [33].