De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

PGF ( archivo de gráficos progresivos ) es un formato de imagen de mapa de bits basado en ondas que emplea compresión de datos sin pérdida y con pérdida . PGF fue creado para mejorar y reemplazar el formato JPEG . Fue desarrollado al mismo tiempo que JPEG 2000 pero con un enfoque en la velocidad sobre la relación de compresión . [ cita requerida ]

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

Modelos de color [ editar ]

PGF admite una amplia variedad de modelos de color: "Hoja de datos de PGF" (PDF) .

  • Escala de grises con 1, 8, 16 o 31 bits por píxel
  • Color indexado con un tamaño de paleta de 256
  • Imagen en color RGB con 12, 16 (rojo: 5 bits, verde: 6 bits, azul: 5 bits), 24 o 48 bits por píxel
  • Imagen en color ARGB con 32 bits por píxel
  • Imagen en color L * a * b con 24 o 48 bits por píxel
  • Imagen en color CMYK con 32 o 64 bits por píxel

Discusión técnica [ editar ]

PGF afirma lograr una calidad de compresión mejorada sobre JPEG agregando o mejorando características como la escalabilidad. Su rendimiento de compresión es similar al estándar JPEG original. Las tasas de compresión muy bajas y muy altas (incluida la compresión sin pérdidas ) también son compatibles con PGF. La capacidad del diseño para manejar un rango muy amplio de velocidades 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 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 utilizando PGF debido a sus propiedades de escalabilidad de ondículas.

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 de ondícula discreta
  3. Cuantización (en caso de compresión de datos con pérdida)
  4. Codificación jerárquica de longitud de ejecución de plano de bits

Transformación de componentes de color [ editar ]

Inicialmente, las imágenes deben transformarse del espacio de color RGB a otro espacio de color, lo que lleva 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 pueden reducirse en resolución, pero no necesariamente tienen que hacerlo.

Transformada wavelet [ editar ]

A continuación, los componentes de color se transforman en ondículas 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 ondícula reversible: una versión redondeada de la transformada de ondícula biortogonal CDF 5/3 . Este banco de filtros de ondículas es exactamente el mismo que el de la ondícula reversible utilizada en JPEG 2000. Utiliza sólo coeficientes enteros, por lo que la salida no requiere redondeo (cuantificación) y por tanto no introduce ningún ruido de cuantificación.

Cuantificación [ editar ]

Después de la transformada de ondículas, los coeficientes se cuantifican escalar para reducir la cantidad de bits que los representan, a expensas de una pérdida de calidad. La salida 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 es el paso, mayor es 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érdidas). A diferencia de JPEG 2000, PGF usa solo potencias de dos, por lo tanto, el valor del parámetro i representa un paso de cuantificación de 2 i . El simple hecho de usar potencias de dos no necesita operaciones de multiplicación y división de enteros.

Codificación [ editar ]

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 con un cierto rango de frecuencia, así como un área espacial de la imagen.

Las subbandas cuantificadas se dividen aún más en bloques , regiones rectangulares en el dominio de ondículas. Por lo general, se seleccionan de manera que los coeficientes dentro de ellos a través de las subbandas formen aproximadamente bloques espaciales en el dominio de la imagen (reconstruida) y se recojan en un macrobloque de tamaño fijo .

El codificador tiene que codificar los bits de todos los coeficientes cuantificados de un macrobloque, comenzando con los bits más significativos y progresando a los bits menos significativos. En este proceso de codificación, cada plano de bits del macrobloque se codifica en dos denominadas pasadas de codificación , primero codificando bits de coeficientes significativos, luego bits de refinamiento de coeficientes significativos. Claramente, en el modo sin pérdidas, todos los planos de bits deben codificarse y no pueden descartarse planos de bits.

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

Comparación con otros formatos de archivo [ editar ]

  • JPEG 2000 es un poco más eficiente en cuanto al espacio al manejar imágenes naturales. El PSNR para la misma relación de compresión es en promedio un 3% mejor que el PSNR de PGF. Tiene una pequeña ventaja en la relación de compresión pero tiempos de codificación y decodificación más largos. [2]
  • PNG (Portable Network Graphics) ocupa más espacio en el manejo de imágenes con muchos píxeles del mismo color.

Hay varias ventajas autoproclamadas de PGF sobre el estándar JPEG ordinario: [2]

  • Rendimiento de compresión superior : la calidad de imagen (medida en PSNR ) para la misma relación de compresión es, en promedio, un 3% mejor que la PSNR de JPEG. A velocidades de bits más bajas (por ejemplo, menos de 0,25 bits / píxel para imágenes en escala de grises), PGF tiene una ventaja mucho más significativa sobre ciertos modos de JPEG: los artefactos son menos visibles y casi no hay bloqueo. Las ganancias de compresión sobre JPEG se atribuyen al uso de DWT .
  • Representación de resolución múltiple : PGF proporciona una compresión perfecta de múltiples componentes de imagen, y cada componente transporta de 1 a 31 bits por muestra de componente. Con esta función, no es necesario almacenar imágenes de vista previa ( miniaturas ) almacenadas por separado .
  • Transmisión progresiva por precisión de resolución, comúnmente conocida como decodificación progresiva: PGF proporciona organizaciones de flujo de código eficientes que son progresivas por resolución. De esta manera, después de recibir una parte más pequeña de todo el archivo, es posible ver una menor calidad de la imagen final, la calidad se puede mejorar de forma monótona obteniendo más datos de la fuente.
  • Compresión sin pérdidas y con pérdidas : PGF proporciona compresión sin pérdidas y con pérdidas en una única arquitectura de compresión. Tanto la compresión con pérdida como la sin pérdida se proporcionan mediante el uso de una transformada de ondícula reversible (entera).
  • Información espacial del canal lateral : la transparencia y los planos alfa son totalmente compatibles
  • Extracción de ROI : desde la versión 5, PGF admite la extracción de regiones de interés ( ROI ) sin decodificar la imagen completa.

Software disponible [ editar ]

El autor publicó libPGF a través de SourceForge , bajo la GNU Lesser General Public License versión 2.0. [1] Xeraina ofrece un complemento de formato de archivo de Photoshop gratuito .8bi, un codificador y decodificador de consola Win32 y visores PGF basados ​​en WIC para plataformas Windows de 32 bits y 64 bits. Otras aplicaciones de WIC, incluida la Galería de fotos, 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. Hace uso de 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 ]

Ver también [ editar ]

  • Comparación de formatos de archivos gráficos
  • Formatos de archivo de gráficos relacionados : ECW , JPEG , JPEG 2000 , JPEG XR
  • Formatos de archivo de imagen
  • Compresión de imagen

Extensión de archivo [ editar ]

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

  • Adobe Illustrator utilizó un formato de gráficos progresivos antes de PostScript encapsulado .
  • PGF / TikZ utiliza un formato de gráficos portátiles en el proyecto PGF de SourceForge .
  • XnView y Konvertor asocian la extensión de archivo .pgfcon Portfolio Graphics .

Referencias [ editar ]

  1. ↑ a b Christoph Stamm (2015). "PGF libPGF.org" . Proyecto de SourceForge libpgf . Consultado el 14 de septiembre de 2015 . Enlace externo en |work=( ayuda )
  2. ^ a b c Christoph Stamm. "PGF: un nuevo formato de archivo progresivo para la compresión de imágenes con pérdida y sin pérdida" (PDF) . Archivado desde el original (PDF) el 7 de marzo de 2007 . Consultado el 13 de marzo de 2014 .
  3. ^ "Descarga de PGF" . xeraina. 2013 . Consultado el 14 de marzo de 2014 .