Que es JPEG 2000 ¿nuevo formato de imagen para sitios web?

JPEG 2000 es un sistema de codificación de imágenes que utiliza técnicas de compresión de última generación basadas en tecnología wavelet y ofrece un nivel extremadamente alto de escalabilidad y accesibilidad. El contenido se puede codificar una vez en cualquier calidad, hasta sin pérdidas, pero se puede acceder y descodificar en un número potencialmente muy grande de otras calidades y resoluciones y / o por región de interés, sin penalización significativa en la eficiencia de la codificación. El estándar admite hasta 16384 componentes, con dimensiones en miles de terapixels y precisiones de hasta 38 bits / muestra, con o sin mosaico, y con una variedad de progresiones de datos intercambiables y capacidades de acceso aleatorio. La arquitectura JPEG 2000 se presta a una amplia gama de usos, desde cámaras digitales portátiles hasta preimpresión avanzada, imágenes médicas,

JPEG 2000 se refiere a todas las partes de la norma. A continuación se muestra la lista de piezas actuales que conforman el conjunto completo de estándares JPEG 2000.

Parte 1, sistema de codificación del núcleo

La Parte 1 define el núcleo de JPEG 2000: la sintaxis de un flujo de código JPEG 2000 y los pasos necesarios involucrados en la decodificación de imágenes JPEG 2000, con orientación informativa para los codificadores.
La Parte 1 también define un formato de archivo básico llamado JP2, que permite que los metadatos como la información del espacio de color y los derechos de IP se proporcionen con un flujo de código JPEG 2000.

Parte 2, Extensiones

La Parte 2 define las extensiones de formato de archivo y de secuencia de código que incluyen: transformaciones de componentes múltiples; wavelet más flexible para transformar los núcleos y las estructuras de descomposición; esquemas alternativos de cuantificación; y transformaciones puntuales no lineales. El formato de archivo JPX de la Parte 2 amplía el formato de archivo JP2 de la Parte 1 para permitir: descripciones de espacio de color más completas y representaciones de muestra de HDR; múltiples codestreams; composición, recorte, transformaciones geométricas; animaciones ricas; metadatos descriptivos; y un rico conjunto de metadatos para imágenes fotográficas.

Parte 3, Motion JPEG 2000 (MJ2 o MJP2)

La Parte 3 define un formato de archivo para secuencias de movimiento de imágenes JPEG 2000, donde cada imagen se codifica como un flujo de código JPEG 2000 independiente.

Parte 4, Conformidad

La Parte 4 especifica los procedimientos de prueba para los procesos de codificación y decodificación definidos en la Parte 1, incluida la definición de un conjunto de clases de conformidad del decodificador. Los archivos de prueba de la Parte 4 incluyen tanto codestreams desnudos como archivos JP2.

Parte 5, software de referencia

La Parte 5 consta de dos paquetes de código fuente que implementan la Parte 1. Las implementaciones se desarrollaron junto con la Parte 1 y se usaron para probarla. Uno está escrito en C y el otro en Java. Ambos están disponibles bajo licencias de código abierto.

Parte 6, formato de archivo de imagen compuesto

La Parte 6 define el formato de archivo JPM para imágenes de documentos de varias páginas, que utiliza el modelo de Contenido Rasterizado (MRC) de ISO / IEC 16485. JPM es una extensión del formato de archivo JP2 definido en la Parte 1. Aunque es un miembro de La familia JPEG 2000, admite el uso de muchas otras tecnologías de codificación o compresión, incluyendo JBIG2 y JPEG.

Parte 8, JPEG 2000 Secured (JPSEC)

La Parte 8 estandariza las herramientas para garantizar la seguridad de la transacción, la protección de los contenidos (IPR) y la protección de las tecnologías (IP), y para permitir que las aplicaciones generen, consuman e intercambien flujos de bits protegidos JPEG 2000.

Parte 9, JPIP

La Parte 9 define herramientas para admitir el acceso incremental y selectivo a imágenes y metadatos en un entorno de red. Un enfoque principal para la Parte 9 es la navegación remota interactiva eficiente y receptiva del contenido JPEG 2000 que se ajusta a cualquiera de las otras partes de la norma.

Parte 10, JP3D

