Colour look-up table
A colour look-up table (CLUT) is a mechanism used to transform a range of input colours into another range of colours. It can be a hardware device built into an imaging system or a software function built into an image processing application. The hardware colour look-up table will convert the logical colour (pseudo-colour) numbers stored in each pixel of video memory into physical colours, normally represented as RGB triplets, that can be displayed on a computer monitor. The palette is simply a block of fast RAM which is addressed by the logical colour and whose output is split into the red, green, and blue levels which drive the actual display (e.g., a CRT or cathode ray tube).
A CLUT is characterized by:
- The number of entries in the palette: determines the maximum number of colours which can appear on screen simultaneously (a subset of the wider full palette, which is to be understood as the total number of colours that a given system is able to generate or manage, e.g. the full RGB colour palette).
- The width of each entry in the palette: determines the number of colours which the wider full palette can represent.
A common example would be a palette of 256 colours (e.g. VGA hardware); that is, the number of entries is 256, and thus each entry is addressed by an 8-bit pixel value. The 8 bits is known as colour depth, bit depth or bits per pixel (bpp). Each colour can be chosen from a full palette, typically with a total of 16.7 million colours; that is, the width of each entry is 24 bits, 8 bits per channel, which means combinations of 256 levels for each of the red, green, and blue components: 256 × 256 × 256 = 16,777,216 colours. Another common use case was low bit depth elements (e.g. 4bpp per element, with multiple palettes) composited into a high colour frame buffer (e.g. in the PlayStation 2).
An abstract, graphic example would be:
Image | Image Palette (CLUT) |
Full RGB Palette | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Properties | Dimensions | Colour depth |
Number of entries (logical colours) |
Entry
width |
Number of entries (physical colours) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 × 6 pixels | 2 bits per pixel → | (→ 2 bits) 4 | 3 bits → | (→ 3-bit RGB) 8 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Size in
memory |
8 × 6 × 2 = 96 bits | 4 × 3 = 12 bits | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Numeric entries |
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coloured entries |
|
|
Changes to the palette affect the whole screen at once and can be used to produce special effects which would be much slower to produce by updating pixels.
See also
- Palette (computing)
- Lookup table
- True Color
- Indexed color (Colors and palettes)
- Color depth (Indexed color)
External References
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.