miércoles, 18 de abril de 2012

JPEG, BMP, TIFF, GIF, PNG, RAW

Formatos gráficos
Las imágenes de mapas de bits se guardan en ficheros con distintos formatos, los más comunes son JPEG, BMP, TIFF, GIF y PNG pero ¿en qué se diferencian unos de otros?
JPEG (JPG): Es uno de los formatos más utilizados actualmente y está soportado por la mayoría de programas que trabajan con imágenes. Es en el que suelen guardar las imágenes la mayoría de las cámaras digitales. Es un formato adecuado para guardar imágenes fotográficas porque ocupan poco espacio al comprimir la imagen con pérdidas. Entre otras técnicas, aprovecha las deficiencias de la visión humana para eliminar información y producir un fichero más pequeño, de ahí lo de compresión con pérdidas.
El grado de compresión, y por tanto de pérdida de calidad, es ajustable. A mayor nivel de compresión mayor pérdida de calidad pero menor tamaño de archivo y viceversa. La compresión también puede dar lugar a errores conocidos como ruido.
Cada vez que se abre un fichero JPEG con un editor de imagen y se vuelve a grabar se produce una pérdida de calidad. Por ello conviene convertir las fotos a un formato sin pérdida antes de retocarlas y volver al JPEG cuando se desee guardar el resultado final.
Del estándar JPEG han salido variantes como JPEG2000 que comprimen la imagen sin pérdida, aunque estos formatos son menos utilizados.
JPEG es un formato muy utilizado también en Internet para imágenes fotográficas.
BMP: Este formato tiene su origen en Windows y está soportado por la mayoría de programas de imagen. Puede guardar imágenes desde 2 colores hasta 16,7 millones de colores. Utiliza un método de compresión sin pérdida por lo que generalmente produce ficheros de mayor tamaño.

Debido al gran tamaño de estos ficheros no se suelen usar mucho en Internet, tampoco se usan en las cámaras fotográficas pues cabrían menos fotos y se tardaría más en guardarlas.
TIFF: El formato TIFF también es un formato de almacenamiento de imágenes con compresión sin pérdidas. Es muy usado para tareas de impresión.

Al igual que ocurre con BMP el gran tamaño de las imágenes hace que no se use para publicar imágenes en Internet ni en cámaras fotográficas.

Este formato está reconocido por la gran mayoría de programas gráficos y, al estar orientado a la impresión, puede trabajar con casi todos los espacios de color (RGB, CMYK, Lab, indexado, escala de grises, etc.). También puede usar canales alfa.

El tamaño máximo de un archivo TIFF está limitado a 4GB.

GIF: Es uno de los formatos más extendidos en Internet. Los gráficos e imágenes se guardan con un esquema de color indexado con un máximo de 256 colores. Incorpora transparencia (partes de la imagen que dejan ver lo que hay debajo) que se considera un color más, en lugar de como un canal alfa. Utiliza compresión sin pérdidas y puede generar archivos muy pequeños. Su pega es la cantidad limitada de colores.

El formato GIF tiene la posibilidad de guardar varias imágenes en un mismo archivo lo que permite la creación de pequeñas películas formadas por secuencias de imágenes que se suceden a intervalos determinados y pueden repetirse en un bucle. A esta característica se le conoce como GIF animado.
Este formato se usa mucho en internet para figuras pequeñas, iconos y logotipos por su pequeño tamaño.
Para la compresión usa un formato propietario que inicialmente era gratuito pero por el que ahora el propietario cobra derechos, lo que supuso un frenazo a su uso.
PNG: El formato PNG surge como alternativa a GIF, con más posibilidades y libre de patentes. También tiene compresión sin pérdidas y transparencia, pero añade el canal alfa. Da soporte a los esquemas de color RGB, escala de grises y color indexado. La transparencia del PNG puede tener varios grados, en GIF un pixel es transparente u opaco, en PNG un pixel puede ser opaco o tener distintos grados de transparencia.

Este formato aspira a convertirse en el estándar para imagen en Internet, pero de momento todavía se usan más los formatos JPEG y GIF, y comparte espacio con ellos.
Por lo general PNG comprime mejor que GIF y produce ficheros más pequeños, aunque algunos programas lo implementan mal y generan ficheros PNG de mayor tamaño.
RAW: RAW es un formato de imagen que contiene la totalidad de los datos de la imagen tal y como han sido captados por el sensor de la cámara digital.

