Особенности и принцип работы JPEG
Главная особенность формата JPEG — сжатие с потерями. Алгоритм уменьшает размер файла, но удаляет часть исходных данных. Вернуть их после сохранения уже не получится.
Как JPEG сжимает изображения
Человеческий глаз лучше замечает изменения яркости, чем небольшие различия в оттенках. JPEG учитывает эту особенность: сохраняет важные детали и сокращает количество информации там, где потеря будет менее заметна.
Сжатие изображений проходит в несколько этапов:
- Алгоритм отделяет данные о яркости от данных о цвете.
- Сокращает часть цветовой информации, которую человек замечает хуже.
- Делит изображение на блоки размером 8×8 пикселей.
- Анализирует детали внутри каждого блока и удаляет часть мелких цветовых и тоновых переходов.
- Кодирует оставшиеся данные и записывает их в компактный файл.
Степень потери зависит от выбранного качества. При высоких настройках JPEG весит больше, но почти не отличается от оригинала. Сильное сжатие уменьшает файл заметнее, однако вместе с размером снижается и качество.
Глубина цвета
Формат JPEG поддерживает 24-битный цвет: по 8 бит на красный, зелёный и синий каналы. В сумме это около 16,7 млн оттенков.
Такого диапазона хватает для фотографий, иллюстраций с плавными переходами и сложных цветных изображений. JPEG хорошо передаёт оттенки кожи, неба, растений и других объектов, где один цвет постепенно переходит в другой.
Однако формат хуже справляется с графикой, в которой есть мелкий текст, тонкие линии и большие однотонные области. После сжатия границы могут потерять чёткость. Для логотипов, схем и скриншотов обычно выбирают PNG или векторный формат.
Артефакты сжатия
Если сильно уменьшить качество JPEG, на изображении появятся заметные искажения — артефакты сжатия. Чаще всего они выглядят так:
- квадратные блоки на однородных участках;
- размытые мелкие детали;
- цветные пятна возле контрастных границ;
- светлые или тёмные ореолы вокруг объектов;
- нечёткий текст.
Артефакты особенно заметны на изображениях с надписями, резкими контурами и мелкими повторяющимися элементами. Например, сильное сжатие может испортить скриншот интерфейса или фотографию ткани с узором.
Каждое новое сохранение JPEG с потерями снова сокращает часть данных. Если много раз открыть, отредактировать и сохранить один и тот же файл, качество постепенно снизится. Поэтому во время работы храните исходник в формате без потерь или в формате графического редактора, а JPEG создавайте для публикации готового изображения.
Почему JPEG не поддерживает прозрачность
У JPEG нет альфа-канала — дополнительного канала, который хранит данные о прозрачности каждого пикселя. Изображение в этом формате всегда имеет сплошной фон.
Если сохранить в JPEG логотип без фона, прозрачные участки редактор заполнит цветом — чаще всего белым. Для изображений с полностью или частично прозрачным фоном используйте PNG, WebP или AVIF.