Color Lookup Table

Color Lookup Table

In der Computergrafik bezeichnet man mit indizierten Farben eine Methode zur Speicherung einer Rastergrafik. Bei indizierten Farben enthält die Datenstruktur jedes Pixels nicht direkt die einzelnen Farbwerte, sondern nur einen Index auf einen Eintrag einer sogenannten Farbtabelle oder Farbpalette, die die im Bild verwendeten Farben auflistet. Ein Pixel speichert hierbei – anstelle des Farbwerts – die Nummer des Tabelleneintrags, die diesen Farbwert enthält. Bilder, die nur wenige unterschiedliche Farben enthalten, sparen durch die geringe Größe des Farbindex Speicherplatz ein. Insbesondere einfache Grafiken oder Diagramme lassen sich so platzsparend speichern. Indizierte Farben finden sowohl bei diversen Grafikformaten als auch bei alten Grafikstandards, etwa EGA und VGA, Verwendung.

Inhaltsverzeichnis

Funktionsweise

In der Farbtabelle werden alle im Bild verwendeten Farben aufgelistet, wobei jeder Eintrag einen Farbwert enthält. Die Farbtabelle wird von den Pixeldaten getrennt gespeichert. Der Speicherplatz, den der Index eines Pixels benötigt, wird in Bit pro Pixel (bpp) angegeben und ist ein Maß für die so genannte Farbtiefe des Bildes. Die Farbtiefe begrenzt die maximale Anzahl der verwendbaren Tabelleneinträge; bei einem Bild mit durch n bpp indizierte Farben ergibt sich eine maximale Farbtabellengröße von 2n Einträgen.

In der Praxis werden nur maximal 8 bpp verwendet, entsprechend einer Tabellengröße von 256 Farben. Theoretisch sind auch Farbtabellen mit mehr als 8 bpp möglich. Allerdings nimmt die Speicherersparnis mit zunehmender Größe der Farbentabelle ab; ab einer bestimmten Größe wird der Speicherbedarf insgesamt sogar größer als mit direkt angegebenen Farben.

Die Anzahl der Tabelleneinträge ist unabhängig vom Format, mit dem die Farbwerte letztlich in den Tabelleneinträgen repräsentiert werden; für diese sind beliebige Farbräume denkbar. In der Praxis werden entweder 8-Bit-Graustufenwerte oder je 8 Bit für Rot, Grün und Blau (RGB), eventuell zusätzlich noch ein Alpha-Wert zur Angabe der Durchsichtigkeit, verwendet. Gelegentlich wird mit dem Begriff „Farbtiefe“ auch der von einem Farbwert eingenommene Speicherplatz bezeichnet; diese Bedeutung ist von der Farbtiefe im Sinne des für einen Farbindex verwendeten Speicherplatzes zu unterscheiden.

Oft wird die Farbanzahl einer Rastergrafik künstlich auf 256 oder weniger Farben verringert, um vom geringeren Speicheraufwand der indizierten Farben zu profitieren. Diese Methode, bei der die für das Bild repräsentativsten Farben ermittelt werden müssen, nennt man Farbreduktion.

Beispiel

Bild:Indexed palette-H.png

Das obige Schema stellt die Funktionsweise der Farbtabelle am Beispiel eines 5×5 Pixel großen Bildes mit 2 bpp, entsprechend 22=4 Tabelleneinträgen, dar. Jedes Pixel enthält einen Index auf die Farbtabelle, die den jeweiligen Farbwert definiert. Auf der rechten Seite ist das gleiche Bild ohne Farbtabelle zu sehen; die Farbwerte sind hier direkt in den Pixeln gespeichert.

Wenn man davon ausgeht, dass für dieses Bild eine Farbe durch drei RGB-Werte zu je 8 Bit repräsentiert wird,

  • so ergibt sich für das Bild ohne Farbtabelle eine Größe der Bilddaten von (5×5)×(3×8) = 600 Bit.
  • Beim Bild mit Farbtabelle belegt letztere 4×(3×8) = 96 Bit; die Größe der Bilddaten ergibt sich zu (5×5)×2 = 50 Bit. Das gesamte Bild ist in diesem Fall also nur 96+50 = 146 Bit groß.

Color Lookup Table

Als Color Lookup Table (CLUT, siehe auch Lookup-Tabelle) bezeichnet man den Teil der Grafik-Hardware, der die indizierten Farben des Framebuffers in normale Farbwerte umwandelt, um sie auf einem Bildschirm ausgeben zu können. Die CLUT ist somit eine mittels Hardware realisierte Farbtabelle. Bei den ersten Grafikkarten war die CLUT noch ROM-artig fest verdrahtet, heute handelt es sich dabei normalerweise um einen schnellen Speicher oder Registersatz in der Grafikhardware, der die aktuell verwendete Farbtabelle enthält.

Die meisten Grafikformate, die das Format einer gespeicherten Grafikdatei definieren, unterstützen verschiedene Farbtiefen, darunter sowohl solche ohne Palette als auch solche mit Palette. In letzteren gibt es dann einen eigenen Abschnitt für die Farbtabelle, der dann gelegentlich auch „(Color) Look-Up Table“ oder ähnlich genannt wird.

