19 в чем суть процесса сжатия информации. Перемещение внутри NTFS раздела. Методы сжатия данных

Многих пользователей сегодня волнует процесс сжатия информации для экономии свободного пространства на жестком диске. Этот один из наиболее эффективных способов использования полезного места на накопителе.


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

Зачем сжимать информацию?

На сегодняшний день сжатие информации является достаточно важной процедурой, которая необходима каждому пользователю ПК. Сегодня любой пользователь может позволить себе приобрести современный накопитель данных, в котором предусмотрена возможность использования большого объема памяти. Подобные устройства, как правило, оснащаются высокоскоростными каналами для транслирования информации. Однако, стоит отметить, что с каждым годом объем необходимой пользователям информации становится все больше и больше. Всего десять лет назад объем стандартного видеофильма не превышал 700 Мегабайт. Сегодня объем фильмов в HD-качестве может достигать нескольких десятков гигабайт.

Когда необходимо сжатие данных?

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

1. Передача по электронной почте.

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

2. Публикация данных на интернет-сайтах и порталах.

Процедура сжатия часто используется для уменьшения объема документов, используемых для публикации на различных интернет -ресурсах. Это позволяет значительно сэкономить на трафике.

3. Экономия свободного места на диске.

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

Кроме перечисленных выше ситуаций, возможно еще огромное количество случаев, в которых процесс сжатия данных может оказаться очень полезным. Мы перечислили только самые распространенные.

Способы сжатия информации

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

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

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

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

Сжатие без потери информации

Алгоритмы сжатия без потери информации позволяют обеспечить максимально точное восстановление исходных данных. Любые потери исключены. Однако у данного метода есть один существенный недостаток: при использовании таких алгоритмов сжатие не очень эффективно.

Универсальные методы

Существуют также особые методы, при помощи которых можно сжимать информацию, хранящуюся на жестких дисках, для уменьшения ее объема. Это так называемые универсальные методы. Всего можно выделить три технологии.

1. Преобразование потока.

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

2. Статистическое сжатие.

Этот тип процесса сжатия информации можно условно разбить еще на два типа: блочные методы и адаптивные методы. При использовании блочных алгоритмов происходит отдельное высчитывание каждого отдельного блока информации с добавлением его к блоку, который уже прошел сжатие. Адаптивные алгоритмы предусматривают вычисление вероятностей по той информации, которая уже была обработана в процессе сжатия. К этому типу методов можно отнести адаптивный алгоритм Шеннона-Фано.

3. Преобразование блока.

В процессе сжатия вся преобразовываемая информация распределяется на несколько отдельных блоков. Происходит целостное трансформирование информации.

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

Сжатие информации при копировании

Одним из важнейших компонентов при осуществлении резервного копирования информации является то устройство, на котором будет перемещаться информация. Чем больший объем имеет нужная вам информация, тем более объемное устройство придется использовать. Решить проблему нехватки свободного пространства можно путем использования процесса сжатия информации.

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

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

Все будет зависеть только от программы, которую вы используете для сжатия информации. При выборе утилиты для сжатия, обязательно обратите внимание на то, как выбранная вами программа способна сжимать данные. Эффективность сжатия также будет зависеть от типа преобразуемой вами информации. Так, например, эффективность сжатия текстовых файлов и документов может достигать 90%. А вот при сжатии изображений удается достичь эффективности всего в несколько процентов.

Заключение

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

АРХИВАТОРЫ

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

Архивный файл – это специально созданный файл, содержащий в себе один или несколько файлов в сжатом виде.

Степень сжатия : K c =V c /V o *100%

K c – коэффициент сжатия, V c – объем сжатого файла, V o – исходный объем файла.

Степень сжатия зависит от:

1) используемой пограммы – архиватора,

2) метода сжатия,

3) типа исходного файла: текстового, графического, видео, звукового и т.д.

Программы, осуществляющие упаковку и распаковку файлов называются архиваторами. Наиболее распространенными являются: ARJ, ZIP, RAR. Расширение архивных файлов совпадает с названием использованного для их создания архиватора.

Архиваторы позволяют создавать самораспаковывающиеся архивные файлы, т.е. для их распаковки не требуется запуска программы-архиватора, т.к. они сами содержат программу распаковки. Эти архивы называются SFX-архивы
(SelF-eXtracting). Расширение таких файлов *.EXE.


Принципы сжатия информации

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

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

3. В следующим принципе используется закономерность что в тексте буквы встречаются с разной частотой. Например в этом тексте пробел самый распространенный символ, очень часто встречаются символы «а», «и». Эти часто встречающиеся символы можно представлять короткой комбинацией битов, остальные символы возможно кодировать более длинной последовательностью. Например:

4. Физически ПК выделяет место для размещения файлов на диске по кластерам - блоками по 4 кБ. Меньше выделить невозможно. Например если файл имеет размер 8193 байта (8 кБ и 1 байт), физически он будет занимать 16 кБ или 16384 байта. Объединение группы файлов в один позволяет сэкономить на этих остатков. При упаковки маленьких файлов это дает большую экономию.

Итого, при отдельном размещении файлов не используются 6 кБ, что составляет 100% от содержания файлов. Во втором случае неиспользуемыми остается 2 кБ, 33%.


Архиватор zip

Запаковка файлов pkzip [ключи] <имя архива> [пути файлов]

Ключи: -rp архивация с подкаталогами с сохранением структуры

SPWD защита архива паролем (PWD)

A добавить файлы в архив

M переместить файлы в архив

V просмотр содержимого архива

Если производится архивация всех файлов каталога, то обязательно указывать маску *.*

Распаковка файлов pkunzip [ключи] <имя архива> [имена файлов]

Ключи: -d распаковка с подкаталогами с сохранением структуры

SPWD пароль архива (PWD)


Архиватор arj

arj <команда> [ключи] <имя архива> [имена файлов]

Для архиватора arj один файл выполняет операции и распаковки и запаковки.

Команды: a архивация

e распаковка без сохранения структуры каталогов

x распаковка с сохранением структуры

l просмотр содержимого архива

m переместить файлы в архив

d удалить файлы из архива

Ключи: -r упаковка с подкаталогами с сохранением структуры

V разбивка архива на тома с объемом vol(если указан)

размер для стандартных дискет (360, 720, 1200, 1440) указывается в килобайтах, размер нестандартных дискет указывается в байтах

V указывается при распаковке многотомного архива

GPWD пароль архива (PWD )

Запаковка файлов

Распаковка файлов

©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-08

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

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

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

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

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

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

Под степенью сжатия понимают отношение размеров сжатого файла и исходного, выраженное в процентах.

Степень сжатия зависит от используемой программы сжатия, метода сжатия и типа исходного файла. Лучше всего сжимаются файлы графических образов, текстовые файлы, файлы данных, степень сжатия которых может достигать 5 — 40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей — 60 — 90%. Почти не сжимаются архивные файлы. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия.

Архивация (упаковка) — помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.

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

Программы, осуществляющие упаковку и распаковку файлов, называются программами-архиваторами.

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

Основные виды программ-архиваторов

В настоящее время применяется несколько десятков программ-архиваторов, которые отличаются перечнем функций и параметрами работы, однако лучшие из них имеют примерно одинаковые характеристики. Из числа наиболее популярных программ можно выделить: Zip (и его модификация WinZip), WinRAR, Arj (и его разновидности), G-Zip, 7-Zip.

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

Самораспаковывающийся архив получил название SFX-архив (SelF-eXtracting). Архивы такого типа обычно создаются в формате ЕХЕ-файла.

Многие программы-архиваторы производят распаковку файлов, выгружая их на диск, но имеются и такие, которые предназначены для создания упакованного исполняемого модуля (программы). В результате такой упаковки создается программный файл с теми же именем и расширением, который при загрузке в оперативную память самораспаковывается и сразу запускается. Вместе с тем возможно и обратное преобразование программного файла в распакованный формат. К числу таких архиваторов относятся программы Upx, PKLITE, LZEXE.

