¿Cómo mejora BWT la compresión?

Un desarrollo muy prometedor en el campo de la compresión de datos sin pérdida es el Algoritmo de compresión de Burrows-Wheeler (BWCA), introducido en 1994 por Michael Burrows y David Wheeler. El algoritmo recibió una atención considerable debido a su velocidad de ejecución similar a Lempel-Ziv y su rendimiento de compresión cercano a los algoritmos PPM de última generación. Se basa en una permutación de la secuencia de entrada, la Transformación Burrows-Wheeler (BWT), también llamada Clasificación de bloques, que agrupa símbolos con un contexto similar. En la versión original, esta permutación fue seguida por una transformación de movimiento al frente (MTF) y una etapa final de codificación de entropía (EC). Las versiones posteriores utilizaron diferentes algoritmos que vienen después de la transformación de Burrows-Wheeler, ya que las etapas posteriores a la transformación de Burrows-Wheeler también tienen una influencia significativa en la tasa de compresión.

Los compresores universales como el LZ77 son asintóticamente óptimos. (LZ77 y LZ78 – Wikipedia), lo que significa que a medida que la longitud del texto, [math] n \ rightarrow \ infty, [/ math] la compresión se vuelve óptima. Sin embargo, en el peor de los casos, LZ77 / LZ78 tiene tasas de convergencia muy lentas, que es [matemáticas] O (\ frac {\ log \ log n} {\ log n}) [/ matemáticas]. Por lo tanto, en cierto sentido, BWT permuta los datos en un formato que tiene mejores asintóticos, sin embargo, aún no puede superar el límite fundamental de la entropía (como BWT es una transformación reversible, por lo tanto, la “información” sigue siendo la misma).

El segundo factor importante es que los datos generalmente comprimidos (como el texto en inglés) no corresponden a una distribución estacionaria. Por lo tanto, incluso si LZ77 es óptimo para fuentes estacionarias ( http://web.stanford.edu/class/ee …), BWT puede superar el rendimiento de LZ77 debido a la no estacionariedad.

Una cosa interesante a tener en cuenta es que la mayoría de las versiones BWT utilizadas en la práctica, de hecho, no han demostrado ser óptimas en general, y por lo tanto no son compresores universales como LZ77 / LZ78. Puedes leer más sobre lo mismo aquí: ( http://citeseerx.ist.psu.edu/vie …)