|
|
|
Все материалы, находящиеся в этом разделе, являются переводами документов с сайта http://www.prepressure.com.
Flate сжатие Алгоритм сжатия без потерь deflate базируется на двух других алгоритмах компрессии: сжатие Хаффмана и LZ77 сжатие. Если вы понимаете эти два алгоритма, то поймете и как работает алгоритм deflate.
Как работает алгоритм Flate
Deflate - современный алгоритм, который подбирает метод сжатия в зависимости от содержимого файла. Есть три режима работы компрессора:
- Без сжатия. Это отличный выбор для, например, данных, которые уже были сжаты. Данные, хранящиеся в этом режиме, декомпрессируются очень быстро, но не так быстро, как возможно, потому что для декомпрессирования уже сжатых данных будет использоваться другой декомпрессор.
- Сжатие, сначала по LZ77 и затем по модифицированной версии сжатия Хаффмана. Кодовые последовательности, используемые в этом режиме, определены в спецификации Deflate, и не требуется место для их хранения.
- Сжатие, сначала по LZ77 и затем по модифицированной версии сжатия Хаффмана с кодовыми последовательностями, которые создает компрессор и хранит вместе с данными.
Данные разбиваются на "блоки," и каждый блок использует свой режим компрессии. Если компрессор переключается из одного режима в другой, он закрывает текущий блок и открывает другой.
Применение компрессии Flate/deflate
Единственное препресс-приложение, использующее этот алгоритм - Adobe Acrobat. Сжатие Flate - стандартная функция формата PDF, с которым работает Acrobat.
|
|