través tipos que procesos perdida otros los integrados imagenes grupos funciona ejemplos ejemplo dividen datos compresión compresion codificación archivo algoritmos algoritmo compression lossless-compression text-compression

compression - tipos - la compresión de un archivo funciona a través de



¿Cuál es el estado actual de los algoritmos de compresión solo de texto? (3)

En honor al Premio Hutter , ¿cuáles son los algoritmos principales (y una descripción rápida de cada uno) para la compresión de texto?

Nota: El objetivo de esta pregunta es obtener una descripción de los algoritmos de compresión, no de los programas de compresión.


Siempre hay lzip .

Bromas aparte:

  • Donde la compatibilidad es una preocupación, PKZIP (algoritmo DEFLATE ) aún gana.
  • bzip2 es el mejor compromiso entre disfrutar de una base de instalación relativamente amplia y una relación de compresión bastante buena, pero requiere un archivador por separado.
  • 7-Zip (algoritmo LZMA ) se comprime muy bien y está disponible bajo LGPL. Sin embargo, pocos sistemas operativos se entregan con soporte incorporado.
  • rzip es una variante de bzip2 que, en mi opinión, merece más atención. Podría ser particularmente interesante para archivos de registro grandes que necesitan archivar a largo plazo. También requiere un archivador por separado.

Los compresores de empuje de límite combinan algoritmos para resultados insanos. Algoritmos comunes incluyen:

  • La transformación Burrows-Wheeler y aquí - mezcla los caracteres (u otros bloques de bits) con un algoritmo predecible para aumentar los bloques repetidos, lo que hace que la fuente sea más fácil de comprimir. La descompresión ocurre normalmente y el resultado no se baraja con la transformación inversa. Nota: BWT solo en realidad no comprime nada. Simplemente hace que la fuente sea más fácil de comprimir.
  • Predicción por coincidencia parcial (PPM) : una evolución de la codificación aritmética en la que el modelo de predicción (contexto) se crea crujiendo las estadísticas sobre la fuente frente a las probabilidades estáticas. A pesar de que sus raíces están en la codificación aritmética, el resultado se puede representar con la codificación de Huffman o un diccionario, así como la codificación aritmética.
  • Mezcla de contexto: la codificación aritmética usa un contexto estático para la predicción, PPM elige dinámicamente un contexto único, la combinación de contexto usa muchos contextos y evalúa sus resultados. PAQ usa la mezcla de contexto. Aquí hay una descripción general de alto nivel.
  • Compresión dinámica de Markov : relacionada con PPM, pero utiliza contextos de nivel de bit frente a byte o más.
  • Además, los concursantes del premio Hutter pueden reemplazar el texto común con entradas de bytes pequeños de diccionarios externos y diferenciar el texto en mayúscula y minúscula con un símbolo especial en lugar de usar dos entradas distintas. Es por eso que son tan buenos para comprimir texto (especialmente texto ASCII) y no tan valiosos para la compresión general.

Maximum Compression es un sitio de referencia de compresión general y de texto bastante atractivo. Matt Mahoney publica otro punto de referencia . Mahoney''s puede ser de particular interés porque enumera el algoritmo principal utilizado por entrada.


Si desea utilizar PAQ como programa, puede instalar el paquete zpaq en sistemas basados ​​en Debian. El uso es (ver también man zpaq )

zpaq c archivename.zpaq file1 file2 file3

La compresión era aproximadamente 1/10 del tamaño del archivo zip . (1.9M vs 15M)