Методы оптимального кодирования. Сжатие данных.

Процедуру оптимального кодирования часто называют сжатием данных.

Таким образом задача сжатия данных есть минимизация технических затрат на хранение или передачу информации путем оптимального кодирования. На практике используют два вида сжатия (кодирования):

1.Сжатие без потерь - устранение избыточности информации, не связанное с ее изменением, принципиально существенным для пользователя.

2. Сжатие с потерями – устранение избыточности информации, которое приводит к безвозвратной потере некоторой доли информации, но это не является принципиальным для восстановления информации в интересах пользователя.

Сжатие без потерь наиболее применимо к числовым и текстовым данным. Применительно к вычислительной технике сжатие позволяет уменьшить количество бит, необходимых для хранения и передачи заданной информации, что дает возможность передавать сообщения более быстро и хранить более экономно. Программы-архиваторы различных форматов данных ZIP, ARJ и др. работают на принципах и методах сжатия данных.

Методы сжатия информации были разработаны как математическая теория, которая долгое время (до первой половины 80-х годов XX века) мало использовалась в компьютерной технике.

Методы (алгоритмы) сжатия данных без потерь можно разделить на:

1.Статистические методы или алгоритмы. Например, методы Шеннона - Фано, Хаффмана и др. Они базируются на априорной информации о статистике (вероятностях появления) букв алфавита. Это главный недостаток таких кодов, так как статистика символов заранее неизвестна и эффективному кодированию должен предшествовать частотный анализ (анализ частоты появления символов в сообщении).

2.Адаптивные методы. Например, модифицированное кодирование Хаффмана, арифметическое кодирование. Здесь распределение вероятностей символов вначале считается равномерным на заданном интервале, а потом оно меняется во времени по мере накопления статистики.

3.Динамические методы (алгоритмы). Они являются универсальными и не нуждаются в априорной статистике. Например, метод Лемпела-Зива. LZ77 …LZW.