aspose.info
SV

JFIF-fil - Vad är en .jfif-fil?

Uppdaterad

Vad är JFIF fil?

JFIF (JPEG File Interchange Format (JFIF)) är en bildformatsfil som använder filtillägget .jfif. JFIF bygger över JIF (JPEG Interchange Format) genom att minska komplexiteten och lösa dess begränsningar.

Kort historik om JFIF

JFIF-dokumentutveckling leddes av Eric Hamilton och ett avtal om den första versionen upprättades i slutet av 1991. Version 1.02 publicerades den 7 september 1992. RFC 2046 specificerade att JFIF-formatet används för att överföra JPEG-bilder över internet. JFIF publicerades av ECMA 2009 och standardiserades av ITU-T 2011 som dess rekommendation T.871 och av ISO/IEC 2013 som ISO/IEC 10918-5

JFIF-filformat

En JFIF-fil består av en sekvens av markörer som definieras i del 1 av JPEG-standarden. Varje markör består av två byte (FF följt av en byte som anger typen av markör). Markörer kan antingen vara fristående eller indikera början av ett markörsegment.

JFIF tillåter flera komponenter som Y, Cb, Cr att ha olika upplösningar men deras inriktning är inte definierad. Till skillnad från JPEG kan JFIF tillhandahålla information om upplösning och bildförhållande. JFIF definierar också vilken färgmodell som ska användas.

Filstruktur

SegmentKodBeskrivning
SOIFF D8Start av bild
JFIF-APP0FF E0 s1 s2 4A 46 49 46 00 …
JFXX-APP0FF E0 s1 s2 4A 46 58 58 00 …
ytterligare markörsegment
SOSFF DAStart av skanning
komprimerad bilddata
EOIFF D9Slut på bild

JFIF-standarden definierar följande segment:

JFIF APP0 markörsegment

Det är ett obligatoriskt segment som innehåller bildparametrar. Den kan också innehålla en inbäddad okomprimerad miniatyrbild.

FältStorlek (byte)Beskrivning
APP0 markör2FF E0
Längd2Längd på segmentet exklusive APP0-markör
Identifier5JFIF (4A 46 49 46 00) i ASCII avslutad med en nollbyte
JFIF version2Version av JFIF
Densitetsenheter1Enhet för följande pixeldensitetsfält 00 : Inga enheter; bredd:höjd pixelbildförhållande är lika med Ydensity:Xdensity 01 : Pixlar per tum 02 : Pixlar per centimeter
Xdensity2Horisontell pixeltäthet större än noll
Ydensity2Vertikal pixeltäthet större än noll
Xthumbnail1Horisontellt antal pixlar för den inbäddade RGB-miniatyrbilden. Kan vara noll
Ythumbnail1Vertikalt pixelantal för den inbäddade RGB-miniatyren. Kan vara noll
Miniatyrdata3 × nOkomprimerad 24-bitars RGB-rasterminiatyrdata

JFIF extension APP0 markörsegment

Detta är en valfri sektion som, om den definieras, omedelbart måste följa JFIF APP0-markörsegmentet. Det här avsnittet stöds av JFIF version 1.02 och senare och tillåter inbäddning av miniatyrer i tre olika format.

FältStorlek (byte)Beskrivning
APP0 markör2FF E0
Längd2Längd på segmentet exklusive APP0-markör
Identifier5JFXX (4A 46 58 58 00) i ASCII avslutad med en nollbyte
Miniatyrformat1Anger vilket dataformat som används för följande inbäddade miniatyr: 10: JPEG-format 11 : 1 byte per pixel palettformat 13 : 3 byte per pixel RGB-format
Miniatyrdatavariabel

Konvertering av JFIF till andra bildfilformat

JFIF kan konverteras till populära bildfilformat som PNG, JPG och PDF.

Referenser

Se även