jueves, 11 de octubre de 2012

INTRODUCCIÓN

Bienvenidos al aprendizaje de JPEG2000

"No se estudia para saber más, sino para ignorar menos"

martes, 9 de octubre de 2012

CARATULA

ESCUELA POLITÉCNICA NACIONAL
INTRODUCCIÓN A LA MULTIMEDIA
JPEG2000
INTEGRANTES:
Verónica Velasteguí
Roberto Cárdenas V.
Cristian Espinosa

lunes, 8 de octubre de 2012

Compatibilidad de aplicaciones con JPEG 2000

Aplicaciones y compatibilidades de JPEG 2000

A continuación se muestra un cuadro de las aplicaciones de JPEG 2000 y las compatibilidades que existe entre algunos programas que se puede utilizar este formato para imágenes.

Librerias

 

domingo, 7 de octubre de 2012

Aplicaciones de JPEG 2000

  • Debido al incremento de complejidad de este estándar respecto del anterior, su uso es poco frecuente en aplicaciones en las que el formato JPEG original se desempeña bien. Sin embargo, su uso es adecuado para aplicaciones que requieren mayor calidad de imagen o menor bitrate, o que requieran alguna de sus funcionalidades añadidas. Algunos mercados y aplicaciones destinados a ser servidos por esta norma son los siguientes: 
  • Aplicaciones de consumo cotidiano tales como dispositivos multimedia: cámaras digitalesPDAsteléfonos móviles faximpresorasescáner.
  • Almacenamiento y distribución de grandes repositorios de imágenes.
  • Grabación, edición y almacenamiento de video a partir de imágenes fijas en alta definición / cine digital.
  • Imágenes médicas, especialmente las especificaciones DICOM para el intercambio de datos médicos.
  • Sistemas de operación geográfica mediante imágenes satelitales de alta definición.
  • JPEG 2000 tiene un diseño común con el formato de compresión de imágenes ICER, que se utiliza para transmitir las imágenes de la misión Mars Exploration Rover.
  • La Organización Meteorológica Mundial ha incluido la compresión JPEG 2000 en el nuevo formato de archivos GRIB2. El formato GRIB está diseñado para la distribución mundial de datos meteorológicos. La aplicación de la compresión JPEG 2000 en GRIB2 ha reducido tamaño de los archivos hasta un 80% respecto de la versión anterior

  • Internet: Muchas de las aplicaciones clave del nuevo estándar JPEG 2000 utilizará Internet y las tecnologías de Internet para distribuir imágenes. JPEG 2000 imágenes tienen una serie de propiedades que las hacen muy adecuado para su uso con la Internet. 
  • Comunicaciones Inalámbricas: Las comunicaciones inalámbricas ofrece su propio conjunto de problemas. Más específicamente, las redes inalámbricas se caracterizan por la frecuente aparición de errores de transmisión, junto con un bajo ancho de banda. Por lo tanto, poner fuertes restricciones en la transmisión de imágenes digitales. Desde JPEG2000 proporciona alta eficacia de compresión, es un buen candidato para aplicaciones multimedia inalámbricas. Por otra parte, debido a su alta escalabilidad, JPEG2000 permite una amplia gama de calidad de servicio (QoS) estrategias para operadores de red.dos.


sábado, 6 de octubre de 2012

Formato de archivo y flujo de código

Formato de archivo y flujo de código

Al igual que JPEG-1, JPEG 2000 define un formato de archivo y un flujo de código. Si bien este último es el que describe por completo las muestras de la imagen, el primero incluye metainformación adicional como la resolución de la imagen o el espacio de color que se ha utilizado para codificar la imagen. Las imágenes en JPEG 2000 se guardan como archivos de formato JPEG 2000, con la extensión .jp2. La parte 2 de extensión a JPEG 2000, es decir, la norma ISO/IEC15444-2, también enriquece este formato de archivo mediante la inclusión de mecanismos para la animación o la composición de varios flujos de código en una sola imagen. Las imágenes en este formato de archivos extendidos suelen utilizar la extensión .jpx.
No hay extensión estándar para flujo de datos de código debido a que no se ha de considerar que se almacena en archivos en primer lugar, aunque cuando se hace con fines de prueba, la extensión .jpc o .j2k aparecen con frecuencia.


