Lempel – Ziv – Oberhumer


Lempel – Ziv – Oberhumer ( LZO ) es un algoritmo de compresión de datos sin pérdidas que se centra en la velocidad de descompresión. [1]

La implementación original de "lzop", lanzada en 1996, fue desarrollada por Markus Franz Xaver Johannes Oberhumer, basándose en algoritmos anteriores de Abraham Lempel y Jacob Ziv . La biblioteca LZO implementa una serie de algoritmos con las siguientes características: [1]

LZO admite compresión superpuesta y descompresión in situ. Como algoritmo de compresión de bloques, comprime y descomprime bloques de datos. El tamaño del bloque debe ser el mismo para compresión y descompresión. LZO comprime un bloque de datos en coincidencias (un diccionario deslizante) y ejecuta literales que no coinciden para producir buenos resultados en datos altamente redundantes y trata de manera aceptable los datos no comprimibles, expandiendo solo los datos incompresibles en un máximo de 1/64 de la tamaño original cuando se mide sobre un tamaño de bloque de al menos 1 kB.

La implementación de referencia está escrita en ANSI C y está disponible como software libre bajo la Licencia Pública General GNU . Los derechos de autor del código son propiedad de Markus FXJ Oberhumer. Se publicó originalmente en 1996. Oberhumer también ha escrito una interfaz de línea de comandos llamada lzop .

Hay versiones de LZO disponibles para los lenguajes Perl , Python y Java . Se informa que varias implementaciones de LZO funcionan bajo Win32 , AIX , ConvexOS, IRIX , Mac OS , Palm OS , PlayStation , Nintendo 64 , Wii , Solaris , SunOS , TOS (Atari ST), Linux y VxWorks .