Ппрограмма EXPAND, входящая в состав утилит операционной системы Windows, применяется для распаковки файлов программных продуктов, поставляемых фирмой Microsoft.

Способы управления программой-архиватором

Управление программой-архиватором осуществляется одним из следующих способов:

  • - с помощью командной строки, в которой формируется команда запуска, содержащая имя программы-архиватора, команду управления и ключи ее настройки, а также имена архивного и исходного файлов;
  • - с помощью встроенной оболочки и диалоговых панелей, появляющихся после запуска программы и позволяющих вести управление с использованием меню и функциональных клавиш, что создает для пользователя более комфортные условия работы;
  • - с помощью контекстного меню Проводника в операционной системе Windows.
Архив - Сжатие файлов: Как это происходит? - Журнал «Компьютер»

Здравствуйте! Не могли бы вы объяснить начинающему пользователю, как сжимаются файлы всякими архиваторами? Хотя бы в общих чертах. А то я с трудом себе представляю, как это вообще может быть.

Виталий

Совершенно верно, Виталий, это действительно не так просто себе представить, тем более, если не знаешь алгоритма. Но читателям журнала «Компьютер» повезло;), поскольку я в свое время много интересовался алгоритмами сжатия данных и, как программист, даже пробовал писать собственный архиватор.

Сжатие данных (англ. data compression) - алгоритмическое преобразование данных, производимое с целью уменьшения их объема. Применяется для более рационального использования устройств хранения и передачи данных. Процесс сжатия еще называют упаковкой данных или компрессией. Обратная процедура называется восстановлением данных (распаковкой, декомпрессией).

Сжатие основано на устранении избыточности, содержащейся в исходных данных. Простейшим примером избыточности является повторение в тексте фрагментов (например, слов естественного или машинного языка).

Итак, давайте начнем с простого примера. Допустим, у нас есть текстовый файл, который содержит строку текста:

АААГГДЕЕЕЕЖЖУУУККККИИИ

Текст довольно странный, согласитесь, но сейчас мы его сожмем, и он у нас будет занимать меньше места. Основной принцип сжатия весьма прост и сводится к следующему: каждая комбинация подряд повторяющихся символов заменяется одним таким символом и числом его повторений. Т.е. наш исходный текст в сжатом виде будет выглядеть так:

А3Г2Д1Е4Ж2У3К4И3

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

Данный пример довольно упрощен и не отражает эффективность, которую обычно демонстрируют при сжатии архиваторы. Так у нас получилось сжатие в 22/16 = 1,375 раза, хотя архиваторы, как правило, способны сжимать файлы в 2-10000 раз. Все зависит от повторяемости значений байт в файле.

Какие архиваторы бывают

Например, во времена незабвенной MS-DOS были архиваторы ARJ, PKZIP, HA, RAR, ARC, ACE и упаковщики программ LZEXE и PKLITE. Позднее для операционной системы Windows были созданы WinAce, WinZIP, WinRAR, 7Zip и известный мне упаковщик UPX.

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

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

Благодаря сжатию с потерями можно добиться многократного уменьшения объема данных, и при отображении распакованных данных человек практически не ощутит разницы между оригиналом.

На сколько сжимаются разные файлы

Текстовые

Действительно, например, текстовые файлы могут сжиматься весьма плотно. Так, например, книга Аркадия и Бориса Стругацких «Трудно быть богом» размером 354 329 байт архиватором WinRAR сжимается до 140 146 байт, т.е. в 2,5 раза.

Программы

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

Для этого существуют упаковщики программ на подобие UPX и др. Например, мой текстовый редактор Superpad.exe размером 524 288 байт упаковщиком UPX сжимается до 179 200 байт (в 2,9 раза) и при этом может по-прежнему запускаться самостоятельно как программа.

Изображения

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

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

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

Рис. 1. Красивый лягушонок в формате BMP

Для сравнения, возьмем красивого лягушонка (рис. 1) разрешение 799x599 пикселей (точек) и сохраним в разные форматы хранения изображений. Получим файлы:

frog.bmp - размер 1 437 654 байта и тут, по сути, никакого сжатия и никаких потерь качества, поскольку картинка занимает положенные ей байты в формате Ширина x Высота x 3 байта на пиксель + заголовок формата файла BMP согласно качеству True colors (24 бит/пиксель). Т.е. каждая точка представлена тремя компонентами RGB (Red-красный, Green-зеленый и Blue-синий), каждая из которых занимает один байт.

frog24.png - 617 059 байт, сжатие в 2,33 раза и без потерь - основное свойство формата PNG-24. Данные BMP и PNG практически идентичны.

Рис. 2. Файл frog_256colors.gif

frog_256colors.gif - 261 956 байт (рис. 2), сжатие в 5,48 раза с потерями, базовая палитра 256 цветов (8 бит/пиксель). Уловить разницу между этим файлом и оригиналом в BMP довольно сложно, как в той игре «Найди десять отличий».

Рис. 3. Файл frog_64colors.gif

frog_64colors.gif - 187 473 байта (рис. 3), сжатие в 7,67 раза с потерями, базовая палитра уплотнена до 64 цветов (6 бит/пиксель). А вот тут цвета уже блеклые, но вполне сходное с оригиналом изображение. Особенно это заметно, если посмотреть на глаз лягушонка.

JPEG

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

С другой стороны, JPEG малопригоден для сжатия чертежей, текстовой и знаковой графики, где резкий контраст между соседними пикселями приводит к появлению заметных артефактов. Такие изображения целесообразно сохранять в форматах без потерь, таких как TIFF, GIF, PNG или RAW.

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

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

Описание алгоритма сжатия JPEG довольно не простое, поэтому кто захочет, может ознакомиться с ним по ссылке http://el-izdanie.narod.ru/gl4/4-3.htm. Ну и для сравнения сожмем нашу исходную картинку с разным уровнем качества:

frog100%.jpg - 216 168 байт, сжатие в 6,65 раза, потери якобы 0%, т.е. 100%-е качество картинки, но даже на это рассчитывать я бы не стал. Поверьте, отличия есть, правда, на глаз абсолютно неотличимые.

frog60%.jpg - 85 910 байт, сжатие в 16,7 раза, т.е. качество картинки 60%, но картинка снова кажется одинаковой, хотя, если присмотреться к участкам с однородным фоном или мелким деталям, то заметны артефакты в виде смазанности или квадратных одноцветных сегментов.

frog20%.jpg - 36 426 байт, сжатие в 39,5 раз, качество картинки 20% от исходного изображения, но по-прежнему картинка еще способна обмануть неискушенный глаз, но на однородном фоне отчетливо видны одноцветные угловатые сегменты, а мелкие детали окончательно потеряли свои четкие очертания.

MPEG

Это один из самых первых и самых распространенных форматов хранения видео. Несколько раз модернизировался. Но в упрощенном виде, можно сказать, что алгоритм очень напоминает сжатие как в JPEG, но с учетом того, что первый кадр видео всегда является исходным и оригинальным, а последующие кадры хранят лишь разницу между предыдущим и следующим кадрами. Благодаря этому каждый последующий кадр является предсказуемым с точки зрения распаковки (рис. 4 и 5).

Рис. 4. Исходные кадры видео

Рис. 5. Межкадровая разница без применения алгоритмов компенсации движения

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

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

Компенсация движения (англ. Motion Compensation) - один из основных алгоритмов, применяемых при обработке и сжатии видеоданных. Алгоритм использует сходство соседних кадров в видео последовательности и находит векторы движения отдельных частей изображения (обычно блоков 16x16 и 8x8).

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

Практически в любом видео соседние кадры похожи, имеют общие объекты, которые, как правило, смещаются друг относительно друга. И совершенно естественно желание закодировать видео так, чтобы объекты не кодировались многократно, а просто описывались некоторые их смещения.

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

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

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

Звук и музыка

Звук и музыка могут без потерь, либо с потерями храниться в формате WAV. Например, формат WAV (Windows PCM) не предусматривает сжатие и хранит звуковой сигнал в оригинале, если можно так выразиться.