viernes, 5 de octubre de 2012

Arquitectura de JPEG 2000


La arquitectura básica, está formada por un conjunto de etapas de procesamiento, ques se puede ver en forma de diagrama de bloques:


Dichas etapas son aplicadas a cada componente de cada tile de la imagen a comprimir.

Descripción de las etapas:

Offset: Las muestras de la imagen, x[n], donde n representa el punto de coordenadas [n1, n2] de la imagen, con una profundidad de B bits, deben ser valores con signo en el rango:



Por ello, si las muestras originales de la imagen son sin signo, como suele pasar en la mayoría de los casos, es necesario añadirles un offset de 2^(B-1).

Transformada de color: La transformada de color es opcional, ya que sólo puede ser aplicada cuando se poseen al menos tres componentes de color y las tres primeras son del mismo tamaño y la misma profundidad de bits. Se asume que estas primeras tres componentes son RGB, el rojo (Red), el verde (Green) y el azul (Blue).
El objetivo de la transformada de color es convertir las componentes RGB de la imagen en otras componentes con un modelo de color diferente, con el fin de reducir la redundancia que existe entre los canales R, G y B, y poder así aumentar las tasas de compresión.

Como se puede apreciar en la figura 1.1, existen dos tipos de transformadas de color, una para el camino irreversible, la ICT, y otra para el camino reversible, la RCT.
La transformada ICT convierte de RGB a YCbCr. La transformada RCT convierte de RGB a Y’DbDr.
Como hemos comentado, asumimos que las tres componentes, x0[n], x1[n] y x2[n], son el rojo, xR[n], el verde, xG[n], y el azul, xB[n]. La transformada ICT es:


Donde:



Con las mismas condiciones que para la transformada ICT, se define la transformada RCT como sigue:



En nuestro caso, las imágenes van a cumplir la condición necesaria para aplicar la transformada de color, ya que van a ser imágenes en color con sólo tres componentes, RGB.

Transformada wavelet: La segunda etapa de minimización entrópica se basa en la transformada wavelet discreta o DWT (Discrete Wavelet Transform). Esta representa los puntos de la imagen a comprimir en un dominio espacio frecuencial que posee dos ventajas fundamentales: (1) reducir la correlación espacial de cada componente de la imagen, lo que es esencial de cara a maximizar las tasas de compresión, y (2) encontrar una representación multiresolución para cada componente, propiedad que puede ser de ayuda a la hora de procesar imágenes muy grandes.
A continuación vamos a describir la DWT desde el punto de vista de la Teoría de los Bancos de Filtros [9].

Según dicha teoría, una secuencia unidimensional de N muestras x[n], n = 0, … ,N − 1 puede ser representada mediante dos secuencias l[n], n = 0, … , (N/2) −1 y h[n], n = 0, …  , (N/2) −1 de tamaño mitad, donde l[n] es el resultado de filtrar x[n] usando un filtro paso bajo L y h[n] es el resultado de filtrar x[n] mediante un filtro paso alto H. Este banco de dos filtros se define de forma que desde el punto de vista de la frecuencia, lo que el filtro L deja pasar es lo que H no deja pasar y viceversa. Por este motivo, la información contenida en las bandas l[n] y h[n] es la misma que en la secuencia original x[n] que puede ser regenerada usando los correspondientes filtros de síntesis.

Este proceso de descomponer una señal en dos señales, una de baja frecuencia y otra de alta puede aplicarse recursivamente a ambas sub-bandas. Cuando solo se aplica a la banda de baja frecuencia, se habla de la DWT en su versión diádica (dyadic). Si se aplica a ambas, obtenemos la DWT en su versión paquetizada (packet). En el caso de la compresión de imágenes, la forma más utilizada en la diádica porque la energía se acumula principalmente en la zona de baja frecuencia.


En la figura se muestra gráficamente el proceso de descomposición aplicado en la DWT diádica unidimensional.

La DWT se diferencia además de otras transformadas clásicas como la DFT (Discrete Fourier Transform) o la DCT (Discrete Cosine Transform) en un aspecto fundamental: se trata de una representación espacio-frecuencial, no únicamente frecuencial. Gracias a esto es posible seleccionar un subconjunto de coeficientes wavelet para reconstruir solo una parte de la señal original. Esto es muy útil cuando procesamos imágenes muy grandes y solas podemos visualizar una parte de la imagen.

