My Camera, My Color
Space
Background
We've covered a lot of
ground in previous articles with respect to color management, profiles,
and color spaces, but one area that continues to confuse many people is
the origin of color management: the color space used by your digital
camera. If you have any interest in color management, that is
preserving accurate color from the capture device to the monitor and
printer, you probably understand that you need a printer profile to
describe how to reproduce color with your printer, paper, and ink and a
monitor profile so that you can see accurate color on your monitor.
Too often, however, we forget that the origin of color is just as
important as the destination! If you don't know what color space
your camera is using and your camera isn't embedding a color space
profile, you can end up with color problems on screen and in print.
Let's take a look at how your digital camera records color and try to
get some answers.
The origin of color
Cameras make taking photos so easy that few people realize how complex
the image capture process really is. Unlike scanners, which have
their own consistent light source, a camera must be able to record the
scene under a variety of lighting conditions. Since the lighting
conditions that existed when the photo was taken are likely quite
different than the lighting conditions where you'll be viewing the
reproduced photo, white point adaption must be performed (white balance)
so that our eyes perceive the scene as it was when photographed even
though the lighting is now different.
Suffice it to say the camera is doing
some number crunching before saving the finished JPEG on the flash card.
For this article, we'll limit our discussion to the JPEG/TIFF shooting
mode and won't go into raw processing since most raw processing software
both handles the color conversion and stores the proper color space as
part of the processed image, thus eliminating the uncertainty of which
color space to use for the processed images. With cameras shooting
in JPEG or TIFF capture mode, however, it can be difficult to tell
exactly what the camera is using as the color space for the photos.
The camera has "done its thing" and processed the photo, but do you know
whether the saved JPEG/TIFF images are in sRGB color space, Adobe RGB
color space, or some other color space, and do you know whether or not
the data is really accurate for that color space? If you are not
sure, using a super accurate monitor and printer profile won't help you
because for the monitor/printer profile to work, you also have to know
the color space (which can be specified as a profile as well) for the
image itself!
What is color
accuracy?
When I talk about "accuracy" for the
purpose of this article, I'm using the term a bit loosely.
Technically, accurate color would be color that is identical to the
original scene including the light source that illuminated the scene.
Unfortunately, if you reproduced the original scene with this type of
colorimetric accuracy, it may look quite odd both on screen and on
paper, because the light source in the room where you are viewing the
photos is unlikely to be identical to that of the original scene, the
white point of the paper is not likely to match the original scene, etc.
When we talk about accuracy in on-screen or printed photos, we must talk
about a subjective type of accuracy in that our eyes perceive the photo
to be true in color to the original scene.
If you are looking at a photo of
someone you know was wearing a bright red shirt and the shirt looks
orange in the photo, or you were looking at a blue sky that printed
purple, you would say the color reproduction is "inaccurate". In
general, most complaints about color accuracy will come from hue shifts
(colors shifted toward another/different color), saturation problems
(colors being too vibrant or too dull) or luminance problems (too bright
or too dark) in that order. Fortunately, color management knows how we
see and can adapt to different illuminants so that photos still look
accurate on our monitor and printer. Once again though, to do
this, we must have an accurate image profile (color space for the camera
images), an accurate monitor profile, and an accurate profile for our
printer, paper, and ink.
What color space
does my camera use?
As discussed above, some color space
(profile) must be assumed for the images created by your camera.
If you are using a monitor and/or printer profile, some color space is
being assumed for your images (out of the camera) whether you realize it
or not! Let's make sure we know the assumptions being made by our
camera and our imaging software.
Both the JPEG and TIFF image file
specification include an option for embedding a profile that describes
the color space for the images. Unfortunately, and for reasons
still unclear to me, I don't know of any camera manufacturer who chooses
to utilize this feature, so there are almost no cameras that will
specifically identify the color space of the image by embedding the
profile for that color space even though it would require only about 500
bytes in the file header to do so. Instead, most manufacturers
include the EXIF "color space" tag in the file header, meaning that the
color space is "tagged" but not "embedded".
The EXIF data in your photos includes
information such as the shutter speed, aperture, flash status, and other
shooting parameters, so it is logical to identify the color space via
the EXIF information. Sadly, the EXIF color space tag can only
identify the color space if the color space being used is sRGB.
There are only two valid settings for the EXIF color space tag and those
are sRGB (a standard color space for PC's and the web) and "uncalibrated".
Basically this means that if your camera is storing images in the sRGB
color space, you should be fine since the EXIF color space tag will
specify sRGB and your photo software should be able to identify sRGB as
the color space of your images. If your camera is not storing
images in the sRGB color space, you really cannot tell what color space
is being used by looking at the EXIF information since "uncalibrated" is
all the information that will be provided.
Where does this
leave us?
Fortunately, if you use a consumer
camera that doesn't give you any menu option to change the color space,
it is very likely using sRGB as the color space and this will be
recorded in the EXIF header of the image. These images will open
in most photo editors and other imaging software with the proper sRGB
color space recognized automatically.
Things can get a bit more
complicated, however, if you are using a dSLR or other camera that
allows you to switch your color space from sRGB to Adobe RGB.
Shooting in Adobe RGB mode allows you to capture a wider range of colors
so those who use high end cameras like dSLR's often change the color
space so that the camera uses Adobe RGB. Once you do this, the
EXIF information is changed so that the color space is listed as "uncalibrated".
At this point, some photo editors and other photo related software may
start telling you that there is no embedded profile/color space and may
ask you what color space to assume when you open the image(s).
Since the vast majority of cameras
only offer two options for color space, sRGB or Adobe RGB, if the
software you are using tells you that there is no embedded color space
and asks you what to use, chances are the answer is Adobe RGB since if
the images were in sRGB color space, sRGB would have been explicitly
identified in the image file. I have programmed my own
Qimage software with
logic that can automatically determine the proper color space to use,
but if you are using other photo related software and you are asked
about the color space or profile to use when the image is opened, follow
these general guidelines:
-
If you are using an older camera that
may not support the latest EXIF data and/or your camera does not offer
the ability to change the color space (say from sRGB to Adobe RGB), it
is safe to assume sRGB as the color space for your photos.
-
If you are using a camera that allows
you to select sRGB or Adobe RGB as the color space in a setup menu and
you are using ICC aware software, you should not be asked about which
color space to use if sRGB is selected in the camera and you may or may
not be asked if Adobe RGB is selected as this depends on the capability
of the software you are using. If you are asked, you have probably
set your camera to Adobe RGB mode, so select Adobe RGB.
-
If you are not using fully
ICC aware (color managed) software, you may never be asked about color
space because the software ignores that information, or you may be asked
every time if the software is unable to read the EXIF header to
determine color space. In cases like these, use your best
judgment. Again, if you haven't taken any action to specifically
change your camera to Adobe RGB color space, it should be safe to assume
sRGB is the proper color space to use for your images.
I know now what my
camera says. Is it accurate?
Here we open up a whole new can of
worms. If we've read the above and we know which color space our
camera is using for images it stores on the flash card (most likely
either sRGB or Adobe RGB), is color really going to be "accurate" if we
assume that color space for our photos? This is a much more
difficult question to answer and the answer depends on many factors such
as lighting, white balance accuracy, exposure, and even the lens being
used if the camera has interchangeable lenses. Next comes the fact
that the most accurate photos may not be the most pleasing
photos to many people.
In reality, many consumer grade
cameras offer a simple color shaping matrix that is designed to return
pleasing color that results in few complaints from consumers. Most
consumers, for example, prefer a little extra sharpness and pop
(contrast) in photos. They also like green grass to look really
green even when in reality it might be a little yellow/brown. As
you begin to move up to high end or dSLR cameras, we see more of a shift
toward color accuracy and less of that extra "pop", but there is often
still a balance between accuracy and that "wow" factor of a photo that
really leaps off the paper.
In the end, if you know what color
space was intended for the images, the resulting photos should look good
when that color space is used. Some people often notice small
errors like some detail being lost in shadows as darkening shadows is a
common technique used to increase contrast and hide image noise/grain.
People often ask whether they should try to create a custom ICC profile
for their camera using their favorite profiling package. Most
often, the answer is no. While some older cameras in the 1-3
megapixel era could benefit from custom profiles just because
manufacturers weren't as good at color in those days, you'll most likely
only make things worse trying to create a profile for a modern camera
shooting in JPEG/TIFF mode. Custom profiles can be a big help for
raw shooting, however, since the profile can be applied in the raw
software at a more stable point in the conversion process. The
trouble with trying to create an ICC profile for your camera in
JPEG/TIFF shooting mode is that there are far too many adjustments
taking place before the profile is applied and you end up shooting at a
moving target.
Summary
The bottom line when dealing with
photos from your digital camera is that you must be aware of the color
space used for those images since this is the first step in color
management and your monitor/printer profiles will not be accurate unless
you are assuming the correct input (image) color space. Unless you
have specifically changed a setup menu to specify a color space like
Adobe RGB in your camera's options, the camera is most likely storing
photos in sRGB color space. If your camera has a color space
option and allows you to change the color space from sRGB to Adobe RGB
and you are unsure about the mode used for some of your shots, try using
Qimage to determine the
color space of your images. It has built in logic that can
determine the proper color space for your camera's photos. Simply
hold your mouse pointer over the thumbnail for an image in question, and
Qimage will display the color space assignment on the status bar at the
bottom of the main window. Ensuring the proper color space for
your images will enable accurate color rendition from your monitor and
printer by virtue of the fact that we have the right starting point.
Mike Chaney