Математические основы энтропийного сжатия

Растровое изображение в памяти компьютера представляет собой двумерную матрицу пикселей. В стандартном 24-битном формате RGB каждый пиксел кодируется тремя байтами, что дает гигантские объемы данных при высоких разрешениях. Задача алгоритмов без потерь заключается в устранении двух видов избыточности. Пространственная избыточность возникает из-за схожести соседних точек картинки. Статистическая избыточность связана с тем, что определенные комбинации байтов встречаются в массиве значительно чаще остальных. В этой части работы нужно последовательно описать работу алгоритма длин серий RLE, кодирования Хаффмана и словарного метода LZ77, на базе которых строятся современные графические спецификации.

Внутреннее устройство форматов PNG и WebP Lossless

Формат PNG применяет двухэтапную схему обработки. Сначала пиксели проходят через предварительные фильтры предсказания Sub, Up, Average и Paeth. Фильтр не сжимает данные сам по себе, а заменяет абсолютные значения пикселей на дельту, то есть разницу между текущим значением и соседними точками. Преобразованный поток байтов подается на вход компрессору Deflate, сочетающему скользящее окно LZ77 и деревья Хаффмана. Для WebP в режиме без потерь (VP8L) характерны более сложные трансформации. Формат использует пространственное предсказание, вычитание зеленого канала для нормализации цветовых плоскостей, динамический кэш недавних цветов и локальные палитры для повторяющихся областей.

Практический эксперимент на тестовых наборах

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

  1. Сохрани все тестовые исходники в несжатый 24-битный формат BMP или несжатый TIFF для получения точной базовой точки отсчета объема данных.
  2. Выполни конвертацию файлов в форматы PNG и WebP Lossless с максимальным уровнем компрессии через консольные утилиты optipng, cwebp или скрипт на Python с библиотекой Pillow.
  3. Занеси итоговый вес файлов в байтах в сравнительную таблицу и вычисли коэффициент компрессии как отношение сжатого объема к исходному размеру растра.
  4. Проведи верификацию целостности путем обратного декодирования в 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 не находят в них повторяющихся последовательностей байтов.