stringtranslate.com

Compresión fractal

2 triángulos, ejemplo para mostrar cómo funciona la compresión fractal

La compresión fractal es un método de compresión con pérdida para imágenes digitales , basado en fractales . El método es más adecuado para texturas e imágenes naturales, basándose en el hecho de que partes de una imagen a menudo se parecen a otras partes de la misma imagen. [1] Los algoritmos fractales convierten estas partes en datos matemáticos llamados "códigos fractales" que se utilizan para recrear la imagen codificada.

Sistemas de funciones iteradas

La representación de imágenes fractales puede describirse matemáticamente como un sistema de funciones iteradas (SFI). [2]

Para imágenes binarias

Comenzamos con la representación de una imagen binaria , donde la imagen puede considerarse como un subconjunto de . Un SFI es un conjunto de aplicaciones de contracción ƒ 1 ,..., ƒ N ,

De acuerdo con estas funciones de mapeo, el SFI describe un conjunto bidimensional S como el punto fijo del operador de Hutchinson.

Es decir, H es un operador que mapea conjuntos a conjuntos, y S es el único conjunto que satisface H ( S ) = S . La idea es construir el SFI de modo que este conjunto S sea la imagen binaria de entrada. El conjunto S se puede recuperar del SFI mediante iteración de punto fijo : para cualquier conjunto inicial compacto no vacío A 0 , la iteración A k +1  = H ( A k ) converge a S .

El conjunto S es autosimilar porque H ( S ) = S implica que S es una unión de copias mapeadas de sí mismo:

Así que vemos que el IFS es una representación fractal de S.

Ampliación a escala de grises

La representación IFS se puede extender a una imagen en escala de grises considerando el gráfico de la imagen como un subconjunto de . Para una imagen en escala de grises u ( x , y ), considere el conjunto S = {( x , y , u ( x , y ))}. Entonces, de manera similar al caso binario, S se describe mediante un IFS utilizando un conjunto de aplicaciones de contracción ƒ 1 ,..., ƒ N , pero en ,

Codificación

Un problema desafiante de la investigación actual en la representación de imágenes fractales es cómo elegir ƒ 1 ,..., ƒ N de manera que su punto fijo se aproxime a la imagen de entrada, y cómo hacerlo de manera eficiente.

Un enfoque simple [2] para hacerlo es el siguiente sistema de funciones iteradas particionadas (PIFS):

  1. Particionar el dominio de la imagen en bloques de rango R i de tamaño s × s .
  2. Para cada R i , busque en la imagen un bloque D i de tamaño 2 s ×2 s que sea muy similar a R i .
  3. Seleccione las funciones de mapeo tales que H ( D i ) = R i para cada i .

En el segundo paso, es importante encontrar un bloque similar para que el IFS represente con precisión la imagen de entrada, por lo que se debe considerar una cantidad suficiente de bloques candidatos para D i . Por otro lado, una búsqueda grande que considere muchos bloques es computacionalmente costosa. Este cuello de botella en la búsqueda de bloques similares es la razón por la que la codificación fractal PIFS es mucho más lenta que, por ejemplo, la DCT y la representación de imágenes basada en wavelets .

El algoritmo inicial de partición cuadrada y búsqueda de fuerza bruta presentado por Jacquin proporciona un punto de partida para futuras investigaciones y extensiones en muchas direcciones posibles: diferentes formas de dividir la imagen en bloques de rango de varios tamaños y formas; técnicas rápidas para encontrar rápidamente un bloque de dominio lo suficientemente coincidente para cada bloque de rango en lugar de una búsqueda de fuerza bruta, como algoritmos de estimación de movimiento rápido ; diferentes formas de codificar la asignación del bloque de dominio al bloque de rango; etc. [3]

Otros investigadores intentan encontrar algoritmos para codificar automáticamente una imagen arbitraria como RIFS (sistemas de funciones iteradas recurrentes) o IFS global, en lugar de PIFS; y algoritmos para la compresión de video fractal que incluyan compensación de movimiento y sistemas de funciones iteradas tridimensionales. [4] [5]

La compresión de imágenes fractales tiene muchas similitudes con la compresión de imágenes por cuantificación vectorial . [6]

Características