La Parte 10 es la extensión volumétrica de JPEG 2000 Parte 1. Define explícitamente la noción de una dimensión espacial extra (la dimensión Z), extendiendo los conceptos clave de JPEG 2000, como mosaicos, recintos y bloques de código a las tres dimensiones, de manera que para proporcionar propiedades de accesibilidad de resolución y región de interés en 3D. La Parte 10 también agrega soporte para las estructuras de descomposición wavelet que se extienden jerárquicamente en las tres dimensiones.

Parte 11, JPWL

La parte 11 de la norma define herramientas y métodos para lograr la transmisión eficiente de imágenes JPEG 2000 a través de una red inalámbrica propensa a errores. Más específicamente, la Parte 11 extiende los elementos en el sistema de codificación del núcleo descrito en la Parte 1 con mecanismos para la protección y corrección de errores. Estas extensiones son compatibles con versiones anteriores: los decodificadores que implementan la Parte 1 pueden omitir las extensiones definidas en la Parte 11.

Parte 13, codificador de nivel de entrada

La Parte 13 define una implementación de codificador de nivel de entrada de la Parte 1.

Parte 14, JPXML

La Parte 14 especifica una representación XML del formato de archivo JPEG 2000 y los segmentos marcadores, junto con métodos para acceder a los datos internos de una imagen JPEG 2000.

Parte 15, HTJ2K (en desarrollo)

La Parte 15, que está en desarrollo, especifica un algoritmo de codificación de bloque alternativo que se puede usar en lugar del algoritmo de codificación de bloque existente especificado en la Parte 1. El algoritmo de codificación de bloque alternativo está destinado a ofrecer un aumento de diez veces el rendimiento en el el costo de una eficiencia de codificación ligeramente reducida, mientras que permite la transcodificación sin pérdida matemática a / desde flujos de código que utilizan el algoritmo de codificación de bloque de la Parte 1, y preserva la sintaxis y las características de la secuencia de código de la Parte 1.

Compresión de imagen JPEG 2000

La norma JPEG (Joint Photographic Experts Group) 2000, finalizada en 2001, define un nuevo esquema de codificación de imágenes que utiliza técnicas de compresión de última generación basadas en tecnología wavelet. Su arquitectura es útil para muchas aplicaciones diversas, incluida la distribución de imágenes en Internet, los sistemas de seguridad, la fotografía digital y la imagen médica.

Existe mucha confusión en cuanto a qué es JPEG 2000 y cómo se compara con otros estándares de compresión, como MPEG (Moving-Picture Experts Group) -2, MPEG-4 y el JPEG anterior. Con breves comparaciones con otros estándares de compresión, este artículo se destina principalmente a resaltar algunos de los beneficios que a menudo se hacen reales y poco conocidos de JPEG 2000.


Aplicaciones

Seguridad CCTV

Cuando se transmite o almacena información de la imagen, se debe emplear la compresión para mantener la resolución de la imagen mientras se aprovecha al máximo el ancho de banda limitado del canal. La compresión se define como sin pérdidas si la recuperación completa del original está disponible desde el canal sin ninguna pérdida de información; De lo contrario, es con pérdida . Se requieren estándares para asegurar la interoperabilidad. JPEG 2000 es el único esquema de compresión estándar que proporciona tanto la compresión sin pérdidas como la pérdida. Como tal, se presta a aplicaciones que requieren imágenes de alta calidad a pesar de las limitaciones de almacenamiento o ancho de banda de transmisión.

Una característica importante de los sistemas basados ​​en JPEG 2000 es la capacidad de extraer una variedad de resoluciones, componentes, áreas de interés y relaciones de compresión de un solo flujo de código JPEG 2000. Esto no es posible con ningún otro estándar de compresión porque el tamaño de la imagen, la velocidad de bits y la calidad deben especificarse en el lado de codificación y no pueden determinarse o cambiarse en el lado de decodificación.

Por ejemplo, un sistema de seguridad de circuito cerrado de TV (CCTV) puede hacer uso de esta función mediante el envío de un solo flujo de código JPEG 2000 a través de una red de bajo ancho de banda. Las imágenes de alta resolución se pueden almacenar en una unidad de disco duro (HDD), mientras que varias imágenes de menor resolución se muestran en los monitores. El operador en el lado de recepción puede decidir qué información extraer del flujo de código único enviado.

