Xilinx support.xilinx.com  
Xilinx HomeProductsSupportEducationPurchaseContactSearch
   
  techXclusives
   
 

Colour Space Conversion
Part 1

By Andy Miller
Staff Engineer - Xilinx UK

 
   
  (continued from page 1)

Can Linear RGB be used to drive the monitor?
No, because the characteristics of real monitors (Phosphor CRT’s and LED's), are nonlinear. (That is, the intensity of light reproduced at the screen of a CRT monitor is a nonlinear function of its voltage input.)

If we applied linearly-coded colour components to a display, equal increments of each component would NOT result in perceived equal increments of colour.

Linear RGB values are transformed with another 3x3 matrix multiply to produce a set of primaries that are nonlinear in nature, but which closely match and compensate for the non-linearity of the target monitor. This is known as “gamma correction”, and the gamma-corrected RGB primaries are denoted with a prime symbol (i.e., R’G’B’).

In video systems, gamma correction is applied at the camera; it is usual for these signals to be available as the analogue outputs R’G’B’.

Can R’G’B’ be used to drive the monitor?
Yes. These signals are industry-accepted analogue components and are often found on the interface of most video equipment.

Component Analogue RGB Signals

Gamma corrected R’G’B’ components are available as analogue signals that require high-stability interfaces with respect to amplitude, level, and timing between the signals.

Ideally, all signals carry a sync pulse that assists timing and amplitude monitoring, but the gamma-corrected R’G’B’ format is also implemented with sync on Green only, or on a fourth channel dedicated to sync pulses.

Unity Colour Space

The elements that now define our colour space are three signals with a range of 0->700mV, as shown below. These axes define a colour space cube often referred to as “unity colour space,” as the axes are normalised to a magnitude of 1, and any space within the cube can be located as a vector in the form (Red, Green, Blue).

i.e. pure red = (1,0,0)
pure green = (0,1,0)
pure blue = (0,0,1)


Coding “Yellow”

Yellow is defined as the Maximum excursion of Red + Maximum excursion of Green + NO excursion of Blue (i.e., coordinate [1,1,0]).

The term excursion is used because the reference is metric-independent. In the analogue domain, max excursion is 700mv. In the colour space domain, a max excursion is “1” (and anything less is a fraction). In the digital domain, max excursion depends on the coding system.

It is useful to be aware of something called “ITU Recommendation 601” (often abbreviated to Rec-601), because this defines how the colour coordinates of the “Luma and Colour Difference channel” colour space is digitally coded for 8- and 10-bit words.

(Continued on page 3)

 
Pg. 1

Pg. 3