Сжатый файл отличается от исходного тем, что

Обновлено: 05.07.2024

Если вы когда-либо загружали что-либо из Интернета (что весьма вероятно, учитывая тот факт, что сейчас 2017 год), велика вероятность того, что вы сталкивались с ZIP-файлами (или каким-либо другим типом сжатия файлов, например RAR или 7Z). ).

Возможно, вы не совсем понимаете, как работает сжатие файлов, что может объяснить, почему вы читаете этот пост.

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

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

Но подождите, как можно уменьшить размер файла, не испортив данные? Это может показаться невероятным, но если вы знаете, что происходит за кулисами, все становится понятным.

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

Нужно скачать WinZip?

Загрузите бесплатную 30-дневную пробную версию прямо сейчас!

Содержание

Что такое сжатие файлов?

Это правда, что ZIP — не единственный тип сжатого файла, но определенно один из самых распространенных. Мы могли бы продолжать и продолжать о ZIP, ARC, ARJ, RAR, CAB и десятках других, но все они по сути работают одинаково. Итак, чтобы этот пост был понятным и легким для понимания, мы сосредоточимся только на расширении ZIP.

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

Сжатое изображение файла

Нужно скачать WinZip?

Загрузите бесплатную 30-дневную пробную версию прямо сейчас!

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

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

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

Сжатие файлов без потерь

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

Что такое избыточность, спросите вы?

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

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

Сжатие файлов без потерь похоже на это:

AAABBBBBCC

и сжимая его до этого:

A3B5C2

Избыточность

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

Сжатие файлов с потерями

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

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

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

Нужно скачать WinZip?

Загрузите бесплатную 30-дневную пробную версию прямо сейчас!

Зачем сжимать файлы?

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

Занимает меньше места

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

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

Храните свою коллекцию старых фильмов о кунг-фу на жестком диске? Сожмите их все в один ZIP-файл и удивитесь, сколько места вы сэкономите.

Более эффективные переводы

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

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

Сжатие файлов для более быстрой передачи

Если вы сожмете документы в один ZIP-файл, он займет меньше места и будет передаваться намного быстрее. Получателю просто нужно использовать программу, такую ​​​​как WinZip, для извлечения файлов, и все, что вы им отправили, будет в одной организованной папке.

Может сэкономить деньги

Жесткие диски стоят дорого — мне не нужно вам об этом говорить. Хранение огромного количества данных, очевидно, занимает много места, так почему бы не получить максимальную отдачу от затраченных средств?

Скажем, у вас есть 200 ГБ данных, которые нужно спрятать на компьютере, но на жестком диске всего 250 ГБ. Конечно, он подойдет, но тогда у вас останется всего 50 ГБ, что в наши дни не так уж и много.

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

Вы можете сжать 200 ГБ данных в ZIP-файл, который займет всего 100 ГБ. У вас все еще есть все ваши файлы, готовые к использованию, когда они вам понадобятся, но вам не нужно тратить деньги на дополнительное место для хранения.

Сжатие файлов может сэкономить вам деньги

Как сжимать/распаковывать файлы

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

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

Но что, если вы имеете дело с несколькими гигабайтами данных? Вам понадобится что-то более «умное», чтобы позаботиться о вещах. К счастью для вас, WinZip является ведущим архиватором файлов.

Нужно скачать WinZip?

Загрузите бесплатную 30-дневную пробную версию прямо сейчас!

Сжатие больших файлов в WinZip

  1. Эта часть довольно сложная. Во-первых, вам нужно открыть WinZip (сложно, верно?).
  2. Затем вам нужно найти и выбрать все файлы, которые вы хотите сжать, на панели "Файлы".
  3. После того, как все они будут выбраны, нажмите «Добавить в Zip».
  4. Нажмите "Сохранить как".
  5. Выберите целевое расположение, дайте ему имя и нажмите «Сохранить». Вот и все.

