• Please use real names.

    Greetings to all who have registered to OPF and those guests taking a look around. Please use real names. Registrations with fictitious names will not be processed. REAL NAMES ONLY will be processed

    Firstname Lastname

    Register

    We are a courteous and supportive community. No need to hide behind an alia. If you have a genuine need for privacy/secrecy then let me know!
  • Welcome to the new site. Here's a thread about the update where you can post your feedback, ask questions or spot those nasty bugs!

Color model vs. color space - part 1

Doug Kerr

Well-known member
Often we hear discussions as to whether a particular color-representation "scheme" is a "color model" or a "color space". Let me offer some thoughts on this - it is not as simple as some might wish.

In humans, color is a "three-dimensional" property (in the mathematical, not geometric, sense). That is, to quantitatively describe a particular color, we must state three numbers.

Now in geometry, to describe the location of a point in (three-dimensional) space also requires three numbers. And there are many different "schemes" for doing this, called "coordinate systems". There are for example the Cartesian (rectangular) coordinate system, the cylindrical coordinate system, and the spherical coordinate system (as well as many other curious ones developed for special purposes).

Similarly, there are various "coordinate system" schemes under which we can develop the three numbers that describe a color. Two of the generic categories are:

1. Systems in which the coordinates, conceptually, represent the human-recognizable color attributes known as hue, saturation, and luminance.

2. Tristimulus systems, in which a color is described in terms of a recipe: the amounts of light of three different chromaticities (called primaries) that, if combined, will produce the color to be described.

"Coordinate systems" representing color in terms of three values are generally spoken of as a "color model". (It turns out that almost all the one we get involved with in photographic colorimetry are derived from concept 2, above; some of those seek to "be as human friendly as" concept 1.)

Now, back to geometry for a moment. If we actually want to describe the location of a point in a way that would allow someone to find it, we must do more than agree to use a specific one of the coordinate systems. We must particularize it, for example by deciding where its origin is, which way do its axes "point", and what is the scale of the coordinates (and whether are they expressed as a linear or non-linear representation of the underlying geometric quantity, and if the latter, under what non-linear function.

Similarly, if we want a set of three numbers under a "scheme" to unambiguously represent a color (in "absolute" terms (and of course it may not be obvious right now just what that even means), we must similarly "particularize" the scheme.

"Color space"

Until recent times, in color science the term "color space" just meant, for any particular color model, the "abstract three-dimensional region with which we "plot" points". It is defined by the range of numbers that are "allowed" for each of the coordinates. This is directly borrowed from the mathematical concept of the "number space" of a coordinate system. In many cases, some or all of the coordinates are not "limited", so the color space becomes an infinite abstraction, like "space". But it is a notion much beloved to mathematicians.

But in fact, in almost all of these coordinate systems, many "possible" values of the three coordinates describe points that do not actually represent "colors" (remembering that if it isn't visible it isn't a "color".

So perhaps a better form of this meaning of color space would be "the abstract three dimensional region within which we can plot points that represent a color" (sometimes unnecessarily but helpfully called a "visible color").

In any case, any color model has a color space in this sense (actually two, one under each of these two definitions).

But in recent times, the term "color space" has been adopted to mean something else: a scheme of representing color that has been "particularized". While the details of that vary from situation to situation, the bottom line is that in a "color space" (in this meaning), a set of three numbers explicitly defines a color in "absolute" terms.

So now we see the basic issue at hand when we discuss whether "HSV" is a color model or a color space.

[Continued in part 2]
 

Doug Kerr

Well-known member
Color model vs. color space - part 2

[Continued]

Now, lets look at some of the popular players in this game, as see what badge they get.

[The CIE XYZ color model describes colors in terms of three primaries. Those primaries have fixed chromaticities (although they are defined in a complicated way involving the "standard observer" functions of the human eye, and have a bizarre reality I'll reveal shortly). The "amounts" are defined in terms of actual power (watts), on a relative basis, not luminance (which reflects the changing sensitivity of the eye with wavelength). In essentially every color model or color space we normally use in photographic colorimetry, the scale of luminance is a relative one (that is, it doesn't run from zero to infinity, which is course the domain of luminance in the real world).

And, I hate to say it, but the primaries here aren't "visible", so they really don't have chromaticities, but we can consider that they do if we force the extrapolation of the plane of chromaticity to embrace "non-visible colors" (oh, bite my tongue). They are totally fanciful primaries that work nicely in a tristimulus system that had desirable properties. This is, by the way. why I have to honor the one version of the definition of "color space", in the "original color science" sense, that is broader than the range of "(visible) colors".

Because of this particularization, the CIE XYZ scheme is a color model (of the direct tristimulus genre) and also a color space. Any set of X, Y, and Z values specifies unambiguously a certain "color" in an absolute sense (by definition, actually).

All that is equally true of the CIE xYY color model/space, which is directly derived from the XYZ scheme.

The generic "RGB" color model is also a tristimulus color model. In it, the chromaticities of the three primaries are not (necessarily) defined, but are assumed to have chromaticities that we can reasonably (if imprecisely) call "red", "green", and "blue". Implicitly, the "amounts" of these primaries are to be stated in terms of power (not luminance).

Now, we have, descending from this, various specific schemes, such as "CIE RGB", "sRGB", "Adobe RGB", etc. In all of these, the tristimulus concept is used (and in fact the version of it in which we can think of the primaries as "red", "green", and "blue"). For each of these, the chromaticities of these primaries are explicitly specified (in terms, indirectly, of the CIE XYZ color space). The amounts of the three primaries are to be defined in terms of power, with a nonlinear scale (and the nonlinear function is explicitly defined for each of these).

Because of this particularization, the CIE RGB, sRGB, and Adobe schemes are color spaces (in the modern meaning). Any set of R, G, and B values under a particular one of them specifies unambiguously a certain "color" in an absolute sense (and which can be described in terms of the CIE XYZ color space).

Now, what about "HSL"? It is defined as a transform of RGB. If we think of RGB in the generic form, as a color model, then the related HSL scheme is a color model. If we use the HSL representation in a context where it is a transform of a specific RGB color space (sRGB for example), then this HSL is in fact a color space. (But that is rarely mentioned.)

What about L*a*b*? Here it gets a little tricky. At the very least, L*a*b* is a color model almost ready to be promoted to a color space. Its axes and the directions in which they "point" are unambiguously defined. The scales of the three axes are defined, as is are the nonlinear functions involved.

All that's missing is the definition of the "white point" - the chromaticity that is implied by a*=0, b*=0.

And we see that situation in the equations defining L*, a*, and b*, which involve the specification (in XYZ terms) of the "reference white" we will be using to define the white point.

Now in fact when we use the L*a*b* scheme to describe the "reflective color" of a surface (the job for which it was initially designed; we later hijacked it to describe the color of light), then it is an absolute color space. That is, a surface whose reflective spectrum is uniform (unambiguously "neutral" by any definition), should have a*=0 and b*=0 (regardless of the illuminant used in testing the surface). (I say "should" because there are some second-order wrinkles that can slightly spoil this situation.)

Aren't you glad you asked?
 
Top