Con la compresión fractal, la codificación es extremadamente costosa en términos computacionales debido a la búsqueda que se utiliza para encontrar las autosimilitudes. Sin embargo, la decodificación es bastante rápida. Si bien esta asimetría hasta ahora la ha hecho poco práctica para aplicaciones en tiempo real, cuando el video se archiva para su distribución desde el almacenamiento en disco o descargas de archivos, la compresión fractal se vuelve más competitiva. [7] [8]

En relaciones de compresión comunes, hasta aproximadamente 50:1, la compresión fractal proporciona resultados similares a los algoritmos basados ​​en DCT como JPEG . [9] En relaciones de compresión altas, la compresión fractal puede ofrecer una calidad superior. Para imágenes satelitales, se han logrado relaciones de más de 170:1 [10] con resultados aceptables. Se han logrado relaciones de compresión de video fractal de 25:1–244:1 en tiempos de compresión razonables (2,4 a 66 s/fotograma). [11]

La eficiencia de la compresión aumenta con una mayor complejidad de la imagen y profundidad del color, en comparación con las imágenes simples en escala de grises .

Independencia de la resolución y escala fractal

Una característica inherente de la compresión fractal es que las imágenes se vuelven independientes de la resolución [12] después de ser convertidas a código fractal. Esto se debe a que los sistemas de funciones iteradas en el archivo comprimido se escalan indefinidamente. Esta propiedad de escala indefinida de un fractal se conoce como "escalamiento fractal".

Interpolación fractal

La independencia de la resolución de una imagen codificada fractalmente se puede utilizar para aumentar la resolución de visualización de una imagen. Este proceso también se conoce como "interpolación fractal". En la interpolación fractal, una imagen se codifica en códigos fractales mediante compresión fractal y, posteriormente, se descomprime a una resolución más alta. El resultado es una imagen sobremuestreada en la que se han utilizado sistemas de funciones iteradas como interpolante . [13] La interpolación fractal mantiene muy bien los detalles geométricos en comparación con los métodos de interpolación tradicionales, como la interpolación bilineal y la interpolación bicúbica . [14] [15] [16] Sin embargo, dado que la interpolación no puede revertir la entropía de Shannon, termina agudizando la imagen al agregar detalles aleatorios en lugar de significativos. No se puede, por ejemplo, ampliar una imagen de una multitud donde la cara de cada persona tiene uno o dos píxeles y esperar identificarlos.

Historia

Michael Barnsley dirigió el desarrollo de la compresión fractal desde 1985 en el Instituto de Tecnología de Georgia (donde tanto Barnsley como Sloan eran profesores en el departamento de matemáticas). [17] El trabajo fue patrocinado por DARPA y la Corporación de Investigación de Georgia Tech . El proyecto resultó en varias patentes a partir de 1987. [18] El estudiante de posgrado de Barnsley, Arnaud Jacquin, implementó el primer algoritmo automático en software en 1992. [19] [20] Todos los métodos se basan en la transformación fractal utilizando sistemas de funciones iteradas . Michael Barnsley y Alan Sloan formaron Iterated Systems Inc. [21] en 1987, a la que se le concedieron más de 20 patentes adicionales relacionadas con la compresión fractal.

Un gran avance para Iterated Systems Inc. fue el proceso automático de transformación fractal, que eliminó la necesidad de intervención humana durante la compresión, como era el caso en los primeros experimentos con la tecnología de compresión fractal. En 1992, Iterated Systems Inc. recibió una subvención gubernamental de 2,1 millones de dólares [22] para desarrollar un prototipo de chip de almacenamiento y descompresión de imágenes digitales utilizando la tecnología de compresión de imágenes por transformación fractal.

La compresión de imágenes fractales se ha utilizado en diversas aplicaciones comerciales: onOne Software, desarrollado bajo licencia de Iterated Systems Inc., Genuine Fractals 5 [23], que es un complemento de Photoshop capaz de guardar archivos en formato FIF (Fractal Image Format) comprimido. Hasta la fecha, el uso más exitoso de la compresión de imágenes fractales lo ha hecho Microsoft en su enciclopedia multimedia Encarta [24] , también bajo licencia.

Iterated Systems Inc. suministró un codificador shareware (Fractal Imager), un decodificador independiente, un decodificador de complemento Netscape y un paquete de desarrollo para su uso en Windows. La redistribución de la "DLL descompresora" proporcionada por el SDK ColorBox III se regía por regímenes restrictivos de licencias por disco o por año para los vendedores de software propietario y por un esquema discrecional que implicaba la promoción de los productos de Iterated Systems para determinadas clases de otros usuarios. [25]

