Введение
Формат файла изображения с несколькими версиями
Формат обмена файлами JPEG (JFIF) — это стандарт формата файла изображения, опубликованный как Рекомендация ITU T T.871 и ISO/IEC 10918-5. Он определяет дополнительные спецификации для формата-контейнера, содержащего данные изображения, закодированные алгоритмом JPEG. Базовые спецификации для формата-контейнера JPEG определены в Приложении B стандарта JPEG, известном как JPEG Interchange Format (JIF). JFIF разработан на основе JIF для устранения некоторых его ограничений, включая излишнюю сложность, регистрацию выборок компонентов, разрешение, соотношение сторон и цветовое пространство. Поскольку JFIF не является исходным стандартом JPG, можно было бы ожидать другой тип MIME. Однако он по-прежнему зарегистрирован как "image/jpeg" (указывая на его основной формат данных, а не на добавленную информацию). JFIF несовместим с более новым форматом обмена изображениями Exchangeable image file format (Exif).
The JPEG File Interchange Format (JFIF) is an image file format standard published as ITU T Recommendation T.871 and ISO/IEC 10918 5. It defines supplementary specifications for the container format that contains the image data encoded with the JPEG algorithm. The base specifications for a JPEG container format are defined in Annex B of the JPEG standard, known as JPEG Interchange Format (JIF). JFIF builds over JIF to solve some of JIF's limitations, including unnecessary complexity, component sample registration, resolution, aspect ratio, and color space. Because JFIF is not the original JPG standard, one might expect another MIME type. However, it is still registered as "image/jpeg" (indicating its primary data format rather than the amended information). JFIF is mutually incompatible with the newer Exchangeable image file format (Exif).
Цель
JFIF определяет ряд деталей, которые не специфицированы стандартом JPEG Часть 1 (ISO/IEC 10918-1, Рекомендация ITU-T T.81).
Регистрация образца компонента
JPEG позволяет различным компонентам (таким как Y, Cb и Cr) иметь разные разрешения, но не определяет, как должны быть выровнены эти отличающиеся массивы выборок (которые формируют растровые изображения). Информация, формирующая пиксели, представляется с расчетом на указание прямоугольников по их центрам, а не в виде прямых пиксельных данных или методом "первый угол и заливка", что встречается редко.
Разрешение и соотношение сторон
Стандарт JPEG не предусматривает методов кодирования разрешения или соотношения сторон изображения. JFIF предоставляет информацию о разрешении или соотношении сторон посредством расширения сегмента приложения к JPEG. Он использует сегмент приложения №0, заголовок которого состоит из нулевой строки "JFIF" в кодировке ASCII, за которой следует байт со значением 0, и определяет, что этот сегмент должен быть первым в файле, что упрощает идентификацию файла JFIF. Изображения Exif, записанные цифровыми камерами, как правило, не содержат этот сегмент, но в остальном обычно соответствуют стандарту JFIF.
Цветовое пространство
Стандарт JPEG, используемый для кодирования сжатия в файлах JFIF, не определяет, какое цветовое кодирование следует использовать для изображений. JFIF определяет используемую цветовую модель: либо Y для оттенков серого, либо YCbCr, производный от цветовых первичных RGB, как определено в CCIR 601 (ныне известный как Rec. ITU R BT.601), за исключением иного масштабирования "полного диапазона" компонентов Y, Cb и Cr. В отличие от "студийного диапазона", определенного в CCIR 601, в котором черный представлен Y=16, а белый – Y=235, и значения за пределами этого диапазона доступны для обеспечения "заголовка" и "подошвы" при обработке сигнала, JFIF использует все 256 уровней 8-битного представления, так что Y=0 соответствует черному, а Y=255 – пиковому белому. Цветовые первичные RGB, определенные в JFIF через CCIR 601, также несколько отличаются от того, что стало общепринятой практикой в более новых приложениях (например, они незначительно отличаются от цветовых первичных, определенных в sRGB). Более того, CCIR 601 (до 2007 года) не предоставлял точного определения цветовых первичных RGB, а полагался на практику телевизионной индустрии. Цветовая интерпретация изображения JFIF может быть улучшена путем встраивания профиля ICC, метаданных цветового пространства или тега sRGB и использования приложения, которое интерпретирует эту информацию.
Формат файла
Файл JFIF состоит из последовательности маркеров или сегментов маркеров (подробности см. в JPEG, Синтаксис и структура). Маркеры определены в первой части стандарта JPEG. В 1996 году RFC 2046 определил, что формат изображения, используемый для передачи JPEG-изображений по сети Интернет, должен быть JFIF. MIME-тип "image/jpeg" должен быть закодирован как JFIF. Однако на практике практически любое программное обеспечение для работы с Интернетом может декодировать любое базовое JIF-изображение, использующее компоненты Y или YCbCr, независимо от соответствия стандарту JFIF. Со временем компания C Cube была реструктурирована (и в конечном итоге преобразована в Harmonic, LSI Logic, Magnum Semiconductor, Avago Technologies, Broadcom, GigOptix, GigPeak и т. д.) и утратила интерес к документу. Спецификация не имела официального издателя до тех пор, пока примерно в 2009 году её не взяли под контроль Ecma International и Совместная группа экспертов по фотосъёмке ITU-T/ISO/IEC, чтобы предотвратить её потерю и обеспечить возможность официальной ссылки на неё в стандартных публикациях, а также улучшить её редакционное качество. Она была опубликована ECMA в 2009 году в виде технического отчета № 98, чтобы сохранить исторические данные, и официально стандартизирована ITU-T в 2011 году как Рекомендация T.871 и ISO/IEC в 2013 году как ISO/IEC 10918-5. Более поздние публикации включали редакционные улучшения, но не содержали существенных технических изменений.
and it was formally standardized by ITU T in 2011 as its Recommendation T.871
and by ISO/IEC in 2013 as ISO/IEC 10918 5, The newer publications included editorial improvements but no substantial technical changes.
Стандарты
Hamilton, Eric: JPEG File Interchange Format, Version 1.02 (PDF, 0.02 МБ) 1 сентября 1992
Рекомендация ITU T T.871: Информационные технологии – Цифровое сжатие и кодирование изображений с непрерывной тональностью: JPEG File Interchange Format (JFIF) (PDF и Microsoft Word, 0.2 МБ) Утверждена 14 мая 2011 года; опубликована 11 сентября 2012
Рекомендация ITU T T.81: Информационные технологии – Цифровое сжатие и кодирование изображений с непрерывной тональностью – Требования и рекомендации (PDF и Microsoft Word, 1.5 МБ) Утверждена 18 сентября 1992 года; опубликована 14 апреля 2004 года
Recommendation ITU T T.871: Information technology – Digital compression and coding of continuous tone still images: JPEG File Interchange Format (JFIF) (PDF and Microsoft Word, 0.2 MB) Approved 14 May 2011; posted 11 September 2012
Recommendation ITU T T.81: Information technology – Digital compression and coding of continuous tone still images – Requirements and guidelines (PDF and Microsoft Word, 1.5 MB) Approved 18 September 1992; posted 14 April 2004