Farbtabellenrotation

Beispiel einer Farbtabellen-Animation, die das Auftreffen des Sonnenwindes auf einem Planeten darstellt. Der Bewegungseffekt wird durch zyklische Umbelegung der Paletteneinträge erzielt und ist hier mittels einer animierten GIF-Datei nachgeahmt.

Da die aktuelle Farbtabelle einer Hardware-CLUT verändert werden kann, sind durch bewegte Farbverläufe sehr schnelle und einfache Grafikeffekte möglich (Farbtabellenrotation, Color Cycling). Dabei wird typischerweise ein Unterbereich der Farbpalette mit einer konstanten Wiederholrate zyklisch umbelegt, d. h. „durchgerollt“. Dadurch lassen sich insbesondere Effekte wie etwa bewegtes Wasser erzielen. Der Aufwand für den Prozessor ist dabei sehr gering, da er von einer zur nächsten Phase nur die Inhalte von wenigen Farbregistern in der Grafikhardware umbelegen muss und auf den viel größeren eigentlichen Grafikspeicher überhaupt nicht zuzugreifen braucht. Entsprechend war dieser Ansatz besonders in der Frühzeit der Heimcomputer verbreitet, als noch keine so große Rechenleistung zur Verfügung stand.

Die Farbtabellenrotation war bereits in SuperPaint, einem Mitte der 1970er Jahre entwickelten Malprogramm, möglich. Nur von Amiga-IFF-Grafikdateien ist bekannt, dass sie auch für die Speicherung von Farbtabellenrotations-Effekten ausgelegt waren; der dynamisch wechselnde Bereich der Palette sowie die Zeitparameter wurden in einem eigenen Daten-Chunk der Datei untergebracht. Die Startbildschirme von Microsoft Windows 95 und 98 verwendeten ebenfalls Farbtabellenrotation. Hier war das Bild in einer Datei im BMP-Format abgelegt; ein Eintrag im Header bestimmte die Anzahl der zu rotierenden Paletteneinträge.

Auf heute üblichen Rechnern werden derartige Möglichkeiten aber kaum genutzt, da moderne Grafikkarten im Echtfarbenmodus, seltener noch im High-Color-Modus arbeiten und schnell genug sind, die gleichen Effekte auch in dieser Darstellungsart zu erzielen.

Literatur

  • James D. Foley u. a.: Computer graphics: principles and practice. S. 169–170. Addison-Wesley, Reading 1995, ISBN 0-201-84840-6
  • David F. Rogers: Procedural elements for computer graphics. S. 8–10. WCB/McGraw-Hill, Boston 1998, ISBN 0-07-053548-5
  • Richard Shoup: Color table animation. ACM SIGGRAPH Computer Graphics 13, 2 (August 1979): 8–13, ISSN 0097-8930

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Lookup table — Una lookup table (del inglés tabla de consulta ) es, en informática, una estructura de datos, normalmente un arreglo o un arreglo asociativo, que se usa para substituir una rutina de computación con una simple indexación de los arreglos. Son muy… …   Wikipedia Español

  • Color Cycling — In der Computergrafik bezeichnet man mit indizierten Farben eine Methode zur Speicherung einer Rastergrafik. Bei indizierten Farben enthält die Datenstruktur jedes Pixels nicht direkt die einzelnen Farbwerte, sondern nur einen Index auf einen… …   Deutsch Wikipedia

  • Color management — In digital imaging systems, color management is the controlled conversion between the color representations of various devices, such as image scanners, digital cameras, monitors, TV screens, film printers, computer printers, offset presses, and… …   Wikipedia

  • Color name — A color name is a noun or noun phrase that refers to a specific color. The color name may refer to human perception of that color (which is affected by visual context), or to an underlying physical property (such as a specific wavelength of… …   Wikipedia

  • Color term — A color term, also known as a color name, is a word or phrase that refers to a specific color. The color term may refer to human perception of that color (which is affected by visual context), or to an underlying physical property (such as a… …   Wikipedia

  • Colour Look-Up Table — In der Computergrafik bezeichnet man mit indizierten Farben eine Methode zur Speicherung einer Rastergrafik. Bei indizierten Farben enthält die Datenstruktur jedes Pixels nicht direkt die einzelnen Farbwerte, sondern nur einen Index auf einen… …   Deutsch Wikipedia

  • List of color palettes — This article is a list of the color palettes for notable computer graphics, terminals and video game consoles hardware.Only a sample and the palette s name are given here. More specific articles are linked from the name of each palette, for the… …   Wikipedia

  • Linux color management — has the same goal as the color management systems (CMS) for other operating systems: to achieve the best possible color reproduction throughout an imaging workflow from its source (camera, video, scanner…), onto imaging software (CinePaint,… …   Wikipedia

  • 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 …   Wikipedia

  • CLUT — Color Lookup Table Farbtabelle für die Darstellung in Video RAMs, die nicht Echtfarbfähigkeit besitzen …   Acronyms

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”