Формат WAV (ACM Waveform), по сути, является контейнером и может хранить звук, сжатый по алгоритму MPEG layer 3, либо хранить музыку в формате MP3, хотя много и других форматов OGG, FLAC и д.р.

Рассказать об алгоритмах сжатия звука уже не успеваю, к тому же ранее в нашем журнале была замечательная статья на эту тему.


Перед тем как начинать процесс сжатия файла или папки, очень важно понять все получаемые от этого выгоды, и разобрать сами доступные в Windows 7 методы сжатия:

  • NTFS сжатие файла
  • Сжатие (zip) папки.

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

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


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

Сжатие NTFS, доступное на использующих файловую систему NTFS жестких дисках, имеет следующие ограничения и особенности:

  • Сжатие - атрибут для файла или папки.
  • Папки и файлы на томе NTFS, либо сжаты, либо нет.
  • Новые файлы, созданные в сжатой папке сжимаются по умолчанию.
  • Состояние сжатой папки не обязательно отражает состояние сжатия файлов в этой папке. Например, папки могут быть сжаты без сжатия его содержания, и некоторые или все файлы в сжатой папке можно распаковать.
  • Работа с NTFS-сжатыми файлами без их распаковки, так как они распаковываются и снова сжимаются без вмешательства пользователя.
  • Если сжатый файл открыт, система автоматически его распаковывает.
  • При закрытии файла Windows снова его сжимает.
  • Для упрощения распознавания, NTFS сжатые имена файлов и папок отображаются в другом цвете.
  • NTFS-сжатые файлы и папки остаются в сжатом виде, только на NTFS томе.
  • NTFS сжатые файлы не могут быть зашифрованы.
  • Сжатые байты файла недоступны для приложений; они видят только несжатые данные.
  • Приложения, открывающие сжатые файлы могут работать с ними, как с не сжатыми.
  • Сжатые файлы не могут быть скопированы в другой файловой системе.

Примечание: для управления сжатием NTFS можно использовать компактный инструмент командной строки.

Перемещение и копирование сжатых файлов и папок.


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

Копирование внутри раздела раздела NTFS.

Как изменяется состояние сжатого файла или папки, если вы его копируете внутри раздела NTFS? При копировании файла или папки внутри файловой системы NTFS раздел, файл или папка наследует состояние сжатия целевой папки. Например, если скопировать сжатый файл или папку в распакованную папку, файл или папка будут автоматически распакованы.

Перемещение внутри NTFS раздела.

Что происходит с состоянием сжатия файла или папки при перемещении в пределах раздела NTFS?

При перемещении файла или папки внутри раздела NTFS, файл или папка сохраняет свое первоначальное состояние сжатия. Например, при перемещении сжатого файла или папки в несжатом папку, файл остается сжатым.

Копирование или перемещение между NTFS разделами.

Что происходит с сжатыми файлом или папкой при копировании или перемещении его между разделами NTFS?

При перемещении файла или папки между разделами NTFS, файл или папка наследует состояние сжатия целевой папки. Поскольку Windows 7 рассматривает движение между разделами как копирование с последующей операцией удаления, файлы наследуют состояние сжатия целевой папки.

При копировании файла в папку, которая уже содержит файл с тем же именем, скопированный файл принимает атрибут сжатия целевого файла, независимо от состояния сжатия папки.

Копирование или перемещение между FAT и NTFS томами.

Что происходит с сжатием файла, который копируется или перемещается между FAT и NTFS томами?

Сжатые файлы, скопированные в раздел FAT становятся не сжатыми, так как FAT тома не поддерживают сжатие. Однако, если вы копируете или перемещаете файлы из раздела FAT в раздел NTFS, они наследуют атрибут сжатия папки, в которую вы их копируете.

При копировании файлов, файловая система NTFS вычисляет дисковое пространство, основанное на размере несжатого файла. Это важно, потому что файлы во время процесса копирования не сжаты, и система должна гарантировать достаточное пространство. Если Вы пытаетесь копировать сжатый файл в раздел NTFS, а у него нет свободного места для несжатого файла, перед вами появиться сообщение об ошибке, которое вас уведомит о недостаточности дискового пространства для файла.