← Вернуться в блог

ImgZilla тест (три): От фотоаппарата: можно ли редактировать сжатый JPEG?

В двух предыдущих статьях мы считали, сколько сэкономлено ГБ и сколько это стоит. В этой статье мы не будем говорить о счетах, а ответим только на один вопрос, который действительно волнует фотографов: что именно изменила ImgZilla, когда мы передали ей изображение в формате JPEG, и какую цену придется заплатить за эти изменения в Lightroom / Photoshop / Capture One. Данные получены на основе того же набора из 32 188 изображений, снятых камерами / смартфонами, а также в результате поэлементного сравнения 200+ пар файлов.

Поделиться

В двух предыдущих статьях мы считали, сколько сэкономлено ГБ и сколько это стоит. В этой статье мы не будем говорить о счетах, а ответим только на один вопрос, который действительно волнует фотографов: что именно изменила ImgZilla, когда мы передали ей изображение в формате JPEG, и какую цену придется заплатить за эти изменения в Lightroom / Photoshop / Capture One. Данные получены на основе того же набора из 32 188 изображений, снятых камерами / смартфонами, а также в результате поэлементного сравнения 200+ пар файлов.

1. Ответим сразу на самый островой вопрос: битовая глубина не урезана

Самый частый страх в фотосообществе по поводу «сжатия»: Мои 12-битные или 14-битные данные не превратятся ли в 8-битные.

Этот страх направлен не туда. Сначала разделим два понятия:

  • Цветовая битовая глубина (bit depth): Сколько бит используется для записи каждого цветового канала. 8 бит = 256 уровней на канал, 14 бит = 16384 уровней. Битовая глубина определяет, насколько далеко вы можете продвинуться в тенях или небе в постпроцессинге, не получая цветных полос.
  • Плотность файла (бит на пиксель / bpp): Объем файла ÷ количество пикселей. В предыдущей статье мы смотрели на это в группировках по bpp — это показатель того, сколько байт потратил каждый пиксель на хранение, это объект сжатия, и это совершенно другое понятие, чем цветовая битовая глубина.

ImgZilla сжимает последнее (плотность), но не трогает первое (битовую глубину). Кроме того, для JPEG понятие битовой глубины вообще не применимо:

Анализ 209 пар исходный файл / сжатый файл, чтение метки SOF каждого JPEG: точность до и после сжатия — везде 8 бит.**

Причина проста — базовый JPEG по стандарту определяется как 8 бит на канал. Камеры почти никогда не выдают JPEG с 12 битами, поэтому ImgZilla просто не имеет возможности «понижать» что-либо.

Где же находятся данные 12 / 14 бит? Только в RAW. А ImgZilla поддерживает форматы gif / png / jpg / jpeg / svg / heic / heif / webp / avifони не включают никаких RAW-форматов (CR2, CR3, NEF, ARW, RAF, DNG в списке отсутствуют, при перетаскивании файлы просто игнорируются). Ваш цифровой негатив вообще не попадает в процесс обработки, что является естественной защитой.

Вывод этого раздела: У JPEG нет битовой глубины для понижения, 8 бит на входе, 8 бит на выходе; RAW не затрагивается. Битовая глубина — это не то, о чем стоит беспокоиться в этой статье — главное, о чем пойдет речь в следующих разделах.

2. Что именно изменилось: полная без损ная перекомпрессия

ImgZilla не «оптимизирует исходный файл без потерь», а полностью декодирует изображение и кодирует его заново. Полный процесс:

Чтение JPEG
→ Декодирование в 8-битные пиксели RGB
→ Перекодирование в YCbCr
→ Переквантование с фиксированными таблицами (эффективное качество около 70)
→ Пересчет оптимальных таблиц Хаффмана
→ Вывод в формате прогрессивного JPEG

Этот шаг «переквантования» является безвозвратным. Чем грубее таблица квантования, тем больше высокочастотных деталей теряется, и тем меньше файл. Оценим интенсивность квантования (сумма шагов квантования; чем больше число, тем агрессивнее квантование) для выборки файлов:

Интенсивность квантования (медиана)
Исходный файл с камеры / телефона 1858
Сжатый ImgZilla 6852

Интенсивность квантования примерно в 3,7 раза выше исходной. Это реальное вторичное квантование — это не «безвозвратная перестановка», это потеря высокочастотной информации.

Две вещи не меняются:

  • Разрешение ни на один пиксель не изменилось. Во всех 32 188 изображениях поле dimensions_changedисключительно false. ImgZilla не изменяет размер, не обрезает, экономия объема достигается только за счет перекомпрессии.
  • Битовая глубина не меняется (см. выше), 8 бит на входе, 8 бит на выходе.

