Alphakanal

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Der Alphakanal oder α-Kanal ist ein zusätzlicher Kanal, der in Rastergrafiken zusätzlich zu den Farbinformationen die Transparenz (Durchsichtigkeit) der einzelnen Pixel (Bildpunkte) speichert. Die Darstellung eines Bildes mit Alphakanal auf einem Hintergrund wird als Alpha Blending bezeichnet.

Geschichte[Bearbeiten]

In der Filmtechnik waren bereits Jahrzehnte vor der Erfindung des Computers sogenannte Mattes gebräuchlich – Filmstreifen, die einzelne Objekte darstellten und die über einen Hintergrund gelegt werden konnten (Compositing). Mit der Einführung digitaler Filmtechniken wurden auch digitale Mattes entwickelt.

Der Begriff integral alpha wurde 1977[1] von Alvy Ray Smith und Edwin Catmull für die Idee eingeführt, dass Transparenzinformationen nicht in einer separaten digitalen Matte, sondern zusammen mit den Pixeln gespeichert werden sollten, um den Prozess zu vereinfachen. Dieser zusätzliche Bildkanal wurde „Alphakanal“ (alpha channel), die entsprechenden Pixel „RGBA“-Pixel genannt.[2] Die Bezeichnung „Alpha“ bezieht sich auf die Variable \alpha in der klassischen Formel zur linearen Interpolation

 C = \alpha A + (1 - \alpha) B,

wie sie beim Alpha Blending verwendet wird. Durch die Einführung des Alphakanals wurden digitale Mattes überflüssig. 1984 entwickelten Thomas Porter und Tom Duff verfeinerte Alpha-Blending-Techniken (siehe auch Porter-Duff Composition).

Für ihre Verdienste bei der Entwicklung digitaler Compositing-Techniken erhielten Catmull, Porter, Duff und Smith 1996 einen Engineering Award der Academy of Motion Picture Arts and Sciences.[3]

Speicherung und Darstellung[Bearbeiten]

Ein Bild mit Alphakanal, hier auf weißem Hintergrund
Das gleiche Bild auf einem anderen Hintergrund
Darstellung des in der Bilddatei gespeicherten direkten Alphakanals. Hellere Bereiche sind undurchsichtiger, dunklere durchsichtiger.

Im Alphakanal werden bei verschiedenen Grafikformaten (z. B. PNG, PSD, TGA, DDS oder TIFF) Transparenzinformationen zusätzlich zu den eigentlichen Bilddaten gespeichert. Dabei besitzt ein Alphakanal meist dieselbe Farbtiefe wie ein Farbkanal eines Bildes. So umfasst ein Alphakanal bei einem 8-Bit-Bild 256 Stufen. Dem Wert Alpha=0 entspricht das Attribut „vollständig transparent“, d. h. unsichtbar. Alpha=255 entspricht „nicht transparent“.

Die maximale Anzahl der möglichen Transparenzabstufungen richtet sich nach der Anzahl der für den Alphakanal verwendeten Bits. Ein binärer Alphakanal ist ein minimaler Alphakanal, der 1 Bit verwendet und daher nur angeben kann, ob ein Bildpunkt entweder vollständig transparent oder vollständig opak ist. Im Ergebnis der Benutzung eines binären Alphakanals vergleichbar, kann auch eine Farbe eines Bildes als transparent definiert werden. Diese Art Transparenz wird im Graphics Interchange Format (GIF) verwendet, wodurch ein Farbton weniger zur Darstellung verwendet werden kann. Sie ist jedoch kein Alphakanal im technischen Sinne, da die Transparenzinformationen nicht für jeden Bildpunkt einzeln gespeichert werden. Andere Formate erlauben oft ein zusätzliches Byte pro Pixel und somit 28 = 256 Abstufungen. Im Gegensatz zum GIF kann im PNG-Dateiformat ein 8- oder 16-Bit-Alphakanal benutzt werden. Bei diesem „echten“ Alphakanal spricht man dann auch von Grafiken mit vier Kanälen, die oft als RGBA abgekürzt werden (Rot, Grün, Blau, Alpha).

Arten von Alphakanälen[Bearbeiten]

Alphakanäle können auf drei verschiedene Arten gespeichert werden:

