|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="question" id="color-whatisspace" xml:lang="da">
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
<info>
|
|
Packit |
6d2957 |
<link type="guide" xref="color#profiles"/>
|
|
Packit |
6d2957 |
<link type="seealso" xref="color-whatisprofile"/>
|
|
Packit |
6d2957 |
<desc>A color space is a defined range of colors.</desc>
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
<credit type="author">
|
|
Packit |
6d2957 |
<name>Richard Hughes</name>
|
|
Packit |
6d2957 |
<email>richard@hughsie.com</email>
|
|
Packit |
6d2957 |
</credit>
|
|
Packit |
6d2957 |
<include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
|
|
Packit |
6d2957 |
</info>
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
<title>What is a color space?</title>
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
A color space is a defined range of colors.
|
|
Packit |
6d2957 |
Well known color spaces include sRGB, AdobeRGB and ProPhotoRGB.
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
The human visual system is not a simple RGB sensor, but we can
|
|
Packit |
6d2957 |
approximate how the eye responds with a CIE 1931 chromaticity diagram
|
|
Packit |
6d2957 |
that shows the human visual response as a horse-shoe shape.
|
|
Packit |
6d2957 |
You can see that in human vision there are many more shades of green
|
|
Packit |
6d2957 |
detected than blue or red.
|
|
Packit |
6d2957 |
With a trichromatic color space like RGB we represent the colors
|
|
Packit |
6d2957 |
on the computer using three values, which restricts up to encoding
|
|
Packit |
6d2957 |
a triangle of colors.
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
<note>
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
Using models such as a CIE 1931 chromaticity diagram is a huge
|
|
Packit |
6d2957 |
simplification of the human visual system, and real gamuts are
|
|
Packit |
6d2957 |
expressed as 3D hulls, rather than 2D projections.
|
|
Packit |
6d2957 |
A 2D projection of a 3D shape can sometimes be misleading, so if
|
|
Packit |
6d2957 |
you want to see the 3D hull, use the gcm-viewer
|
|
Packit |
6d2957 |
application.
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
</note>
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
<figure>
|
|
Packit |
6d2957 |
<desc>sRGB, AdobeRGB og ProPhotoRGB vist som hvide trekanter</desc>
|
|
Packit |
6d2957 |
<media its:translate="no" type="image" mime="image/png" src="figures/color-space.png"/>
|
|
Packit |
6d2957 |
</figure>
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
First, looking at sRGB, which is the smallest space and can encode
|
|
Packit |
6d2957 |
the least number of colors.
|
|
Packit |
6d2957 |
It is an approximation of a 10 year old CRT display, and so most
|
|
Packit |
6d2957 |
modern monitors can easily display more colors than this.
|
|
Packit |
6d2957 |
sRGB is a least-common-denominator standard and is used
|
|
Packit |
6d2957 |
in a large number of applications (including the Internet).
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
AdobeRGB is frequently used as an editing space.
|
|
Packit |
6d2957 |
It can encode more colors than sRGB, which means you can change
|
|
Packit |
6d2957 |
colors in a photograph without worrying too much that the most vivid
|
|
Packit |
6d2957 |
colors are being clipped or the blacks crushed.
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
ProPhoto is the largest space available and is frequently used for
|
|
Packit |
6d2957 |
document archival.
|
|
Packit |
6d2957 |
It can encode nearly the whole range of colors detected by the human
|
|
Packit |
6d2957 |
eye, and even encode colors that the eye cannot detect!
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
Now, if ProPhoto is clearly better, why don’t we use it for everything?
|
|
Packit |
6d2957 |
The answer is to do with quantization.
|
|
Packit |
6d2957 |
If you only have 8 bits (256 levels) to encode each channel, then a
|
|
Packit |
6d2957 |
larger range is going to have bigger steps between each value.
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
Bigger steps mean a larger error between the captured color and the
|
|
Packit |
6d2957 |
stored color, and for some colors this is a big problem.
|
|
Packit |
6d2957 |
It turns out that key colors, like skin colors are very important,
|
|
Packit |
6d2957 |
and even small errors will make untrained viewers notice that something
|
|
Packit |
6d2957 |
in a photograph looks wrong.
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
Of course, using a 16 bit image is going to leave many more steps and
|
|
Packit |
6d2957 |
a much smaller quantization error, but this doubles the size of each
|
|
Packit |
6d2957 |
image file.
|
|
Packit |
6d2957 |
Most content in existence today is 8bpp, i.e. 8 bits-per-pixel.
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
Color management is a process for converting from one color space to
|
|
Packit |
6d2957 |
another, where a color space can be a well known defined space like
|
|
Packit |
6d2957 |
sRGB, or a custom space such as your monitor or printer profile.
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
|
|
Packit |
6d2957 |
</page>
|