Процесс уменьшения объема данных, необходимых для представления информации.Сжатие данных — это искусство и наука представления информации меньшим числом бит, чем в оригинале. Это основополагающая технология цифровой эпохи, обеспечивающая всё — от потокового видео до хранения геномов. Основная идея заключается в использовании избыточности: большинство реальных данных содержат закономерности, повторения или статистические регулярности, которые можно описать более компактно, чем сами исходные данные. Алгоритмы сжатия находят эти закономерности и кодируют их, позволяя восстановить исходную информацию (без потерь) или приближенно (с потерями) из сжатой формы.
Эта область началась с работы Клода Шеннона 1948 года «Математическая теория связи», которая заложила основы теории информации и ввела понятие энтропии как меры информации. За ней последовали ранние практические алгоритмы, такие как кодирование Хаффмана (1952) и Лемпеля-Зива (1977).
Сжатие работает путем моделирования структуры данных. Методы без потерь, такие как кодирование Хаффмана или LZ77, строят словарь часто встречающихся символов или фраз и заменяют их более короткими кодами. Методы с потерями, такие как JPEG или MP3, отбрасывают информацию, к которой человеческий глаз или ухо нечувствительны, используя преобразования (например, дискретное косинусное преобразование) для концентрации энергии в нескольких коэффициентах. В физике и обработке сигналов сжатие часто связано с теорией информации: минимальное число бит, необходимое для описания сигнала, — это его энтропия, и сжатие приближается к этому пределу, устраняя статистическую избыточность.
Сжатие данных используется практически во всех цифровых средах: форматы изображений (JPEG, PNG), аудио (MP3, FLAC), видео (H.264) и архиваторы файлов (ZIP). В научных исследованиях оно обеспечивает эффективное хранение и передачу огромных наборов данных, например, от ускорителей частиц или секвенаторов генома.
«Zip-бомба» — это сжатый файл, предназначенный для распаковки в огромный размер, что использует тот факт, что высокоповторяющиеся данные можно сжать почти до нуля.





