Para una fotografía normal, cada uno de los tres canales (rojo - Red, verde - Green, y azul - Blue) están representados por un byte de datos para cada píxel. Esto significa que se requiere de tres bytes de datos para cada píxel, esto se refiere a menudo como el color de 24 bits (24 bits, ya que 8 bits es igual a 1 byte y hay tres bytes). Debido a que cada byte puede teer 2^8 o 256 valores diferentes, cada canal puede tener 256 niveles diferentes de ese color (1/256 o 0.39% de variación por nivel, si todo se hace de manera uniforme). Puede haber notado que los valores R, G, y B en la demostración que hicimos en la sección de canales sólo tenían 256 opciones diferentes -- si no recuerdas, vuelva atrás y compruébelo ahora:
http://developer.yahoo.com/yui/examples/slider/slider-rgb_clean.html
Debido a que hay tres canales diferentes, eso significa que cada píxel puede representar 256x256x256 colores o más de 16 millones de combinaciones de color diferentes. Eso es mucho más que aún la más grande caja de crayones de cera.
Para una imagen de 12 megapíxeles de una cámara moderna, esto
significa que se requeriría 36 megabytes (MB) de espacio de
almacenamiento! Eso es mucho cuando sale con su cámara y quiere
tomar
un montón de fotos. Si usted tiene una tarjeta de memoria de un
1 gigabyte (GB) para su cámara, sólo le permitiría almacenar
aproximadamente
30 imágenes.
Debio al enorme tamaño de los archivos que contienen sólo los
píxeles, con el tiempo se han creado diversas formas de comprimir (to
compress)
imágenes en archivos más pequeños. Estos se pueden poner en dos
grupos
diferentes: sin pérdidas (Lossless) y con pérdida (Lossy).
La compresión sin pérdidas (lossless compression) toma los archivos
y encuentra maneras para hacerlos más pequeños matemáticamente, de una
manera que puede ser completamente reversible. La manera más fácil de
hacer esto es ejecutar la imagen a través de una herramienta de
compresión general como Zip. Zip es una herramienta que está
disponible en todos los equipos, que toma cualquier archivo
(no sólo imágenes) y encuentra la manera de hacerlo más pequeño.
Una
manera simple de hacer esto es si hay muchos píxeles en un área que son
del mismo color, el Zip puede crear una instrucción (una línea de
código dentro del archivo) para que cuando la computadora dibuje la
imagen, que esa zona completa se cubra con dicho color. El tamaño
del texto de esa instrucción dentro del archivo puede ser cientos de
veces menor que la cantidad de espacio que requeriría almacenar cada
uno de
los píxeles de esa zona. Hay muchas otras maneras de comprimir
archivos,
pero
en general son muy complicados y más allá del ámbito este curso.
http://es.wikipedia.org/wiki/Compresión_sin_pérdida
http://en.wikipedia.org/wiki/Lossless_data_compression
Compresión Con Pérdida
La compresión con pérdida (lossy compression) es diferente en que una
vez que un archivo se haya comprimido no hay forma de volver
exactamente al
mismo archivo, algún detalle siempre se pierde. Dado que las
imágenes
están hechas de millones de píxeles, cada uno capaz de representar a
millones de colores diferentes, hay margen para eliminar
detalles sin de que el ojo humano note la diferencia.
Esto
se puede hacer con una combinación de métodos de compresión sin
pérdidas, al igual que cosas como suponer que el color de un
píxel es similar a los píxeles que lo rodean, y otros métodos mucho mas
complicados, también más allá del alcance de este material.
Abajo hay tres ejemplos que ilustran la compresión con pérdida. El ejemplo de la izquierda es el original y se comprimió con compresión sin pérdidas. La imagen central se comprimió con compresión con pérdida, hecha para no perder mucho datos. La imagen de la derecha usa compresión con pérdida, con ajustes muy agresivos. Esa última imagen hizo un tamaño de archivo mucho más pequeño que la del medio (1.1KB comparado con 9.4KB) pero obviamente la compresión elimina partes de la imagen que son importantes para hacer que se vea bien.
http://es.wikipedia.org/wiki/Compresión_con_pérdidas
http://en.wikipedia.org/wiki/Lossy_compression
Hay muchos tipos diferentes de archivos (files) que se utilizan para imágenes, la mayoría de los cuales soportan uno o más métodos específicos de compresión sin pérdida o con pérdida. El siguiente es un resumen general de estos tipos de archivos; hay muchos otros formatos menos utilizados que no figuran en esta lista. Ver: http://en.wikipedia.org/wiki/Image_file_formats o http://en.wikipedia.org/wiki/Comparison_of_graphics_file_formats para más información.
Bitmap/Mapa de bits (.bmp, otros) -- Contiene todos los
píxeles de la imagen, sin compresión. El formato .bmp concreto es
utilizado por Microsoft en sus programas para la visualización de
imágenes, pero métodos similares se utilizan en todo tipo de
computadoras. Ya que almacena todos los píxeles, este es un
formato
sin pérdidas, de hecho por defecto no se comprime en absoluto. http://es.wikipedia.org/wiki/BMP
JPEG (.jpg, .jpeg) -- Significa Joint Photographic
Experts Group (grupo conjunto de expertos fotográficos), se desarrolló
específicamente para el almacenamiento de imágenes tomadas por cámaras
digitales, y es por mucho, el formato más utilizado para fotografías
digitales. Se trata de un formato con pérdida, sin embargo con la
configuración típica es muy difícil de detectar cualquier degradación
de la imagen. http://es.wikipedia.org/wiki/JPEG
PNG (.png) -- Portable Network Graphics (gráficas
portátiles para la red) es mejor para el almacenamiento de imágenes que
no tienen
muchos detalles, tales como gráficos en las páginas web. Este es
un
formato sin pérdidas. http://es.wikipedia.org/wiki/Portable_Network_Graphics
GIF (.gif) -- Graphics Interchange Format (formato de
intercambio de gráficos) es similar pero más viejo que el PNG. En
general
PNG se debe utilizar en su lugar, sin embargo hay una característica
que el GIF tiene que PNG no tiene, que es poder tener varias
imágenes almacenadas en su interior, que se pueden reproducir como una
animación sencilla. http://es.wikipedia.org/wiki/GIF
JPEG2000 (.jp2) -- Este fue un intento de crear una mejor
versión del formato JPEG. Sin embargo no ha tenido mucho éxito y se
utiliza sobre todo en situaciones profesionales, tales como imágenes
médicas. Este formato tiene opciones que pueden hacerlo sin
pérdida
o
con pérdida. http://es.wikipedia.org/wiki/JPEG_2000
JPEG XR/HD Photo (.jxr) -- Este es otro intento de crear una
mejor versión del formato JPEG, originalmente desarrollado por
Microsoft como "HD Photo" que se presentó a la Joint Photographic
Experts Group (grupo conjunto de expertos fotográficos), que lo aceptó
como un nuevo estándar. Aún no ha prendido en uso
corriente. Este
formato tiene opciones que pueden hacerlo un formato sin pérdida o con
pérdida. http://es.wikipedia.org/wiki/HD_Photo
WebP (.webp) -- Este es un nuevo formato desarrollado por
Google que está diseñado para reemplazar JPEG (y algunos PNG) para su
uso en las imágenes en la web. Actualmente no es soportado por
todos los navegadores web, pero se está trabajando en él. Este
formato
es con pérdida. http://es.wikipedia.org/wiki/WebP
TIFF (.tif, .tiff) -- Tagged Image File Format (formato
etiquetado de
archivo de imagen) se usa principalmente para imágenes de
documentos (como imágenes escaneadas). Tiene soporte para
múltiples
páginas
de imágenes, así como metadatos como de dónde la imagen se capturó,
quíene la tomó, etc. Por lo general, se utiliza como un formato
sin
pérdida, pero tiene la habilidad de usar JPEG o otro tipo de compresión
interiormente. http://es.wikipedia.org/wiki/TIFF
RAW (.raw, .cr2, .crw, .nef, .nrw, dng, y más) -- Las
imágenes RAW no son de un formato específico, sino una agrupación de
diferentes formatos, construidos por diferentes modelos de
cámaras. Las cámaras por defecto suelen producir imágenes JPEG,
que son con
pérdidas y no contienen todos los datos básicos que la cámara registró
sobre la imagen. Cuando un fotógrafo recibe una imagen "raw",
él or
ella recibe todos los datos recogidos por la cámara, lo que puede ser
útil
cuando se hace procesamiento avanzado de las imágenes en una
computadora. http://es.wikipedia.org/wiki/RAW_(formato)
XCF (.xcf) -- eXperimental Computing Facility (facilidad de
computación experimental) es el nombre del formato de archivo usado
para
almacenar proyectos en el editor de imágenes GIMP. Almacena
fotografías sin pérdidas y puede almacenar varias capas de fotos y
otros datos tales como texto, líneas, selecciones, y mas.
PSD (.psd) -- PhotoShop Document (Documento PhotoShop) muy
similar al formato XCF,
pero utilizado por Adobe Photoshop. También es sin pérdidas y
puede
almacenar varias capas de fotografías y datos.
Bono, los formatos de imagenes no-rasterizadas:
EXIF - Exchangeable Image File Format (formato de archivo de
imagen intercambiable) se utiliza para los metadatos sobre una imagen,
no
es un archivo en sí mismo, sino que se incorpora en otros archivos como
JPEG. Puede contener un gran número de campos de datos
diferentes,
incluyendo: la fecha se tomó la imagen, ajustes de la cámara, el tiempo
de exposición, tamaño de la abertura, nivel de zoom, coordenadas GPS de
la cámara, dirección en que la cámara estaba mirando, y muchos
más. http://es.wikipedia.org/wiki/Exchangeable_image_file_format
SVG (.svg) -- Scalable Vector Graphics (gráficos vectoriales
escalables) Estos archivos se utilizan para almacenar las imágenes
generadas
en una computadora, no fotografías. Estos archivos no almacenan
píxeles,
sino que almacenan información sobre donde las líneas, círculos, texto
y otros componentes están en relación con cada uno (estas relaciones se
refieren usando vectores). Se llama escalable porque las
instrucciones para la
creación de la imagen se pueden dar usando cualquier unidad de longitud
y
toda la imagen se genera basada en esa unidad. Además las
instrucciones para
generar
la imagen pueden incluir referencias a cantidades de tiempo, por lo que
la imagen se puede cambiar a medida que se dibuja para hacer una
animación. Ya que no hay píxeles para calcularse, se trata de un
formato sin
pérdida inherente. http://es.wikipedia.org/wiki/SVG
EPS (.eps) -- Archivos Encapsulated Post Script (Encapsulados
Post Script) son similares
a los archivos SVG, pero algo mas antiguos, y tiene funciones más
limitadas,
como no ser capaz de hacer animaciónes. http://es.wikipedia.org/wiki/PostScript_encapsulado