96
правок
Изменения
Нет описания правки
=== Принципы работи алгоритма ===
Основная суть алгоритма заключается ето замена повторно вхождения строки ссылкою на предыдущую позицию вхождения.
Для етого используют скользящее окна.Метод кодирования согласно принципу скользящего окна учитывает уже ранее встречавшуюся информацию, то есть информацию, которая уже известна для кодировщика и декодировщика (второе и последующие вхождения некоторой строки символов в сообщении заменяются ссылками на ее первое вхождение).Скользящее окно можно представить в виде буфера (или более сложной динамической структуры данных), который организован так, чтобы запоминать «сказанную» ранее информацию и предоставлять к ней доступ.Таким образом, сам процесс сжимающего кодирования согласно LZ77 напоминает написание программы, команды которой позволяют обращаться к элементам «скользящего окна», и вместо значений сжимаемой последовательности вставлять ссылки на эти значения в «скользящем окне».Размер скользящего окна может динамически изменяться и составлять 2, 4 или 32 килобайта. Следует также отметить, что размер окна кодировщика может быть менее или равен размеру окна декодировщика, но не наоборот.
=== Принцип скользящего окна ===
Приведенное выше сравнение процесса кодирования с «программированием» может натолкнуть на преждевременный вывод о том, что алгоритм LZ77 относится к [[Методы сжатия с использованием контекстного моделирования|методам контекстного моделирования]]. Поэтому следует отметить, что алгоритм LZ77 принято классифицировать как метод [[Методы сжатия с использованием словаря|словарного сжатия]] данных, когда вместо понятия «скользящего окна» используется термин «динамического словаря».