Программы для сжатия данных и файлов

  1. Что такое сжатие данных?
  2. Программы для сжатия файлов

Все пользователи компьютеров рано или поздно сталкиваются с такими понятиями как "сжатие", "компрессия", "архивация" данных. Все эти слова можно считать синонимами, т.к. они имеют один общий смысл. Речь идет о сокращении объема цифровых данных, занимаемого ими на физических носителях информации.

Что такое сжатие данных?

Сжатие данных — процесс их преобразования в более компактную форму. Допустим, есть некоторое количество файлов (или один единственный), которые требуется записать на жесткий диск или USB-флешку, но на имеющемся носителе информации для этого недостаточно памяти. Чтобы файлы смогли уместиться на запоминающем устройстве, их требуется предварительно сжать/подвергнуть компрессии/закодировать.

Существует два основных способа сжатия файлов — с потерями и без потерь. Компрессия с потерями предполагает безвозвратное удаление некоторой части данных. По сути, уменьшение объема файлов с потерями достигается за счет вырезания из них какой-то части. Все как в реальной жизни: если в сумку не влезает 10 предметов, от некоторых из них придется избавиться.

Сжатие без потерь, соответственно, предполагает сокращение объема файлов без необходимости вырезания из них какой-то части. Также важно понимать, что утерянные данные в ходе сжатия с потерями более восстановить не получится.

Сжатие данных

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

Для компрессии файлов используются специальные алгоритмы. Их довольно много, но все они делятся на две категории — алгоритмы сжатия с потерями и без. Какой из них применять в том или ином случае, зависит от формата сжимаемых данных. Рассмотрим все на примерах.

Сжатие без потерь

Простейший пример компрессии без потерь — замена в текстовых файлах часто встречающихся слов короткими символами. Например, если заменить в статье все слова "сжатие" парой букв "СЖ", объем текста сократится, как сократиться и объем занимаемого файлом пространства на жестком диске. Понятно, что подобная компрессия текста сделает его нечитаемым. Для его восстановления придется применить обратную кодировку, т.е. нужно заменить "СЖ" на "сжатие".

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

Сжатие с потерями

Для примера приведем один из способов сжатия цифрового изображения. Пускай это будет снятая на телефон фотография. Объем изображения зависит от нескольких факторов, но прежде всего — от его разрешения. Фотография разрешением 1920 на 1080 пикселей займет в памяти телефона больше места, чем, если бы она имела разрешение, к примеру, 1024 на 768 пикселей.

Другими словами, для сокращения объема изображения нужно снизить его разрешение, что можно сделать в любом графическом редакторе, включая встроенный в Windows редактор Paint. Но процесс этот необратимый. Не получится восстановить фотографию, как текст в предыдущем примере. Ведь мы не заменили в ней какие-то часто повторяющиеся данные, а просто вырезали их. Даже если "принудительно" увеличить разрешение изображения, его визуальные качества от этого никак не улучшатся.

Все ли данные можно сдать без потерь?

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

Однако в некоторых случаях сжатие с потерями является лишь чисто техническим моментом. Т.е. потери есть, но сами данные при этом не страдают. Взять, к примеру, какой-нибудь аудиофайл с метатегами (текстовой информации об исполнителе, альбоме и т.п.). Если из него удалить только метатеги, то сама музыка от этого никуда не исчезнет, не ухудшиться и качество звука. Технически, компрессия аудиофайла была выполнена с потерями (метатеги удалены, их не восстановить, кроме как повторного заполнения вручную), но они не причинили ущерба содержимому — т.е. полезным данным — потому можно говорить, что потерь не было.

Программы для сжатия файлов

Все существующие программы для сжатия файлов, предназначенные для широкого пользования, можно условно поделить на две категории:

  1. Специализированные. Программы, предназначенные для сжатия файлов определенного формата/типа — изображений, видео, аудио и т.д.
  2. Универсальные. К этой категории относятся программы-архиваторы, позволяющие сжимать файлы любого формата путем запаковки их специфические контейнеры — архивы.

Специализированные программы для сжатия файлов

К этой категории можно отнести любые программы, предлагающие форматирование/конвертацию мультимедиа-файлов. В списке их функциональных возможностей не всегда присутствует такой пункт, как "Сжатие". Но если программа уменьшает размер добавленного на обработку файла, то она в любом случае сжимает его.