Ya que estamos trabajando con imágenes y  estas tienen dos dimensiones, es necesario extender este proceso al caso bidimensional. Por suerte la DWT diádica es separable, lo que significa que podemos calcular la DWT diádica bidimensional aplicando la DWT diádica unidimensional primero a las filas y luego a las columnas de la imagen (o viceversa).

Una descomposición DWT diádica bidimensional de 2 niveles.


De esta forma, tras cada fase de descomposición se obtienen cuatro bandas en lugar de dos.



Cuantificación: Cada coeficiente wavelet c se cuantifica mediante la siguiente expresión:



El estándar JPEG2000 permite definir un step-size de cuantificación, (intervalo)b, especifico de cada sub-banda. Para el camino reversible, el step-size de cuantificación debe ser necesariamente igual a uno. Por el camino irreversible la cuantificación recibe el nombre de DZQ, y por el reversible, el de Ranging.

Ajuste de la ROI: Como se comentó anteriormente, JPEG2000 ofrece mecanismos mediante los cuales el compresor puede asignar una prioridad más alta a ciertas regiones de la imagen. En esta etapa es donde se realiza la codificación de la ROI a tener en cuenta en la codificación. El método empleado en el estándar para la codificación de la ROI es el llamado método MAXSHIFT, que consiste en desplazar a la izquierda los coeficientes wavelet que conforman la ROI.

Codificación: El codificador empleado por el estándar JPEG2000 es el codificador MQ, similar al codificador QM empleado en el estándar JPEG. El codificador MQ es empleado también en el estándar JBIG-2. Se trata de un codificador aritmético binario que permite codificar sin redundancia estadística los planos de bits de los coeficientes wavelets.



jueves, 4 de octubre de 2012

JPEG 2000: sistema de codificación de la imagen – Partes (Normas ISO)

Varias partes adicionales del estándar JPEG 2000 existen; Entre ellos, la norma ISO / IEC 15444 -2:2000, que define extensiones de JPEG 2000 como el formato de archivo .JPX, un formato de archivo extendido y más espacios de color, ISO / IEC 15444-4:2000, las pruebas de referencia y la norma ISO / IEC 15444-6:2000, con el formato de archivo de imagen compuesto (.JPM), lo que permite la compresión de texto compuesto/gráficos de la Imagen.
Extensiones para la transferencia de la imagen segura, JPSEC (ISO / IEC 15444-8), sistemas de corrección de errores mejorada para las aplicaciones inalámbricas, JPWL (ISO / IEC 15444-11) y extensiones para la codificación de las imágenes volumétricas, JP3D (ISO / IEC 15444-10) también están ya disponibles en la ISO.

Protocolo JPIP
Se publicó en 2005, como ISO / IEC 15444-9 y es un protocolo de navegación en imágenes basadas en JPEG 2000. En este contexto, sólo determinadas regiones con gran potencial de imágenes han de ser transmitidas desde un servidor de imágenes en la solicitud de un cliente, reduciendo así el ancho de banda requerido.

Motion JPEG 2000
Motion JPEG 2000 se define en la norma ISO / IEC 15444-3 y en la UIT-T T.802. En él se especifica el uso del codec JPEG 2000 para las secuencias de imágenes programadas (secuencias de movimiento), combinado con audio, y compuesto en una presentación global. También se define un formato de archivo, basado en los medios de comunicación de base de archivos ISO, formato (ISO 15444-12). Extensiones de archivos para archivos de vídeo Motion JPEG 2000 son .mj2 y .mjp2 de acuerdo con la norma RFC 3745.


Motion JPEG 2000 (a menudo denominada MJ2 o MJP2) es el principal soporte de cine digital estándar en la actualidad con el apoyo de las Iniciativas de Cine Digital (Digital Cinema Initiatives), un consorcio de la mayoría de los principales estudios y proveedores, para el almacenamiento, distribución y exhibición de películas cinematográficas También se está considerando como un archivo formato digital por la Biblioteca del Congreso. Es un proceso abierto ISO estándar y avanzadas para una actualización MJPEG (o MJ), que se basa en el legado del formato JPEG. A diferencia de los codecs de video comunes, como MPEG-4 , WMV y DivX , MJ2 no emplea la compresión de estructura temporal. En su lugar, cada fotograma es una entidad independiente codificada por una variante con o sin pérdidas de JPEG 2000. Su estructura física no depende del tiempo pedido, pero sí utilizan un perfil independiente para complementar los datos. Para el audio, soporta codificación LPCM, así como diversas variantes de MPEG-4.