ClearVideo (también conocido como RealVideo (Fractal)) y SoftVideo fueron los primeros productos de compresión de vídeo fractal. ClearFusion fue el complemento de streaming de vídeo distribuido gratuitamente por Iterated para navegadores web. En 1994, Spectrum Holobyte licenció SoftVideo para su uso en sus juegos en CD-ROM, incluidos Falcon Gold y Star Trek: The Next Generation A Final Unity . [26]

En 1996, Iterated Systems Inc. anunció [27] una alianza con Mitsubishi Corporation para comercializar ClearVideo a sus clientes japoneses. El controlador del decodificador ClearVideo 1.2 original todavía es compatible [28] con Microsoft en Windows Media Player , aunque el codificador ya no es compatible.

Dos empresas, Total Multimedia Inc. y Dimension, afirman poseer o tener la licencia exclusiva de la tecnología de video de Iterated, pero ninguna ha lanzado aún un producto funcional. La base tecnológica parece ser las patentes estadounidenses 8639053 y 8351509 de Dimension, que han sido analizadas considerablemente. [29] En resumen, es un sistema simple de copia de bloques de árbol cuádruple sin la eficiencia de ancho de banda ni la calidad PSNR de los códecs tradicionales basados ​​en DCT. En enero de 2016, TMMI anunció que abandonaba por completo la tecnología basada en fractales.

Los artículos de investigación publicados entre 1997 y 2007 analizaron posibles soluciones para mejorar los algoritmos fractales y el hardware de codificación. [30] [31] [32] [33] [34] [35] [36] [37] [38]

Implementaciones

Ullrich Hafner creó una biblioteca llamada Fiasco . En 2001, Linux Journal se ocupó de Fiasco . [39] Según el manual de Fiasco de 2000-04, Fiasco se puede utilizar para la compresión de vídeo. [40] La biblioteca Netpbm incluye la biblioteca Fiasco . [41] [42]

Femtosoft desarrolló una implementación de compresión de imágenes fractales en Object Pascal y Java . [43]

Véase también

