Encoding process это метод, который превращает изображение в сжатые данные. В отчёте о метаданных Encoding Process указывает метод, который использовал файл JPG, например Baseline DCT, Huffman coding.
Значение состоит из 2 частей. Первая часть показывает, как были сжаты данные изображения. Вторая часть показывает, как результат был упакован в биты.
Какие файлы его содержат
Encoding Process это поле JPEG, и оно есть у каждого изображения JPEG. Стандарт JPEG размещает эту информацию в коротком заголовке перед сжатыми данными изображения.
Откуда берется значение
Никакая камера и никакая программа не записывает Encoding Process как отдельный тег. Читатель, например ExifTool, определяет значение по маркеру Start of Frame, с которого начинается этот заголовок. Стандарт JPEG определяет отдельный маркер для каждого encoding process.
В этом же заголовке также хранятся ширина и высота изображения, бит на выборку и количество цветовых компонентов. ExifTool также определяет субдискретизацию по цветности из этого заголовка.
Поскольку значение описывает, как хранятся данные изображения, вы не можете редактировать его как обычный тег. Encoding Process меняется только тогда, когда программа снова сохраняет изображение с другими настройками.
Как выглядят значения
ExifTool показывает одно из 13 значений. Согласно Библиотеке Конгресса США, наиболее распространены baseline и progressive.
Baseline DCT, Huffman codingExtended sequential DCT, Huffman codingProgressive DCT, Huffman codingLossless, Huffman codingSequential DCT, differential Huffman codingProgressive DCT, differential Huffman codingLossless, Differential Huffman codingExtended sequential DCT, arithmetic codingProgressive DCT, arithmetic codingLossless, arithmetic codingSequential DCT, differential arithmetic codingProgressive DCT, differential arithmetic codingLossless, differential arithmetic coding
Что означает каждая часть значения
DCTрасшифровывается как дискретное косинусное преобразование. Процессы JPEG на основе DCT являются с потерями: часть деталей отбрасывается, чтобы уменьшить размер файла.Baselineэто базовый процесс DCT. Он использует 8 бит на выборку и кодирование Хаффмана.Sequentialозначает, что каждый цветовой компонент хранится в одном проходе (scan).Extended sequentialработает как baseline, но также допускает 12 бит на выборку и арифметическое кодирование.Progressiveсохраняет изображение в нескольких проходах. Каждый проход обычно улучшает качество, поэтому просмотрщик может сначала показать грубое изображение, а затем сделать его чётче.Losslessне использует DCT. Декодированное изображение полностью совпадает с исходным.differentialотносится к иерархическому режиму. В нём каждый следующий кадр хранит только отличия от предыдущего кадра.Huffman codingиarithmetic codingэто два без потерь способа упаковать данные в меньшее количество битов.
Почему это важно для вашего файла
Стандарт JPEG не требует, чтобы каждая программа поддерживала каждый процесс. Каждый декодер DCT обязан поддерживать baseline, поэтому файл baseline это безопасный выбор, если изображение должно открываться везде.
Другие процессы могут не открываться в некоторых программах. Согласно Библиотеке Конгресса США, исходный процесс без потерь был мало распространён в приложениях. Один вариант без потерь с кодированием Хаффмана используется в версии 1.1 необработанного формата Adobe DNG.
Значение с DCT говорит вам, что при сохранении изображения часть деталей была отброшена. Повторное сохранение файла не вернёт эти детали. Поле только описывает, как хранится изображение, и не содержит персональных данных.