Externer bzw. separater Alphakanal
Bei der Speicherung in Form eines externen Alphakanals werden die Transparenzinformationen als separate Datei gespeichert. Dabei handelt es sich um eine Graustufendatei, die beim Öffnen als Transparenzkanal interpretiert werden muss. Zur Darstellung eines Bildes mit externem Alphakanal müssen sowohl die Bilddatei als auch die Alphakanal-Datei importiert werden, und mittels der darstellenden Anwendung wird die korrekte Transparenz der Datei hergestellt. Dieser Vorgang wird auch Interpretation des Alphakanals genannt.
Direkter Alphakanal
Bei Dateien, die den Alphakanal als sogenannten direkten Alphakanal (straight alpha) enthalten, werden die Transparenzinformationen in einem separaten Kanal, zusätzlich zu den Farbkanälen, gespeichert. Ein Pixel innerhalb der Datei wird demnach nicht nur mit drei Werten (R,G,B) gespeichert, sondern mit vier Werten: (R, G, B, α). Zum Beispiel würde ein dunkelblaues Pixel, das mit voller Deckkraft angezeigt werden soll, bei einer Farbtiefe von 8 Bit durch die Werte (0, 0, 170, 255) gespeichert werden. Die Farbkanalinformation des Bildes wird durch den direkten Alphakanal nicht verändert.
Integrierter Alphakanal
Bei dem integrierten Alphakanal (premultiplied alpha) wird die Transparenzinformation wie beim direkten Alphakanal in einem eigenen Kanal gespeichert. Der wesentliche Unterschied zum direkten Alphakanal ist, dass die Farbwerte des Bildes mit einer Hintergrundfarbe im Verhältnis zum Alphakanal abgemischt werden. Wie viel von der Originalfarbe eines Pixels verwendet wird, hängt von seiner Deckkraft ab. Halbtransparente Pixel werden zum Beispiel mit 50 % Schwarz und 50 % Hintergrundfarbe gespeichert. Diese Integration des Alphakanals in die Farbkanäle geschieht nicht anstelle, sondern zusätzlich zur Speicherung des Alphakanals. Dadurch soll die korrekte Anzeige des Bildes auch in Anwendungen ermöglicht werden, die keinen Alphakanal unterstützen.

Weitere Anwendungen[Bearbeiten]

Alphakanäle können in diversen Bildbearbeitungsprogrammen definiert werden. Dabei können etwa auch Auswahlen im Bild für die spätere Wiederverwendung gespeichert werden. In Photoshop werden temporäre Alphakanäle gebildet, wenn eine Ebene maskiert wird. Alphakanäle können auch zum Freistellen eines Bildes verwendet werden. Dies geschieht oft, indem ein bestehender Farbkanal zu einem Alphakanal kopiert wird und dann mit den Bildbearbeitungsfunktionen (Kurven, Kontraste, Pinsel, usw.) rasch bearbeitet werden kann.

Bei GIMP lässt sich der Alphakanal über die im Kontextmenü vorhandene Funktion „Auswahl aus Alphakanal“ auch für das Freistellen (auf anderen Ebenen oder in anderen Bildern) verwenden.

Ein Alphakanal kann auch für Videos verwendet werden, um Objekte vom Hintergrund zu trennen. Dabei kann der Alphakanal direkt mit dem Video oder in einer separaten Videodatei gespeichert werden.

Literatur[Bearbeiten]

  • Thomas Porter, Tom Duff: Compositing Digital Images. In SIGGRAPH 1984 Proceedings. S. 253–259. ACM, New York 1984, ISBN 0-89791-138-5 (PDF, 730 KB)
  • Alvy Ray Smith: Alpha and the History of Digital Compositing. Technical Memo 7, 1995 (PDF, 40 KB)
  • Alvy Ray Smith: Digital Paint Systems: An Anecdotal and Historical Overview. IEEE Annals of the History of Computing 23, 2 (Apr–Jun 2001): 4–30, ISSN 1058-6180

Einzelnachweise[Bearbeiten]

  1. Alvy Ray Smith: Digital Paint Systems: An Anecdotal and Historical Overview, S. 6
  2. Alvy Ray Smith: Alpha and the History of Digital Compositing, S. 5
  3. Alvy Ray Smith: Digital Paint Systems: An Anecdotal and Historical Overview, S. 27