Сжатие с потерями и без потерь
Что на самом деле удаляется при сжатии, почему этого обычно не видно и в какой момент искажения становятся заметны.
Сжатие без потерь сохраняет изображение так, чтобы его можно было восстановить с точностью до пикселя, тогда как сжатие с потерями безвозвратно удаляет информацию, которую человеческий глаз вряд ли заметит. Это единственное различие объясняет, почему фотография может стать в 10 раз меньше без видимых изменений, но тот же трюк не сработает со скриншотом.
Подвох сжатия с потерями в том, что потери накапливаются. Каждое сохранение отбрасывает еще немного данных, поэтому многократное открытие и повторное сохранение JPEG ухудшает его качество, чего никогда не происходит с PNG. Храните оригинал без потерь, экспортируйте копии с потерями для публикации и всегда делайте повторный экспорт из оригинала, а не из копии.
Что на самом деле удаляет сжатие с потерями
Сжатие с потерями удаляет мелкие детали и едва заметные различия в цвете, которые человеческое зрение воспринимает плохо. Эти алгоритмы основаны на измеренных пределах восприятия, а не на догадках.
Человеческий глаз улавливает изменения яркости гораздо точнее, чем изменения цвета, поэтому JPEG сохраняет информацию о цвете с пониженным разрешением, оставляя детали яркости нетронутыми. Формат также упрощает мелкую текстуру внутри небольших блоков изображения, поскольку слегка сглаженный участок травы все равно выглядит как трава, но требует в разы меньше данных.
Как работает сжатие без потерь
Сжатие без потерь находит закономерности и описывает их более кратко, ничего не удаляя. Восстановление файла воссоздает пиксели, идентичные оригиналу, байт в байт.
Ряд из 400 одинаковых белых пикселей можно записать как одну инструкцию вместо 400 отдельных значений, поэтому однотонные цвета сжимаются колоссально, а фотографический шум почти не сжимается. Так работает PNG, WebP в режиме без потерь, а также сжатие внутри ZIP-архива.
Какие форматы к чему относятся
| Формат | Тип | Прозрачность | Лучше всего для |
|---|---|---|---|
| JPEG | Только с потерями | Нет | Фотографии |
| PNG | Только без потерь | Да | Скриншоты, логотипы, схемы |
| WebP | Оба режима | Да | Почти все в вебе |
| AVIF | Оба режима | Да | Большие фотографии |
| HEIC | С потерями, возможен без потерь | Да | Хранение фото на телефоне |
| GIF | Без потерь, 256 цветов | Да, один цвет | Мало для чего, почти заменен |
| BMP | Фактически без сжатия | Ограниченно | Ничего из современного |
WebP и AVIF — наиболее полезные варианты, так как оба поддерживают оба режима. Таким образом, один формат может правильно обрабатывать и фотографию, и логотип, чего JPEG или PNG по отдельности сделать не могут.
Почему повторное сохранение портит JPEG
Каждое сохранение с потерями отбрасывает детали из изображения, которое уже потеряло детали, и этот ущерб суммируется. Второе сохранение не может вернуть то, что удалило первое, и удаляет еще больше из того, что осталось.
После 5 или 6 циклов эффект становится заметен в виде блочности на гладких участках и ореолов вокруг резких краев. Проблема чаще всего возникает с изображениями, которыми делятся многократно, так как фотография, пересланная через несколько мессенджеров, может пройти 4 или 5 перекодирований еще до того, как кто-то решит ее отредактировать. Работа с оригиналом каждый раз полностью решает эту проблему.
Когда сжатие с потерями — правильный выбор
- Фотографии на сайте, где сокращение размера на 70 процентов незаметно для посетителей.
- Изображения товаров в интернет-магазине, где скорость загрузки страниц напрямую влияет на продажи.
- Фотографии для форм загрузки, где строгий лимит в KB не оставляет альтернатив.
- Изображения в письмах, где каждый килобайт скачивается на телефон.
- Публикации в социальных сетях, где платформа в любом случае сожмет файл заново.
Когда сжатие без потерь — правильный выбор
- Мастер-файлы и оригиналы, которые позже будут редактироваться или экспортироваться заново.
- Скриншоты и схемы, где резкие края и текст сильно страдают при сжатии с потерями.
- Логотипы и элементы фирменного стиля, передаваемые другим людям для использования в их материалах.
- Медицинские, юридические и научные изображения, где измененные пиксели могут иметь серьезные последствия.
- Любые изображения с прозрачностью, которая должна оставаться точной по краям.
Что означает настройка качества
Показатель качества определяет, насколько агрессивно отбрасываются детали, и он не является процентным выражением чего-то конкретного. Качество 50 не означает половину качества, а качество 100 не означает сжатие без потерь.
Это число указывает, насколько сильно кодировщик упрощает каждый блок изображения. JPEG с качеством 100 все равно отбрасывает информацию, поэтому такая настройка скорее тратит место на диске, чем сохраняет абсолютно все. Разные форматы используют эту шкалу по-разному, поэтому WebP на 80 и AVIF на 60 выглядят сопоставимо с JPEG на 85.
Как выстроить надежный рабочий процесс
Чтобы избежать накопления искажений в вашей библиотеке, следуйте этим 5 правилам.
- Храните исходный файл с камеры или рабочий файл дизайна нетронутым в папке, из которой вы никогда ничего не экспортируете напрямую.
- Вносите изменения в копию без потерь, а не в готовый JPEG.
- Экспортируйте копии для публикации каждый раз из оригинала, а не из предыдущего экспорта.
- Выбирайте формат публикации в зависимости от назначения, используя WebP для веба и JPG для форм и электронной почты.
- Выполняйте повторный экспорт, а не повторное сжатие, когда требуется новый размер или формат.
Правило 3 нарушают чаще всего. Повторное сжатие уже экспортированного файла кажется более быстрым решением в моменте, но каждый раз добавляет новое поколение потерь.
Почему ZIP-архив не уменьшает JPEG
Сжатие папки с файлами JPEG в ZIP-архив практически не экономит место, потому что эти изображения уже сжаты. ZIP-архив с 200 фотографиями обычно всего на 1–3 процента меньше, чем сами фотографии.
ZIP применяет сжатие без потерь, которое работает за счет поиска повторений, а кодировщик с потерями уже удалил большую часть доступных повторений. Та же папка с несжатыми файлами BMP уменьшилась бы колоссально, так как с ними еще ничего не делали. ZIP остается полезным для объединения множества файлов в один архив для скачивания, но это вопрос удобства, а не уменьшения размера.
Можно ли определить степень сжатия изображения
Сравните размер файла с количеством пикселей: если на один пиксель фотографии приходится значительно меньше 1 байта, значит, она была сильно сжата. Фотография размером 1000 на 1000 пикселей при весе 60 KB сжата очень сильно, тогда как то же изображение при весе 400 KB — нет.
Визуальный осмотр также работает, если знать, куда смотреть. Увеличьте масштаб до 100 процентов и проверьте однотонные области на наличие едва заметных квадратных блоков, а резкие края — на наличие ореолов. Оба артефакта появляются в одних и тех же местах независимо от того, какой инструмент создал файл, поэтому проверка проходит быстро и надежно.
Можно ли исправить повреждения от сжатия с потерями
Нет, удаленные детали невозможно восстановить, потому что эта информация нигде в файле не сохраняется. Конвертация поврежденного JPEG в PNG просто создаст файл большего размера, содержащий те же самые повреждения.
Некоторые инструменты редактирования сглаживают артефакты JPEG, что маскирует повреждения, а не устраняет их, попутно размывая настоящие детали. Единственное верное решение — вернуться к исходному файлу. Это главная практическая причина хранить оригиналы и причина, по которой папка с исходниками с камеры стоит занимаемого ею места на диске.
Как эти понятия называются в реальных инструментах
Программы редко используют слова «с потерями» и «без потерь» напрямую, предлагая вместо этого ползунок качества или готовые пресеты экспорта. Понимание того, какой режим вы используете, важнее, чем надпись на кнопке.
- Ползунок качества всегда означает сжатие с потерями, как бы ни назывался формат.
- Сохранить для Web в графических редакторах означает экспорт с потерями при заданном качестве.
- Оптимизация или сжатие PNG означает реорганизацию без потерь, если только не сокращается количество цветов.
- Экспорт в PNG 8 означает сокращение палитры, что безвозвратно меняет изображение.
- Ограничение по размеру в KB означает, что инструмент будет снижать качество, пока файл не впишется в лимит, так что это всегда сжатие с потерями.
Применение правильного режима для всей библиотеки
Сначала разделите изображения на фотографии и графику, а затем примените сжатие с потерями к одной группе и без потерь — к другой. Обработка смешанной папки с одной настройкой всегда портит половину файлов.
Перетащите до 500 файлов за раз, настройте качество и формат для этой группы, а вторую группу обработайте отдельно. Все процессы запускаются прямо в браузере на вашем собственном процессоре, поэтому оригиналы, клиентские работы и неопубликованные дизайны никогда не отправляются на сервер. Поскольку ничего не загружается в сеть, исходные файлы остаются ровно там, где они были, меняются только экспортируемые копии.