stringtranslate.com

Archivo de gráficos progresivos

PGF ( Progressive Graphics File ) es un formato de imagen de mapa de bits basado en wavelets que emplea compresión de datos con y sin pérdida . PGF se creó para mejorar y reemplazar el formato JPEG . Se desarrolló al mismo tiempo que JPEG 2000 , pero con un enfoque en la velocidad por sobre la relación de compresión . [ cita requerida ]

PGF puede funcionar con índices de compresión más altos sin consumir más tiempo de codificación/descodificación y sin generar los artefactos "borrosos y en bloques" característicos del estándar JPEG original basado en DCT . [2] También permite descargas progresivas más sofisticadas . [ cita requerida ]

Modelos de color

PGF admite una amplia variedad de modelos de color:

Discusión técnica

PGF afirma lograr una calidad de compresión mejorada con respecto a JPEG añadiendo o mejorando características como la escalabilidad. Su rendimiento de compresión es similar al estándar JPEG original. PGF también admite tasas de compresión muy bajas y muy altas (incluida la compresión sin pérdida ). La capacidad del diseño para manejar una gama muy amplia de tasas de bits efectivas es uno de los puntos fuertes de PGF. Por ejemplo, para reducir el número de bits de una imagen por debajo de una cierta cantidad, lo recomendable con el primer estándar JPEG es reducir la resolución de la imagen de entrada antes de codificarla, algo que normalmente no es necesario para ese propósito cuando se utiliza PGF debido a sus propiedades de escalabilidad wavelet.

La cadena de proceso PGF contiene los siguientes cuatro pasos:

  1. Transformación del espacio de color (en el caso de imágenes en color)
  2. Transformada Wavelet Discreta
  3. Cuantización (en caso de compresión de datos con pérdida)
  4. Codificación de longitud de ejecución de plano de bits jerárquico

Transformación de componentes de color

Inicialmente, las imágenes deben transformarse del espacio de color RGB a otro espacio de color, lo que da lugar a tres componentes que se manejan por separado. PGF utiliza una transformación de color YUV modificada totalmente reversible. Las matrices de transformación son:

Los componentes de crominancia se pueden reducir en resolución, aunque no necesariamente es necesario.

Transformada wavelet

Los componentes de color se transforman entonces mediante wavelets a una profundidad arbitraria. A diferencia de JPEG 1992, que utiliza una transformada de coseno discreta de tamaño de bloque de 8x8 , PGF utiliza una transformada de wavelets reversible: una versión redondeada de la transformada de wavelets CDF biortogonal 5/3 . Este banco de filtros wavelets es exactamente el mismo que el wavelet reversible utilizado en JPEG 2000. Utiliza solo coeficientes enteros, por lo que la salida no requiere redondeo (cuantificación) y, por lo tanto, no introduce ningún ruido de cuantificación.

Cuantización

Después de la transformada wavelet, los coeficientes se cuantifican escalarmente para reducir la cantidad de bits que los representan, a costa de una pérdida de calidad. El resultado es un conjunto de números enteros que deben codificarse bit a bit. El parámetro que se puede cambiar para establecer la calidad final es el paso de cuantificación: cuanto mayor sea el paso, mayor será la compresión y la pérdida de calidad. Con un paso de cuantificación igual a 1, no se realiza ninguna cuantificación (se utiliza en la compresión sin pérdida). A diferencia de JPEG 2000, PGF utiliza solo potencias de dos, por lo tanto, el valor del parámetro i representa un paso de cuantificación de 2 i . El uso de potencias de dos hace que no sean necesarias las operaciones de multiplicación y división de números enteros.

Codificación

El resultado del proceso anterior es una colección de subbandas que representan varias escalas de aproximación. Una subbanda es un conjunto de coeficientes ( números enteros que representan aspectos de la imagen asociados a un determinado rango de frecuencias, así como a un área espacial de la imagen).

Las subbandas cuantificadas se dividen en bloques , regiones rectangulares en el dominio wavelet. Por lo general, se seleccionan de manera que los coeficientes dentro de ellas a lo largo de las subbandas formen bloques aproximadamente espaciales en el dominio de la imagen (reconstruida) y se recopilen en un macrobloque de tamaño fijo .

El codificador debe codificar los bits de todos los coeficientes cuantificados de un macrobloque, comenzando con los bits más significativos y avanzando hacia los bits menos significativos. En este proceso de codificación, cada plano de bits del macrobloque se codifica en dos llamados pasos de codificación , primero codificando los bits de coeficientes significativos, luego los bits de refinamiento de coeficientes significativos. Claramente, en el modo sin pérdida todos los planos de bits tienen que ser codificados, y no se puede descartar ningún plano de bits.

Con un codificador adaptativo de longitud de serie/Rice (RLR) solo se comprimen los coeficientes significativos , ya que contienen series largas de ceros. El codificador RLR con parámetro k (longitud logarítmica de una serie de ceros) también se conoce como código elemental de Golomb de orden 2 k .

Comparación con otros formatos de archivo

Existen varias ventajas autoproclamadas del PGF sobre el estándar JPEG ordinario: [2]

Software disponible

El autor publicó libPGF a través de SourceForge , bajo la Licencia Pública General Reducida de GNU versión 2.0. [1] Xeraina ofrece un codificador y decodificador de consola de Windows gratuito , y visores PGF basados ​​en WIC para plataformas Windows de 32 y 64 bits. Otras aplicaciones WIC, incluido el Explorador de archivos, pueden mostrar imágenes PGF después de instalar este visor. [3]

Digikam es un popular software de edición y catalogación de imágenes de código abierto que utiliza libPGF para sus miniaturas. Utiliza la función de decodificación progresiva de las imágenes PGF para almacenar una única versión de cada miniatura, que luego se puede decodificar a diferentes resoluciones sin pérdida, lo que permite a los usuarios cambiar dinámicamente el tamaño de las miniaturas sin tener que volver a calcularlas. [ cita requerida ]

Véase también

Extensión de archivo

La extensión de archivo .pgfy el TLA PGF también se utilizan para fines no relacionados:

Referencias

  1. ^ por Christoph Stamm (2015). "PGF libPGF.org". Proyecto SourceForge . Consultado el 14 de septiembre de 2015 .
  2. ^ abc Stamm, Christoph (2002). «PGF: un nuevo formato de archivo progresivo para la compresión de imágenes con y sin pérdida» (PDF) . Archivado (PDF) desde el original el 7 de marzo de 2007. Consultado el 12 de abril de 2023 .
  3. ^ "Descargar PGF". xeraina. 2013. Consultado el 12 de abril de 2023 .