Одна вещь изменилась, но не влияет на качество: выходной файл — это прогрессивный JPEG (исходные файлы в основном базовые). Прогрессивный формат лучше подходит для загрузки на веб-сайты, но не несет никакой платы за качество; Lightroom / Photoshop / Capture One читают его нормально — только некоторые очень старые программы могут его не распознавать.

3. Самое важное для постпроцессинга: принудительное снижение хроматической субдискретизации до 4:2:0

Это то, что фотограф должен знать больше всего в этой статье.

JPEG использует «хроматическую субдискретизацию» для экономии места — человеческий глаз более чувствителен к яркости, чем к цветовой резкости, поэтому разрешение цветовой информации может быть ниже разрешения яркости:

  • 4:4:4: Цвет и яркость имеют одинаковое разрешение, информация о цвете наиболее полная.
  • 4:2:2: Горизонтальное разрешение цветовой информации уменьшено вдвое. Многие камеры, а также некоторые смартфоны используют это по умолчанию.
  • 4:2:0: Горизонтальное и вертикальное разрешение цветовой информации уменьшено вдвое, то есть это 1/4 разрешения яркости. Большинство JPEG, оптимизированных для объема, используют этот формат.

Проанализировав 209 пар файлов, мы видим изменения в хроматической субдискретизации до и после сжатия:

Хроматическая субдискретизация Исходный Сжатый ImgZilla
4:4:4 1 0
4:2:2 128 (61%) 0
4:2:0 80 (38%) 209 (100%)

После сжатия 100% составляют 4:2:0. При этом 61% изображений перешли с 4:2:2 — это означает, что вертикальное разрешение цвета уменьшилось вдвое, и этот процесс необратим.

Как это проявится в постпроцессинге

Снижение разрешения цвета напрямую не видно невооруженным глазом на неподготовленном изображении. Проблема возникает, когда вы начинаете его редактировать:

  • Цветокоррекция / Разделение тонов: При увеличении насыщенности, работе с HSL или цветокоррекции начинают проявляться границы цветовых блоков, особенно на плавных переходах тона кожи и градиентах от неба до горизонта.
  • Выделение по цвету / Маскирование / Ретушь: Color Range в Lightroom, цветовой диапазон в Photoshop, удаление зеленого фона — все эти инструменты опираются на точность краев цветовой информации. После 4:2:0 края становятся неровными, появляются зубчатые линии.
  • Цветные обводки на высококонтрастных краях: Красно-черный текст, неоновая реклама, ветки на контровом свете — в этих местах 4:2:0 оставит «размытые» цветные ореолы.

Суммарный эффект

При эффективном качестве около 70 и хроматической субдискретизации 4:2:0 это рабочая точка с явным акцентом на сжатие. Исходное изображение с качеством 92 и 4:2:2 может выдержать гораздо более сильные манипуляции в постпроцессинге, чем сжатая версия с качеством 70 и 4:2:0. Добавьте сюда еще один проход сжатия после редактирования и сохранения — это два слоя безвозвратной перекомпрессии叠加在一起.

В каких случаях это не важно

Если ваш исходный файл уже был 4:2:0 (большинство изображений с средних и低端 смартфонов, старых камер, а также любые изображения, уже оптимизированные для веба), перекомпрессия ImgZilla не приведет к дополнительной потере качества по цвету — она просто «сводит» изображение к рабочей точке, близкой к исходной. Именно поэтому сжатие таких изображений имеет более низкий коэффициент (см. раздел 6 по группам разрешения: iPhone экономит всего 70,7%, в то время как более «толстый» универсальный 12MP может сэкономить 80%).

4. Метаданные: EXIF / XMP / ICC полностью удаляются

ImgZilla по умолчанию удаляет метаданные. При сравнении 209 пар файлов:

Метаданные Есть в исходном Сохранено после сжатия
EXIF (параметры съемки) 204 0
XMP (рейтинг / теги / копирайт) 134 0
ICC (цветовой профиль) 2 0

