Словник

Що означає версія JFIF?

JFIF означає JPEG File Interchange Format, формат файлів, які зазвичай називають зображеннями JPEG. Версія JFIF показує, якої версії цього формату дотримується файл.

jfif-version

JFIF означає JPEG File Interchange Format, а JPEG означає Joint Photographic Experts Group. JFIF це файловий формат, у якому зберігаються дані зображення JPEG, щоб їх могли відкривати різні програми та комп’ютери.

Версія JFIF це поле метаданих усередині файлу JPEG. Воно показує, якої версії специфікації JFIF дотримується файл, наприклад 1.01 або 1.02. Це поле є у файлах JPG, оскільки JFIF це формат лише для зображень JPEG.

Що JFIF додає до зображення JPEG

Стандарт JPEG визначає, як стискаються дані зображення. Файл JFIF це звичайний файл JPEG з одним додатковим блоком даних, який називається сегментом APP0. Цей блок іде одразу після маркера, що починає зображення.

Дані в сегменті APP0 починаються з тексту JFIF. У цьому сегменті зберігається інформація, якої немає в стиснутих даних зображення:

  • Версія JFIF
  • Горизонтальна та вертикальна щільність пікселів з одиницею роздільної здатності у дюймах, сантиметрах або без одиниці
  • Співвідношення сторін пікселя, яке програма обчислює за двома значеннями щільності
  • Необов’язковий невеликий попередній перегляд зображення, так званий thumbnail

JFIF також задає колірну модель. Зображення JFIF має 1 канал лише з яскравістю або 3 канали в колірному просторі YCbCr.

Які файли містять його

Тип MIME image/jpeg визначено для зображень JPEG у форматі JFIF. Розширення файлів .jpg, .jpeg, .jpe, .jif і .jfif належать до цього формату. Тому файл, ім’я якого закінчується на .jfif, містить той самий тип зображення, що й файл .jpg.

Цифрові камери зазвичай зберігають фотографії JPEG у форматі Exif. Exif зберігає свої метадані переважно в сегменті APP1, і цей сегмент також має йти одразу після початку зображення. Оскільки обидва сегменти повинні бути першими, файл не може одночасно відповідати JFIF і Exif.

Деякі програми й далі записують сегмент JFIF перед сегментом Exif. У такому файлі ви бачите і версію JFIF, і версію Exif.

Як виглядають значення

Версія JFIF зберігається в 2 байтах. Перший байт містить основну версію (major), а другий молодшу (minor). Версія 1.02 зберігається як байти 01 і 02.

ExifTool показує це поле як JFIFVersion. Він виводить число основної версії, крапку та 2-значне число молодшої версії. Реєстри форматів наводять 3 версії JFIF:

  • 1.00: рання версія специфікації
  • 1.01: версія, що передує 1.02
  • 1.02: версія від 1 вересня 1992 року

Звідки походить значення

Програма, яка зберігає файл JPEG, записує сегмент APP0 і номер версії в ньому. ITU опублікував JFIF як Рекомендацію T.871 у 2011 році, а ISO та IEC публікують той самий текст як ISO/IEC 10918-5. Цей стандарт базується на версії 1.02, і файли, що йому відповідають, повинні зберігати значення 1.02.

Програми, створені на основі бібліотеки libjpeg, типово записують 1.01. У документації вказано встановлювати 1.02, коли програма додає сегмент розширення з версії 1.02. Тому файл, збережений сьогодні, може показувати 1.01 або 1.02.

Чому це важливо для вашого файлу

Версія показує програмі, чи може вона прочитати дані JFIF. У специфікації сказано, що файл зазвичай можна декодувати, якщо основна версія у файлі збігається з основною версією, яку підтримує програма.

Версія також показує, які ескізи може містити файл. Сегмент розширення під назвою JFXX дозволено лише у версії 1.02 і новіших. Сегмент JFXX може містити ескіз, стиснутий JPEG, або нестиснутий ескіз.

Файл JPEG без версії JFIF не має сегмента JFIF. Це нормально для фотографій, які камера зберегла у форматі Exif.

Мета ключі