color spaces, whee!
Posted Jan 30, 2007 22:03 UTC (Tue) by roelofs
Parent article: Video4Linux2 part 5a: colors and formats
This colorspace also covers the set of YUV and YCbCr representations. This representation derives from the need for early color television signals to be displayable on monochrome TV sets.
Well, that's one (techno-historical) way to look at it... But perhaps more accurately, it derives from the physiology of the human eye, which basically has YUV- or YCbCr-like sensors in it. The fact that YUV/YCbCr better lend themselves to certain compression tricks (even lossless ones, which is still sort of amazing to me) plays a role, too.
Conversion between YUV and RGB is not entirely straightforward, however; there are several formulas to choose from.
Heck, conversion between RGB and RGB isn't entirely straightforward, either. Aside from "gamma" (~brightness/contrast), which most of us are vaguely aware of, there are a whole host of other, interlinked concepts involved: chromaticity, white point, color temperature, gamut, surround (ambient background lighting), rendering intent, ... In addition, there are separate exponential transfer functions (~"gamma") for cameras, monitors, display cards (LUTs!), etc.; you need to know details about both the source and the destination devices, and often there are files in between. It's a complicated mess, and it's really easy to get some (or all) of it wrong. :-/
to post comments)