Каждый пункт подробно:

  • EXIF: Диафрагма, выдержка, ISO, фокусное расстояние, модель объектива, модель камеры, время съемки, координаты GPS, поле копирайта — всё исчезло. Для каталогизации, анализа по параметрам съемки или если вам нужно, чтобы копирайт шел вместе с файлом, это критично.
  • Маркер ориентации EXIF: Отдельно стоит упомянуть этот пункт, так как он непосредственно влияет на отображение. Многие камеры и старые смартфоны не поворачивают пиксели физически при съемке, а записывают только маркер ориентации. Если маркер удален, вертикально снятые фотографии в некоторых программах будут отображаться горизонтально — при перекомпрессии libjpeg это не происходит автоматически. Современные флагманы в основном уже имеют физический поворот и корректный маркер, поэтому они не страдают; но если вы используете камеру или старое устройство, лучше убедиться в этом до сжатия.
  • XMP: Ваши звездочки, флажки, теги, заголовки и заявления об авторском праве в Lightroom / Bridge — если они записаны в файл XMP (а не в боксовый файл или базу данных каталога), после сжатия они исчезнут.
  • ICC цветовой профиль: В этой выборке почти не было встроенных ICC-профилей (чаще всего не маркированный sRGB), поэтому в этом тесте этот пункт не был активирован. Но если ваш рабочий процесс требует Display P3 или Adobe RGB, встроенный ICC будет удален, и воспроизводящая сторона будет использовать только sRGB, из-за чего цвета могут выглядеть тусклыми или смещенными. Будьте особенно осторожны с этим пунктом в широких цветовых пространствах.

В настройках есть опция «Сохранить метаданные», но если метаданные важны для вашего рабочего процесса, самый безопасный вариант — не использовать ImgZilla для сжатия оригинала: сохраните исходный файл.

5. Когда эти издержки оправданы

Суммируя три предыдущих раздела, обработка ImgZilla JPEG выглядит так: 8 бит неизменны, разрешение неизменно, хроматическая субдискретизация снижена до 4:2:0, качество снижено до примерно 70, метаданные очищены в обмен на среднее сокращение объема на 76,8%.

Такой обмен оправдан в следующих сценариях:

  • Показ клиенту, веб-галереи, публикации в социальных сетях. Такие изображения и так будут сжаты платформой еще раз, 4:2:0 + качество 70 практически незаметно для зрителя, при этом объем можно сократить на четверть — загрузка быстрее, загрузка в облако и CDN быстрее, а счет за хостинг и CDN ниже (мы уже считали эту выгоду в двух предыдущих статьях).
  • JPEG-файлы, которые вы выбрали и больше не будете редактировать, для долгосрочного архивирования. Для сохранения истории, не планируя дальнейшей обработки.
  • Отправка изображений по WeChat / электронной почте, передача материалов коллегам — время передачи сокращается пропорционально объему.

Условие: Сначала проверьте сами с помощью встроенного окна сравнения (⌘D). ImgZilla покажет исходный и сжатый файлы раздельно, вы можете увеличить масштаб до одного пикселя для точного сравнения. Если вы чувствительны к качеству, не верьте фразе «разницы не видно», посмотрите сами в 100% на наиболее важные детали — кожу, небо, кончики волос.

6. Когда не стоит использовать сжатие ImgZilla

  • JPEG, которые вы собираетесь сильно редактировать в Lightroom / Photoshop / Capture One — особенно если у вас есть только JPEG, а не RAW. Каждая минута редактируемого динамического диапазона ценна, не тратьте её напрасно. Оставьте исходник, а сжимайте версию, которую вы экспортируете после завершения редактирования.
  • Библиотека для каталогизации, требующая сохранения EXIF / копирайта / GPS / рейтинга и тегов.
  • Выход в широкие цветовые пространства Display P3 / Adobe RGB — ICC-профиль будет удален.
  • Ваши RAW-файлы — они не пострадают (ImgZilla их вообще не трогает), но не ожидайте, что этот инструмент поможет сжать RAW — это не его задача.

Коротко: ImgZilla подходит для сжатия «готовых продуктов», а не «промежуточных файлов, которые нужно будет снова редактировать».

7. Приложение данных: эта выборка из 32 188 исходных JPEG

Та же выборка, что и в двух предыдущих статьях, 16 подкаталогов, без фильтрации, сжатие на месте.

Общее

Объем Относительно исходного
Исходный файл с камеры / телефона 99,9 ГБ
Сжатый ImgZilla 23,1 ГБ −76,8%

В среднем с 2,96 МБ до 0,69 МБ. Средний коэффициент сжатия для каждого файла составляет экономию 76,6%, медиана — 77,3%, что в основном совпадает с 76,8%, рассчитанными по общему количеству байт.

По группам разрешения: разница в экономии для разных устройств

