Color Cycling

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 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:

  • Color cycling — Color cycling, also known as palette shifting, is a technique used in computer graphics in which colors are changed in order to give the impression of animation. This technique was mainly used in early computer games, as storing one image and… …   Wikipedia

  • Color Cycling —   [dt. »Farbrotation«] das, Verfahren, das von Grafik und Animationsprogrammen benutzt wird, um mit geringem Aufwand den Eindruck von Veränderung und Bewegung zu erzeugen. Beim Color Cycling bleibt der eigentliche Inhalt eines Bildes unverändert …   Universal-Lexikon

  • color cycling — spalvų kaita statusas T sritis informatika apibrėžtis Animacijos kūrimo metodas, kai grafinio objekto judėjimas imituojamas cikliškai keičiant ↑taškų spalvas ekrane, o ne statinius vaizdus (↑kadrus). Iliustraciją žr. priede. priedas( ai) Grafinis …   Enciklopedinis kompiuterijos žodynas

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

  • Cycling in Syracuse, New York — is common on the roads and paths for recreation, commuting and as a sport. English racer bicycle, Syracuse Sunday Standard, June 14, 1896 During the 1890s bicycling was a new mode of transportation and a popular sport, however, overall bicycle… …   Wikipedia

  • Color de Hormiga Reserva Natural — (Barichara,Колумбия) Категория отеля: Адрес: Vereda San José Alto …   Каталог отелей

  • Cycling jersey — Commercial version of maillot jaune, 2004 A cycling jersey is a specialized jersey (shirt) for cycling. While the vast majority of cyclists worldwide wear conventional clothing while riding, a jersey offers certain advantages for the serious… …   Wikipedia

  • Cycling — Protesters cycling in Chamonix in 2003 …   Wikipedia

  • SMPTE color bars — Color bar redirects here. For the political issue, see racial segregation. Rendition of SMPTE color bars. Note that due to technical issues, notably full I and Q modulations as well as the super black in the PLUGE of the signal, true SMPTE color… …   Wikipedia

  • Kitsap Color Classic — Kitsap Color Classic, a Cascade Bicycle Club event, is held every October on the Kitsap Peninsula of Washington State. Bicyclists board a Washington State Ferry in Edmonds, WA, then ride to Kingston to start cycling. Distances range from 14 miles …   Wikipedia

Share the article and excerpts

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