JPEG 2000 tiene una precisión de cuadro , ya que cada cuadro de la entrada está contenido en el formato comprimido. Los sistemas MPEG, por otro lado, reducen la cantidad de datos a través de la compresión temporal (que no codifica cada cuadro como una imagen completa), por lo que la compresión MPEG no es precisa en el cuadro . Por esta razón, los problemas legales restringen el uso de la compresión MPEG en algunas aplicaciones de seguridad. Para solucionar este problema, los proveedores de equipos y sistemas de seguridad han tenido que desarrollar sus propios esquemas de compresión, o utilizar el estándar de compresión JPEG (M-JPEG) altamente ineficiente, para proporcionar un flujo comprimido que contenga cada campo del original. . Ahora pueden usar JPEG 2000 para nuevos diseños.

Distribución de imágenes en Internet

La codificación progresiva , otra característica del estándar JPEG 2000, significa que el flujo de bits se puede codificar de tal manera que contenga información menos detallada al comienzo del flujo e información más detallada a medida que el flujo progresa. Esto lo hace ideal para aplicaciones de Internet / red, especialmente con imágenes grandes y bajos anchos de banda, ya que la imagen se puede ver instantáneamente en el lado de la decodificación, incluso con redes de baja velocidad o bases de datos de imágenes. Las subbandas inferiores se muestran primero y se agregan más detalles a medida que avanza el tiempo. Por lo tanto, la imagen se vuelve más nítida y detallada con el tiempo, y no es necesario descargar la imagen completa antes de poder verla.

Con la imagen de baja calidad disponible al instante, el usuario en el extremo receptor puede decidir si desea ver la imagen en su versión totalmente decodificada, o pasarla y escanear la siguiente imagen en su lugar. Los clientes pueden ver imágenes a diferentes resoluciones o niveles de calidad [ tasas de compresión ], lo que las hace adecuadas para cualquier ancho de banda de transmisión, velocidad de conexión o dispositivo de visualización. Además, la codificación JPEG 2000 ofrece la opción de acercar o alejar un área particular de la imagen, o mostrar una región particular de la imagen a una resolución o tasa de compresión diferente.

Alta definición

A niveles de compresión extremos, el video JPEG 2000 comienza a aparecer borroso, pero aún es bastante visible. Los artefactos MPEG o JPEG son mucho más molestos para el ojo, con la imagen visiblemente dividida en pequeños bloques a altas relaciones de compresión. La alta calidad de imagen a velocidades de bits y contenidos de media a alta que contienen mucho movimiento, falta de artefactos de bloque y alta eficiencia hacen que JPEG 2000 sea ideal para aplicaciones de alta definición (HD), como cine digital, sistemas de grabación HD , y equipo de cámara HD.

Muchas aplicaciones requieren un control exacto de la velocidad de bits, que solo JPEG 2000 puede proporcionar. El control exacto de la velocidad de bits es posible porque una trama o campo completo se transforma a la vez; luego se divide en flujos de bits o bloques de código que se pueden procesar de forma independiente con las técnicas que se describen a continuación. En los sistemas que utilizan DCT, la cuantización es la única técnica utilizada, lo que dificulta el control exacto de la velocidad de bits. Para controlar la tasa de bits en los sistemas DCT, la información se debe volver a procesar y volver a cuantificar. El algoritmo de control de velocidad utilizado en JPEG 2000 trunca cada flujo de bits para cumplir con una velocidad de bits objetivo específica, ajustando el truncamiento y la re-cuantificación de los datos de cada bloque de código según sea necesario. Además de programar la tasa de bits de destino, el estándar permite al usuario especificar una métrica de calidad particular. En este caso,relación señal / ruido . El PSNR es una indicación de calidad de imagen comparable a la calidad de imagen percibida .

Flujo de código JPEG 2000

Una imagen de entrada determinada o parte de la imagen [ mosaico ] se envía a un conjunto de filtros wavelet, que transforman la información de píxeles en coeficientes wavelet, que luego se agrupan en varias subbandas [el uso de wavelets en la codificación se explicó primero en Diálogo analógico 30-2(1996)]. Cada subbanda contiene coeficientes de wavelets que describen un rango de frecuencia espacial horizontal y vertical específico de toda la imagen original. Esto significa que la información de baja frecuencia y menos detallada está contenida en el primer nivel de transformación, mientras que la información de mayor frecuencia y más detallada está contenida en los niveles de transformación más altos. Para simplificar, aquí solo se muestran dos niveles de transformación. El primer nivel de transformación da como resultado las subbandas LH1, HH1, HL1 y LL1. Solo se pasa la subbanda LL1 para un mayor filtrado, generando el siguiente nivel de transformación y creando las subbandas LH2, HH2, HL2 y LL2.

