Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Сжатие файлов

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

Сжатие данных - это процесс удаления избыточность из данных. Рассмотрим воображаемый пример. Скажем, у нас есть полностью черный файл изображения размером 100 на 100 пикселей. Что касается хранения данных (при условии, что 24 бита или 3 байта на пиксель), изображение будет занимать 30,000 XNUMX байт памяти:

100 100 3 * 30,000 * XNUMX = XNUMX XNUMX XNUMX

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


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

Алгоритмы сжатия (математические методы, используемые для сжатия) делятся на две основные категории: без потерь и с потерями. Сжатие без потерь сохраняет все данные, содержащиеся в оригинале. Это означает, что при восстановлении файла из сжатой версии восстановленный файл в точности совпадает с исходной несжатой версией. С другой стороны, сжатие с потерями удаляет данные по мере выполнения сжатия, чтобы можно было применить большее сжатие. Когда файл с потерями восстанавливается, он не соответствует исходной версии; скорее, это близкое приближение. Примерами сжатия с потерями являются JPEG (для изображений) и MP3 (для музыки). В нашем обсуждении мы будем рассматривать исключительно сжатие без потерь, поскольку большинство данных на компьютерах не допускают потери данных.


 

Лучшие облачные вычисления для ОС в OnWorks: