Ir al contenido

PGD | §2.2 – Cuantificación de una imagen

< §2.1 – Muestreo de una imagen

Según los conceptos que acabamos de analizar, para cuantificar la intensidad de cada pixel de la imagen será necesario decidir la cantidad de niveles que deberán emplearse. Cuando la utilización de la imagen se realiza con fines artísticos será en definitiva la apreciación humana la que dirá cuántos niveles son necesarios.

Ante todo, sabiendo que el objetivo final del proceso de digitalización es el almacenamiento y manipulación de la información generada mediante sistemas digitales, diremos que el número de niveles de cuantificación será elegido de manera de estar expresado por un número entero de bits, ya que ésta es la unidad de información que podemos almacenar y manipular mediante tales dispositivos. Luego, elegiremos 2, 4, 8, 16, 32, 64, etc., niveles diferentes, ya que corresponden respectivamente a 1, 2, 3, 4, 5, 6, etc., bits de información.

¿Cómo impacta la elección de un determinado número de niveles de cuantificación en la apariencia visual de una imagen? Para tomar noción de esto, elegiremos una parte de la imagen original, la muestrearemos utilizando un intervalo mucho menor que el utilizado anteriormente (es decir, empleando una resolución mucho mayor) y mostraremos el resultado de cuantificar las muestras utilizando diferentes números de niveles.

Imagen original. El área seleccionada será cuantificada con diferentes cantidades de niveles.
Imagen original. El área seleccionada será cuantificada con diferentes cantidades de niveles.

A continuación se muestra el resultado de cuantificar el área seleccionada de la imagen utilizando 2, 4, 8, 16, 32 y 64 niveles.

Imagen 1 bit
1 bit
2 niveles

Imagen 2 bit
2 bit
4 niveles

Imagen 3 bit
3 bit
8 niveles

Imagen 4 bit
4 bit
16 niveles

Imagen 5 bit
5 bit
32 niveles

Imagen 6 bit
6 bit
64 niveles

Una vez elegida la cantidad de niveles, y por lo tanto una cierta cantidad de bits para asignar un valor de brillo a cada pixel, podremos conocer cuánta información se genera al digitalizar la imagen. Daremos entonces esta definición:

El número de bits elegido para cuantificar cada muestra de una imagen se denomina profundidad de color, profundidad de bits y también resolución de color.
Expresaremos la profundidad de color mediante el símbolo Q.

Así, en el último ejemplo mostrado, donde se han elegido 64 niveles de cuantificación, escribiremos Q = 6 bits.

Como cada muestra genera así Q bits de información, si N es el número total de muestras, la información total de la imagen será Q x N. Daremos un nombre a esta cantidad:

Llamaremos peso de imagen al total de información generada por el proceso de digitalización.

Representaremos el peso de imagen por el símbolo P.

Por lo tanto es, para imágenes en escala de grises:
P = Q x N

Dado que N proviene del proceso de muestreo, podemos reemplazarlo por su equivalente (es decir W x H x R2) para tener una relación que una todos los parámetros de la digitalización en una sola fórmula:

Relación entre peso de imagen (escala de grises), dimensiones y resolución:

P = Q x W x H x R2

Ejemplo:

Una imagen de 10 x 15 cm se digitaliza con una resolución de 10 pixeles por mm, utilizando cuantificación de 4 bits. ¿Cuál es el peso de la imagen resultante?

Expresando las dimensiones en mm, tendremos

P = Q x W x H x R2 = 4 x 100 x 150 x 102 = 6.000.000 bits = 750.000 bytes.

Cuantificación del color

Levantaremos ahora la restricción sobre el tipo de imagen (escala de grises) para examinar la digitalización de una imagen color. Seguiremos aplicando los mismos conceptos respecto al muestreo, pero deberemos cambiar lo que entendemos por cuantificación en el caso en que la iluminación posea un color además de una cierta intensidad o brillo.

Si bien trataremos formalmente el problema del color más adelante, para nuestros fines definiremos brevemente un modelo de color como un mecanismo de representación que sea válido para describir un color de manera operativa. Nos concentraremos en el más simple de ellos, el modelo de color aditivo, basado en la forma en que el conjunto ojo-cerebro produce la sensación que llamamos color.

En este modelo, un color cualquiera se considera formado por una cierta mezcla de otros tres colores fijos, llamados primarios, que por las características fisiológicas del ojo humano resultan ser aproximadamente el rojo, el verde y el azul. Una combinación arbitraria de ellos produce en cualquier caso un nuevo color llamado secundario, cuyo brillo es mayor que el de los colores primarios que lo forman. De esta manera, el color de mayor intensidad (el blanco) es aquél formado por cantidades máximas de los tres colores primarios, mientras que el de menor intensidad (el negro) estará formado por las cantidades mínimas (es decir nulas) de los tres. La fracción de cada color primario que forma un color determinado se llama componente de color, y se considera que estos componentes son independientes entre sí, queriendo decir con esto que una cierta cantidad de rojo, por ejemplo, no condiciona en absoluto las cantidades de verde o azul que pueden formar el color resultante.

Entonces, si de acuerdo a este modelo el color de una muestra se puede describir como el conjunto de las cantidades de rojo, verde y azul que lo forman, para cuantificarlo sólo se requiere definir cuantos niveles diferentes se utilizarán para cada componente. Podemos imaginar el mismo proceso que en el caso de una imagen en escala de grises, sólo que cada muestra es examinada a través de un filtro rojo (para obtener la componente de rojo de la misma), y análogamente en el verde y en el azul, obteniendo tres valores distintos por muestra, que se cuantifican separadamente, a diferencia del caso anterior, donde sólo tenemos un valor por muestra.

En definitiva, la distinción entre escala de grises y color se reduce a la multiplicidad de valores que se miden en cada muestra. Esta multiplicidad recibe un nombre:

El número de componentes independientes de información que se obtienen en cada muestra se denomina número de canales.
Expresaremos el número de canales mediante el símbolo C.

Desde este punto de vista más general, una imagen en escala de gris requiere sólo un canal de información, mientras que una imagen color descripta mediante el modelo aditivo o RGB (por ser las iniciales de Red, Green, Blue) requiere 3 canales de información. Otros modelos de color pueden requerir un número diferente de canales; por ejemplo el modelo sustractivo utilizado en impresión, conocido como CMYK (por las iniciales de sus colores primarios Cyan, Magenta, Yellow, más el agregado de K que representa una tinta negra[1]), necesita 4 canales.

Asimismo, la profundidad de cuantificación Q se refiere ahora a la profundidad por cada canal, ya que suponemos que cuantificamos a cada uno de los valores de la muestra utilizando Q bits.  Entonces el peso de imagen se generaliza así:

En imágenes color el peso de imagen es:

Peso de imagen = Número de canales x número de bits por canal x total de muestras
P = C x Q x N

Y nuestra fórmula final queda:

Relación entre peso de imagen color, dimensiones y resolución:

P = C x Q x W x H x R2

Obsérvese que en esta fórmula intervienen todos los elementos que definen la imagen, el muestreo y la cuantificación, a saber:

W, H: Datos de la imagen (dimensiones);

R: Dato del muestreo (resolución);

C, Q: Datos de la cuantificación (número de canales, profundidad de color).

Transparencia

