Методы сжатия компьютерных файлов

1) Кодирование длин серий (RLE - сокращение от run-length encoding - кодирование длин серий)

Очень простой метод, в котором последовательная серия одинаковых элементов данных заменяется на два символа: элемент и число его повторений. Широко используется как дополнительный, так и промежуточный метод. В качестве самостоятельного метода применяется, например, в графическом формате BMP.

2) Словарный метод (LZ - сокращение от Lempel Ziv - имена авторов)

Наиболее распространенный метод. Используется словарь, состоящий из последовательностей данных или слов. При сжатии эти слова заменяются на их коды из словаря. В наиболее распространенном варианте реализации в качестве словаря выступает сам исходный блок данных.

3) Энтропийный метод (Huffman - кодирование Хаффмена, Arithmetic coding - арифметическое кодирование)

В этом методе элементы данных, которые встречаются чаще, кодируются при сжатии более коротким кодом, а более редкие элементы данных кодируются более длинным кодом. За счет того, что коротких кодов значительно больше, общий размер получается меньше исходного. Широко используется как дополнительный метод. В качестве самостоятельного метода применяется, например, в графическом формате JPG.

4) Метод контекстного моделирования (CM - сокращение от context modeling - контекстное моделирование)

В этом методе строится модель исходных данных. При сжатии очередного элемента данных эта модель выдает свое предсказание или вероятность. Согласно этой вероятности, элемент данных кодируется энтропийным методом. Чем точнее модель будет соответствовать исходным данным, тем точнее она будет выдавать предсказания, и тем короче будут кодироваться элементы данных.

7) Метод сортировки блока данных (BWT - сокращение от Burrows Wheeler Transform - по имени авторов)

Это особый вид или группа преобразований, в основе которых лежит сортировка. Сортировка производится над блоками, поэтому данные предварительно разбиваются на части. Основным параметром является размер блока, который подвергается сортировке.

8) Непрерывные блоки или непрерывный режим (Solid mode - непрерывный режим)

Аналогичного эффекта можно добиться простым представлением исходных файлов в виде одного непрерывного файла.

Для распаковки произвольного файла необходимо распаковать и файлы, которые оказались в начале архива. Это необходимо для правильного заполнения словаря или построения модели.

9) Сегментирование - это предварительная разбивка на однородные части. Затем эти части кодируются по отдельности или группами.

Архиваторы:

HaoZip - отличный бесплатный архиватор на русском языке, поддерживающий работу с 38 форматами архивов. Внешне очень похож на WinRAR и обладает большинством его возможностей. Добавляется в контекстное меню файлов и папок.

IZArc - бесплатный архиватор для Windows. Создает архивы 7-ZIP, BlackHole, BGA, BZIP2, Cabinet, JAR, LZH, TAR, TAR-GZIP, ZIP, YZ1.

Все остальные форматы умеет только открывать (RAR, 7-ZIP, TAZ, TBZ, TGZ, TZ, UUE, WAR, A, ACE, ARC, ARJ, B64, BH, BIN, BZ2, BZA, C2D, CDI, CAB, GZA, HA, IMG, ISO, JAR, LHA, LIB, LZH, MBF, MDF, MIM, NRG, PAK, PDI, PK3, CPIO, DEB, ENC, GCA, GZ, RPM, TAR, XXE, YZ1, Z, ZIP, ZOO...)

Hamster Free ZIP Archiver – zip–архиватор со стильным интерфейсом, умеющий использовать многоядерность центрального процессора. Кроме zip, поддерживает большинство других форматов.

Simplyzip - удобный зип-архиватор, который, кроме zip, поддерживает также и большинство архивов других типов. Simplyzip занимает мало дискового пространства и удобен в использовании.

Архиватор WinRAR - мощная программа для упаковки и распаковки архивов RAR, ZIP, 7Z, ACE, ARJ, BZ2, CAB, GZ, ISO, JAR, LZH, TAR, UUE, Z. Этот архиватор пользуется большой популярностью даже не смотря на то, что является платным. Демонстрационный период бесплатного использования составляет 40 дней после установки.

Архиватор 7 Zip - архиватор, популярный благодаря поддержке формата 7Z, который отличается большой степенью сжатия, а также своей бесплатности и надежности работы. Кроме 7Z, поддерживает форматы ZIP, CAB, RAR, ARJ, GZIP, BZIP2, TAR, CPIO, RPM. В использовании программа очень проста и удобна. Может создавать самораспаковывающиеся архивы...

PeaZip - бесплатный ZIP - архиватор, поддерживающий также много других распространенных форматов архивов и свой собственный формат - Pea.

ExtractNow – бесплатный архиватор для Windows, позволяющий быстро извлечь файлы практически из любого архива. Обратный процесс (создание архивов) программа не поддерживает, зато распаковывать заархивированные файлы с ее помощью очень удобно и быстро.

Universal Extractor - мощный архиватор на русском языке, который сумеет распаковать любой архив. Эта программа поддерживает только процесс распаковки. Создавать архивы с ее помощью нельзя.

Кроме абсолютного большинства архивов, Universal Extractor умеет извлекать файлы из инсталляторов программ и других похожих приложений...