Notas

  1. ^ May, Mike (1996). "Compresión de imágenes fractales". American Scientist . 84 (5): 442–451. Código Bibliográfico :1996AmSci..84..442M. JSTOR  29775747. ProQuest  215266230.
  2. ^ ab Fischer, Yuval (1992-08-12). Przemyslaw Prusinkiewicz (ed.). Notas del curso SIGGRAPH'92 - Compresión de imágenes fractales (PDF) . SIGGRAPH. Vol. Fractales: del arte popular a la hiperrealidad. ACM SIGGRAPH . Archivado desde el original (PDF) el 2017-09-12 . Consultado el 2017-06-28 .
  3. ^ Saupe, Dietmar; Hamzaoui, Raouf (noviembre de 1994). "Una revisión de la literatura sobre compresión de imágenes fractales". ACM SIGGRAPH Computer Graphics . 28 (4): 268–276. doi :10.1145/193234.193246. S2CID  10489445.
  4. ^ Lacroix, Bruno (1999). Compresión de imágenes fractales (Tesis). doi : 10.22215/etd/1999-04159 . OCLC  1103597126. ProQuest  304520711.
  5. ^ Fisher, Yuval (2012). Compresión de imágenes fractales: teoría y aplicación. Springer Science & Business Media. pág. 300. ISBN 978-1-4612-2472-3.
  6. ^ Henry Xiao. "Compresión fractal". 2004.
  7. ^ John R. Jensen, "Libros de texto sobre teledetección", Alternativas de compresión de imágenes y consideraciones sobre el almacenamiento de medios (referencia al tiempo de compresión/descompresión) , Universidad de Carolina del Sur , archivado desde el original el 3 de marzo de 2008
  8. ^ Steve Heath (23 de agosto de 1999). Tecnología multimedia y de comunicaciones. Focal Press. pp. 120–123. ISBN 978-0-240-51529-8.Enlace de Focal Press
  9. ^ Sawood, Khalid (2006). Introducción a la compresión de datos . Elsevier. págs. 560–569. ISBN 978-0-12-620862-7.
  10. ^ Wee Meng Woon; Anthony Tung Shuen Ho; Tao Yu; Siu Chung Tam; Siong Chai Tan; Lian Teck Yap (2000). "Logro de una alta compresión de datos de imágenes satelitales autosimilares mediante fractales". IGARSS 2000. IEEE 2000 International Geoscience and Remote Sensing Symposium. Tomando el pulso al planeta: el papel de la teledetección en la gestión del medio ambiente. Actas (Cat. No.00CH37120). Vol. 2. págs. 609–611. doi :10.1109/IGARSS.2000.861646. ISBN 0-7803-6359-0.S2CID14516581  .​
  11. ^ Fisher, Y. (julio de 1995). Codificación fractal de secuencias de vídeo . Codificación y análisis de imágenes fractales. Trondheim. INIST 1572685. 
  12. ^ Walking, Talking Web Archivado el 6 de enero de 2008 en Wayback Machine Artículo de Byte Magazine sobre la independencia de la resolución/compresión fractal
  13. ^ He, Chuan-jiang; Li, Gao-ping; Shen, Xiao-na (mayo de 2007). "Método de decodificación por interpolación con parámetros variables para la compresión de imágenes fractales". Chaos, Solitons & Fractals . 32 (4): 1429–1439. Bibcode :2007CSF....32.1429H. doi :10.1016/j.chaos.2005.11.058.
  14. ^ Navascués, MA; Sebastián, MV (2006). "Interpolación fractal suave". Revista de desigualdades y aplicaciones . 2006 : 1–20. doi : 10.1155/JIA/2006/78734 . S2CID  20352406.
  15. ^ Uemura, Satoshi; Haseyama, Miki; Kitajima, Hideo (28 de enero de 2003). "EFIFを用いた自己アフィンフラクタル図形の拡大処理に関する考察" [Una nota sobre la técnica de expansión para objetos fractales autoafines que utilizan funciones de interpolación fractal extendidas]. Informe técnico de IEICE (en japonés). 102 (630): 95-100. doi :10.11485/itetr.27.9.0_95. NAID  110003171506.
  16. ^ Kuroda, Hideo; Hu, Xiaotong; Fujimura, Makoto (1 de febrero de 2003). "フラクタル画像符号化におけるスケーリングファクタに関する考察" [Estudios sobre el factor de escala para la codificación de imágenes fractales]. Las Transacciones del Instituto de Ingenieros en Electrónica, Información y Comunicaciones (en japonés). 86 (2): 359–363. NAID  110003170896.
  17. ^ Barnsley, Michael; Sloan, Alan (enero de 1988). "Una mejor manera de comprimir imágenes". Byte . págs. 215–223.
  18. ^ Patente estadounidense 4.941.193  : la primera patente de sistema de función iterada de Barnsley y Sloan , presentada en octubre de 1987
  19. ^ Uso de codificación fractal para indexar contenido de imágenes para una biblioteca digital Informe técnico
  20. ^ Jacquin, AE (1992). "Codificación de imágenes basada en una teoría fractal de transformaciones iterativas de imágenes contractivas". IEEE Transactions on Image Processing . 1 (1): 18–30. Bibcode :1992ITIP....1...18J. CiteSeerX 10.1.1.456.1530 . doi :10.1109/83.128028. PMID  18296137. 
  21. ^ Iterated Systems Inc. cambió su nombre a MediaBin Inc. Inc. en 2001 y a su vez fue comprada por Interwoven, Inc. en 2003)
  22. ^ NIST SP950-3, "Captura e integración de información sanitaria del paciente para mejorar la accesibilidad"; consulte la página 36, ​​"Tecnología basada en fractales MediaBin para comprimir archivos de imágenes digitales" Archivado el 23 de septiembre de 2015 en Wayback Machine.
  23. ^ Reseña del producto Genuine Fractals
  24. ^ "MAW 1998: Ensayo temático". www.mathaware.org . Archivado desde el original el 31 de agosto de 2016. Consultado el 18 de abril de 2018 .
  25. ^ Aitken, William (mayo de 1994). "La gran contracción". Personal Computer World .
  26. ^ Manual de 1994 que especifica en la página 11 SoftVideo bajo licencia de Spectrum Holobyte
  27. ^ "Mitsubishi Corporation firma un acuerdo con Iterated Systems" (Nota de prensa). Iterated Systems. 29 de octubre de 1996. Archivado desde el original el 8 de julio de 2012.
  28. ^ "Códecs compatibles con Windows Media Player para Windows XP". 31 de octubre de 2003. Archivado desde el original el 28 de octubre de 2004.
  29. ^ "Abril - 2014 - Estudio de diligencia debida de la tecnología de video fractal". paulschlessinger.wordpress.com . Consultado el 18 de abril de 2018 .
  30. ^ Kominek, John (1 de junio de 1997). "Avances en la compresión fractal para aplicaciones multimedia". Multimedia Systems . 5 (4): 255–270. CiteSeerX 10.1.1.47.3709 . doi :10.1007/s005300050059. S2CID  6016583. 
  31. ^ Harada, Masaki; Kimoto, Tadahiko; Fujii, Toshiaki; Tanimoto, Masayuki (2000). "Cálculo rápido de parámetros IFS para codificación de imágenes fractales". En Ngan, el rey N; Sikora, Thomas; Sol, Ming-Ting (eds.). Comunicaciones visuales y procesamiento de imágenes 2000 . vol. 4067, págs. 457–464. Código Bib : 2000SPIE.4067..457H. doi :10.1117/12.386580. S2CID  30148845. INIST 1380599. 
  32. ^ Rajkumar, Wathap Sapankumar; Kulkarni, MV; Dhore, ML; Mali, SN (2006). "Síntesis del rendimiento de compresión de imágenes fractales mediante particionamiento HV". Conferencia internacional de 2006 sobre informática y comunicaciones avanzadas . págs. 636–637. doi :10.1109/ADCOM.2006.4289976. ISBN . 978-1-4244-0715-6. Número de identificación del sujeto  15370862.
  33. ^ Circuitos, señales y sistemas de compresión de imágenes fractales rápidos y sencillos - 2003
  34. ^ Wu, Ming-Sheng; Jeng, Jyh-Horng; Hsieh, Jer-Guang (junio de 2007). "Algoritmo genético de esquema para compresión de imágenes fractales". Aplicaciones de ingeniería de la inteligencia artificial . 20 (4): 531–538. doi :10.1016/j.engappai.2006.08.005.
  35. ^ Wu, Xianwei; Jackson, David Jeff; Chen, Hui-Chuan (septiembre de 2005). "Un método rápido de codificación de imágenes fractales basado en la búsqueda inteligente de la desviación estándar". Computers & Electrical Engineering . 31 (6): 402–421. doi :10.1016/j.compeleceng.2005.02.003.
  36. ^ Wu, Xianwei; Jackson, David Jeff; Chen, Hui-Chuan (2005). "Nuevo algoritmo de codificación de imágenes fractales basado en un sistema de función iterada sin búsqueda de árbol binario completo". Ingeniería óptica . 44 (10): 107002. Bibcode :2005OptEn..44j7002W. doi :10.1117/1.2076828.
  37. ^ Truong, Trieu-Kien; Jeng, Jyh H. (2000). "Método de clasificación rápida para la compresión de imágenes fractales". En Schmalz, Mark S (ed.). Matemáticas y aplicaciones de codificación, compresión y cifrado de datos/imágenes III . Vol. 4122. págs. 190–193. Código Bibliográfico :2000SPIE.4122..190T. doi :10.1117/12.409247. S2CID  120032052.
  38. ^ Erra, Ugo (2005). "Hacia la compresión de imágenes fractales en tiempo real utilizando hardware gráfico". Avances en computación visual . Apuntes de clase en informática. Vol. 3804. págs. 723–728. doi :10.1007/11595755_92. hdl :11563/14075. ISBN 978-3-540-30750-1.
  39. ^ Hafner, Ullrich (2001). "FIASCO - Un códec de secuencia e imagen fractal de código abierto". Linux Journal (81) . Consultado el 19 de febrero de 2013 .
  40. ^ "Página de manual de fiasco". castor.am.gdynia.pl . Archivado desde el original el 9 de marzo de 2012 . Consultado el 18 de abril de 2018 .
  41. ^ "Manual del usuario de Pnmtofiasco". netpbm.sourceforge.net . Consultado el 18 de abril de 2018 .
  42. ^ "Manual del usuario de Fiascotopnm". netpbm.sourceforge.net . Consultado el 18 de abril de 2018 .
  43. ^ "Femtosoft Technologies - Software de imágenes fractales". Archivado desde el original el 23 de octubre de 2010. Consultado el 10 de julio de 2010 .

Enlaces externos