Estándares JPEG 2000


miércoles, 3 de octubre de 2012

Características de JPEG 2000


Algunas de las características que podemos observar al trabajar con JPEG 2000 son:

  • Compresión de imágenes continuos-tone y bi-levels: El estándar es capaz de comprimir imágenes de tonos continuos y binarios. Permite además una compresión de imágenes con un rango dinámico de profundidad de bits para cada componente, desde 1 bit, con una calidad comparable al estándar ITU-T G4, hasta los 32 bits, siendo, posiblemente, el único estándar que hasta el momento ofrece esta posibilidad.
  • Transmisión progresiva de las imágenes: Ofrece una progresión en calidad, en resolución, en posición espacial o en componente de imagen, lo cual es muy apropiado para la transmisión sobre enlaces de comunicación lentos. Estas progresiones, que se consiguen ordenando adecuadamente el codestream, pueden coexistir entremezcladas en una misma imagen. 
  • Posibilidad de compresión con o sin pérdida: Gracias a la inclusión de una transformada wavelet reversible, el estándar JPEG2000 ofrece esta posibilidad.
  • Acceso aleatorio al codestream de la imagen así como posibilidad de procesamiento del mismo sin necesidad de descompresión: Los codestreams ofrecen diversos mecanismos para soportar el acceso aleatorio en función de una región de interés. Además, permiten la rotación, la traslación y el escalado, entre otros, de la imagen que definen, sin necesidad de descompresión.
  • Robustez ante errores en los datos: JPEG2000 define una serie de mecanismos (marcadores de sincronización, etc.) para permitir la detección de errores de los datos. Por ejemplo, las aplicaciones que hacen uso de canales de comunicación wireless harían uso de esta característica.
  • Arquitectura Abierta: La arquitectura del estándar es abierta, de forma que se define la base, que sería la parte 1, a la cual se le va añadiendo la funcionalidad que se requiera par aplicaciones específicas.
  • Mejor Rendimiento a  Bajos bit-rates: JPEG2000 ofrece un rendimiento superior a bajos bit-rates con respecto al resto de los estándares. Las aplicaciones de transmisión de imágenes a través de la red se benefician de esta carcaterística.
  • Posibilidad de definir regiones de interés (ROI): A menudo existen partes de una imagen que son más importantes que otras. El estándar permite definir ciertas ROIs en la imagen con el fin de que sean codificadas y transmitidas con mayor prioridad, mejor calidad y menor distorsión que el resto.

martes, 2 de octubre de 2012

¿Cuál es la diferencia entre JPEG y JPEG 2000?



COMPARACIÓN ENTRE JPEG Y JPEG 2000

JPEG 2000 ofrece numerosas ventajas sobre el antiguo estándar JPEG, y varias de estas ventajas se discutirá. Una ventaja principal es que ofrece una compresión JPEG 2000 tanto con pérdida y sin pérdida en el flujo mismo archivo, mientras que JPEG utiliza generalmente solamente con pérdida compression4. JPEG tiene un motor de compresión sin pérdida, pero está separado del motor con pérdida, y no se usa muy a menudo. Así, cuando la alta calidad es una preocupación, JPEG 2000 demuestra ser una herramienta de compresión mucho mejor. Debido a la forma en que el motor de compresión que funciona, JPEG 2000 promete una imagen de mayor calidad final, incluso cuando se utiliza la compresión con pérdida. Dado que el formato JPEG 2000 incluye contenido mucho más rico que los actuales archivos JPEG, el efecto final es la capacidad de enviar archivos mucho más pequeños que aún contienen el mismo nivel de detalle que los archivos de más originales JPEG. Los archivos JPEG 2000 también puede manejar hasta 256 canales de información en comparación con el actual estándar JPEG, que, por razón de la aplicación común, se limita a sólo RGB (rojo, verde, y azul) de datos. La figura 1 muestra dos imágenes que se comprimieron primero con el motor de compresión JPEG viejo, y luego se comprime utilizando el método JPEG 2000. Las imágenes que se comprimieron usando JPEG 2000 están verse en la Figura 1 para retener una calidad mucho mayor.

