Color spaces YCH and YScH for color specification and image processing in multi-core computing and mobile systems

Two novel color spaces are described for color specification and image processing using cylindrical variants of YIQ color space. The classical color spaces HSL and HSV do not take human perception into account and are perceptually inaccurate. Perceptually uniform color spaces such as CIELAB and CIELUV are computationally expensive for real-time interactive applications and are difficult to implement. Proposed alternatives in this work provide a reasonable balance between perceptual uniformity, performance and calculation simplicity. They model colors more accurately are fast to compute. Experimental results are provided, where the classical color spaces are compared to the proposed ones in terms of perceptual uniformity, color richness and performance, including numerous benchmarks on multi-core processors and mobile systems such as ultraportable computers and tablets such as iPad. The results provide evidence that the proposed color spaces are better alternatives for computer industry where classical color spaces are currently being used.


Introduction
In image editing and manipulation software it is common to use HSV and HSL color spaces based on hue and lightness for image manipulation and intuitive color selection.These color spaces are so popular that they made their way into CSS3 specification [1].The HSV and HSL color spaces were originally proposed by A. R.
Smith back in 1978 [2].They have an elegant way of color specificationusing hue, saturation and lightness (or value in HSV).This specification makes it easy to define colors both numerically and visually using sliders, rings and so on.The values of hue, saturation and lightness can be directly calculated from the red, green and blue components.The conversion process was initially described by A. R. Smith [2] and can be found in popular books [3], [4].
However, the main drawback of the HSV and HSL color spaces is that they do not model colors as they are seen by the human eye.According to Charles Poynton [5], these color spaces are -useless for conveyance of accurate color information‖, suggesting that they should be abandoned.
In his works [5], [6], Charles Poynton describes HSV and HSL models as flawed in respect to color vision and that they do not define the color objectively.The major drawback of the HSL color space is the lightness (or similarly value in HSV) component does not take into account the perception of the color brightness as it is perceived by the human eye.
In the context of color perception more uniform color spaces have been proposed such as CIE XYZ, CIELAB and CIELUV [7].
Several formal definitions are necessary to compute the color components in these spaces from the red, green and blue values, such as the primaries specifying the RGB color space and white point coordinates [6], [7].Other candidates for perceptually uniform color spaces include Guth's ATD95 Color Model [8] and DIN99 color space [9], [10].All these color spaces share several characteristicshaving the advantage of being more perceptually uniform with the major drawback of being  It can be seen on the Fig. 1 that HCL color space looks similar to HSV, where different hue shades have different perceived brightness.That is, green appears brighter than red and blue appears darker.For a reference, the colors in the CIELUV space [7], [13] are displayed in Fig. 2 for the same percentages of the maximum value of luminance L*.
The parameters described by the equations ( 1), ( 2   This way, the saturation will range from 0 to 1, for all the values of the hue and the luma, eliminating the area of invalid RGB colors.
This issue is further discussed in the next section.

The Valid Chroma Algorithm
The normalization of valid chroma values, so that they fall within a fixed range, The saturation of color defined in the range of [0, 1] can be calculated once C max is known: where C' is the chroma of the given color in the YCH color space and m ax C is the value calculated using the valid chroma algorithm.
If the value of saturation is given, the chroma can also be calculated as: The equations ( 7) and ( 8

Visual Characteristics
The color specification using Y', H' and S' coordinates provides an alternative way for color selection or image modification.The classical color wheel can easily be displayed with the variable hue at constant saturation and luma, as illustrated in Fig. 5.
Note that, depending on the printing device and/or the monitor, the image may have different perceptual uniformity in huesome areas appear smoother on paper while other look smoother on a computer monitor.This is due to the fact that different output devices using different color spaces to display images may reduce the visible palette, which is already limited, since all the colors visible by humans cannot be represented using valid RGB coordinates.
Color spaces YCH and YScH for color specification and image processing in multi -core computing and mobile systems 18

Analysis of Perceptual Uniformity
It was mentioned previously that the valid chroma algorithm can be also applied to other color spaces that use cylindrical coordinate system for specifying the color hue, the chroma and the brightness.The  The first set of images shown in Fig. 7 shows the color disks using the HSL color space.The fully saturated image shows that the change in brightness and even in hue is quite non-uniformthere are three large spots of perceptually the same color (red, blue and green) where both the brightness and hue don't change much.
There are noticeable jumps in hue, especially near the blue area.In

Fig. 1 .
Fig. 1.The chroma at each position is calculated as

Fig. 1 .
Fig. 1.Colors plotted in the HCL color space with L=34 (a), L=68 (b) and L=101 (c).Bright gray indicates that the resulting RGB values are out of the valid range.

Fig. 2 .
Fig. 2. Colors plotted in the CIELUV color space with L*=25 (a), L*=50 (b) and L*=75 (c).Bright gray indicates that the resulting color is outside of sRGB color gamut.The above figures show that different shades of color like green versus blue produce colors with similar perceived brightness (note that the printed version may slightly differ depending on the color space used by the printer).Comparing the figures of HCL and CIELUV color spaces it is evident that colors with the same L value in HCL color space do not appear with the same brightness.This problem occurs also in HSV and HSL color spaces, but not in CIELAB, CIELUV and DIN99, and their cylindrical variants.However, the range of chroma C* in these color spaces (the distance from the center to any point on

Fig. 3 .
Fig. 3. Colors plotted in the YIQ color space with Y=0.25 (a), Y=0.5 (b) and Y=0.75 (c).The bright gray indicates that the resulting RGB values are outside of valid range.

Fig. 3
Fig. 3 shows colors plotted in the YIQ color space with different values of the luma.The colors on each diagram have roughly the same perceived brightness, looking similar to the results obtained with perceptually uniform spaces such as CIELUV and CIELAB.In terms of hue, the diagram shows that a wide palette of colors is available; the question is how a user can choose a color in the YIQ color space using common terms such as hue and saturation.
) and (3) form a new color space denoted YCH, with a cylindrical coordinate system.The parameter Y' is defined in the range [0, 1], H' is defined in the range [-π, π] and C' values range from 0 to 0.7925 in typical applications.The reverse transformation from YCH to YIQ color spaces is the following:

Fig. 4 .
Fig. 4. Colors plotted in the YCH color space showing the dynamic range of chroma for a constant value of luma and different values of the hue.

Listing 1 .
) allow the color to be defined using the values of Y', H' and S c , which always produce valid RGB values, assuming that values of Y', H' and S c are within the proper ranges.In the context of this work, the color space with Y', H' and S c coordinates is referred to as YScH.The pseudo code for the proposed algorithm when applied to YCH color space is the following: Left = 0; Right = 1; while (Right -Left > Epsilon) do begin Middle = (Left + Right) / 2; IsLeft = ChromaValid(Y, Left, H); IsRight = ChromaValid(Y, Right, H); IsMiddle = ChromaValid(Y, Middle, H); if (IsLeft)and(not IsMiddle)and(not IsRight) then begin Right = Middle; Result = Left; end; if (not IsLeft)and(not IsMiddle)and(IsRight) then begin Left = Middle; Result = Right; end; if (IsLeft)and(IsMiddle)and(not IsRight) then begin Left = Middle; Result = Middle; end; if (not IsLeft)and(IsMiddle)and(IsRight) then begin Right = Middle; Result = Middle; end; end; The pseudo code for the valid chroma algorithm.In the pseudo code in Listing 1 the function ChromaValid determines whether the color specified using the coordinates Y, C and H is a valid color.This can be achieved, for instance, by converting the color back to RGB coordinates and then verifying whether these coordinates are within the valid range.In the pseudo code it is assumed that the Y and H color components are valid, and remain constant.

Fig. 5 .
Fig. 5. Color wheel displayed using the YScH color space where Y'=0.6 and Sc=1.0.The rectangle in the middle has H'=0.In Fig. 5 it can be seen that the blue and red shades have their perceived brightness closer to the green one as opposed to the classical color wheels of HSV and HSL.These color wheels are not shown in this work, but can be easily found in many popular image editing applications.The rectangle in the middle shows that given a certain color and saturation, changing the luma coordinate gives more perceptually uniform results than HSV and HSL color spaces.Previously in Fig. 4, a diagram illustrating the variations of C and H at constant Y was characterized by areas of invalid RGB color values.A similar diagram for the YScH color space is shown in Fig. 6.

Fig. 6 .
Fig. 6.Colors plotted in the YScH color space with variable hue and saturation, and constant luma.It is evident in Fig. 6 that all colors specified in YScH are valid and, with a constant value of luma, have similar perceived brightness (something that does not happen with HSV and HSL color spaces, as can be seen in the next section).In addition, a more detailed color disks are shown in the next section, which display the same shades as those on Fig. 5 and Fig. 6 in a different arrangement, where it can be compared to HSV and HSL more interactively.
newly introduced color spaces YCH and YScH are fast to compute but their perceptual uniformity still remains to be established.Therefore, it is necessary to compare the results obtained with the proposed color spaces and with the classical ones.One experiment consists in drawing color circles divided into segments of the same size, each filled with a unique color.The hue is chosen by means of the radial angle of the segment and the brightness (luma, luminance or similar component depending on the color space used) is chosen as the distance of the color block to the center.Two images are displayed for each color space, one with a full saturation, the other with the half saturation.The evaluation is made by considering the perceived changes in brightness in the circle from the outside to the center, as well as the changes in hue between individual blocks.The smoother the change, the better is the result.In the color spaces such as CIELUV DIN99 the valid chroma algorithm was used.In order to properly display the color disks for these color spaces, the white point D 65 is assumed and the final color is represented in sRGB color gamut.

Fig. 7 .
Fig. 7.The color disks plotted using the HSL color space with S=0.5 and S=1.0 respectively.

Fig. 8 .
Fig. 8.The color disks plotted using the HCL color space with Sc=0.5 and Sc=1.0 respectively.The images in Fig.8show the disks obtained with the recently introduced HCL space.They are very similar to those obtained with the HSV color space, not shown here, with the same problems as those pointed for the HSL color space.

Fig. 9 .
Fig. 9.The color disks plotted using the CIELUV color space with Sc=0.5 and Sc=1.0 respectively.The disks obtained when using the CIELUV and DIN99 color spaces are shown on Fig. 9 and Fig. 10 respectively.The disk obtained with the CIELAB is not shown as appears quite similar.The images make it evident that both color spaces handle the perceived brightness very well, and better than the HSL and HCL color spaces.The change in hue is smoother too, although a large area on the disk is dedicated to blue, making the cylindrical variants of CIELUV and DIN99 (CIELAB is also included in this list) not suitable for showing color wheels as it dedicates too much space on the color wheel for a specific color, being, for this reason, insufficient.

Fig. 10 .
Fig. 10.The color disks plotted using the DIN99 color space with Sc=0.5 and Sc=1.0 respectively.Finally, the color disks obtained with the proposed YCH (YScH) color space are shown in Fig. 11.The images show a good balance between the perceived brightness and the changes in hue, although an apparent rotation of red and blue shades can be seen in the darker areas.

Fig. 11 .
Fig. 11.The color disks plotted using YCH color space with Sc=0.5 and Sc=1.0.If the above figures are viewed on a monitor that conforms to sRGB standard, a troubling observation can be made: the blue area in color spaces such as CIELAB, CIELUV, DIN99, and even YCH, appears to be actually brighter than the rest of hues with the same brightness component and saturation.This observation suggests that the discrimination of the blue in Rec.709 [14] for the calculation of perceived brightness is too high, in other words, the blue does not appear as dark as red and green.The observation of the HSL color disk shows that the colors corresponding to take long to process (note that the results indicate that classical perceptually uniform color spaces are still out of question even for static image processing in these smaller CPUs).However, YCH color space can still be used in real-time in these situations.The difficulty regarding to YScH in such cases can be mediated by modifying the error factor to make it faster at the expense of precision.Conclusions and Future WorkIn this work, new color spaces YCH and YScH were proposed as alternatives for color specification and applications that do image processing on multi-core processors and mobile systems in real-time.These color spaces are based on YIQ transmission color space transformed into cylindrical coordinate system.The advantage of the proposed alternatives over classical color spaces such as HSV and HSL is better perceptual accuracy, while being significantly faster than other well-known color spaces such as CIELAB and CIELUV.The benefits of using the proposed alternatives are evident in terms of perceptual quality as backed up by statistical user study presented in this work, where contestants had to qualify each of the presented color disks in several categories; the results have shown in average the preference in all three categories for one of the presented alternatives instead of the classical color spaces.The calculation of YCH and YScH coordinates is easy and simple to implement as opposed to classical alternatives such as CIELAB, CIELUV and DIN99 among others, which reduces development time and costs.The valid chroma algorithm described in this work uses a branch and bound technique to constrain the saturation value to stand within a predefined interval, making the color specification more userfriendly.Although the algorithm can work with other color spaces that use cylindrical coordinate system, it is particularly useful for the proposed YCH color space (therefore converting it to YScH) as the performance hit is relatively low when compared to well-known color models such as CIELUV and DIN99.Furthermore, it can be used with CIELAB, CIELUV, DIN99 and other color spaces to expand chroma component to a fixed range for convenient usage.