Inicio | Apuntes breves | Un perfil de color ICC a fondo

Un perfil de color ICC a fondo

Viernes, 14 de Octubre de 2011 15:05

iccdumpA lo largo de este artículo vamos a profundizar un poco mas en entender e interaccionar con los parámetros que podemos obtener de un perfil de color ICC una vez que es inspeccionado, con programas como por ejemplo ColorSync.

Para inspeccionar un perfil ICC en Mac OS X basta con abrirlo desde ColorSync. Sin embargo como observaremos posteriomente, algunos datos de este no se acaban de mostrar especialmente claros, y es mejor recurrir a la herramienta por línea de comandos de ArgyllCMS: iccdump.

Los perfiles se organizan por etiquetas, con unos valores y descripciones asociados. Las más interesantes son:

Cabecera

sRGB CabeceraLa cabecera o Header del perfil contiene datos descriptivos interesantes de la construcción y funcionamiento del perfil. Dentro de esta etiqueta podemos observar varios parámetros:

Device Class (Clase):

Nos indica el tipo de perfil en función de como será usado, los valores van a ser:

 

  • Input: Para perfiles de entrada, que son los que vamos a crear habitualmente con RoughProfiler
  • Output: Para perfiles destinados a la técnica del Soft Proofing
  • Display: Pueden ser perfiles destinado a su uso en monitores, como a perfiles destinados a espacios de trabajo y visualización a través de medios electrónicos.

Color Space (Espacio):

Es el espacio de color en el que trabaja nuestro perfil, como valores posibles en este parámetro podemos tener: RGB, CMYK, Gray o LAB

Conn. Space (PCS):

Se trata de el Profile Connection Space, o espacio de conexión desde el cual uniremos los dos espacios de color con los que va a trabajar el perfil. Esencialmente este espacio va a ser el XYZ o el LAB

Dev. Attrbts (Atributos del Dispositivo):

Este es uno de los parámetros poco legibles a priori ya que nos encontraremos con una larga cadena de ceros con algún valor en su extremo. Aunque hay una correspondencia entre estos patrones y sus valores finales, lo mejor es inspeccionar nuestro perfil con iccdump así podemos observar atributos con las siguientes combinaciones posibles:

Dev. Attrbts = Reflective, Glossy, Positive, BlackAndWhite
Dev. Attrbts = Transparency, Glossy, Positive, Color
Dev. Attrbts = Reflective, Matte, Positive, Color
Dev. Attrbts = Reflective, Glossy, Negative, Color
Dev. Attrbts = Reflective, Glossy, Positive, BlackAndWhite

Estos atributos se pueden controlar desde RoughProfiler desde el campo Atributes.

Rndrng Intnt (Interpret. de generación):

En esta etiqueta se nos indica el tipo de propósito usado en el perfil a la hora de realizar equivalencias entre espacios. Los tipos de propósitos o Render Intent son:

  • Percetual
  • Relativo Colorimétrico
  • Saturación
  • Absoluto Colorimétrico

intentIgual que la etiqueta anterior desde nuestro ColorSync cuando se trate del Relativo o Absoluto solo se muestra el término Colorimétrico por lo que será necesario inspeccionar con iicdump para tener claro que tipo de propósito se trata.

Illuminant (Iluminación PCS):

Esta etiqueta indica que tipo de iluminante, o iluminación usada en el espacio de conexión o PCS. Siempre que se genera una matriz de transformación es necesario aportar el iluminante bajo el que trabaja. Habitualmente, y por convención del ICC, el iluminante del PCS va a ser el D50 o lo que es lo mismo en el coordenadas XYZ: 0.964203, 1.000000, 0.824905

Si obervamos otras coordenadas que no son las descritas, pues debemos sospechar que el iluminante del PCS no es el estandard D50.

Triestímulo de punto Blanco (wtpt)

triestimulos White D50Cuando se habla de triestímulo, nos referimos a las tres cantidades de estimulo aportadas por los primarios XYZ del espacio de color CIE XYZ. Por tanto el triestímulo del punto blanco serán las coordenadas XYZ donde se sitúa el punto blanco. La localización de este punto varia en función del iluminante bajo el que observemos nuestra carta de color. El concepto de punto blanco, esta íntimamente ligado a la percepción de la temperatura de color.

El wtpt se calcula a partir de la iluminación bajo la que registremos nuestra carta de color. Si fotografiamos, o corregimos nuestra carga de color para un D50, las coordenadas aquí mostradas van a coincidir con las indicadas en el punto anterior. Sin embargo, a menudo estos valores se corresponderán a la temperatura de color bajo la que expusimos nuestra carta.

whitePointCareSi a pesar de haber hecho una carta de color con una cierta dominante, o no hemos conseguido calibrar correctamente las dominantes, si usamos el parámetro de RoughProfiler: White Point Care, vamos a despreciar las posibles dominantes sobre nuestro parche blanco, y crear un perfil con el standard D50.

RoughProfiler White PointDe forma antagónica, desde el deslizador White Point, de Rough Profiler, podemos introducir modificaciones en este punto, que nos ayuden a calentar o enfriar los resultados del perfil.

Triestímulo de punto Negro (bkpt)

El triestímulo del punto negro, es de forma similar al del punto blanco, la ubicación del negro para un iluminante concreto desde el punto de vista de un observador particular.

Triestímulo colorante rojo, verde y azul (rXYZ,gXYZ,bXYZ)

