Premultiplied vs. Straight Color – Transparenzen in Photoshop

Das Thema ist in der Druckvorstufe eher nebensächlich und vielmehr in der Video/CGI-Branche von Bedeutung. Da es aber auch Photoshop betrifft, verdient es hier trotzdem seinen Platz.

Worum geht’s?
Immer wenn von »premultiplied« und »straight« gesprochen wird, geht es in irgendeiner Form um Transparenzen.

Doch beginnen wir der Reihe nach: Zunächst muss man wissen, dass – rein technisch gesehen – Transparenzen eine Unterkategorie von Alphakanälen sind. »Alphakanal« nennt man alle möglichen Extra-Kanäle, die ein Dokument besitzen kann. Die Transparenz ist bloß eine bestimmte Art davon. In weiterer Folge nenne ich daher den Alphakanal, der für die Transparenz verantwortlich ist »Transparenzkanal«. Man muss aber wissen, dass diese Transparenzkanäle für Anwender nicht wie die klassischen Kanäle zu sehen sind:

transparenz-vs-alpha

Links (A) ist ein PNG zu sehen, welches einen freigestellten Kreis beinhaltet. Obwohl in den Kanälen kein extra Kanal zu sehen ist, besitzt dieses Dokument dennoch einen Transparenzkanal. Im Gegensatz dazu sehen wir rechts (B) ein PSD-Dokument, mit einer freigestellten Ebene und einem Alphakanal. Der Alphakanal hat für die Transparenz in dem Dokument aber keine Bedeutung und somit keine konkrete Funktion. (Er dient in der Regel nur als Speicher einer zuvor erstellten Auswahl.) Doch auch in diesem Beispiel ist ein Transparenzkanal vorhanden.

Sobald in Photoshop das Schachbrettmuster zu sehen ist, verfügt das Dokument über einen Transparenzkanal. Diese Transparenzinformationen können auf zwei verschiedenen Arten gespeichert werden: premultiplied oder straight. Dabei unterscheiden sich aber nicht die Transparenzkanäle sondern die Farbkanäle! Ausdrücke wie »straight alpha« sind daher eigentlich falsch, da sich das »straight« nur auf die Farbkanäle bezieht.

Sehen wir uns die Unterschiede im Detail an:

Straight channels (direkte Kanäle/unmatted):
Bei dieser Methode werden die Transparenzinformationen ausschließlich im Transparenzkanal gespeichert. Das Resultat der Transparenz ist daher erst sichtbar, wenn der Transparenzkanal von einem Programm entsprechend interpretiert wird. Photoshop (und viele andere Programme auch) können diese Daten richtig interpretieren und so kommt es, dass es selbstverständlich wirkt, dass beispielsweise Grafiken mit weichen Verlaufskanten im PNG-Format eben halbtransparent sind. Tatsächlich sind die Informationen in den Farbkanälen aber vollkommen deckend. Erst wenn der Transparenzkanal ausgewertet wird, sehen wir das richtige Ergebnis. Das wird vor allem dann klar, wenn man einen Blick in Photoshops Infofenster wirft.

sample 2

aussen
Messpunkt 1


mitte
Messpunkt 2


Wie in den beiden Abbildungen zu sehen, unterscheiden sich die beiden Messpunkte lediglich in der Deckkraft. Die Farbinformation ist mit RGB 250/195/0 aber überall gleich. Das wäre auch gar nicht anders möglich.

Premultiplied channels (integrierte Kanäle/matted):
Bei dieser Methode wird die Transparenzinformation sowohl im Transparenzkanal als auch in den Farbkanälen gespeichert. Die Farbkanäle werden dafür entsprechend der Opazität im Transparenzkanal vorab mit einer Hintergrundfarbe multipliziert – daher premultiplied. Die Farben in halbtransparenten Bereichen, wie sie beispielsweise bei weichen Kanten entstehen, werden dazu also mit einer anderen Farbe überlagert. Manche Programme erlauben es daher eine Hintergrundfarbe zu wählen, anderenfalls wird meist Schwarz oder Weiß verwendet.

Auf welche Methode trifft man in der Praxis?
TIFFs sind immer »premultiplied«, wenn sie mit der Option »Transparenz speichern« gesichert werden. Das heißt aber nicht, dass die Hintergrundfarbe, die in halbtransparente Bereiche eingerechnet wird, dann auch sichtbar ist (wenn das Bild z.B. in InDesign platziert wird). Diese Farbe wird nämlich wieder herausgerechnet. Sinn an der Sache ist nur, dass falls ein Programm nicht mit Transparenzkanälen umgehen kann, dennoch der Eindruck eines halbtransparenten Bereiches entsteht. Photoshop nimmt als Hintergrund übrigens automatisch Schwarz. (Mehr Infos zu TIFFs und dem Alpha Handling befinden sich in den TIFF-Spezifikationen auf Seite 77: Section 18 Associated Alpha Handling.)

Im Gegensatz zu TIFF ist das PNG beispielsweise ein »straight color format«. Laut den PNG-Spezifikationen ist der vierte Kanal immer als Transparenzkanal zu interpretieren und nicht als extra Alphakanal.

Auch das PSD-Format ist ein »straight color format«.

Technischer Hinweis: Egal mit welcher Methode die Daten in den jeweiligen Formaten abgelegt sind, Photoshop arbeitet ausschließlich mit »straight color«. Daten die premultiplied sind, müssen daher für die Bearbeitung konvertiert werden. D.h. Photoshop »un-multiplied« die Daten beim Öffnen und »re-multiplied« sie beim Speichern wieder. Durch diese Rundreise können die Farbkanäle ganz leicht verändert werden.

Fazit
Wer ausschließlich mit Adobe-Programmen arbeitet, braucht sich um nichts Weiteres zu kümmern, da alle Adobe-Programme beide Varianten richtig interpretieren. In Programmen wie After Effects kann man ohnehin zwischen beiden Varianten wechseln, um zum gewünschten Ergebnis zu gelangen:

after-effects-alpha

Interessant wird dieses Thema erst, wenn andere Programme im Spiel sind und Fehler auftreten. Dann ist diese Unterscheidung wichtig, um vernünftige Ergebnisse zu erzielen.

Wenn man die Wahl hat, was wäre dann aber besser? Straight oder premultiplied? Ich vertraue hier auf die Antwort von Chris Cox:

»For most purposes, straight color is better than premultiplied and will result in a lot less artifacts when making adjustments, color corrections, filtering, etc. Straight color also allow for more blend modes, with premultiplied you either have to un-multiply or live with just normal blend mode.«


Darüber hinaus sind »straight color«-Daten in der Regel auch schneller, da man sich das Unmultiplying und Remultiplying spart.

Weiterführendes
Man kann in Photoshop die Transparenz von den Farbinformationen auch wieder trennen, und zwar über den Befehl: Ebene > Ebenenmaske > Von Transparenz. Das hievt die Transparenz in eine Ebenenmaske und setzt die Pixeldaten der Ebene wieder in den Originalzustand zurück. Wo die Opazität aber einmal null war, ist die Information weg. Das kann nicht rückgängig gemacht werden.

Dieser Befehl zeigt aber sehr schön, dass die Farbinformationen tatsächlich alle behalten werden, nur eben aufgrund der Transparenzinformationen in der Datei nicht sichtbar sind.

Noch ein Geek-Fact zum Schluss: Photoshop unterstützt 56 Kanäle bei TIFF-, PSD-, und PSB-Dateien. Bei RGB-Dokumenten hätten also noch 53 Alphakanäle Platz.

Comments