Изображения и фотографии · Конвертер изображений и компрессор
JPEG потеря генерации: что происходит, когда вы повторно сохраняете ту же фотографию
· Как это работает
форматы изображений JPEG качество изображения
Каждое сохранение с потерями удаляет информацию, и эти потери накапливаются: фотография, сохраненная десять раз, — это не то же самое, что фотография, сохраненная один раз в том же качестве. В этом посте объясняется, почему, что усугубляет ситуацию и как структурировать рабочий процесс, чтобы это происходило один раз.
Изображение, которое становилось все более грязным с каждой неделей — медленное снижение, которое никто не заметил, пока не сравнил первую и последнюю версии.
Изображение еженедельной кампании может стать скучным и шумным, если каждая новая версия начинается с JPEG прошлой недели. Это изменение может остаться незамеченным, потому что никто не смотрит на первое поколение, кроме восьмого. Логика формата ToolAcre называет механизм, который он может доказать: JPEG имеет потери при любом качестве, а повторное кодирование JPEG добавляет еще один раунд потерь поверх первого.
Прежде чем обсуждать одно значение ползунка, проверьте рабочий процесс. Найдите самый ранний сохраненный источник и перечислите все операции, которые создали еще один JPEG. Загрузка, переименование или копирование сами по себе не приводят к потерям генерации; декодирование, за которым следует кодирование, делает. Это различие часто выявляет ненужный экспорт между обрезкой, изменением размера, утверждением и окончательной доставкой.
Почему потеря является потерей: квантование округляет частотные коэффициенты, а округление нельзя отменить декодированием.
Объяснение плана с помощью частотного коэффициента является правдоподобным справочным материалом, но эти расчеты не представлены в этом приложении. Браузер владеет кодировщиком JPEG. ToolAcre передает ему пиксели холста, тип и качество MIME, а затем получает Blob. Таким образом, утверждение о достоверности является поведенческим: детали отбрасываются, и отброшенная информация не может быть восстановлена путем последующего выбора PNG.
Сохранение узких границ доказательств не ослабляет рекомендации. Стадия с потерями должна возникать только там, где требуется файл доставки с потерями. Если между инструментами необходимо сохранить промежуточный результат, сохраните исходный проект или растр без потерь, где это возможно. Следующий экспорт может начаться с пикселей, которые еще не пережили предотвратимое приближение JPEG.
Репозиторий проверяет кодировку браузера с потерями, а не математику коэффициентов JPEG.
При втором сохранении декодер создает пиксели из первого JPEG, а кодер снова аппроксимирует эти пиксели. Новый проход не имеет доступа к исходному коду до JPEG и не может отличить оригинальные детали от уже представленных артефактов. Предупреждение ToolAcre прямо называет это вторым раундом, а не предлагает, чтобы идентичный формат и качество оставляли байты нетронутыми.
Полезный эксперимент позволяет сохранить каждое поколение вместо перезаписи одного имени файла. Начните с мастера, создайте `round-1.jpg`, загрузите результат для `round-2.jpg` и продолжайте. Сравните каждый из них с мастером и его непосредственным родителем. Отдельные файлы делают постепенные изменения видимыми и не позволяют самому тесту уничтожить ссылку.
Второе сохранение — это второе кодирование браузера из декодированных пикселей.
Обрезка или изменение размера между сохранениями вводит дополнительную операцию с пикселями. В этом коде измененные размеры помечают план как измененный, даже если конечным кодировщиком является PNG. `drawImage` перерисовывает выбранный исходный прямоугольник в целевую геометрию с высоким сглаживанием перед кодированием, поэтому изменение размера должно записываться отдельно от записи с потерями JPEG.
Схема приписывает дополнительный ущерб смещенной сетке блоков, но этот конвейер браузера не обеспечивает выравнивание блоков. Защищенная процедура — изолировать переменные: сначала повторить экспорт JPEG того же размера, затем повторить с изменением размера. Если вторая последовательность изменится больше, наблюдение принадлежит этому браузеру и тестовому изображению без изобретения объяснения на уровне кодировщика.
Изменение размера добавляет повторную выборку; объяснения блочной сетки не являются доказательством реализации
Использование одного и того же числа качества в каждом раунде не создает безопасную гавань. Значение передается в качестве инструкции кодировщику текущего браузера; это не контрольная сумма, процент сохраненной детализации или обещание, что другой кодировщик отобразит число идентично. Исходные записи даже предупреждают, что результаты могут незначительно отличаться в зависимости от браузера и платформы.
Качество 100 по-прежнему классифицируется как качество с потерями для JPEG. Увеличение числа в более позднем поколении может добавить байты, но не может вызвать текстуру, удаленную ранее. Выбирайте качество, проверяя поставляемый экземпляр первого поколения и его измеренный размер. После принятия повторно сгенерируйте эту копию из мастера при каждом изменении содержимого вместо использования принятого экспорта в качестве следующего источника.
Числа качества — это входные данные кодера, а не гарантии эквивалентного квантования.
Для демонстрации из пяти раундов выберите фотографию с гладким небом, волосами, листвой и высококонтрастными краями. Сохраняйте фиксированные размеры и используйте один браузер и одно качество. Сохраните каждый раунд с пронумерованным именем файла, затем сравните все шесть файлов на уровне 100 процентов в программе просмотра, не требующей дополнительного редактирования.
Записывайте выходные байты, а не заявляйте о заранее определенном росте или уменьшении. Следующий раунд может быть меньше или больше в зависимости от пикселей и кодера; Направление размера не является показателем качества. Ищите изменения вокруг детализированных границ и сглаженных областей и остановите эксперимент, оставив оригинал нетронутым.
Чего это не касается — форматы без потерь, которые этим не страдают, и редактирование RAW или мастер-файлов.
Кодирование назначения без потерь ведет себя по-другому, но преобразование ухудшенного JPEG в PNG точно сохраняет только деградированные декодированные пиксели. Это не компенсирует предыдущие потери. Разработка RAW, многоуровневые проекты и основные рабочие процессы для конкретных камер находятся за пределами этого конвертера браузера, который принимает входные данные JPEG, PNG, WebP и однокадровые GIF.
Инструмент также не сравнивает поколения автоматически и не рассчитывает оценку восприятия. Его панели первых результатов «до» и «после» поддерживают визуальный просмотр, а загруженные файлы позволяют более строго сравнивать исходный размер. Относитесь к этим объектам как к средствам проверки, а не как к свидетельству того, что выбранная обстановка является архивной.
Вывод: сохраните мастер, экспортируйте один раз — как использовать Image Converter & Compressor в качестве последнего шага, а не повторяющегося
Сохраните один источник истины и сделайте файл с потерями заменяемым производным. Это простое правило собственности не позволяет социальному календарю превратиться в цепочку приближений. ToolAcre должен быть окончательным кодом для конкретного получателя или канала, а не невидимым промежуточным звеном, повторяющимся после каждого небольшого редактирования.
Если необходим новый вариант, снова откройте мастер, один раз примените всю необходимую геометрию и один раз экспортируйте. Архивируйте настройки или примечания об утверждении, а не поврежденную родословную. Браузер всегда может создать другую доставку JPEG; он не может восстановить информацию, которую выбросили предыдущие поколения.