Сжатие больших файлов вне WinZip (для этого необходимо установить WinZip)

  1. Откройте папку, содержащую все файлы, которые вы хотите сжать.
  2. Выделите каждый файл, который вы собираетесь заархивировать.
  3. Щелкните правой кнопкой мыши в выделенной области, и появится подменю WinZip. У вас есть несколько вариантов на выбор здесь. * Добавить в Zip-файл: щелкнув эту опцию, вы сможете назвать свой Zip-файл, определить, как он должен быть сжат, и добавить шифрование.
    * Добавить в [имя_файла].zip: этот вариант намного быстрее, но у вас не так много свободы. По сути, будет создан Zip-файл с именем содержащей его папки, но вы не сможете изменить настройки.
  4. Теперь ваш Zip-файл создан для хранения или передачи.

Распаковка (распаковка) ваших файлов

Разархивировать файл очень просто:

  1. Перетаскивание файла или папки из заархивированной папки в новое место.
  1. Щелкните правой кнопкой мыши внутри заархивированной папки, выберите «Извлечь все» и следуйте инструкциям.

Вот и все

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

Если вы хотите узнать больше, посетите веб-сайт WinZip для получения дополнительной документации.

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

Не говоря уже о том, что многие из наших сегодняшних стандартов файлов затмевают стандарты прошлого: файлы MP3 со скоростью 128 кбит/с, которые мы раньше загружали в Napster, теперь заменены форматами FLAC, в которых одна песня может быть размером с целый альбом в формате MP3.

У многих из нас есть файлы, от которых мы не хотим избавляться, но при этом не нуждаемся в немедленном динамическом доступе. Это могут быть фото, видео, музыка и многое другое. Создание архива этих файлов может сократить используемое дисковое пространство, что, в свою очередь, может привести к повышению производительности. Это также может сэкономить ваши карманы — внешний жесткий диск емкостью 1 ТБ может казаться ближе к 2 ТБ, если вы правильно архивируете!


Научиться сжимать файлы несложно, но как насчет всех этих форматов архивов? Сжатие файлов помещает их в «коробку» одного файла, но у этого файла может быть так много разных расширений: ZIP, RAR, 7Z, TAR, GZ — что все это означает? Наверняка есть разница, верно?

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

Что такое ZIP-архив?

WinZip — один из первых файловых архиваторов, получивший широкую популярность. Он позволяет пользователям сжимать файлы в ZIP-архив.


Вот основные отличия формата ZIP от других типов архивных файлов:

  • Файлы можно хранить без сжатия.
  • Каждый файл в архиве сжимается отдельно. Это позволяет использовать различные алгоритмы и более высокую степень сжатия, но имеет недостаток, заключающийся в увеличении размера файла архива при сжатии большого количества небольших файлов.
  • Шифрование ZIP на основе пароля было преступно слабым вплоть до 2003 года (когда был добавлен AES).
  • До тех пор, пока не появились расширения, существовало жесткое ограничение в 4 ГБ для всего: размера несжатого файла, размера сжатого файла и общего размера архива.
  • Сжатие ZIP выполняется быстрее и не так сильно загружает ЦП, как многие современные популярные альтернативы.
  • ZIP поддерживается большинством дистрибутивов Linux и всеми версиями Windows (начиная с XP).

Что такое архив RAR?

WinRAR прославился своим бесконечным «пробным» периодом. Через 30 дней вы начнете получать всплывающее окно в WinRAR с сообщением о том, что ваша пробная версия закончилась, которое затем можно просто… закрыть. RAR, названный в честь его разработчика Евгения Рошаля, сегодня является невероятно популярным форматом архивов.


