aspose.info
BG

JFIF файл - Какво е .jfif файл?

Обновено

Какво е JFIF файл?

JFIF (JPEG File Interchange Format (JFIF)) е файл с формат на изображение, който използва разширението .jfif. JFIF надгражда JIF (JPEG Interchange Format) чрез намаляване на сложността и разрешаване на неговите ограничения.

Кратка история на JFIF

Разработването на документ JFIF беше ръководено от Ерик Хамилтън и споразумение за първата версия беше създадено в края на 1991 г. Версия 1.02 беше публикувана на 7 септември 1992 г. RFC 2046 уточнява, че форматът JFIF се използва за предаване на JPEG изображения по интернет. JFIF беше публикуван от ECMA през 2009 г. и беше стандартизиран от ITU-T през 2011 г. като негова препоръка T.871 и от ISO/IEC през 2013 г. като ISO/IEC 10918-5

JFIF файлов формат

JFIF файлът се състои от поредица от маркери, както е дефинирано в част 1 на стандарта JPEG. Всеки маркер се състои от два байта (FF, последван от байт, който указва типа на маркера). Маркерите могат да бъдат самостоятелни или да показват началото на маркерен сегмент.

JFIF позволява множество компоненти като Y, Cb, Cr да имат различни разделителни способности, но тяхното подравняване не е дефинирано. За разлика от JPEG, JFIF може да предостави информация за разделителната способност и съотношението на страните. JFIF също дефинира цветовия модел, който да се използва.

Файлова структура

СегментКодОписание
SOIFF D8Начало на изображението
JFIF-APP0FF E0 s1 s2 4A 46 49 46 00 …
JFXX-APP0FF E0 s1 s2 4A 46 58 58 00 …
допълнителни маркерни сегменти
SOSFF DAНачало на сканиране
компресирани данни за изображение
EOIFF D9Край на изображението

Стандартът JFIF дефинира следните сегменти:

JFIF APP0 маркер сегмент

Това е задължителен сегмент, съдържащ параметри на изображението. Може също да съдържа вградена некомпресирана миниатюра.

ПолеРазмер (байтове)Описание
Маркер APP02FF E0
Дължина2Дължина на сегмента без маркера APP0
Идентификатор5JFIF (4A 46 49 46 00) в ASCII, завършващ с нулев байт
JFIF версия2Версия на JFIF
Единици за плътност1Единица за следните полета за плътност на пикселите 00 : Няма единици; съотношението ширина:височина пиксел е равно на Yплътност:Xплътност 01 : Пиксели на инч 02 : Пиксели на сантиметър
Xdensity2Хоризонтална плътност на пикселите, по-голяма от нула
Ydensity2Вертикална плътност на пикселите, по-голяма от нула
Xthumbnail1Хоризонтален брой пиксели на вградената RGB миниатюра. Може да е нула
Ythumbnail1Вертикален брой пиксели на вградената RGB миниатюра. Може да е нула
Миниатюрни данни3 × nНекомпресирани 24-битови RGB растерни миниатюрни данни

JFIF разширение APP0 маркер сегмент

Това е незадължителен раздел, който, ако е дефиниран, трябва да следва непосредствено сегмента на маркера JFIF APP0. Този раздел се поддържа от JFIF версия 1.02 и по-нова и позволява вграждането на миниатюри в три различни формата.

ПолеРазмер (байтове)Описание
Маркер APP02FF E0
Дължина2Дължина на сегмента без маркера APP0
Идентификатор5JFXX (4A 46 58 58 00) в ASCII, завършващ с нулев байт
Формат на миниатюра1Определя какъв формат на данните се използва за следната вградена миниатюра: 10 : JPEG формат 11: 1 байт на пиксел палетизиран формат 13 : 3 байта на пиксел RGB формат
Данни за миниатюрипроменлива

Преобразуване на JFIF в други файлови формати на изображения

JFIF може да се преобразува в популярни файлови формати на изображения като PNG, JPG и PDF.

Препратки

Вижте също