Алгоритм LZM представляет собой комбинацию алгоритмов LZSS и RLE. 1 Он рассчитан на сжатие блоков информации длиной до 8 Кб и ориентирован на использование в драйверах устройств. 1
В сравнении с другими алгоритмами сжатия, LZM имеет свои особенности:
- Модель данных. 1 В отличие от алгоритма LZ77, в LZM для поиска повторяющихся подстрок сообщения используется хеш-таблица смещений строк относительно начала сжимаемого блока. 1 Размер таблицы — 4096 значений. 1 Индексом при входе в таблицу является 12-битовый хеш-код, получаемый по очередным трём символам сжимаемого сообщения. 1
- Преимущества перед LZSS. 1 LZM не пытается запоминать упорядоченное дерево подстрок сообщения, как LZSS, а только таблицу их хеш-кодов. 1 Это даёт LZM существенное преимущество по памяти и скорости. 1
- Уменьшение степени сжатия. 1 Для модели данных LZM все подстроки с одинаковым значением хеш-функции неразличимы, то есть модель сообщения LZM менее точна, чем у LZSS. 1 Это приводит к уменьшению степени сжатия. 1
Ещё один алгоритм сжатия — LZMA. 23 Он основан на использовании последовательных повторений данных для достижения высокой степени сжатия. 3 Основная идея алгоритма — построить и сохранить словарь, содержащий ранее встречавшиеся подстроки, которые затем заменяются ссылками в этом словаре. 3 Это позволяет значительно сократить объём данных, подлежащих хранению или передаче. 3