Se generan bloques de código de igual tamaño, que son esencialmente flujos de bits de datos, dentro de cada subbanda. Este desglose es necesario para el modelado y la codificación de coeficientes, y se realiza sobre la base de bloque de código por código. En esencia, la compresión real se logra al truncar y / o volver a cuantificar los flujos de bits contenidos en cada bloque de código. Estas secuencias de bits se truncan de manera óptima utilizando una técnica conocida como control de velocidad de post-compresión (PCRC).

Los bloques de código se pueden acceder de forma independiente. Sus flujos de bits están codificados con tres pases de codificación por plano de bits. Este proceso, llamado modelado de contexto, se utiliza para asignar información sobre la importancia de cada bit de coeficiente individual. Los bloques de código se pueden agrupar según su importancia. Por el lado de la decodificación, es posible extraer información según su importancia, permitiendo que la información más significativa se vea primero.

JPEG 2000 puede contener un número de capas definido por el usuario, que está definido por PCRC y el modelado de contexto. Cada capa representa una tasa de compresión particular, donde la tasa de compresión se logra a partir de los procesos de modelación de cuantificación, distorsión de tasa y contexto. La capa 0, por ejemplo, contiene flujos de bits (de la transformada WT con pérdida) que están muy truncados, no contienen pases de codificación y, por lo tanto, proporcionan la mayor tasa de compresión y la calidad más baja. La capa 16 puede contener flujos de bits que están menos truncados y utilizan un mayor número de pases de codificación, lo que proporciona baja compresión y alta calidad.


Figura 2. ENCODE: la imagen a través de wavelet se transforma en subbandas y resoluciones.

Azulejos o imágenes se dividen en recintos . Los precintos contienen una serie de bloques de código y se utilizan para facilitar el acceso a un área específica dentro de una imagen para procesar esta área de una manera diferente, o para decodificar solo un área específica de una imagen. La secuencia de bits JPEG 2000 se genera al organizar bloques de código o precintos en una matriz de paquetes con las subbandas inferiores primero.

El flujo de JPEG 2000 comienza con un encabezado principal que contiene información como: tamaño de imagen sin comprimir, tamaño de mosaico, número de componentes, profundidad de bits de los componentes, estilo de codificación, niveles de transformación, orden de progresión, número de capas, tamaño de bloque de código, tipo de filtro wavelet , nivel de cuantización, etc. La información completa de la imagen, agrupada en bloques de código de subbandas LL, HL, LH y HH, sigue al encabezado. Los datos no están contenidos en la información del encabezado. Además, una tabla de contenido se puede almacenar en el lado de la codificación, y permite que un decodificador recupere cierta resolución a pedido, sin tener que descodificar ni descargar la totalidad del flujo de código JPEG 2000.


Figura 3. DECODE: una secuencia JPEG 2000 es recibida por varios decodificadores.

DCT versus WT

JPEG 2000 utiliza la transformada wavelet (WT) para reducir la cantidad de información contenida en una imagen, mientras que los sistemas MPEG y JPEG usan la transformada de coseno discreta (DCT). Es cierto que el WT requiere más potencia de procesamiento que el DCT, pero los sistemas MPEG requieren más que solo el DCT. La DCT, o cualquier tipo de transformada de Fourier , expresa la señal en términos de frecuencia y amplitud, pero solo en un instante en el tiempo. El WT transforma una señal en frecuencia y amplitud en el tiempo, y por lo tanto es más eficiente. Las figuras 4 a 9 lo demuestran.

Para obtener la misma cantidad de información que con un pase WT, se debe utilizar el DCT para cada frecuencia; y cada una de estas frecuencias debe transformarse en cada instante de tiempo para cada bloque de 8 × 8 píxeles. Además, los sistemas MPEG utilizan la compresión entre cuadros [estimación de movimiento] para reducir aún más la cantidad de datos para la estimación de movimiento. Esto requiere el almacenamiento de al menos dos campos completos en la memoria externa. El proceso de estimación de movimiento intensivo en cómputo requiere un procesador muy potente. La compresión temporal se puede utilizar en los sistemas JPEG 2000, pero no es inherente al estándar JPEG 2000.