En las aplicaciones de diseño es frecuente la necesidad de que una parte del contenido de una imagen deba comportarse como si fuera transparente o semi-transparente (traslucencia), con el propósito de que el efecto visual resultante sea el de una fusión entre el contenido de la imagen (supuesta en primer plano) y cualquiera sea el contenido de fondo (colores planos, otras imágenes, textos u otros objetos gráficos que formen parte del diseño). Para que una parte del contenido de una imagen tenga esa propiedad, se puede adoptar una entre tres estrategias:

  • Considerar que cada pixel, además de contar con los C canales de cuantificación de color elegidos, tiene un canal más cuyo objetivo es decidir qué traslucencia o grado de transparencia (en diseño web se suele especificar como opacidad) tiene ese pixel en particular. Suponiendo cuantificación de 8 bits, si el valor de ese canal extra para un pixel es 0 (“negro”), el pixel se considera completamente transparente; en cambio si es 255 (“blanco”) se lo considera opaco. Cualquier valor intermedio entre 0 y 255 será considerado como una medida proporcional de semi-transparencia. En ese caso una imagen cuantificada con C canales que agregue transparencia simplemente se trata como si tuviera C + 1 canales, ya que el canal extra tiene la misma profundidad de color que los principales. Este canal, que definie el grado de transparencia de todos los pixeles de la imagen, se suele llamar canal alfa.
  • Otra posibilidad, más simple pero menos versátil, es considerar que un pixel o bien es opaco o o bien transparente (sin valores intermedios de semi-transparencia(, y asignar a los pixeles “transparentes” un valor especial que los identifique como tales. Este método se aplica más eficazmente en un modo de cuantificación especial, llamado color indexado (que veremos en el capítulo siguiente) donde la imagen lleva una tabla de colores usados, y uno de ellos es el etiquetado como transparente.
  • Una tercera opción es el uso de un trazado de recorte (clipping path) que consta de la definición de una curva (conocido como trazado o path en programas de ilustración vectorial) que indica que sólo su interior debe resultar visible, omitiendo la parte de la imagen que quede fuera de ese trazado. Si bien esta descripción tiene parecido con la de un canal alfa, la diferencia en que este trazado es de naturaleza vectorial, y sólo algunos formatos de imagen admiten su uso, notablemente PostScript y su derivado EPS.

Si bien la transparencia es una propiedad de algunos pixeles de la imagen, es responsabilidad del programa o aplicación que los utilice el interpretarlos adecuadamente al momento de presentarlos en pantalla o el medio que corresponda, realizando la operación de fusión entre ésta y el fondo sobre el cual se supone aplicada. Esto trae como consecuencia la necesidad de definir un modelo de imagen para dar sentido operacional a esa fusión; por ejemplo, si una cierta área de una imagen RGB que consta de 50% de rojo (nivel de cuantificación 127) con una transparencia de 25% (nivel de cuantificación 63) se aplica sobre un fondo cuyos valores son R: 100, G: 255, B: 128, ¿cuál es el color resultante? Para que esto tenga sentido, debe definirse un algoritmo que calcule de manera precisa el resultado de esta operación. Los programas que manejan imágenes con transparencias lo hacen, pero esos algoritmos son complejos y no están estandarizados, por lo que en general no puede anticiparse con precisión en todos los casos el resultado de una fusión de este tipo[2].

Por lo tanto, suponiendo imágenes que utilicen transparencia mediante canal alfa, la expresión para calcular el peso de imagen se generaliza así:

En imágenes con canal alfa el peso de imagen es:

Peso de imagen = (Número de canales + 1) x número de bits por canal x total de muestras
P = (C + 1) x Q x W x H x R2

 

§2.3 – Cuantificación en aplicaciones reales >

1 Es común asumir que K es por la letra final de black (negro), elegida en lugar de la letra B para que no se confunda con blue (azul) en ciertos contextos, pero en realidad K es por key (clave), ya que esa separación de negro frecuentemente es usada de referencia para el posicionamiento y registro de las otras.
2 La introducción de la transparencia en imágenes de pixeles que tuvo lugar en 1994 de la mano de Photoshop 3, y en el arte vectorial en el 2000 con Illustrator 9, tuvo sus consecuencias en el mundo gráfico. La implementación de esta característica en PDF (tener en cuenta que sólo la especificación del modelo matemático de transparencia empleado por Adobe ocupa un manual de más de 100 páginas) hizo que una de las primeras normas ISO para la creación de estos archivos, la ISO 15930-1 (PDF/X-1), prohibiera explícitamente la transparencia, justamente debido a la falta de consistencia producto de la diversidad de técnicas que los fabricantes de RIPs y otros sistemas de proceso de preprensa de entonces usaban para interpretar contenido semi-transparente. A su vez, los programas de diseño que permiten aplicar transparencia (opacidad) a sus objetos deben proveer un mecanismo para eliminarla (“resolverla”) mediante una opción llamada acoplamiento de transparencia (transparency flattener) al crear un PDF bajo esa norma.