martes, 16 de abril de 2013




PROFUNDIDAD DE PIXELES



Profundidad de pixel
Si las coordenadas del pixel determinan su posición en la imagen, la profundidad es la cantidad de memoria requerida para almacenar su color.



La profundidad de un pixel no se debe confundir con la posición de ese pixel en un eje Z imaginario (considerando los ejes X y Y como su posición en el plano). Esta "profundidad" sólo representa cantidad de información, no posición espacial.

La unidad mínima de almacenamiento en la memoria de un computador es 1 bit, el cual puede tomar solamente dos valores: 1 ó 0. Por ello, los computadores, en lugar de usar el sistema decimal de numeración que utilizamos en la vida cotidiana, utilizan el sistema binario.

Esto quiere decir que para calcular la cantidad de colores que puede contener una imagen de pixeles, debemos elevar el número 2 a la cantidad de bits utilizados para almacenar el color en un pixel. Los ejemplos de esta fórmula se encuentran aquí abajo.
ImagenProfundidadCantidad de coloresFormatos más utilizados
1 bit22 = 2 coloresGIF, BMP
8 bits (1 Byte)28= 256 coloresGIF, BMP
16 bits (2 bytes)216 = 65536 coloresBMP, TGA, TIF, PSD, PICT
24 bits
(1 byte Rojos
1 byte Azules
1 byte Verdes)
224 = 16'777.216 coloresBMP, TGA, TIF, PSD, PICT, JPG

Las imágenes de 8 bits son un caso especial, puesto que su color se define por índices (color "indexado") o números almacenados en una tabla de color.

La diferencia entre una imagen de 16 y 24 bits sólo es notoria en colores suavemente degradados. En la imagen de 16 bits se ven mucho más las bandas de color, debido a la falta de colores para representar un degradado continuo.
16 bits
24 bits


Imágenes de 32 bits


Existen además imágenes con profundidad de pixel de 32 bits. Los 8 bits (1 byte) adicionales de profundidad sobre las imágenes de 24 bits, le permiten almacenar la transparencia de la imagen. Este byte adicional es generalmente llamado máscara ocanal alfa, y almacena, en una imagen de 256 niveles de grises, diferentes valores de transparencia.
Imagen:
24 bits (3 bytes de color)
224 = 16'777.216 colores
Máscara:
8 bits (1 byte de transparencia)
28 = 256 niveles de transparencia
Imagen resultante sobre fondo verde 232 = color + transparencia

Normalmente, un pixel blanco en la máscara hace que el pixel correspondiente en la imagen se muestre completamente opaco (no deja ver el fondo) y un pixel negro en la máscara hace al pixel de la imagen completamente transparente (deja ver el fondo). Los grises logran transparencias intermedias.


Tamaño de una imagen de pixeles en la memoria
Se puede calcular el tamaño de cualquier archivo de imagen de pixeles multiplicando la cantidad de pixeles horizontales por la cantidad de pixeles verticales, y luego multiplicar ese producto por la profundidad, así:

Tamaño en
pixeles
Profundidad
de pixel
Tamaño del archivo
bitsbytesKbytesMbytes
640 x 480x 1 bit= 307.200= 38.400= 37.5= 0.036
640 x 480x 8 bits= 2´457.600= 307.200= 300= 0.292
640 x 480x 24 bits= 7´372.800= 921.600= 900= 0.878
640 x 480x 32 bits= 9´830.400= 1´128.000= 1200= 1.171

1 byte =8 bits
1 Kbyte =1024 bytes
1 Mbyte =1024 kbytes


Compresión

La compresión es un término importantísimo en el almacenamiento y transferencia digital de la información. Compresión es cualquier tipo de proceso (o algoritmo) que reduzca la cantidad de información contenida en un archivo, ya sea perdiendo o no parte de la información original. Dicha pérdida se denomina aliasing

De hecho, convertir una imagen de 24 bits (un archivo TGA, por ejemplo) a una imagen de 8 bits (un GIF, p.ej.) es un proceso de compresión, puesto que estoy reduciendo la cantidad de memoria que necesito para representar cada pixel de la imagen original.

El cálculo de la tabla anterior fallará en el caso que se esté utilizando un formato de archivo que soporte algún tipo de compresión de la información.