23 marzo, 2013

Monitores LCD y perfiles del color

Prepárense para morir del rollo que les contaré...

La semana pasada les solté un rollo sobre monitores IPS. El verdadero rollo que quería contarles es lo que explicaré en esta entrada. Tal y como dije al final del post anterior, mi monitor LG IPS224V vino (viene) con parte del software mal: El perfil de color ICC (o ICM). Por culpa de esto me metí en un mundo desconocido y complejo, ya que quería saber qué estaba pasando exactamente y de qué se trata todo este tema de los perfiles y espacios de color.

He tardado en ponerme a escribir esto porque, la verdad, es que hay mucha información suelta por ahí y tenía miedo de meter la pata. Mi misión es compartir mis averiguaciones para ahorrarles el trabajo por el que yo pasé. Listaré mis fuentes al final por si quieren saber de donde saqué mi información y quieren indagar más.

Historia corta

Ahí va la historia corta por si no quieren tragarse todo el rollo:

- Calibren sus monitores si son LCDs (TFTs / pantallas planas), aunque sea a ojo y no pillen el perfil de monitor por defecto que les asigna el sistema operativo. Si el fabricante les proporciona uno (un archivo .icm), perfecto, aunque por lo visto Samsung tiene la mala fama de proporcionarlos medio escoñados, y por experiencia propia, al menos un monitor LG también viene mal.

- Windows suele pillar uno llamado sRGB que resulta ser realmente un espacio de color y no un perfil de monitor, y aunque sean parecidos, no son exactamente lo mismo. Dicho espacio sirve más bien para monitores CRT (de tubo de toda la vida).

Todo esto yo ya lo sabía, pero como el supuesto perfil estaba escoñado y acabé intentando retocarlo a mano, al final me interesé por todo esto.

Para calibrar sus monitores se pueden gasta una pasta con hardware, o hacerlo "a ojo" con programas como Calibrize para crear un perfil, y usar el test web de lagom.nl para comprobaciones más a fondo y toquetear el brillo y contraste del monitor.

Yo acabé usando el perfil del monitor LG IPS234V, o sea, el hermano de 23 pulgadas de mi monitor (que es de 22). Ese no estaba escoñado, y supuse que aunque no sea exacto es lo suficientemente parecido al mio. Luego retoqué usando el test web.

Y esta es la historia corta. A continuación, una explicación de qué va esto del perfil.

Color humano y monitores

Me leí múltiples entradas de wikipedia y no entendía muy bien el tema, todas hablaban a alto nivel, para fotógrafos y otros, pero no lo explicaban a nivel 'informático'. Entendía lo que pasaba, pero no porqué. Tras dar muchas vueltas acabé encontrando un par de webs (en Inglés) que lo explican muy bien, pero me gustaría explicarlo un poco a mi manera intentando dejarlo más simple que dichas web.

El siguiente gráfico representa todos los colores que podemos ver los seres humanos. Dicho gráfico que están viendo, visto en un monitor, es mentira cochina, pues ningún monitor (y ninguna impresora) es capaz de reproducir todos los colores que somos capaces de ver, conque lo que están viendo es sólo para que se hagan una idea. De todos esos colores, como habrán adivinado, en un monitor, sólo se puede ver un triángulo.

En este diagrama en concreto se compara sRGB con AdobeRGB. Hay que tener en cuenta que lo del triángulo también es mentira cochina pues realmente debería ser 3D !! Pero no quiero enrollar.

Cada monitor es diferente, y por lo tanto cada monitor sólo es capaz de reproducir su propio triángulo. Y es ésto una de las cosas que están definidas en un perfil de monitor, el "triángulo" ese. Por lo tanto, mi monitor no vé lo mismo exactamente que tu monitor, y dejarle el perfil por defecto sRGB es un error, ya que es mentira, tu monitor no ve esos colores! Por eso hacen falta los perfiles, para poder definir qué colores podemos ver en los dispositivos, y además, gracias a conversiones y demás movidas matemáticas acabar viendo todos los mismos colores o intentar conseguir los más parecidos.

