Profundidad de color

De El Museo de los 8 Bits
Revisión del 21:17 15 jun 2009 de Museo8bits (discusión | contribs.) (Nueva página: thumb|right|250px|Paleta de colores. La '''profundidad de color''' o '''bits por pixel''' es un concepto de la computación gráfica que se refiere ...)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda
Archivo:Indexed palette.png
Paleta de colores.

La profundidad de color o bits por pixel es un concepto de la computación gráfica que se refiere a la cantidad de bits de información necesarios para representar el color de un píxel en una imagen digital o en un framebuffer. Debido a la naturaleza del sistema binario de numeración, una profundidad de bits de <math>n</math> implica que cada píxel de la imagen puede tener <math>2^n</math> posibles valores y por lo tanto, representar <math>2^n</math> colores distintos.

Debido a la aceptación prácticamente universal de los octetos de 8 bits como unidades básicas de información en los dispositivos de almacenamiento, los valores de profundidad de color suelen ser divisores o múltiplos de 8, a saber 1,2,4,8,16,24 y 32, con la excepción de la profundidad de color de 15, usada por ciertos dispositivos gráficos.

Color indexado

Para las profundidades de color inferiores o iguales a 8, los valores de los pixeles hacen referencia a tonos RGB indexados en una tabla, llamada habitualmente mapa de colores o paleta. Los tonos en dicha tabla pueden ser definidos por convención o bien ser configurables, en función de la aplicación que la defina. A continuación se mencionarán algunas profundidades de color en la gama baja, así como la cantidad de tonos que pueden representar en cada pixel y el nombre que se le otorga a las imágenes o framebuffers que los soportan.

  • 1 bit por píxel: <math>2^1 = 2</math> colores, también llamado monocromo.
  • 2 bits por píxel: <math>2^2 = 4</math> colores, o CGA.
  • 4 bits por píxel: <math>2^4 = 16</math> colores, la cual es la mínima profundidad aceptada por el estándar VGA.
  • 8 bits por píxel: <math>2^8 = 256</math> colores, también llamado Super VGA.

Color directo

Cuando los valores de la profundidad de colores aumentan, se torna impráctico mantener una tabla o mapa de colores debido a la progresión exponencial de la cantidad de valores que el pixel puede tomar. En esos casos se prefiere codificar dentro de cada pixel los tres valores de intensidad luminosa que definen un color cualquiera en el modelo de color RGB.

Color de alta resolución o HiColor

Los valores de profundidad de color de 15 y 16 bits son llamados habitualmente color de alta resolución o HiColor.

  • En la profundidad de 15 bpp se utilizan 5 bits para codificar la intensidad del rojo, 5 para el verde y los otros 5 para el azul. Con una profundidad de 15 bpp es posible representar <math>32 x 32 x 32 = 32768</math> colores en cada pixel.
  • En la profundidad de 16 bpp se utilizan 5 bits para codificar la intensidad del rojo, 6 para el verde y los otros 5 para el azul. La razón de esto es que experimentalmente se sabe que el ojo humano es más sensible al color verde, y que puede discriminar más tonos que varían ligeramente en la intensidad verde. Con la profundidad de 16 bpp es posible representar <math> 32 x 64 x 32 = 65536</math> colores en cada pixel. El tamaño de la imagen dependerá de la profundidad de bit.

Color real o True Color

Para la profundidad de color de 24 bits por pixel, se habla de color verdadero debido a que la policromía se acerca a lo que el ojo humano puede encontrar en el mundo real, y a que dicho ojo humano se torna incapaz de diferenciar entre un tono y otro, si la diferencia se mantiene en un cierto rango mínimo. En la profundidad de color de 24 bits por pixel, se dedica un octeto entero a representar la intensidad luminosa de cada uno de los tres tonos primarios de rojo, verde y azul, lo cual permite que cada pixel pueda tomar 224 = 256x256x256 = 16.777.216 colores distintos.

Cuando se utilizan 32 bits para representar un color se agrega al esquema de 256 valores para cada tono primario un cuarto canal denominado alfa que representa la transparencia. Este valor se utiliza cuando se deben superponer dos imágenes.

Edwin Catmull propuso una serie de operadores para la mezcla (también llamado blend) de imágenes. Debido a que Catmull estaba desarrollando el sistema de animación de Pixar necesitaba automatizar la composición de imágenes. Juntamente con Marc Levoy (Levoy los desarrollo por su cuenta en los estudios Hanna Barbera) sentaron las bases del álgebra de colores. El operador más común es el OVER, que presentamos a continuación:

Dados los colores A [r1, g1, b1, a1] y B [r2, g2, b2, a2], el resultado de mezclar: A sobre B es:

A OVER B = [ r1 * a1 + r2(1 - a1), g1 * a1 + g2(1 - a1), b1 * a1 + b2(1 - a1) ]

Notemos que el orden es importante: A over B es diferente que B over A. Esta es la razón por la cual la transparencia se debe aplicar en orden. Por ejemplo si tenemos tres imágenes A, B y C, donde C es el fondo y A es la imagen al frente, el orden es el siguiente: Imagen Final = A over ( B over C ) Existen otros operadores importantes como el OUT, ADD, SUB y otras formulaciones de OVER más complejas.

Véase también

Enlaces externos

Atribución

Este artículo proviene originalmente de Wikipedia
que lo licencia simultáneamente bajo las licencias

Creative Commons Reconocimiento - CompartirIgual 3.0
y la licencia de documentación libre GNU v.1.2 y posteriores
El Museo de los 8 Bits lo integra en su wiki bajo cc-by-sa-3.0

Creative Commons License
GNU head