WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Deflate — это алгоритм сжатия без потерь, использующий комбинацию алгоритмов LZ77 и Хаффмана. Изначально был описан Филом Кацем для второй версии его архиватора PKZIP, который впоследствии был определён в RFC 1951 (1996 год).

Deflate считается свободным от всех существующих патентов, и пока оставался в силе патент на LZW (он применяется в формате GIF), это привело к использованию Deflate не только в формате ZIP, для которого Кац изначально его спроектировал, но также в компрессоре/декомпрессоре gzip и в PNG-изображениях.

Формат потока данных

Deflate-поток содержит серии блоков. Перед каждым блоком находится трёхбитовый заголовок:

  • Один бит: флаг последнего блока.
  • 1: блок последний.
  • 0: блок не последний.
  • Два бита: метод, с помощью которого были закодированы данные.
  • 00: данные не закодированы (в блоке находятся непосредственно выходные данные).
  • 01: данные закодированы по методу статического Хаффмана.
  • 10: данные закодированы по методу динамического Хаффмана.
  • 11: зарезервированное значение (ошибка).

Большая часть блоков кодируется с помощью метода 10 (динамический Хаффман), который предоставляет оптимизированное дерево кодов Хаффмана для каждого нового блока. Инструкции для создания дерева кодов Хаффмана следуют непосредственно за заголовком блока.

Компрессия выполняется в два этапа:

  • замена повторяющихся строк указателями (алгоритм LZ77);
  • замена символов новыми символами, основываясь на частоте их использования (алгоритм Хаффмана).

Ссылки

  • RFC 1951 — DEFLATE Compressed Data Format Specification version 1.3  (англ.)
  • Deflate decoding - Описание формата сжатия данных Deflate, Е.В. Михальчик

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

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

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии