Большинство пользователей знает, что иногда для уменьшения размера исходных файлов с целью повышения удобства их хранения или отправки, например, по электронной почте применяется сжатие. Однако почему-то в этом случае ассоциация происходит только с приложениями-архиваторами, а другие методики сжатия данных в расчет не принимаются. Далее будет рассмотрено, от чего зависит степень сжатия файла, на примере нескольких наиболее распространенных ситуаций.
Начнем с теоретических вопросов. Что же такое степень сжатия файла? Исходя из самых простых трактовок этого термина, под ним подразумевается соотношение размера конечного (сжатого) объекта к начальному объему. Однако такое пояснение в большей степени может относиться исключительно к архивным данным, поскольку совершенно не затрагивает некоторые вопросы, связанные с изменением формата мультимедиа, где сжатие также очень распространено. В общем же, говорить о том, что степень сжатия файла зависит только от какого-то одного признака, нельзя. В данном случае роль играет и тип объекта, и используемые для сжатия данных программы, и скорость проведения процесса сжатия. Далее кратко остановимся на некоторых важных аспектах, которые могут повлиять на конечный результат уменьшения размера исходных данных.
Да, действительно, тип сжимаемых данных оказывает на уменьшение конечного размера файла достаточно большое влияние, и далеко не все форматы можно подвергнуть таким процедурам. Пояснить это можно на примере звуковых файлов которые изначально уже самим по себе являются сжатыми.
При попытке упаковки таких данных в архив существенного уменьшения размера добиться практически невозможно. То же самое касается формата WAV. Однако, если произвести не сжатие, а перекодирование из WAV в MP3, размер можно уменьшить раз в десять и более. Многие пользователи тут же и отталкиваются от того, что степень сжатия файла зависит именно от начального и конечного формата. Это не совсем так, поскольку важную роль играет и применяемый алгоритм перекодирования, о чем будет сказано отдельно. А пока остановимся на использовании архиваторов.
Чтобы изначально понять суть сжатия такого типа, для простоты объяснения в пример приведем самый обычный архиватор WinRAR. Типы упаковываемых данных не трогаем, а основное внимание сосредоточим на инструментах самого приложения.
Для начала следует обратить внимание на конечный формат архива, а также на используемый метод упаковки. Понятно, что в этом случае степень сжатия файла программой архивации зависит от предпочитаемой методики. При скоростном методе сжатие будет минимальным, но при установке максимальной степени сжатия размер будет уменьшен более существенно, а времени потребуется больше.
Если же применительно к архиваторам рассматривать файловые форматы, из самых сжимаемых можно выделить текстовые документы любых форматов.
Относительно неплохо сжимаются некоторые исполняемые файлы EXE-формата (при стандартном методе сжатия можно добиться уменьшения размера больше, чем вполовину). Самыми, как уже говорилось, несжимаемыми являются объекты мультимедиа. И, если картинки уменьшить по размеру хоть как-то можно, с аудио и видео без изменения начального формата такие действия не проходят, и архиваторы тут совершенно ни причем.
Применительно к мультимедиа различают два основных типа сжатия: с потерей качества (lossy) и без потерь (lossless). И в данном случае степень сжатия файла зависит как раз от используемой технологии компрессии.
В первом случае сжатие максимальное, во втором оно может варьироваться, на что влияет используемый набор кодеков и конечный формат контейнера. Так, например, один и тот же AVI-файл может представлять собой именно контейнер, содержащий совершенно разные по типу данные и с различной степенью компрессии. Из-за этого, кстати, иногда могут наблюдаться проблемы с воспроизведением видео на бытовых плеерах.
А вообще, если говорить именно о мультимедиа, тут нужно четко понимать, что добиться максимального уменьшения размера исходного файла любого формата без существенной потери качества практически нереально, несмотря даже на технологии удаления избыточного контента (например, для графики или видео это срабатывает только в случае с неизменяемыми сценами). В случае с аудио производится уменьшение битрейта и вырезание определенных частот. Рядовой пользователь разницы, может быть, и не ощутит, а вот профессионал с тонким слухом сразу скажет, чего не хватает.
От чего зависит степень сжатия файла, немного разобрались. Теперь следует сказать несколько слов о применяемых программных продуктах. Среди архиваторов самыми распространенными можно назвать WinRAR, WinZIP и 7-Zip.
Что же касается сжатия мультимедиа, в самом простом случае можно использовать специальные приложения-конвертеры, которые работают по принципу перекодирования исходного материала в другой формат с целью уменьшения размера файла.
Подводя своеобразный итог, можно отметить, что степень сжатия файла архиватором зависит от нескольких факторов, а чаще всего от типа данных, подвергаемых компрессии, используемого программного обеспечения и (обычно применяются алгоритмы Хаффмана и Лемпеля-Зива, работающие в паре). В случае с мультимедиа-контентом ситуация практически та же, однако главенствующее положение занимает преобразование формата из одного в другой.
ВведениеАрхиваторами мы пользуемся постоянно. На нашем сайте имеется подробное (пусть и давно написанное) описание наиболее популярных программ-архиваторов (Архиваторы: Взгляд со стороны
), которое мы здесь повторять не будем, а займемся только алгоритмами сжатия, которые применяются в этих программах. В чем здесь проблема? Современные архиваторы предоставляют нам возможность на выбор использовать несколько алгоритмов сжатия. Вот, например, характеристики некоторых программ...
Форматы, поддерживаемые архиваторами
Архиватор | Упаковка и распаковка | Только распаковка |
---|---|---|
WinZip | ZIP | TAR, GZIP, BH, ARJ, LZH, ARC |
WinRar | RAR, ZIP | CAB, ARJ, LZH,TAR, GZ, ACE, UUE, BZ2, JAR, JSO |
WinAce | ACE, ZIP, LHA, MSCAB | RAR, ARC, ATJ, GZIP, TAR ZOO |
7-Zip | 7Z, ZIP, GZIP, TAR, BZIP2 | RAR, CAB, ARJ, CPIO, RPM, DEB, SPLIT |
Power Archiver | TAR, BH, CAB, LHA, ZIP | RAR, ACE, ARJ, GZIP, BZIP2, ARC, ZOO |
1. Создание комплексного и частных (по типам файлов) наборов информации (папок) для проведения испытаний (тестов).
2. Проведение предварительных тестов на комплексном наборе и уточнение (по результатам) плана дальнейших локальных испытаний.
3. Обработка и анализ результатов с обоснованием рекомендаций по практическому применению разных алгоритмов (форматов) архивации.
Состав набора файлов для испытаний
Тип | Количество папок | Количество файлов | Размер, Кбайт | На диске, Кбайт |
---|---|---|---|---|
TXT | 0 | 2 | 34781 | 34783 |
HTM | 329 | 2869 | 30913 | 36962 |
DOC | 3 | 24 | 31443 | 31474 |
0 | 1 | 33691 | 33694 |
|
JPG | 26 | 430 | 40493 | 41382 |
MP3 | 1 | 11 | 37571 | 37589 |
|
||||
Итого | 359 | 3337 | 208893 | 215884 |
WinZip 8.1 SR-1
WinRar 3.30
WinAce 2.5
7Zip 3.13
Power Archiver 8.70 07b
Процессор Intel Celeron 1700MHz
256 Mb (DDR SDRAM)
HDD ST360015A (60 Gb, 7200PRM)
Windows 2000 Pro, SP3
Результаты тестирования для формата ZIP
Архиватор / Режим | Размер, Кбайт | Время, мин.-сек. | Сжатие | Скорость, Кбайт/с |
---|---|---|---|---|
|
||||
WinZip | |
|||
Без сжатия | 208893 | - | - | - |
Норма | 146408 | 2-00 | 70.0% | 1740 |
Максимум | 145884 | 2-45 | 69.8% | 1266 |
Быстро | 147690 | 1-58 | 70.7% | 1770 |
Очень быстро | 149450 | 1-50 | 71.5% | 1899 |
|
||||
WinRar | |
|||
Обычно | 146 078 | 2-22 | 69.9% | 1471 |
Максимум | 145881 | 3-07 | 69.8% | 1117 |
|
||||
WinAce | |
|||
Норма | 146 418 | 2-28 | 70.1% | 1411 |
Максимум | 145844 | 2-40 | 69.8% | 1305 |
|
||||
7-Zip | |
|||
Норма/Deflate | 145 480 | 3-22 | 69.6% | 1034 |
Ультра/Deflate | 145 341 | 5-55 | 69.6% | 588 |
Ультра/Deflate64 | 144924 | 6-10 | 69.4% | 565 |
|
||||
Power Archiver | |
|||
Норма | 146074 | 3-40 | 69.9% | 950 |
Максимум | 145948 | 3-42 | 69.9% | 941 |
Режим | Размер, Кбайт | Время, мин.-сек. | Сжатие | Скорость, Кбайт/с |
---|---|---|---|---|
Без сжатия | 208893 | - | - | - |
Store | 209129 | 0-58 | 100.1% | 3601 |
Fastest | 144017 | 6-00 | 68.9% | 580 |
Fast | 143281 | 6-22 | 68.6% | 547 |
Normal | 142830 | 6-40 | 68.4% | 522 |
Good | 139826 | 6-58 | 66.9% | 499 |
Best | 140023 | 7-25 | 67.0% | 469 |
Best (64kb) | 140685 | 5-40 | 67.3% | 614 |
Результаты тестирования формата ACE
Режим | Размер, Кбайт | Время, мин.-сек. | Сжатие | Скорость, Кбайт/с |
---|---|---|---|---|
Без сжатия | 208893 | - | - | - |
Normal | 132978 | 8-30 | 63.7% | 410 |
Maximum | 132918 | 8-42 | 63.6% | 400 |
Good | 132925 | 9-50 | 63.6% | 354 |
Fast | 133216 | 8-53 | 63.8% | 397 |
Super Fast | 133273 | 8-46 | 63.8% | 397 |
Store | 209136 | 1-48 | 100.1% | 1934 |
Результаты тестирования формата 7z
Режим | Размер, Кбайт | Время, мин.-сек. | Сжатие | Скорость, Кбайт/с |
---|---|---|---|---|
Без сжатия | 208893 | - | - | - |
Нормальный | 130964 | 9-24 | 64.2% | 362 |
Максимальный | 130000 | 13-51 | 63.7% | 246 |
Быстрый | 141922 | 4-16 | 69.6% | 797 |
Ультра (1 Мб) | 131392 | 8-47 | 64.4% | 387 |
Ультра (6 Мб) | 130101 | 11-40 | 63.8% | 291 |
Ультра (12 мб) | 129871 | 12-47 | 63.7% | 266 |
Ультра (24 мб) | - | - | - | - |
Ультра (Deflate) | 141171 | 3-15 | 69.2% | 1046 |
Ультра (PPMd) | 140171 | 8-45 | 68.7% | 389 |
Ультра (Bzip2) | 135342 | 7-32 | 66.4% | 451 |
- Уровень (Быстрый, Нормальный, Максимальный, Ультра),
- Метод (LZMA, PPMd, Bzip2, Deflate),
- Размер словаря (32кб - 192 мб),
- Размер слова (8 - 255).
- Чем больше размер словаря, тем больше сжатие и время упаковки. Сжатие возрастает медленно, а время упаковки - вырастает очень сильно.
- То же самое - в отношении размера слова.
- Оптимальные настройки устанавливаются сами (настройки по умолчанию), и без надобности их можно не сбивать.
Результаты тестирования формата CAB
Режим | Размер, Кбайт | Время, мин.-сек. | Сжатие | Скорость, Кбайт/с |
---|---|---|---|---|
Без сжатия | 208893 | - | - | - |
|
||||
PowerArchiver | |
|||
Medium | 140444 | 9-55 | 67.2% | 351 |
Maximum | 137152 | 15-55 | 65.6% | 219 |
|
||||
WinAce | |
|||
Норма | 144374 | 3-24 | 69.1% | 1024 |
Максимум | 138538 | 12-54 | 66.3% | 270 |
Результаты тестирования форматов BH и LHA
Режим | Размер, Кбайт | Время, мин.-сек. | Сжатие | Скорость, Кбайт/с |
---|---|---|---|---|
Без сжатия | 208893 | - | - | - |
|
||||
PowerArchiver, формат LHA | |
|||
Norma | 147518 | 4-40 | 70.6% | 746 |
Maximum | 147518 | 4-47 | 70.6% | 728 |
|
||||
PowerArchiver, формат BH | |
|||
Norma | 145912 | 2-16 | 69.8% | 1536 |
Maximum | 145718 | 2-34 | 69.8% | 1356 |
Форматы файлов в наборах для испытаний
Формат | Кол-во папок | Кол-во файлов | Суммарный размер, Кбайт |
---|---|---|---|
TXT | 0 | 27 | 35096 |
HTM | 7 | 1371 | 25076 |
DOC | 1 | 33 | 37211 |
0 | 1 | 33691 |
|
JPG | 26 | 430 | 40493 |
MP3 | 2 | 11 | 37571 |
EXE | 0 | 316 | 32446 |
DLL | 0 | 184 | 40323 |
XLS | 6 | 15 | 17228 |
CHM | 0 | 69 | 33940 |
MPEG | 0 | 24 | 46606 |
WAV | 0 | 1 | 30804 |
BMP | 0 | 15 | 31713 |
AVI | 0 | 89 | 9261 |
Сжимаемость файлов в зависимости от формата архива
Формат | ZIP | RAR | ACE | 7Z | CAB |
---|---|---|---|---|---|
TXT | 43.7% | 37.8% | 37.4% | 34.3% | 36.3% |
HTM | 29.2% | 28.3% | 9.09% | 7.75% | 15.0% |
DOC | 8.76% | 6.39% | 5.47% | 5.21% | 6.49% |
97.7% | 97.4% | 97.8% | 97.5% | 97.3% |
|
JPG | 98.5% | 98.5% | 85.0% | 85.1% | 97.9% |
MP3 | 98.1% | 97.9% | 98.1% | 97.9% | 97.7% |
EXE | 46.9% | 42.1% | 37.8% | 32.7% | 39.3% |
DLL | 45.6% | 39.6% | 37.6% | 34.3% | 39.6% |
XLS | 11.8% | 8.27% | 7.44% | 5.97% | 8.49% |
CHM | 98.6% | 98.8% | 99.0% | 99.6% | 98.6% |
MPEG | 95.3% | 94.7% | 94.8% | 94.5% | 94.4% |
AVI | 86.1% | 84.1% | 84.5% | 82.7% | 83.4% |
WAV | 92.2% | 62.8% | 62.6% | 87.0% | 92.1% |
BMP | 63.5% | 31.9% | 30.6% | 51.5% | 56.2% |
|
|||||
Средний показатель | 65.5% | 59.2% | 56.2% | 58.3% | 61.6% |
- Наилучшее сжатие по основным форматам исходных файлов обеспечивается архивным форматом 7z.
- Лучший показатель в среднем имеет архивный формат ACE за счет рекордного сжатия форматов WAV и BMP.
Скорость работы архиватора, Кбайт/с
Формат | ZIP | RAR | ACE | 7Z | CAB |
---|---|---|---|---|---|
TXT | 2064 | 408 | 386 | 217 | 226 |
HTM | 2507 | 836 | 627 | 643 | 411 |
DOC | 7400 | 2862 | 1550 | 1378 | 886 |
2246 | 293 | 370 | 387 | 370 |
|
JPG | 2670 | 587 | 337 | 368 | 287 |
MP3 | 2348 | 458 | 368 | 335 | 332 |
EXE | 2318 | 773 | 601 | 416 | 433 |
DLL | 2016 | 858 | 672 | 474 | 434 |
XLS | 4300 | 1436 | 1148 | 507 | 224 |
CHM | 1886 | 556 | 365 | 357 | 323 |
MPEG | 2453 | 583 | 416 | 370 | 338 |
AVI | 1852 | 617 | 463 | 370 | 356 |
WAV | 2370 | 1711 | 1184 | 354 | 288 |
BMP | 2883 | 1269 | 933 | 401 | 373 |
|
|||||
Средний показатель | 2838 | 856 | 609 | 485 | 385 |
Сжимаемость разных форматов файлов. Дополнение
Формат | ZIP | RAR | ACE | 7Z |
---|---|---|---|---|
VXD | 55.1% | 52.5% | 43.3% | 40.8% |
INF | 14.9% | 13.3% | 13.2% | 12.3% |
VBP | 78.3% | 72.6% | 26.0% | 18.5% |
GIF | 90.0% | 94.3% | 87.2% | 86.1% |
SCR | 88.8% | 88.0% | 88.1% | 87.9% |
DAT | 23.1% | 20.1% | 20.5% | 18.0% |
INI | 35.6% | 33.2% | 32.5% | 30.2% |
|
||||
Средний показатель | 55.1% | 53.4% | 44.4% | 42.0% |
Формат архива | Размер, Кбайт | Время | Сжатие | Время загрузки, час.-мин. |
---|---|---|---|---|
Без сжатия | 47410 | - | - | 4-53 |
ZIP | 29045 | 0-21 | 61.3% | 2-59 |
RAR | 26619 | 1-15 | 56.1% | 2-44 |
ACE | 23838 | 1-30 | 50.3% | 2-27 |
7Z | 22871 | 1-50 | 48.2% | 2-21 |
CAB | 26804 | 2-22 | 56.5% | 2-45 |
EXE (RAR) | 26671 | 1-15 | 56.3% | 2-45 |
EXE (ACE) | 23903 | 1-30 | 50.4% | 2-28 |
EXE (7Z) | 22941 | 1-52 | 48.4% | 2-22 |
При передачи файлов по сети - упаковка практически обязательна.
Упаковка с хорошим сжатием может сократить время передачи файла, в нашем случае - на полчаса.
Применение перспективных форматов ACE и 7Z вполне оправдано уже сейчас в виде самораспаковывающихся архивов. Это обстоятельство желательно учитывать распространителям программной продукции по сети Интернет.
Архиватор 7-ZIP является хорошей программой с высокой степенью сжатия и обладает необходимым минимумом пользовательских удобств. Можно, в частности, удалять и просматривать отдельные файлы без общей распаковки архива. При этом, файлы открываются ассоциативными приложениями системы. Можно дополнять архив отдельными файлами.
Результаты тестирования формата RAR
Режим | Размер, Кбайт | Время, мин.-сек. | Сжатие | Скорость, Кбайт/с |
---|---|---|---|---|
Без сжатия | 208893 | - | - | - |
Store | 209129 | 0-58 | 100.1% | 3601 |
Fastest | 144017 | 6-00 | 68.9% | 580 |
Fast | 143281 | 6-22 | 68.6% | 547 |
Normal | 142830 | 6-40 | 68.4% | 522 |
Normal (Solid) | 131664 | 9-14 | 63.0% | 377 |
Good | 139826 | 6-58 | 66.9% | 499 |
Good (Solid) | 129314 | 8-24 | 61.9% | 414 |
Best | 140023 | 7-25 | 67.0% | 469 |
Best (Solid) | 129527 | 8-36 | 62.0% | 405 |
Best (64kb) | 140685 | 5-40 | 67.3% | 614 |
1. Выбор способа сжатия (Normal, Store, Fastest, Fast, Good, Best).
2. Выбор модификации:
- Add and replace files,
- Add and update files,
- Fresh existing files only,
- Syncronize axchive contents.
3. Выбор опции:
- Deleting files after archiving,
- Create SFX archive,
- Create solid archive,
- Put autohenlicity verification,
- Put recovery record,
- Test archived files,
- Lock archive.
1. RAR (Good, Solid) - 61.9%.
2. 7-Zip (Максимум) - 62.2%.
3. ACE (Good) - 63.6%.
Пример упаковки дистрибутива Norton Antivirus
Формат архива | Размер, Кбайт | Время | Сжатие | Время загрузки, час.-мин. |
---|---|---|---|---|
Без сжатия | 47410 | - | - | 4-53 |
ZIP | 29045 | 0-21 | 61.3% | 2-59 |
RAR | 26619 | 1-15 | 56.1% | 2-44 |
RAR (Normal, Solid) | 22745 | 1-21 | 48.0% | 2-20 |
RAR (Good, Solid) | 22680 | 1-28 | 47.8% | 2-20 |
ACE | 23838 | 1-30 | 50.3% | 2-27 |
7Z | 22871 | 1-50 | 48.2% | 2-21 |
CAB | 26804 | 2-22 | 56.5% | 2-45 |
EXE (RAR) | 26671 | 1-15 | 56.3% | 2-45 |
EXE (RAR, Normal, Solid) | 22797 | 1-29 | 48.1% | 2-21 |
EXE (ACE) | 23903 | 1-30 | 50.4% | 2-28 |
EXE (7Z) | 22941 | 1-52 | 48.4% | 2-22 |
Заключение
Цель архивации - обеспечение более компактного размещения информации на диске, а также сокращение времени и соответственно стоимости передачи информации по каналам связи в компьютерных сетях. Кроме того, архивация существенно упрощает перенос информации с одного компьютера на другой, сокращает время ее копирования на внешние носители, позволяет защитить информацию от несанкционированного доступа, способствует защите от заражения компьютерными вирусами.
Основная особенность архивации - это сжатие информации, т.е. преобразование ее к виду, при котором уменьшается избыточность в ее представлении и соответственно требуется меньший объем памяти для хранения.
Сжиматься могут как один, так и несколько файлов, которые в сжатом виде помещаются в один так называемый архивный файл или архив, откуда их можно извлечь в первоначальном виде.
Архивный файл (архив) - это специальным образом организованный файл, содержащий в себе один или несколько файлов в сжатом или несжатом виде и служебную информацию об именах файлов, дате и времени их создания или модификации, размерах и т.п.
Процесс записи файлов в архивный файл называется архивацией (архивированием, упаковкой), а извлечение файлов из архива - разархивацией (разархивированием, распаковкой).
Степень сжатия файла при архивировании зависит от его формата. Некоторые форматы (например, графические) предполагают сжатие, выполняемое программами, создающими файлы данных типов, и поэтому при архивации не уменьшаются в размере. Лучше всего при архивации сжимаются текстовые файлы и файлы баз данных, меньше сжимаются файлы исполняемых программ и загрузочных модулей. На степень сжатия также влияет метод сжатия.
Кроме обычных архивных файлов, можно создавать непрерывные, многотомные и самораспаковывающиеся архивы, а также их комбинации, например: многотомные самораспаковывающиеся, многотомные непрерывные и т.д.
Непрерывный (Solid) архив - это архив, запакованный специальным способом, при котором все сжимаемые файлы рассматриваются как один последовательный поток данных.
Непрерывная архивация значительно увеличивает степень сжатия, особенно при добавлении большого количества маленьких похожих файлов. Однако при этом существуют и недостатки:
§ существующие непрерывные архивы обновляются медленнее, чем обычные;
§ зашифрованные непрерывные архивы невозможно изменять;
§ для извлечения одного файла из непрерывного архива необходимо проанализировать все предыдущие заархивированные файлы, поэтому извлечение отдельных файлов из середины непрерывного архива происходит медленнее, чем извлечение из обычного архива. Однако если из непрерывного архива извлекаются все или несколько первых файлов, то в этом случае скорость распаковки практически такая же, как и с обычными архивами;
§ если в непрерывном архиве какой-либо файл окажется поврежденным, то не удастся также извлечь и все файлы, следующие после него. Поэтому при сохранении непрерывного архива на ненадежном носителе рекомендуется добавлять информацию для восстановления.
Непрерывные архивы лучше использовать в тех случаях, когда:
§ архив редко обновляется;
§ нет необходимости часто извлекать из архива один или несколько файлов;
§ архивируется один большой файл;
§ степень сжатия важнее скорости сжатия.
Файлы в непрерывных архивах обычно отсортированы по расширению, однако порядок сортировки можно изменить.
Многотомные архивы - это архивы, состоящие из нескольких частей (томов). Обычно тома используются для сохранения большого архива на нескольких дискетах или других сменных носителях.
Первый том в последовательности имеет обычное стандартное расширение программы-архиватора, а расширения последующих томов - первую букву расширения архиватора и порядковый номер.
Файлы в существующих томах невозможно добавлять, обновлять или удалять.
Самораспаковывающийся (SFX, от английских слов SelF-eXtracting) архив - это архив, к которому присоединен исполнимый модуль. Этот модуль позволяет извлечь файлы, просто запустив архив как обычную программу. Таким образом, для извлечения содержимого SFX-архива не требуется дополнительных внешних программ. SFX-архивы, как и любые другие исполнимые файлы, обычно имеют расширение.EXE, но с ними можно работать так же, как и с любым другим архивом.
SFX-архивы удобны в тех случаях, когда нужно передать кому-то архив, но вы не уверены, что у адресата есть соответствующий архиватор для извлечения файлов.
Многотомные и самораспаковывающиеся архивы также могут быть непрерывными.
Программы, осуществляющие архивацию/разархивацию файлов, называют программы-архиваторы .
Программы-архиваторы можно сравнивать по следующим основным параметрам: интерфейс, методы сжатия (определяющие степень сжатия файлов), типы создаваемых архивов, скорость работы, поддержка форматов других архиваторов.
При создании архива программа-архиватор автоматически присваивает архивному файлу «свое» расширение, например, zip, rar и др.
Управление программой-архиватором осуществляется одним из следующих способов:
1. с помощью командной строки;
2. с помощью встроенной оболочки и диалоговых панелей, позволяющих вести управление с использованием меню и функциональных клавиш.
3. с помощью комбинаций функциональных клавиш в операционных оболочках, которые, как правило, могут предложить на выбор несколько DOS-программ архивации или собственный архиватор оболочки.
4. с помощью элементов графического интерфейса.
Несмотря на множество программ-архиваторов, современный пользователь, как правило, реально работает с двумя форматами архивов: ZIP и RAR.
Все алгоритмы сжатия оперируют входным потоком информации с целью получения более компактного выходного потока при помощи некоторого преобразования. Основными техническими характеристиками процессов сжатия и результатов их работы являются:
·степень сжатия - отношение объемов исходного и результирующего потоков;
·скорость сжатия - время, затрачиваемое на сжатие некоторого объема информации входного потока, до получения из него эквивалентного выходного потока;
·качество сжатия - величина, показывающая, на сколько сильно упакован выходной поток при применении к нему повторного сжатия по тому же или другому алгоритму.
Алгоритмы, которые устраняют избыточность записи данных, называются алгоритмами сжатия данных, или алгоритмами архивации. В настоящее время существует огромное множество программ для сжатия данных, основанных на нескольких основных способах.
Все алгоритмы сжатия данных делятся на:
) алгоритмы сжатия без потерь, при использовании которых данные на приемной восстанавливаются без малейших изменений;
)алгоритмы сжатия с потерями, которые удаляют из потока данных информацию, незначительно влияющую на суть данных, либо вообще невоспринимаемую человеком.
Существует два основных метода архивации без потерь:
алгоритм Хаффмана (англ. Huffman), ориентированный на сжатие последовательностей байт, не связанных между собой,
алгоритм Лемпеля-Зива (англ. Lempel, Ziv), ориентированный на сжатие любых видов текстов, то есть использующий факт неоднократного повторения "слов" - последовательностей байт.
Практически все популярные программы архивации без потерь (ARJ, RAR, ZIP и т.п.) используют объединение этих двух методов - алгоритм LZH.
Алгоритм Хаффмана.
Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, - реже. Следовательно, если $+o записи распространенных символов использовать короткие последовательности бит, длиной меньше 8, а для записи редких символов - длинные, то суммарный объем файла уменьшится.
Алгоритм Лемпеля-Зива. Классический алгоритм Лемпеля-Зива -LZ77, названный так по году своего опубликования, предельно прост. Он формулируется следующим образом: если в прошедшем ранее выходном потоке уже встречалась подобная последовательность байт, причем запись о ее длине и смещении от текущей позиции короче чем сама эта последовательность, то в выходной файл записывается ссылка (смещение, длина), а не сама последовательность.
Сжатие информации в архивных файлах производится за счет устранения избыточности различными способами, например за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов или повторяющейся последовательности символов в виде коэффициента повторения и соответствующих символов. Алгоритмы подобного сжатия информации реализованы в специальных программах-архиваторах (наиболее известные из которых arj/arjfolder, pkzip/pkunzip/winzip, rar/winrar) применяются определенные Сжиматься могут как один, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл или архив.
Целью упаковки файлов обычно являются обеспечение более компактного размещения информации на диске, сокращение времени и соответственно стоимости передачи информации по каналам связи в компьютерных сетях. Поэтому основным показателем эффективности той или иной программы-архиватора является степень сжатия файлов.
Степень сжатия файлов характеризуется коэффициентом Кс, определяемым как отношение объема сжатого файла Vc к объему исходного файла Vо, выраженное в процентах (в некоторых источниках используется обратное соотношение):
Кс=(Vc/Vo)*100%
Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла.
Наиболее хорошо сжимаются файлы графических образов, текстовые файлы и файлы данных, для которых коэффициент сжатия может достигать 5 - 40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей Кс = 60 - 90%. Почти не сжимаются архивные файлы. Это нетрудно объяснить, если знать, что большинство программ-архиваторов используют для сжатия варианты алгоритма LZ77 (Лемпеля-Зива), суть которого заключается в особом кодировании повторяющихся последовательностей байт (читай - символов). Частота встречаемости таких повторов наиболее высока в текстах и точечной графике и практически сведена к нулю в архивах.
Кроме того, программы для архивации все же различаются реализациями алгоритмов сжатия, что соответственно влияет на степень сжатия.
В некоторые программы-архиваторы дополнительно включаются средства, направленные на уменьшение коэффициента сжатия Кс. Так в программе WinRAR реализован механизм непрерывного (solid) архивирования, при использовании которого может быть достигнута на 10 - 50% более высокая степень сжатия, чем дают обычные методы, особенно если упаковывается значительное количество небольших файлов однотипного содержания.
Характеристики архиваторов - обратно зависимые величины. То есть, чем больше скорость сжатия, тем меньше степень сжатия, и наоборот.
На компьютерном рынке предлагается множество архиваторов - у каждого свой набор поддерживаемых форматов, свои плюсы и минусы, свой круг почитателей, свято верящих в то, что используемый ими архиватор самый лучший. Не будем никого и ни в чем разубеждать - просто попытаемся беспристрастно оценить самые популярные архиваторы в плане функциональности и эффективности. К таковым отнесем WinZip, WinRAR, WinAce, 7-Zip - они лидируют по количеству скачиваний на софтовых серверах. Рассматривать остальные архиваторы вряд ли целесообразно, поскольку процент применяющих их пользователей (судя по числу скачиваний) невелик.
Одним из наиболее широко распространенных видов сервисных программ являются программы, предназначенные для архивации, упаковки файлов путем сжатия хранимой в них информации.Сжатие информации — это процесс преобразования информации, хранящейся в файле, к виду, при котором уменьшается избыточность в ее пред-ставлении и соответственно требуется меньший объем памяти для хранения.
Сжатие информации в файлах производится за счет устранения избыточности различными способами, например за счет упрощения кодов или представления повторяющихся символов, или повторяющейся последовательности символов в виде коэффициента повторения и соответствующих символов. Применяются различные алгоритмы подобного сжатия информации.
Сжиматься могут как один, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл или архив.
Архивный файл — это специальным образом организованный файл, содержащий в себе один или несколько файлов в сжатом или несжатом виде и служебную информацию об именах файлов, дате и времени их создания или модификации, размерах и т.п.
Целью упаковки файлов обычно являются обеспечение более компактного размещения информации на диске, сокращение времени и соответственно стоимости передачи информации по каналам связи в компьютерных сетях. Кроме того, упаковка в один архивный файл группы файлов существенно упрощает их перенос с одного компьютера на другой, сокращает время копирования файлов на диски, позволяет защитить информацию от несанкционированного доступа, способствует защите от заражения компьютерными вирусами.
Степень сжатия файлов характеризуется коэффициентом Кс, определяемым как отношение объема сжатого файла Vc к объему исходного файла Vо, выраженное в процентах:
Kc=(Vc/ V0)*100%
Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Наиболее хорошо сжимаются файлы графических образов, текстовые файлы и файлы данных, для которых степень сжатия может достигать 5 - 40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей — 60 - 90%. Почти не сжимаются архивные файлы. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия.
Архивация (упаковка) — помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.
Разархивация (распаковка) — процесс восстановления файлов из архива точно в таком виде, какой они имели до загрузки в архив. При распаковке файлы извлекаются из архива и помешаются на диск или в оперативную память.
Программы, осуществляющие упаковку и распаковку файлов, называются про-граммами-архиваторами.
Большие по объему архивные файлы могут быть размещены на нескольких дисках (томах). Такие архивы называются многотомными. Том — это составная часть многотом-ного архива. Создавая архив из нескольких частей, можно записать его части на несколько частей.
Наиболее популярные форматы архивов
ZIP - еще со времен DOS-a один из самых популярных и распространенных архивных форматов, основанный на алгоритмах сжатия предложенных в 80-х годах прошлого столетия израильскими математиками Лемпелем и Зивом. Он отличается приемлемой степенью сжатия информации и достаточно высоким быстродействием. Сегодня он является стандартом де-факто в интернете, и его в обязательном порядке поддерживают практически все программы-архиваторы.
RAR - разработан российским программистом Евгением Рошалем и позволяет получить размер сжатого файла гораздо меньший, чем ZIP, но ценой этому является более продолжительный процесс обработки архива. В целом формат RAR значительно лучше других оптимизирован для решения сложных задач с использованием большого количества файлов и гигабайтных дисковых пространств.
ARJ - несколько устаревший формат, до сих пор отличающийся, наверное, наиболее широкими возможностями по настройке.
CAB - применяется в продуктах Microsoft как стандартный для упаковки файлов, причем его алгоритм, нигде не опубликованный и хранимый фирмой за семью печатями, представляет собой достаточно совершенный продукт, имеющий высокий коэффициент сжатия.
GZIP, TAR - получили наибольшее распространение в системах на базе Unix и ее самой популярной разновидности Linux.
ACE - достаточно новый формат с высокой степенью сжатия, завоевывающий все большую популярность.
Многие программы, являющиеся достаточно популярными в мире архиваторов базируются на том или ином формате и носят аналогичные названия. Например, для ОС Windows наиболее популярными являются архиваторы WinRAR, WinZIP, WinACE. Кроме этого все они имеют инструменты для работы с другими форматами архивов. Несмотря на это, могут возникнуть проблемы с совместимостью форматов архивов в различных программах. Во многих случаях удачным решением проблемы совместимости архивов различных типов является создание архивов в виде самораспаковывающихся программ (EXE-файлов), в состав которых входят все необходимые механизмы для извлечения информации из архива, таким образом, отпадает необходимость иметь на компьютере соответствующую программу-распаковщик архива.
Gif" width="25" height="25" />.php?viewcat=4">Обсудить на форуме