Математические основы энтропийного сжатия
Растровое изображение в памяти компьютера представляет собой двумерную матрицу пикселей. В стандартном 24-битном формате RGB каждый пиксел кодируется тремя байтами, что дает гигантские объемы данных при высоких разрешениях. Задача алгоритмов без потерь заключается в устранении двух видов избыточности. Пространственная избыточность возникает из-за схожести соседних точек картинки. Статистическая избыточность связана с тем, что определенные комбинации байтов встречаются в массиве значительно чаще остальных. В этой части работы нужно последовательно описать работу алгоритма длин серий RLE, кодирования Хаффмана и словарного метода LZ77, на базе которых строятся современные графические спецификации.
Внутреннее устройство форматов PNG и WebP Lossless
Формат PNG применяет двухэтапную схему обработки. Сначала пиксели проходят через предварительные фильтры предсказания Sub, Up, Average и Paeth. Фильтр не сжимает данные сам по себе, а заменяет абсолютные значения пикселей на дельту, то есть разницу между текущим значением и соседними точками. Преобразованный поток байтов подается на вход компрессору Deflate, сочетающему скользящее окно LZ77 и деревья Хаффмана. Для WebP в режиме без потерь (VP8L) характерны более сложные трансформации. Формат использует пространственное предсказание, вычитание зеленого канала для нормализации цветовых плоскостей, динамический кэш недавних цветов и локальные палитры для повторяющихся областей.
Практический эксперимент на тестовых наборах
Практическая часть реферата требует строгого сравнительного эксперимента. Для чистоты выводов нужно отобрать два принципиально разных типа изображений в одинаковом разрешении. Первая категория включает плоскую графику с резкими цветовыми границами вроде скриншотов, схем и пиксельных иконок. Вторая группа состоит из полноцветных фотоснимков с естественными текстурами, градиентами и шумом сенсора камеры.
- Сохрани все тестовые исходники в несжатый 24-битный формат BMP или несжатый TIFF для получения точной базовой точки отсчета объема данных.
- Выполни конвертацию файлов в форматы PNG и WebP Lossless с максимальным уровнем компрессии через консольные утилиты optipng, cwebp или скрипт на Python с библиотекой Pillow.
- Занеси итоговый вес файлов в байтах в сравнительную таблицу и вычисли коэффициент компрессии как отношение сжатого объема к исходному размеру растра.
- Проведи верификацию целостности путем обратного декодирования в BMP и расчета хэш-сумм SHA-256 для подтверждения стопроцентного сохранения пикселей.
Критерии оценки и академические требования
Преподаватель информатики оценивает строгость технической терминологии и доказательность проведенного тестирования. Особое внимание обращают на корректность трактовки этапа фильтрации в PNG, поскольку многие ошибочно считают сжатием саму математическую разность пикселей. В практическом блоке проверяется воспроизводимость теста. В отчете должны фигурировать версии использованных утилит, точные флаги запуска компрессоров, исходное разрешение каждого кадра и глубина цвета.
Источники точных данных и спецификаций
Используй первичные технические спецификации стандартов. Устройство формата PNG и байтовая структура его критических чанков IHDR, IDAT, IEND описаны в стандарте RFC 2083 и документации консорциума W3C. Алгоритм сжатия Deflate регламентирован в RFC 1951. Описание трансформаций контейнера WebP Lossless доступно в документации платформы Google Developers в разделе графических форматов. В качестве стандартного тестового набора для фотографий возьми общепринятый в академической среде архив Kodak Lossless True Color Image Suite.
Частые вопросы
Считается ли сжатием без потерь перевод картинки в палитру PNG-8?
Уменьшение палитры до 256 оттенков безвозвратно отсекает исходную информацию о миллионах цветов 24-битного изображения. Это форма сжатия с потерями, пусть даже последующее сохранение самой индексной карты происходит без искажений.
Почему фотографии плохо сжимаются без потерь?
В реальных снимках присутствует шум матрицы и микроградиенты. Случайные значения пикселей обладают максимальной информационной энтропией, поэтому словари LZ77 не находят в них повторяющихся последовательностей байтов.