stringtranslate.com

Compresión de imágenes

La compresión de imágenes es un tipo de compresión de datos que se aplica a las imágenes digitales , para reducir su costo de almacenamiento o transmisión . Los algoritmos pueden aprovechar la percepción visual y las propiedades estadísticas de los datos de imágenes para proporcionar resultados superiores en comparación con los métodos genéricos de compresión de datos que se utilizan para otros datos digitales. [1]

Comparación de imágenes JPEG guardadas con Adobe Photoshop en diferentes niveles de calidad y con o sin "guardar para web"

Compresión de imágenes con y sin pérdidas

La compresión de imágenes puede ser con o sin pérdidas . Se prefiere la compresión sin pérdidas para fines de archivo y, a menudo, para imágenes médicas, dibujos técnicos, imágenes prediseñadas o cómics. Los métodos de compresión con pérdida, especialmente cuando se utilizan a velocidades de bits bajas , introducen artefactos de compresión . Los métodos con pérdida son especialmente adecuados para imágenes naturales, como fotografías, en aplicaciones donde es aceptable una pérdida mínima (a veces imperceptible) de fidelidad para lograr una reducción sustancial en la velocidad de bits. La compresión con pérdida que produce diferencias insignificantes puede denominarse visualmente sin pérdida.

Métodos de compresión con pérdida :

Métodos de compresión sin pérdidas :

Otras propiedades

La mejor calidad de imagen a una tasa de compresión (o tasa de bits ) determinada es el objetivo principal de la compresión de imágenes; sin embargo, existen otras propiedades importantes de los esquemas de compresión de imágenes:

La escalabilidad generalmente se refiere a una reducción de la calidad lograda mediante la manipulación del flujo de bits o del archivo (sin descompresión ni recompresión). Otros nombres para la escalabilidad son codificación progresiva o flujos de bits integrados . A pesar de su naturaleza contraria, la escalabilidad también se puede encontrar en los códecs sin pérdidas, generalmente en forma de escaneos de píxeles de grueso a fino. La escalabilidad es especialmente útil para previsualizar imágenes mientras se descargan (por ejemplo, en un navegador web) o para proporcionar acceso de calidad variable a, por ejemplo, bases de datos. Hay varios tipos de escalabilidad:

Codificación de región de interés . Ciertas partes de la imagen están codificadas con mayor calidad que otras. Esto se puede combinar con escalabilidad (codificar estas partes primero, otras después).

Metainformación . Los datos comprimidos pueden contener información sobre la imagen que puede usarse para categorizar, buscar o explorar imágenes. Dicha información puede incluir estadísticas de color y textura, pequeñas imágenes de vista previa e información del autor o de derechos de autor.

Poder de procesamiento . Los algoritmos de compresión requieren diferentes cantidades de potencia de procesamiento para codificar y decodificar. Algunos algoritmos de alta compresión requieren una gran potencia de procesamiento.

La calidad de un método de compresión a menudo se mide por la relación señal-ruido máxima . Mide la cantidad de ruido introducido a través de una compresión con pérdidas de la imagen; sin embargo, el juicio subjetivo del espectador también se considera una medida importante, siendo quizás la más importante.

Historia

La codificación de entropía comenzó a finales de la década de 1940 con la introducción de la codificación de Shannon-Fano , [8] la base de la codificación de Huffman que se publicó en 1952. [9] La codificación por transformada se remonta a finales de la década de 1960, con la introducción de la transformada rápida de Fourier ( FFT) en 1968 y la transformada de Hadamard en 1969. [10]

Un avance importante en la compresión de datos de imágenes fue la transformada de coseno discreta (DCT), una técnica de compresión con pérdida propuesta por primera vez por Nasir Ahmed , T. Natarajan y KR Rao en 1973. [11] JPEG fue introducido por el Joint Photographic Experts Group (JPEG) en 1992. [12] JPEG comprime imágenes a tamaños de archivo mucho más pequeños y se ha convertido en el formato de archivo de imagen más utilizado . [13] JPEG fue en gran medida responsable de la amplia proliferación de imágenes y fotografías digitales , [14] con varios miles de millones de imágenes JPEG producidas todos los días a partir de 2015. [15]

Lempel–Ziv–Welch (LZW) es un algoritmo de compresión sin pérdidas desarrollado por Abraham Lempel , Jacob Ziv y Terry Welch en 1984. Se utiliza en el formato GIF , introducido en 1987. [16] DEFLATE , un algoritmo de compresión sin pérdidas desarrollado por Phil Katz y especificado en 1996, se utiliza en el formato Portable Network Graphics (PNG). [17]

El estándar JPEG 2000 fue desarrollado entre 1997 y 2000 por un comité JPEG presidido por Touradj Ebrahimi (más tarde presidente de JPEG). [18] A diferencia del algoritmo DCT utilizado por el formato JPEG original, JPEG 2000 utiliza algoritmos de transformada wavelet discreta (DWT). Utiliza la transformada wavelet CDF 9/7 (desarrollada por Ingrid Daubechies en 1992) para su algoritmo de compresión con pérdida, [19] y la transformada wavelet 5/3 de Le Gall-Tabatabai (LGT) [20] [21] (desarrollada por Didier Le Gall y Ali J. Tabatabai en 1988) [22] por su algoritmo de compresión sin pérdidas. [19] La tecnología JPEG 2000 , que incluye la extensión Motion JPEG 2000 , fue seleccionada como estándar de codificación de vídeo para cine digital en 2004. [23]

Codificación Huffman

La codificación de Huffman es una técnica fundamental utilizada en los algoritmos de compresión de imágenes para lograr una representación de datos eficiente. Este método, que lleva el nombre de su inventor David A. Huffman, se emplea ampliamente en varios estándares de compresión de imágenes, como JPEG y PNG.

Principio de la codificación Huffman

La codificación de Huffman es una forma de codificación de entropía que asigna códigos de longitud variable a los símbolos de entrada en función de sus frecuencias de aparición. El principio básico es asignar códigos más cortos a símbolos que aparecen con más frecuencia y códigos más largos a símbolos menos frecuentes, reduciendo así la longitud promedio del código en comparación con los códigos de longitud fija.

Aplicación en compresión de imágenes

En la compresión de imágenes, la codificación de Huffman normalmente se aplica después de otras transformaciones como la Transformada de Coseno Discreto (DCT) en el caso de la compresión JPEG. Después de transformar los datos de la imagen en una representación en el dominio de la frecuencia, se utiliza la codificación de Huffman para codificar los coeficientes transformados de manera eficiente.

Pasos en la codificación Huffman para la compresión de imágenes

  1. Análisis de frecuencia: calcule la frecuencia de aparición de cada símbolo o combinación de símbolos en los datos de la imagen transformada.
  2. Construyendo el árbol de Huffman: Construya un árbol de Huffman basado en las frecuencias de los símbolos. El árbol se construye recursivamente combinando los nodos con las frecuencias más bajas hasta que se forma un único nodo raíz.
  3. Asignación de palabras en clave: recorra el árbol de Huffman para asignar palabras en clave de longitud variable a cada símbolo, con palabras en clave más cortas asignadas a los símbolos más frecuentes.
  4. Codificación: reemplace los símbolos originales en los datos de la imagen con sus correspondientes palabras en clave de Huffman para generar el flujo de datos comprimidos.

Beneficios de la codificación Huffman en la compresión de imágenes

Conclusión

La codificación de Huffman juega un papel crucial en la compresión de imágenes al codificar de manera eficiente los datos de la imagen en una representación compacta. Su capacidad para asignar de forma adaptativa palabras de código de longitud variable basadas en frecuencias de símbolos lo convierte en un componente esencial en las técnicas modernas de compresión de imágenes, contribuyendo a la reducción del espacio de almacenamiento y el ancho de banda de transmisión manteniendo al mismo tiempo la calidad de la imagen.

Notas y referencias

  1. ^ "Compresión de datos de imágenes".
  2. ^ Ahmed, N.; Natarajan, T.; Rao, KR (1974). "Transformada de coseno discreto" (PDF) . Transacciones IEEE en computadoras : 90–93. doi :10.1109/TC.1974.223784. S2CID  149806273. Archivado desde el original (PDF) el 25 de noviembre de 2011.
  3. ^ Gilad David Maayan (24 de noviembre de 2021). "Compresión de imágenes basada en IA: lo último en tecnología". Hacia la ciencia de datos . Consultado el 6 de abril de 2023 .
  4. ^ "Compresión de imágenes generativas de alta fidelidad" . Consultado el 6 de abril de 2023 .
  5. ^ Bühlmann, Matthias (28 de septiembre de 2022). "Compresión de imágenes basada en difusión estable". Medio . Consultado el 2 de noviembre de 2022 .
  6. ^ Burt, P.; Adelson, E. (1 de abril de 1983). "La pirámide laplaciana como código de imagen compacto". Transacciones IEEE sobre Comunicaciones . 31 (4): 532–540. CiteSeerX 10.1.1.54.299 . doi :10.1109/TCOM.1983.1095851. S2CID  8018433. 
  7. ^ Shao, Dan; Kropatsch, Walter G. (3 al 5 de febrero de 2010). Spaček, Libor; Franco, Vojtěch (eds.). "Pirámide gráfica laplaciana irregular" (PDF) . Taller de invierno de visión por computadora 2010 . Nové Hrady, República Checa: Sociedad Checa de Reconocimiento de Patrones. Archivado (PDF) desde el original el 27 de mayo de 2013.
  8. ^ Claude Elwood Shannon (1948). Alcatel-Lucent (ed.). "Una teoría matemática de la comunicación" (PDF) . Revista técnica del sistema Bell . 27 (3–4): 379–423, 623–656. doi :10.1002/j.1538-7305.1948.tb01338.x. hdl : 11858/00-001M-0000-002C-4314-2 . Archivado (PDF) desde el original el 24 de mayo de 2011 . Consultado el 21 de abril de 2019 .
  9. ^ David Albert Huffman (septiembre de 1952), "Un método para la construcción de códigos de redundancia mínima" (PDF) , Actas de la IRE , vol. 40, núm. 9, págs. 1098–1101, doi :10.1109/JRPROC.1952.273898, archivado (PDF) desde el original el 8 de octubre de 2005
  10. ^ Pratt, WK; Kane, J.; Andrews, HC (1969). "Codificación de imágenes transformadas de Hadamard". Actas del IEEE . 57 : 58–68. doi :10.1109/PROC.1969.6869.
  11. ^ Ahmed, Nasir (enero de 1991). "Cómo se me ocurrió la transformada del coseno discreto". Procesamiento de señales digitales . 1 (1): 4–5. Código Bib : 1991DSP....1....4A. doi :10.1016/1051-2004(91)90086-Z.
  12. ^ "T.81 - COMPRESIÓN DIGITAL Y CODIFICACIÓN DE IMÁGENES FIJAS DE TONOS CONTINUOS - REQUISITOS Y DIRECTRICES" (PDF) . CCITT . Septiembre de 1992. Archivado (PDF) desde el original el 18 de agosto de 2000 . Consultado el 12 de julio de 2019 .
  13. ^ "Explicación del formato de imagen JPEG". BT.com . Grupo BT . 31 de mayo de 2018 . Consultado el 5 de agosto de 2019 .
  14. ^ "¿Qué es un JPEG? El objeto invisible que ves todos los días". El Atlántico . 24 de septiembre de 2013 . Consultado el 13 de septiembre de 2019 .
  15. ^ Baraniuk, Chris (15 de octubre de 2015). "Las protecciones contra copia podrían llegar a los archivos JPEG". Noticias de la BBC . BBC . Consultado el 13 de septiembre de 2019 .
  16. ^ "La controversia de los GIF: la perspectiva de un desarrollador de software". 27 de enero de 1995 . Consultado el 26 de mayo de 2015 .
  17. ^ L. Peter Deutsch (mayo de 1996). DEFLATE Especificación de formato de datos comprimidos versión 1.3. IETF . pag. 1. seg. Abstracto. doi : 10.17487/RFC1951 . RFC 1951 . Consultado el 23 de abril de 2014 .
  18. ^ Taubman, David; Marcelino, Miguel (2012). Fundamentos, estándares y práctica de la compresión de imágenes JPEG2000: Fundamentos, estándares y práctica de la compresión de imágenes. Medios de ciencia y negocios de Springer . ISBN 9781461507994.
  19. ^ ab Unser, M.; Blu, T. (2003). "Propiedades matemáticas de los filtros wavelet JPEG2000" (PDF) . Transacciones IEEE sobre procesamiento de imágenes . 12 (9): 1080-1090. Código Bib : 2003ITIP...12.1080U. doi :10.1109/TIP.2003.812329. PMID  18237979. S2CID  2765169. Archivado desde el original (PDF) el 13 de octubre de 2019.
  20. ^ Sullivan, Gary (8 a 12 de diciembre de 2003). "Características generales y consideraciones de diseño para la codificación de vídeo de subbanda temporal". UIT-T . Grupo de expertos en codificación de vídeo . Consultado el 13 de septiembre de 2019 .
  21. ^ Bovik, Alan C. (2009). La guía esencial para el procesamiento de vídeos. Prensa académica . pag. 355.ISBN 9780080922508.
  22. ^ Le Gall, Didier; Tabatabai, Ali J. (1988). "Codificación de subbanda de imágenes digitales mediante filtros de núcleo cortos simétricos y técnicas de codificación aritmética". ICASSP-88., Conferencia Internacional sobre Acústica, Habla y Procesamiento de Señales . págs. 761–764 vol.2. doi :10.1109/ICASSP.1988.196696. S2CID  109186495.
  23. ^ Swartz, Charles S. (2005). Comprensión del cine digital: un manual profesional. Taylor y Francisco . pag. 147.ISBN 9780240806174.