Todo muy bien... todo esto está explicado por ahí, pero yo seguía sin pillarlo, sin entender qué estaba pasando. Soy informático, para mi todo son bits y bytes.

Color Digital

Hay varias formas de representar el color digitalmente, pero el que más se usa es el RGB de 8 bits por canal representado por tres valores de 0 a 255 de Rojo Verde y Azul. La verdad es que quiero suponer que ya saben de estas cosas. Si no saben: RGB en Wikipedia, y vuelvan luego por aquí.

[Nota: No confundan sRGB con RGB!!!]

8 bits por canal, 24bits... esto nos da, exactamente 16.777.216 colores diferentes. Los monitores actuales, dicen poder reproducir exactamente ese número de colores, pero, como expliqué antes, son colores contenidos en el triángulo, y cada monitor tiene un triángulo diferente. Resulta que cada esquina del triángulo representa un color "puro", o sea, lo más rojo que puede el monitor, lo más verde que puede el monitor y lo más azul que puede el monitor y la representación para, por ejemplo, lo más rojo sería (255,0,0).
Los dos tienen el mismo color IRL,
 pero distinto valor internamente para cada monitor.
Entonces, si yo, en mi PC creo un dibujo de un circulito rojo de exactamente color (255,0,0) (lo más rojo que tengo) y te lo doy a ti (dentro de un jpeg con ese valor RGB) sin decirte nada más... al abrir el archivo no verás el mismo rojo que vi yo, ya que para mi, mi (255, 0, 0) no es igual que tu (255, 0, 0) para ti.

Para poder ver el mismo rojo que veo yo, tengo que decirte mi perfil de color para que sepas qué entiendo yo por ese código!!! Y luego tu ordenador convierte ese codigo a uno para tu monitor. El archivo no se toca, seguirá teniendo mi valor, estamos hablando de convertir códigos para los monitores.

Y es esto lo que me tenía mosca. No sabía si se estaba haciendo esto o alguna otra "magia" tras el telón. Los perfiles pueden incluirse en los archivos, aunque lo más normal es convertir los valores a un perfil muy conocido, como sRGB o AdobeRGB antes de grabar el archivo.

Conversión

Si tu "triángulo" engloba la esquina roja de mi triángulo (tal y como AdobeRGB engloba a sRGB) no habrá problema, pero si no, el monitor simplemente no puede reproducir ese color y tendrá que pillar el más parecido. En ambos casos, el valor cambia. Claramente esa "conversión" se puede hacer de diferentes maneras, pero lo voy a dejar aquí por hoy.

Conclusión

Supongo que la mayoría de ustedes están interesados en qué tiene que ver todo ésto con la fotografía, lightroom, photoshop, cámaras e impresoras. Lo dejo para otro día. Pero no me iré sin decir un par de cosillas curiosas:

- El gráfico aleta de tiburón ese que he puesto, si lo piensan, viene a representar el perfil de color del ser humano, o del ojo humano promedio.

- El ojo humano sólo distingue unos 10 millones de colores, o sea, en toda la aleta de tiburón esa sólo distinguimos 10 millones... y en cada "triángulo" tenemos 16 millones de colores!! O sea, más de los necesarios. (Y para los machos de la especie sobran una barbaridad, al menos que seas un tetracromato).

- Les dejo un gráfico de verdad de un "triángulo" en 3D para que vean que realmente no es un triángulo. Lo que faltaba por representar en 2D viene a ser la "luminosidad".. ¿No echaban en falta el color negro? Por cierto, el nombre verdadero de los "triángulos" es "Gamut" o "Gama de Color".


Bibliografía:

Si no me he explicado bien o quieren saber más...

Cambridge in Color. Color Management Tutorials

Wikipedia:
RGB
Espacio de color sRGB
CIE 1931
Gama de color

1 comentarios:

Angelica dijo...

Creo que con la tecnología una de las mejores cosas que se inventaron fueron los monitores lcd. La verdad que cuando veo películas o todas las cosas que haga, se ven con una resolución impresionante.