Sabemos que en PNG, BMP, etc., el valor de píxel almacenado no está en el espacio RGB lineal. Pero no encontré ningún documento que dijera nada sobre el canal alfa. ¿El canal alfa está almacenado en archivos de imagen en un espacio lineal o no?
Sabemos que en PNG, BMP, etc., el valor de píxel almacenado no está en el espacio RGB lineal.
Esto no es necesariamente cierto. Puede almacenar cualquier espacio de color que desee en una imagen, ni siquiera necesita ser colores (como mapas normales).
El canal alfa es generalmente lineal. El canal alfa no se muestra, pero generalmente es un término sin color utilizado para transparencia (o cualquier otra cosa). Debido a que no necesitan mostrarse en un monitor, no hay razón para almacenar en el espacio gamma. Si lo hiciera, perdería innecesariamente la precisión en el extremo inferior de los valores alfa. Los mapas normales siguen una línea de razonamiento similar, como lo explica muy bien Julien Guertault .
Los formatos de archivo de imagen en sí mismos no tienen en cuenta la gamma, pero almacenan valores de píxeles sin modificar ya que el programa de creación (por ejemplo, Photoshop) decide almacenar los valores, por lo que los canales RGB y alfa no tienen distinción desde el punto de vista del formato de archivo de imagen (salvo posibles estrategias de compresión con pérdida, pero ese es otro tema).
Sin embargo, cuando crea imágenes en Photoshop, se muestran en la pantalla en el espacio sRGB, incluido el canal alfa, por lo que si crea un canal alfa confiando en que el brillo percibido de los píxeles representa la transparencia, puede decir que el alfa también se almacena en el espacio gamma PERO, si creas alfa usando transparencia de capa en Photoshop, entonces el alfa se almacena linealmente (por ejemplo, el 50% de capa transparente se almacena como alfa = 128).
Entonces, al final, depende de cómo cree los datos en qué espacio se almacenan los datos y cómo debe interpretarlos. También hay que tener en cuenta si la distribución no lineal de valores le brinda beneficios de precisión. Los valores de color se almacenan en sRGB porque el sistema visual humano responde logarítmicamente al brillo de la luz, por lo que tiene sentido tener más detalles en las sombras que en las luces para reducir las bandas percibidas, pero puede preguntar si dicha distribución se beneficiaría, digamos mapas normales o valores de rugosidad almacenados en texturas