Figura 1 Comparación de dos imágenes comprimidas con JPEG y JPEG 2000


 
Una segunda ventaja de JPEG 2000 es que más de JPEG JPEG 2000 es capaz de ofrecer una elevada relación de compresión para la compresión con pérdida. Para una compresión con pérdidas, los datos han demostrado que JPEG 2000 típicamente puede comprimir imágenes de 20% -200% más de JPEG. Eficiencia de compresión para la compresión con pérdida se mide utilizando el pico de relación señal ruido, o PSNR, y la raíz del error cuadrático medio (RMSE). Este método trata de tener en cuenta la calidad visual retenido por el método de compresión, así como la cantidad de la imagen se comprime. La fórmula para la eficiencia de la compresión PSNR, en dB, se muestra en (1), donde b es la profundidad de bits de la imagen original.

(1)

Un ejemplo de algunas eficiencias de PSNR para JPEG 2000 y JPEG se muestra en la Tabla 1. Dos imágenes de color diferentes se comprimieron usando varias velocidades diferentes (medido en bits por píxel, o BPP) utilizando tanto JPEG 2000 y JPEG. Una tasa de bits más alta dará como resultado una mayor calidad de imagen. El análisis se realizó por Maryline Charrier, Diego Santa Cruz, y Larsson Mathias como parte de una visión general de JPEG 2000. Los resultados indican que JPEG 2000 constantemente ofrece una eficiencia de compresión más alta. Hay que señalar que desde el PSNR se mide en una escala logarítmica, los datos de la Tabla 1 indica que, en realidad, la prueba demostró que JPEG 2000 comprime casi dos veces más que JPEG.

Tabla 1 Comparación de la eficiencia de compresión de PSNR
(en dB) de dos imágenes a velocidades de bits diferentes


 
JPEG 2000 es también capaz de ofrecer niveles de compresión de aproximadamente 2,5:1 para la compresión sin pérdidas, mientras que JPEG no fue capaz de realizar satisfactoriamente una compresión sin pérdida en absoluto. Ratios de compresión sin pérdida se mide simplemente por cuánto menos memoria la imagen comprimida utiliza.

     Otra ventaja de JPEG 2000 es su capacidad de mostrar imágenes a diferentes resoluciones y tamaños, desde el mismo archivo de imagen. Con JPEG, un archivo de imagen sólo fue capaz de ser desplegado de forma individual, con una resolución determinada. Debido JPEG 2000 se basa en wavelets, la corriente de wavelet puede ser sólo parcialmente descomprimido si el usuario sólo quiere una imagen de baja resolución, mientras que la imagen de resolución completa se puede ver si esto se desea. La Figura 2 muestra una imagen que se muestra a tamaño completo y resolución completa, así como el tamaño medio y con una resolución mucho más baja. Todas las imágenes provenían de un único archivo JPEG 2000.

 Full Tamaño Y Full Resolución

Half Size

JPEG2000 en varios Colores y Resoluciones (Blanco y Negro)


Existen numerosos beneficios a ver el mismo archivo de imagen en diferentes resoluciones. Por ejemplo, si una imagen estuvo disponible para su descarga en Internet, una persona con una conexión rápida a Internet puede descargar la imagen de resolución completa, mientras que alguien con una conexión más lenta podría optar por ahorrar tiempo mediante la descarga de una imagen de menor resolución. La posibilidad de mostrar un único archivo con diferentes resoluciones también promete ser útil en muchas aplicaciones industriales donde una imagen determinada puede necesitar sólo se mostrará con una resolución baja, a veces, mientras que en otros procesos de una imagen más clara puede ser necesaria. Uso de JPEG, un archivo diferente tendría que ser generado para cada cuadro. Usando JPEG 2000, el archivo de imagen de poder utilizarse, y el usuario puede elegir en qué resolución para visualizar la imagen.