Estas etiquetas solo existen si estamos ante un perfil de tipo matriz, que como decíamos en otro artículo, utilizan una matriz de transformación 3x3 para realizar los cálculos de transformación.

Los valores que podremos observar en este punto, son variables para cada perfil, y se deducen del proceso de creación de nuestro perfil a partir de una carta de color o mediciones espectrales realizadas en otros soportes como por ejemplo un monitor.

Para el ejemplo voy a usar el perfil de color estándar: sRGB IEC61966-2.1 ya que los valores de su matriz están definidos por el International Color Consortium.

Los valores de esta matriz para este perfil deberían ser los siguientes según el ICC:

R: X=0.4360, Y=0.2225, Z=0.0139;
G: X=0.3851, Y=0.7169, Z=0.09710;
B: X=0.1431, Y=0.0606, Z=0.7139;

Con estos valores podemos obtener nuestra propia matriz de transformación 3x3 y realizar cálculos de conversión desde el espacio RGB al XYZ:

Nuestra matriz sería por tanto:

  
[0,436 0,2225 0,0139]
M= [0,3851 0,7169 0,0971]
[0,1431 0,0606 0,7139]

Nuestra operación:

 [RGB] = M [XYZ]

Sí por ejemplo tomamos los valores RGB del blanco: 255,255,255, que debemos escalar previamente:

 
R = 255/255 = 1
G = 255/255 = 1
B = 255/255 = 1

Si por ejemplo queremos usar otros valores que no sean el blanco seria: R= 6/255, G= 10/255, etc,...

Los cálculos matemáticos sobre nuestra matriz serian por tanto:

 
x = R*0,436 + R*0,3851 + R*0,1431 = 0,9642
Y = G*0,2225 + G*0,7169 + G*0,0606 = 1
z = B*0,0139 + B*0,0971 + G*0,7139 = 0,8249

Si nos fijamos hemos obtenido las coordenadas del iluminante D50 usado en el Triestímulo del Blanco y en el PCS. Sin embargo esto es una coincidencia, ya que al tratarse de un perfil estandard el Blanco se ubica exactamente en esas coordendas, en otros perfiles, obtendremos variaciones en tal situación.

Curvas de Respuesta rojo, verde y azul (rTRC, gTRC, bTRC)

curva gamma matrixAl igual que los perfiles basados en matrices, podemos tener curvas o no en un perfil, aunque en general casi siempre vamos a poseer las etiquetas del tipo de curva, si por ejemplo estas son lineales o del tipo gamma= 1, esto indica que las curvas no imponen modificaciones al proceso de transformación.

Como ya decíamos en el artículo “tipos de perfiles ICC” existen varios tipos de curvas:

Por una lado podemos tener la misma curva para los tres colorantes, o podemos tener una curva por colorante. Y por otro lado podemos tener dos tipos esenciales de curvas:

  • En tipo Gamma, que es la característica curva logarítmica con un arranque suave para acabar en una fuerte pendiente.
  • De tipo shaper, moldeo o adaptativa, la cual decíamos que es una curva arbitraría, mucho mas precisa que la anterior ya que permite adaptarse a regiones particulares de nuestro espectro.

En los perfiles para escalas de grises podemos encontrar la etiqueta KTRC que es una curva de tipo gamma para la respuesta de tono.

Tablas

perfil luts matriz adaptacion cromaticaEn el pasado artículo “Tipos de perfiles ICC” ya abordé un poco la estructura de tabla, conocida también por LUT o Lookup Table. A modo de resumen, indicar que las LUTs son estructuras que solventan el empleo de rutinas muy complejas de cálculo mediante el uso de índices, simplificando enormemente ciertos cálculos computacionales.

En nuestros perfiles, podemos encontrar varios tipos de tablas: las tablas directas o serie que comienza por la letra A, y las tablas inversas que comienzan por la letra B. Como se puede deducir por el nombre unas realizan los cálculos en un sentido y las otro en el inverso, entiéndase por tanto “A to B” y “B to A” donde el artículo anglosajón “to” es sustituido por su análogo fonético “2”.
Un perfil puede tener uno o varias tablas, en función de los propósitos que implementen para su funcionamiento. No confundir el propósito que se ha usado para construir el perfil con el propósito usado para la conversión entre espacios de los LUTs.

Existen tantas tablas como propósitos de forma que:

  • A2B0 / B2A0 - Perceptual
  • A2B1 / B2A1 - Colorímetro relativo
  • A2B2 / B2A2 - Saturación
  • A2B3 / B2A3 - Colorimétrico absoluto

Una vez dentro de cada tabla, se nos pueden ofrecer diversos controles para evaluar el comportamiento de dicha tabla, cabe citar que no debemos confundir la Matriz, que suele aparecer dentro de las LUTs con las matrices indicadas anteriormente, en este caso se trata de una matriz de adaptación cromática, usada para afinar el rendimiento de los calculos. Existen tres tipos esenciales de matrices de adaptación cromática: la denominada XYZ Scaling (caracterizada por una serie de unos en su diagonal), la Brandford y la Von Kries. Las matrices de adaptación cromática son utilizadas para compensar las variaciones del espectro a lo largo de diversas fuentes de luz.

Otras

El resto de etiquetas son relativas a etiquetas de texto donde se pueden guardar cadenas de texto que nos ayuden a describir nuestro perf

x-rite Professional LED Lighting, DSLR Support and Accessories for Photo and Video BabelColor asociacion española de imagen cientifica y forense