Вот чем он отличается от толпы:

  • RAR позволяет разбивать архивы на тома, что является эффективным способом хранения больших файлов.
  • В качестве альтернативы вы можете сжать файлы в один блок (сплошной формат).
  • Шифрование AES является стандартным.
  • Архивы могут быть защищены паролем.
  • Сжатие аудиофайлов особенно эффективно (до 90%).
  • Архивы RAR можно встраивать в другие файлы. Знаете ли вы, что архив RAR можно скрыть в формате JPEG?
  • Многие процедуры извлечения RAR были переписаны как программное обеспечение с открытым исходным кодом.
  • RAR в целом имеет лучшую степень сжатия по сравнению с ZIP, его крупнейшим конкурентом.

Что такое архив 7Z?

Неудивительно, что формат архива 7Z был представлен приложением Windows 7-Zip. Это было еще в далеком 1999 году! 7-Zip и библиотека для чтения файлов в формате 7Z являются общедоступными по лицензии GNU Lesser General Public License.


Вот некоторые особенности 7Z:

  • 7Z имеет модульную и открытую архитектуру, которая позволяет сжимать, преобразовывать и шифровать файлы с помощью различных методов объединения.
  • Файлы могут быть сжаты в диапазоне от 2 до 10 %.
  • Шифрование AES является стандартным.
  • Все заголовки архива сжаты. Заголовки архива содержат информацию о том, как обрабатывать блоки данных в архиве.
  • Поддерживаются очень большие (миллиарды ГБ) файлы.
  • Поддерживаемые алгоритмы сжатия (LZMA/LZMA2, PPMd, BZip2) могут выиграть от параллельных вычислений на современных многоядерных процессорах.

Что такое архив TAR?

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


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

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

Понравился ли вам этот совет? Если это так, загляните на наш канал YouTube на нашем родственном сайте Online Tech Tips. Мы охватываем Windows, Mac, программное обеспечение и приложения, а также предлагаем множество советов по устранению неполадок и обучающих видеороликов. Нажмите кнопку ниже, чтобы подписаться!

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

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

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

Что означает сжатие?

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

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

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

Как работает сжатие файлов: сжатие с потерями

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

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

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

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

С этой сильно сжатой версией той же песни:

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

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

Сжатие с потерями в общем использовании

Как мы уже упоминали, сжатие с потерями отлично подходит для большинства видов мультимедиа. Из-за этого это жизненно важно для таких компаний, как Spotify и Netflix, которые постоянно передают огромные объемы информации. Максимальное уменьшение размера файлов при сохранении качества делает их работу более эффективной.Вы можете себе представить, если бы каждое видео с YouTube сохранялось и передавалось в исходном несжатом формате?

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

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

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

Ниже вы можете увидеть пример этого (нажмите, чтобы увидеть увеличенное изображение). Слева исходное изображение, загруженное с Pixabay в формате JPEG. Среднее изображение — результат сохранения в формате JPEG с качеством 50 процентов. А на крайнем правом изображении показано исходное изображение, сохраненное в формате JPEG с 10-процентным качеством.

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

До кадрирования для загрузки размер файла составлял 874 КБ, 310 КБ и 100 КБ соответственно.

Как работает сжатие файлов: сжатие без потерь

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

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

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

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

Может "сжиматься" до следующей, гораздо более короткой формы:

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

Сжатие без потерь в повседневном использовании

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

При создании ZIP-файла из исполняемой программы в Windows используется сжатие без потерь. Сжатие ZIP-файла является более эффективным способом хранения программы, но при распаковке (распаковке) архива сохраняется вся исходная информация. Если вы использовали сжатие с потерями для сжатия исполняемых файлов, разархивированная версия будет повреждена и непригодна для использования.

Распространенные форматы без потерь включают PNG для изображений, FLAC для аудио и ZIP. Форматы видео без потерь используются редко, поскольку они занимают много места.

Когда использовать сжатие с потерями и без потерь

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

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

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

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

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

Проблемы во время сжатия файлов

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

Преобразование форматов с потерями в форматы без потерь — пустая трата места. Помните, что форматы с потерями выбрасывают данные; восстановить эти данные невозможно.