Otra ventaja de JPEG 2000 es su capacidad de rendimiento de la inversión, o región de interés. El uso de wavelets permite a uno ser capaz de seleccionar una cierta área de una imagen a visualizar en una alta calidad, mientras que deja el resto de la imagen con una calidad inferior. Esto permite al usuario ver sólo una parte necesaria de la imagen en lugar de toda la imagen. Esto reduce significativamente la cantidad de memoria de la imagen requiere, y la cantidad de tiempo necesario para acceder a la imagen. La figura 3 muestra la calidad de compresión de imagen (valor PSNR) frente a la velocidad de bits (en bits por pixel) para una imagen que se comprimen utilizando la codificación de ROI y el método de codificación estándar. La calidad de la imagen completa se muestra también en la gráfica. Como se ve en la Figura 3, la calidad de la zona seleccionada de la imagen se mejora significativamente cuando el método se utiliza ROI.


Figura 3 Comparación entre ROI codificación y la codificación estándar

Aunque muchas otras ventajas de JPEG 2000 existe, de manera final discutidos en este documento en el que JPEG 2000 es superior a JPEG es en el área de la resistencia a los errores. Capacidad de recuperación de error mide la capacidad de un método de compresión para evitar que los errores introducidos en el archivo de imagen de afectar a la calidad de la imagen. Por ejemplo, al descargar una imagen de la Internet, de fondo "ruido" se puede introducir en el archivo de imagen, haciendo que algunos pequeños errores. La conversión del archivo para su uso en otra aplicación es otra forma en la que los pequeños errores pueden ser introducidos en el archivo de imagen. JPEG 2000 ofrece resistencia significativamente mayor error de JPEG, por lo tanto, hay menos posibilidades de que la imagen va a ser de alguna manera dañado y su calidad sacrificado de alguna forma.

Dentro de otras comparaciones tenemos las siguientes:
 
     Rendimiento superior de compresión: A altas tasas de bits, JPEG-2000 dispone de una pequeña ventaja de fidelidad sobre JPEG. A tasas de bits más bajas (por ejemplo, menos de 0,25 bits/pixel para imágenes en escala de grises), JPEG 2000 tiene una ventaja mucho más significativa que determinados modos de JPEG. Las ganancias de compresión JPEG se atribuyen al uso de la transformada wavelet discreta y a un sistema más sofisticado de codificación de la entropía.
  
   Representación de resolución múltiple: JPEG 2000 descompone la imagen en una representación de resolución múltiple durante el proceso de compresión. Esta descomposición puede emplearse para otros propósitos más allá de la compresión de la imagen.
 
    Transmisión progresiva de precisión por píxel y resolución, comúnmente llamada decodificación progresiva: JPEG 2000 proporciona organizaciones de flujos de datos eficientes, que son progresivos por precisión de píxel y resolución de imagen (o por tamaño de imagen). De esta manera, el espectador puede ver una versión de menor calidad de la imagen final, aún antes de que el contenido completo del archivo haya sido recibido. Según progresa la descarga del archivo, la calidad visual va mejorando progresivamente. El estándar JPEG 1992 también tiene una característica de transmisión progresiva pero es raramente utilizada.
 
     Compresión sin pérdidas y con pérdidas: Al igual que JPEG 1992, el estándar JPEG 2000 dispone de una única arquitectura de compresión que ofrece ambas alternativas. La compresión sin pérdida en JPEG 2000 se basa en el uso de una transformada wavelet entero-a-entero reversible.
 
    Acceso y procesamiento aleatorio del flujo de código, referido a la región de interés (ROI): Los flujos de código del JPEG 2000 ofrecen diversos mecanismos de acceso espacial aleatorio o a regiones de interés, con varios grados de granularidad. De esta manera es posible almacenar diferentes partes de la misma imagen con diferente calidad.

     Capacidad de recuperación de errores: Al igual que JPEG 1992, JPEG 2000 es robusto a errores, debido a la codificación de datos en bloques independientes relativamente pequeños.

   Formato de archivo flexible: Los formatos de archivo .jp2 y .jpx permiten manipular la información del espacio de color y los metadatos, además de facilitar la interoperabilidad en aplicaciones de red.

     Canal de información espacial adicional: permite almacenar los valores de transparencia o del canal alfa.


 Comparación del JPEG 2000 con el formato JPEG Original