Такие приложения могут осуществлять сжатие мультимедиа, как с потерями, так и без потерь. Все зависит от конкретного формата исходных данных, применяемых программой алгоритмов сжатия и выбранного выходного формата файла.

Взять, к примеру, приложения для конвертации видео. У них могут присутствовать функции уменьшения разрешения, частоты кадров (битрейта) и других параметров видеофайлов. Вместе с уменьшением этих параметров уменьшается и размер видео, т.е. имеет место сжатие с потерями.

Примерно то же самое происходит и при перекодировании видео, т.е. смене его формата. Допустим, мы добавили в какой-нибудь видеоконвертер файл формата AVI, дали команду на перекодирование его в MKV-формат, получили на выходе видеофайл меньшего размера. Если при этом его первоначальные характеристики (разрешение, битрейт и т.д.) не были изменены, а уменьшен только размер, значит, имело место сжатие без потерь.

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

Все конвертеры мультимедиа-данных, так или иначе, изменяют структуру обрабатываемых файлов. Даже если сжатие происходит без потерь, восстановить исходный файл в точно таком же состоянии, как до сжатия, далеко не всегда возможно. А в случае с некоторыми типами файлов (например, данные, полученные с контрольно-измерительных приборов) какие-либо изменения вообще недопустимы, т.е. их нельзя подвергать конвертации/форматированию.

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

Универсальные программы для сжатия данных

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

Главным преимуществом архиваторов является их способность выполнения сжатия любых типов данных без потерь. Но вместе с тем, если сжимаемые файлы не обладают ранее упомянутыми свойствами избыточности, то их размер может и вовсе остаться прежним либо уменьшиться совсем незначительно (потому имеет смысл архивации множества таких файлов). Но архиваторы — это еще и эффективное средство получения из десятков/сотен/тысяч отдельных файлов одного единого файла, который удобно хранить и, главное, пересылать через сеть.

Программы-архиваторы отличаются друг от друга функциональными возможностями. Многие из них используют уникальные алгоритмы сжатия, исходные коды или хотя бы принцип работы которых не раскрываются разработчиками. Отличаются и форматы архивов, в которые они запаковывают файлы. Однако программы-архиваторы могут поддерживать распаковку архивов, созданных другими архиваторами.

На данный момент разработано большое количество архиваторов, но повсеместного признания пользователей получили немногие из них. Вот наиболее популярные архиваторы, доступные для скачивания с нашего сайта:

  • 7-Zip. Один из самых известных бесплатных архиваторов. Способен запаковывать файлы в архивы формата 7z (собственный формат 7-Zip, обладающий высокой степенью сжатия), BZIP2 и его разновидности, GZIP и его разновидности, TAR, ZIP, XZ и WIM. По части распаковки архивов, 7-Zip поддерживает более 20 форматов архивов.
  • WinRAR. А это уже коммерческий (условно-бесплатный) архиватор от отечественного разработчика, получивший широкое признание по всему миру. Собственный формат создаваемых архивов — RAR и две его разновидности — RAR4 и RAR5. Как и в предыдущем случае, поддерживается распаковка множества (более 15) форматов архивов.
  • WinZip. Еще один условно-бесплатный архиватор, в котором разработчики сделали упор на сжатие JPEG-изображений и аудиофайлов, созданных с использованием кодека WavPack (форматы WAV, BWF, RF64, Wave64, CAF и другие). Собственный формат создаваемых архивов — ZIPX. Поддерживает распаковку архивов RAR, 7z, bz2 и некоторых других (не так много, как у предыдущих программ).
  • IZArc. Ближайший аналог архиватора 7-Zip, как в плане поддержки большого количество форматов распаковываемых архивов (здесь даже больше — более 35), так и в плане модели распространения (полностью бесплатен). Отличительная особенность IZArc — поддержка популярных форматов образов дисков, включая ISO, IMG, NRG, BIN, CDI и других.
  • PeaZip. Еще один бесплатный архиватор. По словам разработчиков, поддерживает распаковку более 200 форматов архивов, чем не может похвастаться большинство (а, возможно, ни один) из существующих архиваторов. Но стоит отметить, что PeaZip использует для этого внешние модули, взятые их открытых источников. Имеется и собственный формат архивов — PEA.

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

Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.

Категории