Сжатие LZW

81Сжатие LZW обозначает «сжатие по методу Лемпела—Зива и Уэлча (Lempel— Zev and Welch)», создателей данного алгоритма. LZW — алгоритм сжатия данных без потерь, используемый в формате GIF, модемах, кодах PostScript и в TIFF. Сжатие LZW может работать почти с любым типом данных. Оно быстро сжимает и распаковывает данные. Другая характеристика LZW состоит в том, что оно сжимает данные, используя не слова, а байты. Это делает вывод сжатых с помощью LZW файлов идентичным для машин с прямым порядком следования байтов и для машин с обратным порядком следования байтов. Естественно, файл TIFF должен быть в формате для машин, совместимых с порядком следования байтов. LZW называют заместительным или алгоритмом кодирования или кодированием с использованием словаря. Алгоритм сжатия встраивает словарь всех данных в несжатое изображение. Характеристики данных идентифицируются и подбираются соответственно характеристикам, уже содержащимся в словаре данных. Если характеристики еще не представлены в словаре, алгоритм создает для них место в соответствии с информацией о данных. После идентификации данные записываются в сжатый выходной поток. Другими словами, для каждой фразы генерируется кодовое слово. Если данные в файле повторяются, алгоритм сжатия LZW просто повторит выходное значение. Поскольку выходное значение меньше начальной фразы, конечный файл также будет меньше оригинала.

Расшифровка сжатых при помощи алгоритма LZW файлов происходит противоположно кодированию. LZW имеет преимущество перед всеми алгоритмами сжатия с использованием словаря, поскольку ему не нужен для распаковывания оригинальный словарь данных. Это значит, что файл со всей информацией в виде фраз и генерированных кодов может быть извлечен из сжатого файла. Это может сэкономить огромное пространство. Алгоритм сжатия LZW может так работать, потому что все устройства кодирования и декодирования имеют один и тот же базовый словарь. Декодеру не нужен оригинальный словарь несжатого файла.

Добавить комментарий


Защитный код
Обновить

Комментарии

Реклама

Кто на сайте

Сейчас 30 гостей и ни одного зарегистрированного пользователя на сайте