310 likes | 860 Views
TRATAMIENTO DE LA IMAGEN Formatos Gráficos. I.T. Diseño Industrial Curso 01/02. Contenido. Formatos gráficos GIF, JPG y PNG Comparativa de formatos gráficos Compresión de gráficos. Métodos. Formatos Gráficos.
E N D
TRATAMIENTO DE LA IMAGEN Formatos Gráficos I.T. Diseño Industrial Curso 01/02
Contenido • Formatos gráficos GIF, JPG y PNG • Comparativa de formatos gráficos • Compresión de gráficos. Métodos
Formatos Gráficos Los formatos gráficos son archivos en los cuales se guarda información que conforma una imágen. Cada formato es independiente. Las posibilidades que ofrece cada formato con respecto a la gama de colores, a la compatibilidad, a la rapidez de carga, etc., merece ser explicada para determinar cuál de ellos es el más adecuado para la tarea que estamos realizando. Con respecto a la estructura, la mayoría posee un header que indica al programa que lo solicite las características de la imagen que almacenan; por ejemplo su color, tipo, resolución, etc. Cada formato tiene una organización propia de su estructura. Se pueden dividir en dos grandes grupos: los formatos vectoriales y los formatos bitmap.
Formato GIF • El formato GIF utiliza color de 8 bits y comprime eficazmente áreas de color sólido conservando los detalles nítidos, como los existentes en logotipos, arte lineal o ilustraciones con texto. • GIF para crear imágenes animadas. La mayor parte de los navegadores admiten GIF. • GIF utiliza un método de compresión con más calidad, en el que no se descartan datos durante la compresión. Los archivos GIF se pueden guardar innumerables veces sin pérdida de datos. Sin embargo, como los archivos GIF utilizan color de 8 bits, la optimización de imágenes originales de 24 bits como GIF de 8 bits degrada la calidad.
Formato GIF • Photoshop e ImageReady permiten crear versiones de menor calidad de los archivos GIF • El formato GIF con menos calidad introduce pequeños artefactos de compresión, parecidos a los de los archivos JPEG, pero genera archivos notablemente más pequeños • Puede reducir el número de colores de un archivo GIF y escoger opciones para controlar el tramado de los colores de la aplicación o de un navegador. El formato GIF admite transparencia de fondo y halo de fondo, en los que se pueden fundir los bordes de la imagen con el color de fondo de la página Web.
Formato GIF Las características de esto formato son: • Número de colores: 2, 4 , 8, 16, 32, 128 ó 256 de una paleta de 24 bits. • Compresión basada en el algoritmo de compresión LZW. • Formato de compresión sin pérdida. Características añadidas en la versión 89a: • Carga progresiva. • Máscara de trasparencia de 1 bit. • Animación simple.
Formato JPEG • JPEG admite color de 24 bits y conserva la gran gama y sutiles variaciones de brillo y tono de las fotografías y otras imágenes de tono continuo. La mayor parte de los navegadores admiten JPEG. • JPEG comprime el tamaño del archivo mediante la eliminación selectiva de datos. A causa de esta eliminación de datos, JPEG se conoce como compresión con menos calidad. Un ajuste de mayor calidad supone una pérdida menor de datos, aunque el método de compresión JPEG degrada los detalles nítidos de la imagen, especialmente en imágenes con texto o ilustraciones vectoriales.
Formato JPEG Las características de este formato son: • Número de colores: 24 bits color o 8 bits B/N • Muy alto grado de compresión. • Formato de compresión con pérdida. • No permite trasparencia, ni canal alfa. • No permite animación.
Formato PNG PNG es el acrónimo de Portable Network Graphics. Fue diseñado para reemplazar al formato GIF por ser este último más simple y menos completo. El objetivo de este formato es proporcionar un formato compresión de imágenes sin pérdida para cualquier tipo de imagen. Las características de este formato son: • Color indexado hasta 256 colores y TrueColor hasta 48 bits por pixel. • Mayor compresión que el formato GIF (+10%) • Compresión sin pérdida. • Visualización progresiva en dos dimensiones. • Canal alfa. (Transparencia variable) • Detección de errores. • No permite animación.
Formatos para webCOMPARATIVA • Imágenes fotográficas • Imágenes obtenidas a través de fotografías de personas o lugares. Para este tipo de imágenes el formato más recomendado es el JPEG porque consigue una gran compresión con una mínima perdida de calidad.
Formatos para webCOMPARATIVA • Imágenes renderizadas • Este tipo de imágenes son las obtenidas por un programa de generación de imágenes sintéticas mediante algún proceso de trazado de rayos o similar. Se caracterizan por degradados suaves y líneas muy bien definidas. • Para este tipo de imágenes es recomendable usar el formato PNG. Tenga presente que el formato PNG es el más reciente y puede no estar soportado en todos los navegadores.
Formatos para webCOMPARATIVA • Imágenes sencillas • Para las imágenes sencillas con pocos colores y con formas muy delimitadas, el formato más recomendado es el GIF, ya que se puede adaptar al número de colores de una imagen. Con el paso del tiempo puede que el formato PNG desbanque al GIF ya que el primero es más avanzado, pero como su uso todavía no está muy extendido recomendamos el formato GIF
Formatos para webCOMPARATIVA • Sin emabargo, el método más fiable es siempre HACER PRUEBAS.
Compresión gráfica Podríamos diferenciar tres tipos de técnicas de compresión : ·Reducción de la precisión de los valores individuales ·Codificación de los valores individuales reduciendo el número de bits ·Transformación de los datos en otra representación que sea más hábil de ser reducida Muchos formatos combinan dos o las tres formas de comprimir.
Compresión: REDUCCIÓN DE BITS REDUCCIÓN DE BITS • Comentamos algunos esquemas de codificación en esta línea: • Códigos de desplazamiento (shift codes) • Si sólo un pequeño subconjunto consecutivo de valores aparece la mayor parte de las veces, entonces se puede elegir un código con longitud (bits) suficiente sólo para representar este subconjunto, de modo que los pocos valores que no estén en él se indican con un código especial de overflow que señala los valores representados con más longitud. Al indicar la mayoría de los valores con un número reducido de bits, se pueden conseguir reducciones significativas de tamaño, entre 2:1 y 3:1 usualmente, aunque siempre dependiendo del gráfico. • Para ello se desprecian algunos de los bits, dependiendo del rango de valores. • La NASA, por ejemplo, usa códigos de desplazamiento para transmitir la imagen de satélites.
Compresión: REDUCCIÓN DE BITS Códigos de Huffman • Los códigos de Huffman (su inventor) asignan un código de longitud variable a cada posible dato, de modo que los valores que ocurren más a menudo tienen códigos de menor longitud y viceversa. Dada la probabilidad de que un valor dado ocurra, el algoritmo de Huffman puede crear automáticamente un asignación de códigos.
Compresión: REDUCCIÓN DE BITS Códigos de Huffman • El concepto es sencillo de expresar gráficamente: ordenados los valores de mayor a menor probabilidad, se le asignarán códigos binarios: a los símbolos más frecuentes (ej. 35 %, 27, ...) se le asignan pocos bits (11, 10) y a los menos frecuentes (ej. Del 11% o 10%) mas bits (0001, 0000)
Compresión: REDUCCIÓN DE BITS Codificación aritmética • Tiene el mismo fundamento que el de Huffman (asociar un código en función de la probabilidad de cada valor), pero en este caso se funciona asociando códigos a grupos de valores (por ejemplo, si el valor 7 y el valor 23 tienen mucha probabilidad, este esquema asociará probablemente un código a la subserie 7 23, otro a la 7 7, otro a la 23 23... o incluso a subseries más largas, dependiendo de la probabilidad. • Es algo más complejo de implementar que el código de Huffman, pero produce entre un 5 y un 10% más compresión.
Compresión: TRANSFORMACIÓN TRANSFORMACIÓN • Es una técnica que permite evitar o minimizar la pérdida. Básicamente, hay que buscar patrones que se repitan en los datos. Si no existen (datos totalmente aleatorios), no puede existir compresión sin pérdida. De hecho, aplicar un esquema de compresión a datos totalmente aleatorios puede con facilidad incrementar el tamaño de los ficheros.
Compresión: TRANSFORMACIÓN Run-Length Encoding • La codificación RLE (Run-Length Encoding) busca la repetición de valores idénticos en una lista, y la reemplaza por un único valor precedido por el número de veces que se repite. Por ejemplo, la secuencia: 5 5 14 14 14 14 14 8 8 8 8 7 5 5 5 3 2 2 (18 bytes) se podría codificar usando la siguiente: • 25514 48 17 35 13 22 (14 bytes) • Algunos formatos que usan este esquema son: Postscript, Tiff, PCX, Targa ....
Compresión: TRANSFORMACIÓN Codificación LZW • El algoritmo LZW considera la posibilidad de que una secuencia de valores (no necesariamente iguales) se repita, aún no consecutivamente, en la secuencia de datos. Por ejemplo, la secuencia 4 12 10 2 8 4 12 10 9 8 4 12 10 9 8 4 se podría representar como a2 8a b a b4 (siendo a = 4 12 10, b = 9 8)
Compresión: TRANSFORMACIÓN Diferenciación (differencing) • Este esquema de compresión se basa en el hecho de que en ficheros gráficos realistas es común que muchos datos sucesivos tengan diferencias pequeñas (por ejemplo, verdes de gamas muy similares con pequeñas variaciones de brillo). En ese caso, en vez de representar cada dato por completo, partiendo de uno inicial los demás se pueden expresar como diferencias con respecto a él, o al inmediato anterior, utilizando muchos menos bits para ello. Por ejemplo, la serie: • 35 37 38 33 36 35 35 • se puede representar con la otra: • 35 -2 -1 5 -3 1 0
Compresión: TRANSFORMACIÓN Diferenciación (differencing) • La compresión de este tipo de algoritmos depende mucho de los datos aunque todos los gráficos habituales, tanto fotorealistas como no, suelen tener bastantes series reconocibles de valores cercanos. Reducciones de 1,5:1 a 3:1 pueden alcanzarse con facilidad. • Existen algoritmos de diferenciación de 2 dimensiones que se basan en comparaciones de cada línea horizontal del gráfico con la siguiente, buscando similitudes que es habitual que existan. Es el caso de los formatos JPEG o MPEG sin pérdida.
Compresión: TRANSFORMACIÓN Fractales • La compresión fractal se basa en encontrar grupos de datos determinados que con transformaciones fractales sucesivas se conviertan en una serie de datos similar a la original; con esto, simplemente almacenando el grupo y las transformaciones se representa de forma codificada a una serie completa (que puede ser larga). • Esta compresión suele requerir bastante tiempo de CPU, pero alcanza relaciones de compresión altas (entre 50:1 y 100:1, aunque se han encontrado ejemplos de hasta 1000:1). • Los algoritmos han sido desarrollados y registrados por Michal Barnsley, de Iterated Systems.
Compresión: TRANSFORMACIÓN Esquemas de transformaciones matemáticas • Existen muchas operaciones matemáticas que transforman un conjunto de valores a otro y después pueden ser aplicadas a la inversa para reconstruir el conjunto original. Algunas de ellas son especialmente útiles para su aplicación a algoritmos de compresión, por ejemplo: • ·Discrete Fourier Transform (DFT) • ·Discrete Cosine Transform (DCT) • ·Hadamard-Haar Transforms (HHT) • ·Karhunen-Loeve Transforms (KLT) • ·Slant-Haar Transforms (SHT) • ·Walsh-Hadamard Transforms (WHT) • Con mucho, la función más utilizada es la DCT, que por ejemplo se usa en versiones de JPEG y MPEG. Para ello se reemplazan bloques de intensidad de color de 8x8 píxels por una serie de valores parametrizando una función cosenoidal.
bibliografía • http://www.eside.deusto.es/asignaturas/TiM/TIM_02_Graficos.html