Словарь

Encoding process что это

Encoding Process что это называет метод, который файл JPEG использовал для сжатия своих данных изображения, например baseline или progressive. Он считывается из самих данных изображения.

encoding-process

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 coding
  • Extended sequential DCT, Huffman coding
  • Progressive DCT, Huffman coding
  • Lossless, Huffman coding
  • Sequential DCT, differential Huffman coding
  • Progressive DCT, differential Huffman coding
  • Lossless, Differential Huffman coding
  • Extended sequential DCT, arithmetic coding
  • Progressive DCT, arithmetic coding
  • Lossless, arithmetic coding
  • Sequential DCT, differential arithmetic coding
  • Progressive DCT, differential arithmetic coding
  • Lossless, 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 говорит вам, что при сохранении изображения часть деталей была отброшена. Повторное сохранение файла не вернёт эти детали. Поле только описывает, как хранится изображение, и не содержит персональных данных.

Мета-ключи