Cada fabricante puede tener un formato de fichero distinto, lo que provoca bastantes problemas de incompatibilidad.

Las cámaras profesionales y semiprofesionales, e incluso algunas compactas de gama alta, ofrecen la posibilidad de grabar las imágenes en formato RAW o JPEG.

Al guardar toda la información tal y como se capta genera ficheros grandes, por eso algunos fabricantes hacen una compresión sin pérdida antes de escribir el fichero. Es el formato ideal para hacer ajustes sobre la imagen y se puede considerar que es el equivalente digital del negativo fotográfico.

En un principio si tomamos una misma foto en formato RAW y en formato JPEG puede parecernos mejor la JPEG, pero esto es porque las cámaras al guardar la foto  le suelen aplicar correcciones y filtros para mejorar la imagen y mostrarla más saturada, iluminada y contrastada, sin embargo a la hora de retocar lo ideal es el formato RAW pues contiene toda la información y permite un mejor ajuste y manipulación.

Conclusiones:
  • JPEG es ideal para imágenes de gran tamaño y fotografías. No admite transparencia.
  • PNG es ideal para imágenes con grandes zonas de un mismo color o con pocas variaciones.
  • GIF es adecuado para pequeñas imágenes para Internet.
  • TIFF es conveniente para imágenes que vayan a ser impresas.
  • BMP es útil para guardar fotografías e imágenes de gran tamaño (como JPEG) pero sin pérdida de calidad, aunque los ficheros pueden llegar a ser muy grandes.
  • RAW es ideal para guardar imágenes que deseemos editar profesionalmente aplicando técnicas de revelado profesionales.

viernes, 13 de abril de 2012

Imágenes de mapas de bits e imágenes vectoriales

Imágenes de mapas de bits e imágenes vectoriales
Las imágenes de mapas de bits, también conocidas como imágenes raster, bitmap o matriciales, son una colección de puntos con información de color que al presentarse ordenados y contiguos muestran una imagen.
A estos puntos con información de color se les llama pixeles. El número de puntos que componen la imagen en horizontal y vertical determinan sus dimensiones y el número de bits que se utilizan para representar cada color se llama profundidad de color.
Hay varios sistemas de representación del  color. Los monitores, televisores y pantallas en general, utilizan el sistema de color aditivo, en el que los colores básicos son el rojo, verde y azul (RGB por las iniciales en inglés de los colores) y la mezcla de diferentes intensidades de cada color produce el resto de los colores. Los demás medios utilizan el color aditivo en el que los colores básicos son el cian, magenta y amarillo (CYM por las iniciales en  inglés de los colores) y a los que se suele añadir el negro para mejorar la calidad (CYMK) dado que la mezcla de los tres colores básicos no llega a producir un negro puro. En general podemos decir que las fuentes que emiten luz, como las pantallas, usan el sistema aditivo (RGB) y las que reflejan luz, como el papel, usan el sistema (CYM o CYMK).
La profundidad de color de un pixel indica cuantos niveles de intensidad puede tener cada uno de los colores básicos. A mayor profundidad de color más cantidad de colores se pueden representar.
La densidad de los puntos es lo que se conoce como resolución y varía en función del medio en que se represente. Las pantallas y monitores suelen tener una resolución de 72 ó 96 puntos por pulgada (dpi o también ppp). Las pantallas de mayor calidad tienen mayor resolución llegando a pantallas como la retina de Apple o las super amoled que alcanzan resoluciones de 200 a 300 puntos por pulgada, lo que llega al límite de la visión humana para distinguir los distintos puntos de forma individual dado lo pequeños que son. Para imprimir se utilizan unos 150 ppp para los faxes e impresiones de baja calidad y 200 a 300 ppp para impresiones de calidad media y media alta, y más de 300 ppp para impresiones de alta calidad.
Imágenes de mapas de bits son las que se obtienen con las cámaras fotográficas digitales, cámaras de video digital y con los escáneres. Son ideales para representar fotografías y elementos de gran riqueza visual y de color. Las cámaras y los escáneres utilizan sistemas de conversión analógica a digital que convierten la luz que incide en cada punto en intensidades de cada uno de los colores básicos.
El problema de las imágenes de mapa de bits es que  los archivos donde se guardan pueden llegar a ser muy grandes, su tamaño está en función de las dimensiones de la imagen y la profundidad de color (número de puntos horizontales multiplicado por el número de puntos verticales multiplicado por el número de bits por punto (2, 8, 16, 24 ó 32 generalmente)). Cuanto más grande es la imagen y la profundidad de color, más cuesta manejarla pues hay que tratar muchísimos más puntos. Cambiar el tamaño de una imagen produce pérdida de calidad de la imagen porque para ampliarla hay que añadir puntos que no existen (o sea que hay que inventárselos, lo que se hace con distintas técnicas que producen resultados diferentes según la imagen) y para reducirla hay que eliminar puntos existentes (lo que también se hace con distintas técnicas que producen resultados diferentes según la imagen). Esta es la causa de la pérdida de calidad que sufren estas imágenes al cambiarlas de tamaño y que se aprecian en cosas como el pixelado, que consiste en que los puntos de la imagen al ampliarse se hacen tan grandes que en vez de puntitos se usan puntos gordos (para entendernos coloquialmente) que se ven a simple vista y producen pérdida de definición.
Las imágenes vectoriales son la representación de imágenes mediante figuras geométricas como rectas, curvas, arcos, rectángulos y elipses que se dibujan para representar la imagen. Estas figuras geométricas pueden interactuar entre ellas mediante operaciones como uniones, intersecciones, tangentes, cortes, etc. Como lo que se guardan son las figuras con sus parámetros de dibujo tales como origen y dimensiones (por ejemplo para un círculo su centro, radio, grosor de línea, color de línea y relleno) los ficheros de imagen no crecen con sus dimensiones, sino con su complejidad y suelen ser más pequeños que los de mapas de bits.
Las imágenes vectoriales son siempre de la máxima calidad, y pueden cambiarse de escala (tamaño) sin pérdida de la misma porque lo que se hace es dibujar con la nueva escala las figuras geométricas que componen la imagen. Son el tipo de imagen ideal para dibujar planos, ilustraciones, organigramas, rótulos y dibujos técnicos en general.
La adquisición de imágenes suele hacerse en forma de mapa de bits. Las imágenes de mapas de bits pueden convertirse en vectoriales utilizando herramientas especializadas de vectorización que ayudan a identificar figuras geométricas en las imágenes. Aunque puede ser un proceso complejo y costoso.
Normalmente las imágenes de mapas de bits se usan para fotografía y video, y las imágenes vectoriales para dibujo técnico y diseño gráfico.

