Разработчик(и) | Маркус FXJ Оберхумер |
---|---|
Первоначальный выпуск | 20 мая 1996 г. ( 1996-05-20 ) |
Стабильный релиз | 2.10 / 1 марта 2017 г. ( 2017-03-01 ) |
Операционная система | Кроссплатформенный |
Тип | сжатие данных |
Лицензия | GPLv2 или коммерческая |
Веб-сайт | www.oberhumer.com/opensource/lzo/ |
Лемпеля–Зива–Оберхумера ( LZO ) — это алгоритм сжатия данных без потерь , ориентированный на скорость распаковки. [1]
Оригинальная реализация "lzop", выпущенная в 1996 году, была разработана Маркусом Францем Ксавьером Йоханнесом Оберхьюмером на основе более ранних алгоритмов Авраама Лемпела и Якоба Зива . Библиотека LZO реализует ряд алгоритмов со следующими характеристиками:
LZO поддерживает перекрывающееся сжатие и распаковку на месте. Как алгоритм блочного сжатия, он сжимает и распаковывает блоки данных. Размер блока должен быть одинаковым для сжатия и распаковки. LZO сжимает блок данных в соответствия (скользящий словарь) и ряды несовпадающих литералов для получения хороших результатов на сильно избыточных данных и приемлемо работает с несжимаемыми данными, расширяя несжимаемые данные максимум на 1/64 от исходного размера при измерении по размеру блока не менее 1 Кбайт. [2]
Эталонная реализация написана на языке ANSI C и распространяется как свободное программное обеспечение по лицензии GNU General Public License . Авторские права на код принадлежат Markus FXJ Oberhumer. Первоначально он был опубликован в 1996 году. Oberhumer также написал интерфейс командной строки под названием lzop .
Версии LZO доступны для языков Perl , Python и Java . Сообщается, что различные реализации LZO работают под AIX , Atari TOS (Atari ST), ConvexOS, IRIX , Linux , Mac OS , Nintendo 64 , Palm OS , PlayStation , Solaris , SunOS , VxWorks , Wii и Win32 .
Библиотека libavutil FFmpeg включает собственную реализацию LZO [3] как возможный метод сжатия видео без потерь. Реализация декомпрессора FFmpeg также используется в OpenConnect для поддержки пакетов ESP, сжатых LZO, отправляемых VPN-серверами Juniper Networks и Pulse Secure . [4]
Ядро Linux использует реализацию LZO в некоторых своих функциях:
LZO-RLE
методом сжатия по умолчанию для сжатия RAM-диска .Знаете ли вы формат сжатия LZO?
В этом документе описывается, какой входной формат понимает декомпрессор LZO, реализованный в ядре Linux.