Размер изображения Количество Доля Средняя экономия
4000×3000 (универсальный 12MP, в основном Android / карты памяти) 19867 61,7% 80,1%
4032×3024 (основной камера iPhone 12MP) 3529 11,0% 70,7%
3456×4608 (16MP вертикально) 2631 8,2% 76,9%
4608×3456 (15,9MP) 903 2,8% 54,8%
1600×1200 257 0,8% 51,4%

(Модели определяются по размеру изображения, а не по чтению EXIF — EXIF после сжатия недоступен.)

Один и тот же инструмент, одна и та же исходная выборка: самый высокий коэффициент сжатия (80%) и самый низкий (55%) различаются на 25 процентных пунктов. Разница полностью зависит от исходного файла: JPEG-линия Apple более агрессивно квантует и кодирует, выдавая уже «тонкие» файлы, близкие к оптимальному минимуму; в дешевых / старых устройствах используется более консервативная фиксированная таблица квантования, «жир» еще не был затронут. Чем новее и крупнее сенсор, тем «тоньше» исходный файл, тем меньше места остается для дополнительного сжатия — это нормально, просто ваш исходник изначально не был таким расточительным.

Распределение по файлам

Экономия Количество Доля
90%–100% 866 2,7%
80%–90% 11375 35,3%
70%–80% 15244 47,4%
60%–70% 3349 10,4%
50%–60% 398 1,2%
Менее 50% 956 3,0%

82,7% фотографий сэкономили 70%–90%. По квантилям: более половины сэкономили более 77%, даже худшие 10% сэкономили около 68%, только около 1% (p99) сэкономили менее 40%.

Несколько экстремальных случаев

Исходный Сжатый Экономия
Максимальный коэффициент сжатия 3,55 МБ (4000×3000) 100 КБ 97,2%
Максимальная экономия на файле 17,9 МБ (4000×3000) 1,13 МБ 16,8 МБ
Минимальная экономия 70 КБ (1242×1242) 68,8 КБ 2,1%

8. О данных и тестировании

  • Объем выборки: Цифры общего коэффициента сжатия, группировки по разрешению и распределение по файлам основаны на этом наборе из 32 188 исходных JPEG с камер / смартфонов, и отражают результаты именно этой выборки, а не «среднее ImgZilla может сжать на 76,8%». Результаты будут отличаться для разных камер, моделей и настроек экспорта.
  • Выборка: Файлы не были отфильтрованы или очищены, сжатие проводилось для всех 16 подкаталогов целиком.
  • Принадлежность устройства: Определение устройства в группировке по разрешению производится по размеру изображения, а не по чтению EXIF (EXIF недоступен после сжатия); один и тот же размер может быть получен с разных устройств.
  • Байт-по-байту сравнение является выборкой: Выводы о хроматической субдискретизации, битовой глубине, таблицах квантования и метаданных основаны на анализе 209 случайных пар исходный файл / сжатый файл, чтении меток JPEG. Это выборочные данные, а не полный анализ всех 32 188 файлов.
  • Статистика: Общий показатель 76,8% — это «общая экономия байт ÷ общие исходные байты»; среднее арифметическое по файлам 76,6%, медиана 77,3% уже указаны в тексте. Единицы объема: 1 ГБ = 10⁹ байт.
  • Параметры сжатия: Параметры фиксированы, на интерфейсе нет ползунков качества / сэмплинга. Это осознанный выбор — параметры подобраны в точке баланса визуально без потерь. Фотографам, привыкшим вручную настраивать качество / сэмплинг, стоит обратить внимание на это.
  • «Визуально без потерь» не равно «без потерь»: Настоящая без потерь (полностью неизменные пиксели) — это только PNG и SVG; JPEG — это безвозвратная перекомпрессия, параметры подобраны в диапазоне, который человеческий глаз практически не различает. Встроенное окно сравнения позволяет сверять пиксели один за другим.
  • Окружение: Все операции выполняются локально, изображения не выходят в интернет и не загружаются (за исключением проверки покупки в App Store).

Хотите проверить сами? В бесплатной версии ImgZilla можно сжать 10 изображений в день, количество списывается только при успешном сжатии. Возьмите несколько самых придирчивых изображений — портреты, небо, свет через ветки — сжатые и проверьте их сами в 100% с помощью окна сравнения, прежде чем решать, доверить ли ImgZilla весь ваш архив.

Mac App Store: https://apps.apple.com/app/apple-store/id6749323539?pt=127227004&ct=v2&mt=8
Узнать больше: https://imagetool.app/ImgZilla

Системные требования: macOS 12.3 или новее.
}

Нужны изображения легче и быстрее?

Скачайте ImgZilla и сжимайте локально — изображения не покидают ваш Mac.