Ano ang JFIF file?
Ang JFIF (JPEG File Interchange Format (JFIF)) ay isang image format file na gumagamit ng .jfif extension. Bumubuo ang JFIF sa JIF (JPEG Interchange Format) sa pamamagitan ng pagbabawas ng pagiging kumplikado at paglutas sa mga limitasyon nito.
Maikling Kasaysayan ng JFIF
Ang pagbuo ng dokumento ng JFIF ay pinangunahan ni Eric Hamilton at ang isang kasunduan sa unang bersyon ay itinatag noong huling bahagi ng 1991. Na-publish ang Bersyon 1.02 noong Setyembre 7, 1992. Tinukoy ng RFC 2046 na ang format ng JFIF ay ginagamit upang magpadala ng mga larawang JPEG sa internet. Ang JFIF ay nai-publish ng ECMA noong 2009 at na-standardize ng ITU-T noong 2011 bilang Recommendation T.871 nito at ng ISO/IEC noong 2013 bilang ISO/IEC 10918-5
JFIF File Format
Ang isang JFIF file ay binubuo ng isang sequence ng mga marker gaya ng tinukoy sa bahagi 1 ng JPEG Standard. Ang bawat marker ay binubuo ng dalawang byte (FF na sinusundan ng isang byte na tumutukoy sa uri ng marker). Ang mga marker ay maaaring stand-alone o ipahiwatig ang simula ng isang marker segment.
Binibigyang-daan ng JFIF ang maramihang mga bahagi tulad ng Y, Cb, Cr, na magkaroon ng iba’t ibang mga resolusyon ngunit hindi tinukoy ang kanilang pagkakahanay. Hindi tulad ng JPEG, ang JFIF ay maaaring magbigay ng resolution at aspect ratio na impormasyon. Tinutukoy din ng JFIF ang modelo ng kulay na gagamitin.
File Structure
Segment | Code | Description |
---|---|---|
SOI | FF D8 | Start of Image |
JFIF-APP0 | FF E0 s1 s2 4A 46 49 46 00 … | |
JFXX-APP0 | FF E0 s1 s2 4A 46 58 58 00 … | |
additional marker segments | ||
SOS | FF DA | Start of Scan |
compressed image data | ||
EOI | FF D9 | End of Image |
Tinutukoy ng JFIF Standard ang mga sumusunod na segment:
JFIF APP0 marker segment
Ito ay isang mandatoryong segment na naglalaman ng mga parameter ng imahe. Maaari rin itong maglaman ng naka-embed na hindi naka-compress na thumbnail.
Field | Size (bytes) | Description |
---|---|---|
APP0 marker | 2 | FF E0 |
Length | 2 | Length of segment excluding APP0 marker |
Identifier | 5 | JFIF (4A 46 49 46 00) in ASCII terminated by a null byte |
JFIF version | 2 | Version of the JFIF |
Density units | 1 | Unit for the following pixel density fields 00 : No units; width:height pixel aspect ratio is equal to Ydensity:Xdensity 01 : Pixels per inch 02 : Pixels per centimeter |
Xdensity | 2 | Horizontal pixel density greater than zero |
Ydensity | 2 | Vertical pixel density greater than zero |
Xthumbnail | 1 | Horizontal pixel count of the embedded RGB thumbnail. May be zero |
Ythumbnail | 1 | Vertical pixel count of the embedded RGB thumbnail. May be zero |
Thumbnail data | 3 × n | Uncompressed 24 bit RGB raster thumbnail data |
JFIF extension APP0 marker segment
Ito ay isang opsyonal na seksyon na kung tutukuyin, dapat na agad na sundin ang JFIF APP0 marker segment. Ang seksyong ito ay sinusuportahan ng JFIF na bersyon 1.02 at mas mataas at pinapayagan ang pag-embed ng mga thumbnail sa tatlong magkakaibang format.
Field | Size (bytes) | Description |
---|---|---|
APP0 marker | 2 | FF E0 |
Length | 2 | Length of the segment excluding APP0 marker |
Identifier | 5 | JFXX (4A 46 58 58 00) in ASCII terminated by a null byte |
Thumbnail format | 1 | Specifies what data format is used for the following embedded thumbnail:10 : JPEG format11 : 1 byte per pixel palettized format13 : 3 byte per pixel RGB format |
Thumbnail data | variable |
Conversion ng JFIF sa Iba Pang Mga Format ng File ng Larawan
Maaaring i-convert ang JFIF sa mga sikat na format ng image file gaya ng PNG, JPG, at PDF.