Как работает сжатие файлов?

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

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

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

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

Сжатие без потерь в основном работает путем удаления избыточности. Что это значит? Давайте упростим вещи. Этот стек кирпичей будет представлять наши данные:

как работает сжатие файлов

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

как работает сжатие файлов

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

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

fffffffuuuuuuuuuuuu

Может быть «сжат» до:

f7u12

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

Такие программы, как WinZip, основаны на сжатии без потерь. Они удаляют эту избыточную информацию, когда вы сжимаете (или «архивируете») файл, и восстанавливаете его, когда вы распаковываете (или «распаковываете»). Ничего не потеряно.

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

Конечно, это все упрощение, но оно дает основную суть. Узнайте больше о сжатии без потерь в Википедии, если вам интересно.

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

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

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

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

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

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

как работает сжатие файлов

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

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

Я действительно только поцарапал поверхность здесь, поэтому, пожалуйста: читайте больше о сжатии с потерями в Википедии. Это довольно увлекательно.

Заключение

Сжатие помогло сделать Интернет таким, какой он есть. Во времена dialup сжатые изображения приносили фотографии в наш браузер, по крайней мере, не на приемлемой скорости. Сжатое видео делает возможными такие сайты, как YouTube, и любой, кто использует файлообменные сети, знаком с файлами ZIP и RAR.

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

Кредит изображения: Весеннее изображение через Shutterstock

Ссылка на основную публикацию
Adblock
detector