Метод сжатия с использованием словаря
Метод сжатия с использованием словаря — разбиение данных на слова и замена их на индексы в словаре. В настоящее время это наиболее распространенный подход для сжатия данных, он является естественным обобщением RLE.
В наиболее распространенном варианте реализации словарь постепенно пополняется словами из исходного блока данных в процессе сжатия.
Основной параметр любого словарного метода — это размер словаря. Чем больше словарь, тем выше эффективность. Однако для неоднородных данных чрезмерно большой размер может быть вреден, так как при резком изменении типа данных словарь будет заполнен неактуальными словами. Для эффективной работы этих методов при сжатии требуется дополнительная память — приблизительно на порядок больше, чем нужно для исходных данных словаря. Существенное преимущество словарных методов — простая и быстрая процедура распаковки. Дополнительная память при этом не требуется. Такая особенность крайне важна, если необходим оперативный доступ к данным.
К методам сжатия с использованием словаря относятся следующие алгоритмы: LZ77/78, LZW, LZO, Deflate, LZMA, LZX, ROLZ, LZ4, Zstd.