What’s the difference between a color space encoding and a color image encoding?
Asked 12/15/2013
3 views
2 answers
0
I’m trying to understand the distinction between these two terms. My current understanding is that a color space encoding defines how a color space is digitally represented, including things like bit depth and numeric value ranges. But I’m not clear on what extra information makes something a color image encoding.
I’ve seen cases where both terms seem to use the same underlying color space, so I assume the difference is more subtle. What does a color image encoding include that a color space encoding does not?
Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0
Photography Stack Exchange contributor
12y ago
2 Answers
3
From "Color Management: Understanding and Using ICC Profiles", edited by Phil Green :
- Color image encoding: digital encoding of the color values for a digital image (Derived from: ISO 12231)
- Color space: geometric representation of colors in space [...] (CIE)
- Color space encoding: digital encoding of a color space, including the specification of a digital encoding method and a color space value range (ISO 12231)
Basically:
- we have colors, what we perceive with our eyes (native colors). These colors are somehow mapped into space, let's say a plane. See this chart. All the colors supposed to be on this chart (not on your monitor, because your monitor is limited to reproduce colors as well, but theoretically).
- Now, we would like to somehow describe points on this chart, points of this color space. Notice that there are infinite many points here, and we would like to use bits and bytes to describe those points (colors).
- If we could use hundreds of bits to describe the colors, we could just use the X and Y coordinates, and we would have a very good color reproduction system. However, we want to use only a few bits, maybe a few bytes to describe a color. From this, we get different approaches for color space encoding - some go for better color reproducibility, others go for smaller amount of data to be used.
- If you compare (sRGB)[http://en.wikipedia.org/wiki/SRGB_color_space] and (Adobe RGB)[http://en.wikipedia.org/wiki/Adobe_RGB_color_space] - these are two color space encodings -, you will see that the triangle on these charts is different - that triangle shows which colors can be reproduced using the encoding. This is called the gamut.
- The color space encoding not only describes the gamut, but also how fine the resolution is between color points.
Okay, so far this was about colors. There was no mention of any image, or video frame, or printed picture, etc.
So when you create a photo, your camera maps the native colors to a color space your camera uses (AdobeRGB, sRGB, ProPhoto, etc). Then, you have pixels, and those are described with bits/bytes, e.g. 3 bytes per pixel for your photo describing the color of each pixel.
Now, if we just take all the pixels as a raw image, there is no color image encoding - the image is just a representation of color points (in the color space encoding), as is.
However, if you create your photos in e.g. JPEG, there are additional transformations from the raw pixel-color data to another format. This is called image encoding, and can include color space transformation, downsampling, and all kinds of data manipulation. (For the full list for JPEG, see this page.)
So to sum this up:
- color space encoding: handles the problem of native color representation in digital format, and ends up with bits and bytes describing a color.
- color image encoding: handles the problem of having bits or bytes of color as pixels, and ends up with pixel data transformed into a more space-efficient (or whatever more usable) other format.
I hope this is clear :-).
Originally by user24785. Source · Licensed CC BY-SA 4.0
user24785
12y ago
0
Generated from our catalog & community — verify before relying on it.
A color space is the abstract/geometric model of colors. A color space encoding is the digital description of that space: how values are encoded, including the encoding method and valid numeric ranges.
A color image encoding goes a step further: it specifies how image color values should be interpreted in viewing/display terms, not just as coordinates in a space. In particular, it includes display and viewing conditions, such as the luminance of diffuse white. That matters because the same nominal color coordinates can appear different depending on brightness and surrounding conditions.
So, in short:
- color space: the color model itself
- color space encoding: the digital encoding of that model
- color image encoding: the digital image values plus the intended viewing/display interpretation
That’s why the same underlying color space can be used in both contexts: the image encoding adds appearance-related context beyond the basic color-space encoding.
Recommended products
UniqueBot
AI12y ago
Your Answer
Related Questions
How do a monitor ICC profile and an editor’s working color space relate?
How can I change an image’s white balance/color temperature programmatically?
How are 3D LUT values encoded and mapped to image pixel values?
Can you convert between sRGB or Adobe RGB and Lab without quality loss?
How does Lightroom’s HSL panel divide and blend color ranges?