Wir wissen, dass in PNG, BMP usw. der gespeicherte Pixelwert nicht im linearen RGB-Raum liegt. Aber ich habe kein Dokument gefunden, das etwas über den Alphakanal aussagt. Wird der Alphakanal in Bilddateien im linearen Raum gespeichert oder nicht?
Wir wissen, dass in PNG, BMP usw. der gespeicherte Pixelwert nicht im linearen RGB-Raum liegt. Aber ich habe kein Dokument gefunden, das etwas über den Alphakanal aussagt. Wird der Alphakanal in Bilddateien im linearen Raum gespeichert oder nicht?
Antworten:
Wir wissen, dass in PNG, BMP usw. der gespeicherte Pixelwert nicht im linearen RGB-Raum liegt.
Dies ist nicht unbedingt wahr. Sie können jeden gewünschten Farbraum in einem Bild speichern, es müssen nicht einmal Farben sein (z. B. normale Karten).
Der Alphakanal ist im Allgemeinen linear. Der Alphakanal wird nicht angezeigt, ist jedoch im Allgemeinen ein nicht farbiger Begriff, der für Transparenz (oder was auch immer) verwendet wird. Da sie nicht auf einem Monitor angezeigt werden müssen, gibt es keinen Grund, sie im Gammaraum zu speichern. Wenn Sie dies tun, verlieren Sie unnötigerweise die Genauigkeit am unteren Ende der Alpha-Werte. Normale Karten folgen einer ähnlichen Argumentation, wie sie von Julien Guertault sehr gut erklärt wurde .
Bilddateiformate selbst berücksichtigen das Gamma nicht, sondern speichern Pixelwerte unverändert, da das Authoring-Programm (z. B. Photoshop) die Werte speichert. Daher unterscheiden sich RGB- und Alphakanäle nicht vom Standpunkt des Bilddateiformats (mit Ausnahme möglicher verlustbehafteter Komprimierungsstrategien). aber das ist ein anderes Thema).
Wenn Sie jedoch Bilder in Photoshop erstellen, werden diese auf dem Bildschirm im sRGB-Bereich einschließlich des Alphakanals angezeigt. Wenn Sie also einen Alphakanal erstellen, bei dem die wahrgenommene Helligkeit der Pixel für Transparenz steht, können Sie sagen, dass Alpha auch im Bild gespeichert ist Gammaraum. ABER, wenn Sie Alpha mithilfe der Ebenentransparenz in Photoshop erstellen, wird das Alpha linear gespeichert (z. B. wird eine zu 50% transparente Ebene als Alpha = 128 gespeichert).
Am Ende kommt es also darauf an, wie Sie die Daten erstellen, in welchem Bereich die Daten gespeichert sind und wie Sie sie interpretieren sollten. Zu berücksichtigen ist auch, ob die nichtlineare Verteilung von Werten Präzisionsvorteile bietet. Farbwerte werden in sRGB gespeichert, da das menschliche visuelle System logarithmisch auf die Helligkeit des Lichts reagiert. Daher ist es sinnvoll, bei Dunkelheit mehr Details als bei Helligkeit zu haben, um die wahrgenommene Streifenbildung zu verringern. Sie können sich jedoch fragen, ob eine solche Verteilung von Vorteil ist, wenn beispielsweise normale Karten oder Rauheitswerte gespeichert werden in Texturen.