viernes, 6 de abril de 2012

CPU, GPU, Chipset… ¿Qué son?

CPU, GPU, Chipset
A cualquiera que haya tenido relación con un ordenador, del tipo que sea incluyendo dispositivos inteligentes (los famosos Smart lo que sea) y videoconsolas, le sonará haber oído hablar de CPU, GPU, chipset, etc. pero muchos no tendrán idea de que son. Vamos a tratar de explicarlo con sencillez.

La CPU (siglas en inglés de Central Procesing Unit que siginifica Unidad Central de Proceso) es lo que podríamos considerar el cerebro del ordenador. La CPU se ocupa del control y tratamiento de los datos en el ordenador. 
Está formada por varias partes entre las que destaca la Unidad Aritmético Lógica (ALU por las siglas en inglés) que realiza cálculos, comparaciones y toma decisiones lógicas empleando un tipo de matemáticas conocido como álgebra de Boole; contiene un poco de memoria ultrarrápida donde almacenar datos temporalmente que se conoce como registros, y dispone de una unidad de control que se encarga de ir cargando las instrucciones de los programas, interpretarlas y ejecutarlas.
En la actualidad la CPU también puede contener otro tipo de memoria ultrarrápida, pero menos que los registros, llamada caché e incluso puede contener varios niveles de caché. La memoria caché sirve para agilizar el funcionamiento de la CPU al servir de puente entre el procesador y la memoria del sistema que es muchísimo más lenta, de este modo se acelera la velocidad de proceso al tener que esperar menos tiempo a que los datos estén listos. También suelen incorporar una circuitería especial para realizar cálculos en coma flotante, que son más costosos de realizar utilizando  la ALU y que al disponer de circuitos especializados en realizarlos pueden hacerse a muchísima mayor velocidad y en ocasiones en paralelo con otra instrucción que esté ejecutando el procesador.
Al conjunto de elementos que hemos citado anteriormente como constituyentes de la CPU se le llama core o núcleo. Para aumentar la capacidad de proceso de las CPU se pueden integrar varios núcleos en un mismo chip, lo que posibilita la ejecución de varias instrucciones simultáneamente.
Que una CPU contenga dos núcleos, por ejemplo, no significa que ofrezca el doble de rendimiento, pues parte de dicho rendimiento se debe usar para la sincronización y control de los núcleos.
La capacidad de proceso (la potencia, para entendernos) de una CPU viene dada por la velocidad de reloj y el número medio de ciclos de reloj por instrucción. El reloj del sistema es un dispositivo que emite pulsos a una determinada frecuencia y sirve para que se sincronicen todos los dispositivos del ordenador, no sirve para contar el tiempo como los relojes a los que estamos habituados. A mayor velocidad de reloj mayor es la capacidad de proceso, pero hay CPUs que por su diseño necesitan más ciclos de reloj que otras para realizar las mismas tareas, de modo que el diseño de la CPU también influye en la velocidad, hasta el punto de que una CPU de diseño más eficiente puede tener el mismo rendimiento que otra de diseño menos eficiente pero con mayor velocidad de reloj.
La velocidad del reloj del sistema se mide en Hercios (Hz) que es algo así como los ciclos o pulsos que pude generar por segundo. La velocidad de los procesadores actuales se suele medir en Megahercios (MHz), que son millones de pulsos por segundo, y Gigahercios (GHz), que son miles de millones de pulsos por segundo, lo que nos puede dar una idea de lo increíblemente rápido que suceden las cosas dentro de los ordenadores.
La GPU es un procesador especializado en cálculos para gráficos y operaciones en coma flotante. GPU viene de las siglas en inglés de Graphics Processing Unit. Funciona bajo la dirección de la CPU y por ello se le considera un coprocesador.  La elevada complejidad, riqueza y realismo de los gráficos que se usan hoy en día y el uso creciente de las 3D requieren de un elevadísimo número de cálculos por segundo, pero son unos cálculos muy concretos y especializados que se prestan a la construcción de circuitos especializados para realizarlos lo que incrementa el rendimiento. Además estos cálculos especializados y repetitivos pueden hacerse simultáneamente para varios puntos de la imagen, por lo que las GPUs disponen de varios de estos circuitos especializados, pudiendo calcular varios puntos de la imagen al mismo tiempo.
Para aumentar la eficacia del proceso de imágenes este se descompone en tareas básicas llamadas primitivas que pueden implementarse en la correspondiente circuitería. Existen, por ejemplo, primitivas para quitar o suavizar los bordes dentados de las figuras, lo que se conoce como  antialiasing, para dibujar rectas, curvas, triángulos, rectángulos, elipses, etc.
La GPU puede encontrarse en una tarjeta especializada conectada a la placa base del sistema (lo que se llama tarjeta gráfica), integrada en la placa base del ordenador lo que se conoce como gráfica integrada y últimamente en el propio chip de la CPU. La solución más potente generalmente es la tarjeta gráfica dedicada que suele ir acompañada de su propia memoria reservada exclusivamente para gráficos e independiente de la del sistema.
Como las GPU tienen una circuitería muy especializada en realizar cálculos en coma flotante muy rápidamente, se les usa también en algunas aplicaciones especializadas en cálculo intensivo.
El chipset es el conjunto de circuitos integrados que acompaña a un determinado procesador para servirle de puente con el resto de dispositivos del ordenador como son la memoria, los puertos USB, los discos duros, el ratón, el teclado, etc. Es decir, se ocupan de gestionar las entradas y salidas de la CPU al resto del sistema y de gestionar los dispositivos de que se dota a los ordenadores.
En los sistemas modernos el chipset suele disponerse en dos chips conocidos como puente norte y puente sur (NorthBridge y SoutBridge), después de la CPU y la GPU suelen ser los chips más grandes. El norte se dedica a gestionar el acceso a la memoria, a la tarjeta gráfica y las comunicaciones con el puente sur. El puente sur controla los dispositivos asociados a la controladora de discos IDE, USB, FireWire, SATA, RAID, ranuras de ampliación PCI, AMR y CNR, puertos de infrarrojos, disquetera, red local, etc. En general el puerto sur es el encargado de comunicar el procesador con el resto de dispositivos de entrada y salida del ordenador y también de facilitarles a estos dispositivos, junto con el puente norte, el acceso directo a la memoria cuando así se requiera, sin intervención del procesador.
Aunque no se suele tener muy en cuenta el buen diseño del chipset es fundamental para el rendimiento del ordenador.
Bien, ahora ya sabrá que significan esas palabras extrañas que tanto y se oyen y tan poco se explican.