Las ventajas de JPEG 2000 sobre otros estándares de compresión

Todos los estándares MPEG son complejos y de computación intensiva. Esto se traduce en una amplia latencia de procesamiento y requisitos de memoria en aplicaciones de definición estándar (SD). Estos factores se vuelven aún más problemáticos cuando se consideran los formatos de alta definición (HD) y JPEG 2000 se vuelve aún más deseable. Otra fortaleza de JPEG 2000 es el estándar en sí mismo, que permite una inmensa flexibilidad y control en muchas aplicaciones diferentes. También hay mucha versatilidad con respecto a los formatos: JPEG 2000 admite desde 8 bits por muestra hasta una cantidad ilimitada de bits por muestra, mientras que MPEG solo admite datos de 8 bits.

JPEG 2000 sigue ganando popularidad, a pesar de que MPEG-2 es el estándar establecido para DVD y aplicaciones de transmisión. JPEG 2000 también es muy popular en aplicaciones HD que requieren almacenamiento o transmisión de alta calidad de imágenes HD a través de redes inalámbricas u otros enlaces.

El ADV202

Desde principios de la década de 1990, Analog Devices ha invertido mucho en I + D de compresión de onda. Fuimos los primeros en introducir una solución de hardware de compresión wavelet en 1996 con el ADV601. Ahora el códec wavelet más nuevo de ADI, el ADV202, lanzado en julio de 2004, es hasta ahora el único JPEG 2000 IC dedicado en el mercado. Un IC de compresión / descompresión JPEG 2000 de un solo chip completo, el ADV202 funciona con video de alta definición, video de definición estándar e imágenes fijas. Es compatible con todas las funciones del estándar de compresión de imagen ISO / IEC15444-1 [JPEG 2000] [excepto el ROI de Maxshift]. Su tecnología patentada SURF ™ (filtrado espacial recursivo y ultra eficiente) permite una compresión basada en wavelets de bajo consumo y bajo consumo. El ADV202, que contiene un motor de transformación de wavelet dedicado, tres códecs de entropía, un procesador RISC y sistemas de memoria incorporados, proporciona una interfaz sin cola para estándares de video comunes como ITU.R.BT656, SMPTE274M o SMPTE296M. Puede crear un flujo de código JPEG 2000 totalmente compatible [.j2c, .jp2]. También puede proporcionar bloques de código en bruto y datos de atributos,


Figura 10. Diagrama de bloques ADV202.

A pesar de que el rendimiento del procesador de señal digital (DSP) ha mejorado significativamente, un DSP tendría que realizar 20 mil millones de instrucciones por segundo para coincidir con el rendimiento del ADV202 en una aplicación de codificación de definición estándar. De manera efectiva como aceleradores, los tres códecs de entropía en chip dedicados del ADV202 son responsables de la alta tasa de rendimiento.

Conclusión: la perspectiva para JPEG 2000

Una de las principales ventajas de utilizar una solución de hardware JPEG 2000 es su menor latencia que cualquier otro esquema de compresión, un factor que es de particular importancia en aplicaciones médicas, por ejemplo.

Varios fabricantes importantes de equipos de video o transmisión han implementado JPEG 2000 en productos HD de futuro como sistemas de codificación y decodificación en tiempo real y servidores de video.

La Digital Cinema Initiative (DCI) ha anunciado recientemente que utilizará JPEG 2000 como método de compresión en la entrega de imágenes en movimiento digital. El ADV202 ya ha encontrado su camino en muchos diseños en el mercado de CCTV / seguridad en aplicaciones de video a través de la red .

Debido a su flexibilidad y calidad de compresión de imagen, el ADV202, que funciona bajo JPEG 2000, podría encontrar su camino en prácticamente todos los diseños que utilizan compresión de imagen o video.

Recuerda suscribirte:

Obtenga nuestro boletín de noticias diario | Suscríbete gratuitamente SUSCRIBIRSE
¿Te ha resultado útil este artículo, recomiendanos?
Si



Share:

Luis Chávez

Soy el fundador del sitio web Ayudadeblogger.com - Considerado un Pro Blogger profesional, Consultor SEO y desarrollador Web adicto, ejecuto una serie de sitios web desde mi Oficina Quito-Ecuador.

Related post

Comentarios

Disqus

Disqus comments:


Facebook

Facebook comments: