stringtranslate.com

Compresión de imagen

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 las imágenes para proporcionar resultados superiores en comparación con los métodos de compresión de datos genéricos 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érdida

La compresión de imágenes puede ser con pérdida o sin pérdida . La compresión sin pérdida se prefiere 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 bajas tasas de bits , introducen artefactos de compresión . Los métodos con pérdida son especialmente adecuados para imágenes naturales, como fotografías, en aplicaciones en las que es aceptable una pérdida de fidelidad menor (a veces imperceptible) para lograr una reducción sustancial en la tasa de bits. La compresión con pérdida que produce diferencias insignificantes puede denominarse compresión sin pérdida visual.

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

Métodos para compresión sin pérdida :

Otras propiedades

La mejor calidad de imagen a una tasa de compresión determinada (o tasa de bits ) 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 calidad lograda mediante la manipulación del flujo de bits o 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 códecs sin pérdida, generalmente en forma de escaneos de píxeles gruesos a finos. La escalabilidad es especialmente útil para obtener una vista previa de las imágenes mientras se descargan (por ejemplo, en un navegador web) o para proporcionar acceso de calidad variable a, por ejemplo, bases de datos. Existen varios tipos de escalabilidad:

Codificación de la región de interés . Algunas partes de la imagen se codifican con mayor calidad que otras. Esto se puede combinar con la escalabilidad (codificar estas partes primero y otras después).

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

Potencia de procesamiento . Los algoritmos de compresión requieren distintas 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 se mide a menudo por la relación señal-ruido máxima . Mide la cantidad de ruido introducido a través de una compresión con pérdida de la imagen, sin embargo, el juicio subjetivo del espectador también se considera una medida importante, siendo quizás la medida más importante.

Historia

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

Un desarrollo 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 parte responsable de la amplia proliferación de imágenes digitales 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érdida 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érdida 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 (posteriormente 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 Le Gall–Tabatabai (LGT) 5/3 [20] [21] (desarrollada por Didier Le Gall y Ali J. Tabatabai en 1988) [22] para su algoritmo de compresión sin pérdida. [19] La tecnología JPEG 2000 , que incluye la extensión Motion JPEG 2000 , fue seleccionada como el estándar de codificación de vídeo para el cine digital en 2004. [23]

Codificación de Huffman

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

Principio de codificación de 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 su frecuencia de aparición. El principio básico es asignar códigos más cortos a los símbolos que aparecen con mayor frecuencia y códigos más largos a los símbolos menos frecuentes, reduciendo así la longitud media del código en comparación con los códigos de longitud fija.

Aplicación en la compresión de imágenes

En la compresión de imágenes, la codificación de Huffman se aplica normalmente después de otras transformaciones, como la transformada discreta del coseno (DCT) en el caso de la compresión JPEG. Después de transformar los datos de la imagen en una representación del dominio de 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. Construcción del árbol de Huffman: Construya un árbol de Huffman basado en las frecuencias de los símbolos. El árbol se construye de forma recursiva combinando los nodos con las frecuencias más bajas hasta que se forme un único nodo raíz.
  3. Asignación de palabras clave: recorra el árbol de Huffman para asignar palabras clave de longitud variable a cada símbolo, y asigne palabras clave más cortas a los símbolos más frecuentes.
  4. Codificación: reemplace los símbolos originales en los datos de la imagen con sus palabras de código Huffman correspondientes para generar el flujo de datos comprimido.

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

Conclusión

La codificación de Huffman desempeña un papel crucial en la compresión de imágenes, ya que codifica de manera eficiente los datos de las imágenes en una representación compacta. Su capacidad para asignar de manera adaptativa palabras de código de longitud variable en función de las frecuencias de los símbolos la convierte en un componente esencial de las técnicas modernas de compresión de imágenes, ya que contribuye a reducir el 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 imagen".
  2. ^ Ahmed, N.; Natarajan, T.; Rao, KR (1974). "Transformada discreta del coseno" (PDF) . IEEE Transactions on Computers : 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. ^ Bühlmann, Matthias (28 de septiembre de 2022). "Compresión de imágenes basada en difusión estable". Medium . Consultado el 2 de noviembre de 2022 .
  5. ^ "Compresión de imágenes generativas de alta fidelidad" . Consultado el 6 de abril de 2023 .
  6. ^ Burt, P.; Adelson, E. (1 de abril de 1983). "La pirámide laplaciana como código de imagen compacto". IEEE Transactions on Communications . 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) . Bell System Technical Journal . 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 del IRE , vol. 40, núm. 9, págs. 1098-1101, doi :10.1109/JRPROC.1952.273898, archivado (PDF) desde el original el 2005-10-08
  10. ^ Pratt, WK; Kane, J.; Andrews, HC (1969). "Codificación de imágenes por transformada 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 discreta del coseno". Procesamiento de señales digitales . 1 (1): 4–5. Bibcode :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 TONO CONTINUO – REQUISITOS Y DIRECTRICES" (PDF) . CCITT . Septiembre de 1992. Archivado (PDF) desde el original el 2000-08-18 . Consultado el 12 de julio de 2019 .
  13. ^ "Explicación del formato de imagen JPEG". BT.com . BT Group . 31 de mayo de 2018 . Consultado el 5 de agosto de 2019 .
  14. ^ "¿Qué es un JPEG? El objeto invisible que vemos todos los días". The Atlantic . 24 de septiembre de 2013 . Consultado el 13 de septiembre de 2019 .
  15. ^ Baraniuk, Chris (15 de octubre de 2015). "Las protecciones anticopia podrían llegar a los archivos JPEG". BBC News . BBC . Consultado el 13 de septiembre de 2019 .
  16. ^ "La controversia 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 Compressed Data Format Specification versión 1.3. IETF . pág. 1. seg. Resumen. doi : 10.17487/RFC1951 . RFC 1951 . Consultado el 23 de abril de 2014 .
  18. ^ Taubman, David; Marcellin, Michael (2012). Fundamentos, estándares y prácticas de compresión de imágenes JPEG2000: Fundamentos, estándares y prácticas de compresión de imágenes. Springer Science & Business Media . ISBN 9781461507994.
  19. ^ ab Unser, M.; Blu, T. (2003). "Propiedades matemáticas de los filtros wavelet JPEG2000" (PDF) . IEEE Transactions on Image Processing . 12 (9): 1080–1090. Bibcode :2003ITIP...12.1080U. doi :10.1109/TIP.2003.812329. PMID  18237979. S2CID  2765169. Archivado desde el original (PDF) el 2019-10-13.
  20. ^ Sullivan, Gary (8–12 de diciembre de 2003). «Características generales y consideraciones de diseño para la codificación de vídeo en subbandas temporales». 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 video. Academic Press . p. 355. ISBN 9780080922508.
  22. ^ Le Gall, Didier; Tabatabai, Ali J. (1988). "Codificación de subbandas de imágenes digitales utilizando filtros de núcleo corto simétricos y técnicas de codificación aritmética". ICASSP-88., Conferencia internacional sobre acústica, habla y procesamiento de señales . pp. 761–764 vol.2. doi :10.1109/ICASSP.1988.196696. S2CID  109186495.
  23. ^ Swartz, Charles S. (2005). Entender el cine digital: un manual profesional. Taylor & Francis . p. 147. ISBN 9780240806174.