Скажем, у вас есть файл MP3 размером 3 МБ. Преобразование этого во FLAC может привести к файлу размером 30 МБ, но эти 30 МБ содержат те же звуки, что и MP3 гораздо меньшего размера. Обратное преобразование в формат без потерь не «восстанавливает» информацию, потерянную при сжатии MP3.

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

Как работает сжатие? Теперь ты знаешь

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

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

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

Если вы загружаете много программ и файлов из Интернета, вы, вероятно, уже сталкивались с ZIP-файлами. Эта система сжатия является очень удобным изобретением, особенно для веб-пользователей, потому что она позволяет уменьшить общее количество битов и байтов в файле, чтобы его можно было передавать быстрее по более медленным интернет-соединениям или занимать меньше места на диске. Как только вы загрузите файл, ваш компьютер использует программу, такую ​​как WinZip или Stuffit, чтобы увеличить файл до исходного размера. Если все работает правильно, расширенный файл идентичен исходному файлу до сжатия.

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

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

В качестве примера давайте рассмотрим тип информации, с которым мы все знакомы: слова.

В инаугурационной речи Джона Ф. Кеннеди в 1961 году он произнес эту знаменитую фразу:

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

Сразу же мы замечаем, что:

  • "спросить" появляется два раза
  • "что" встречается два раза
  • "ваш" встречается два раза
  • "страна" встречается два раза
  • "can" встречается два раза
  • слово "делать" встречается два раза
  • "for" встречается два раза
  • "вы" встречается два раза

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

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

Избыточность и алгоритмы

Большинство программ сжатия используют разновидность адаптивного алгоритма LZ на основе словаря для сжатия файлов. «LZ» относится к Лемпелю и Зиву, создателям алгоритма, а «словарь» относится к методу каталогизации фрагментов данных.

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

Итак, если это наш словарь:

Наше предложение теперь звучит так: "1 не 2 3 4 5 6 7 8 -- 1 2 8 5 6 7 3 4"

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

Но сколько места мы на самом деле сэкономили с помощью этой системы? «1 не 2 3 4 5 6 7 8 -- 1 2 8 5 6 7 3 4» определенно короче, чем «Не спрашивай, что твоя страна может сделать для тебя, спроси, что ты можешь сделать для своей страны»; но имейте в виду, что нам нужно сохранить сам словарь вместе с файлом.

В реальной схеме сжатия выяснить различные требования к файлам было бы довольно сложно; но для наших целей давайте вернемся к идее, что каждый символ и каждый пробел занимают одну единицу памяти. Мы уже видели, что полная фраза занимает 79 единиц. Наше сжатое предложение (включая пробелы) занимает 37 единиц, и словарь (слова и числа) также занимает 37 единиц. Это дает нам размер файла 74, поэтому мы не сильно уменьшили размер файла.

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

Поиск закономерностей

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

Если мы подойдем к фразе с этой точки зрения, мы получим совершенно другой словарь.

Если программа сжатия просканирует фразу Кеннеди, первая избыточность, которую она обнаружит, будет состоять всего из пары букв. В «не спрашивай, что у тебя» повторяется буква «т», за которой следует пробел — в «не» и «что». Если бы программа сжатия записывала это в словарь, она могла бы записывать «1» каждый раз, когда за «t» следует пробел. Но в этой короткой фразе этого паттерна недостаточно, чтобы сделать его стоящей записью, поэтому программа в конечном итоге перезапишет его.

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

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

И это предложение меньшего размера: "1not__2345__--__12354"

Предложение теперь занимает 18 единиц памяти, а наш словарь занимает 41 единицу. Таким образом, мы сжали общий размер файла с 79 единиц до 59 единиц! Это всего лишь один из способов сжатия фразы, и не обязательно самый эффективный. (Посмотрите, сможете ли вы найти лучший способ!)

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

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

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

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

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

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

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

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

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

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

Читайте также: