JFIF
El JFIF (en anglés: JPEG File Interchange Format, en espanyol: format d'intercanvi de fichers JPEG) és un format de ficher estàndar d'image. Definix especificacions complementàries per al format de contenidor que conté les senyes d'image codificats en l'algoritme JPEG. Les especificacions bàsiques per a un format de contenidor JPEG es definixen en l'anex B de l'estàndart JPEG, conegut com format d'intercanvi JPEG (JIF). JFIF es basa en JIF resolent algunes de les seues llimitacions, com a complexitat innecessària, registre de mostres de components, resolució, relació d'aspecte i espai de color. Com JFIF és un estàndart suplementari, el format de ficher resultant es pot cridar "JPEG / JFIF".
JFIF és incompatible mútuament en el nou format de ficher d'image intercanviable ( EXIF ).
Propòsit
JFIF definix una série de detalls que no s'especifiquen segons la norma JPEG Part 1 ( ISO / IEC 10918-1, Recomanació UIT-T T.81). )[1]
Registre d'eixemple de components
JPEG permet que varis components (com I, Cb i Cr ) tinguen resolucions diferents, pero no definix cóm es deuen alinear estes matrius de mostra diferents. L'estàndart JFIF requerix que les mostres se situen " intersticial ", és dir, el decodificador pot tractar cada matriu de components com una matriu de píxels rectangulars de tamany igual muestreados en els seus centres, en cada matriu els mateixos llímits exteriors que l'image. Açò és convenient per als usuaris d'ordenadors, pero no és l'alliniació que s'utilisa en MPEG-2 i en la majoria d'aplicacions de vídeo.
Resolució i relació d'aspecte
L'estàndart JPEG no inclou cap método per a codificar la resolució ni la relació d'aspecte d'una image. JFIF proporciona informació de resolució o relació d'aspecte per mig d'una extensió de segment d'aplicació a JPEG. Utilisa el segment d'aplicació # 0, en una capçalera de segment que consistix en l'ortografia de cadena de finalisació nul "JFIF" en ASCII seguida d'un byte igual a 0, i especifica que este deu ser el primer segment del ficher, per lo que és més senzill reconéixer un ficher JFIF. Les imàgens Exif registrades per càmares digitals generalment no inclouen este segment, pero normalment complixen en el restant de la norma JFIF.
Espai de color
L'estàndart JPEG utilisat per a la codificació de compressió en fichers JFIF no definix qué codificació de color es deu utilisar per a les imàgens. JFIF definix el modele de color a utilisar: ya siga I per a escala de grises o YCbCr derivat primàries de color RGB tal com es definixen en CCIR 601 (ara conegut com Rec. UIT-R BT.601), llevat en una escala de "ranc complet" diferent dels components I, Cb i Cr. A diferència de el "ranc d'estudi" definit al CCIR 601, en el que el negre està representat per I = 16 i el blanc per a I = 235 i els valors fòra d'este ranc estan disponibles per al processament de la senyal "espai lliure" i "espai lliure", JFIF utilisa els 256 nivells de la representació de 8 bits, per lo que i = 0 per al negre i i = 255 per al blanc màxim. Les primàries de color RGB definides a JFIF per mig de CCIR 601 també diferixen una miqueta de lo que s'ha convertit en pràctica habitual en aplicacions més recents (per eixemple, diferixen llaugerament de les primàries de color definides en sRGB ). Ademés, CCIR 601 (abans del 2007) no proporcionava una definició precisa de les primàries de color RGB; en canvi, es basava en les pràctiques subjacents de l'indústria televisiva.
L'interpretació del color d'una image JFIF es pot millorar incrustant un perfil ICC, metadatos de l'espai de colors o una etiqueta sRGB i per mig d'una aplicació que interpreta esta informació.
Estructura del format de ficher
Un ficher JFIF consistix en una seqüència de marcadors o segments de marcadors (per a obtindre més informació, consulte JPEG, sintaxis i estructura ). Els marcadors es definixen en la part 1 de l'estàndart JPEG.[2] Cada marcador consta de dos bytes: un FF seguit d'un byte que no és igual a 00 o FF i especifica el tipo de marcador. Alguns marcadors són independents, pero la majoria indiquen l'inici d'un segment de marcador que conté grups de bytes de senyes segons el següent patró:
FF xx s1 s2 [bytes de senyes]
Els bytes s1 i s2 es prenen junts per a representar un sancer de 16 bits en format big-endian que especifica la llongitut dels següents "bytes de senyes" més els 2 bytes utilisats per a representar la llongitut. En atres paraules, s1 i s2 especifiquen el número dels bytes de senyes com .
Segons la part 1 de l'estàndart JPEG, les aplicacions poden utilisar segments de marcador APP i definir un significat específic de l'aplicació de les senyes. En l'estàndart JFIF, es definixen els següents segments de marcador APP, que es descriuen a continuació.:
- Segment de marcador APP0 JFIF (segment abreviat de JFIF) (obligatori)
- Segment de marcador d'extensió JFIF APP0 (segment JFXX per a abreviar) (opcional)
L'estàndart JFIF requerix que el segment del marcador JFIF APP0 seguixca immediatament el marcador SOI. Si s'utilisa un segment de marcador APP0 d'extensió JFIF, deu seguir immediatament el segment de marcador APP0 JFIF.[3] Per lo tant, un ficher JFIF tindrà la següent estructura:
| Estructura de fichers JFIF | ||
|---|---|---|
| segment | còdic | Descripció |
| SOI | FF D8
|
Inici de l'image |
| JFIF-APP0 | FF E0 s1 s2 4A 46 49 46 00...
|
vore més avall |
| JFXX-APP0 | FF E0 s1 s2 4A 46 58 58 00...
|
opcional, vore més avall |
| ... segments de marcador adicionals
(per eixemple, SOF, DHT, COM) | ||
| SOS | FF DA
|
Inici de l'escanejat |
| senyes d'image comprimits | ||
| EOI | FF D9
|
Final de l'image |
Segmente de marcador JFIF APP0
En el segment obligatori del marcador JFIF APP0 s'especifiquen els paràmetros de l'image. Opcionalmente, es pot insertar una miniatura sense comprimir.
| Segment de marcador JFIF APP0 | ||
|---|---|---|
| camp | Tamany (bytes) | Descripció |
| marcador APP0 | 2 | FF E0
|
| llarc | 2 | Llongitut del segment excloent el marcador APP0 |
| identificador | 5 | 4A 46 49 46 00 = "JFIF" en ASCII, finalisat per un byte nul
|
| versió JFIF | 2 | Primer byte per a versió major, segon byte per a versió menor (per a 1:02) 01 02
|
| Unitats de densitat | 1 | Unitats per als següents camps de densitat de píxels
|
| Xdensity | 2 | Densitat horisontal de píxels. No deu ser zero |
| Ydensity | 2 | Densitat de píxels verticals. No deu ser zero |
| Xthumbnail | 1 | Reconte horisontal de píxels de la següent miniatura RGB incrustada. Pot ser zero |
| Ythumbnail | 1 | Reconte de píxels vertical de la següent miniatura RGB incrustada. Pot ser zero |
| Senyes en miniatura | 3 × n | Senyes de miniatures RGB de 24 bits sense comprimir (8 bits per canal de color) en l'orde R0, G0, B0,... Rn-1, Gn-1, Bn-1; en n = Xthumbnail × Ythumbnail |
Segmente de marcador APP0 d'extensió JFIF
Immediatament despuix del segment de marcador APP0 JFIF pugues haver un segment de marcador APP0 d'extensió JFIF. Este segment només pot estar present per a versions JFIF 01:02 i posteriors. Permet incrustar una image en miniatura en 3 formats diferents.
| Segment de marcador APP0 d'extensió JFIF | ||
|---|---|---|
| camp | Tamany (bytes) | Descripció |
| marcador APP0 | 2 | FF E0
|
| llarc | 2 | Llongitut del segment excloent el marcador APP0 |
| identificador | 5 | 4A 46 58 58 00 = "JFXX" en ASCII, finalisat per un byte nul
|
| Format de miniatura | 1 | Especifica quin format de senyes s'utilisa per a la miniatura incrustada següent:
|
| Senyes en miniatura | variable | Depén del format de la miniatura, vore més avall |
Les senyes de miniatures depenen del format de miniatura de la següent manera:
| Miniatura almagasenada per mig de la codificació JPEG | ||
|---|---|---|
| camp | Tamany (bytes) | Descripció |
| SOI | 2 | FF D8
|
| variable | Deu ser en format JIF utilisant YCbCr o simplement I, i no deu contindre segments JFIF o JFXX | |
| EOI | 2 | FF D9
|
| Miniatura almagasenada en un byte per píxel | ||
|---|---|---|
| camp | Tamany (bytes) | Descripció |
| Xthumbnail | 1 | Reconte horisontal de píxels de la següent miniatura incrustada. No deu ser zero |
| Ythumbnail | 1 | Reconte de píxels verticals de la miniatura incrustada següent. No deu ser zero |
| Paleta de miniatures | 768 | 256 entrades de paleta, cada una en un valor de color RGB de 24 bits |
| Senyes en miniatura | n | Un byte per píxel que conté l'índex del color dins de la paleta,
en n = Xthumbnail × Ythumbnail |
| Miniatura almagasenada en tres byte per píxel | ||
|---|---|---|
| camp | Tamany (bytes) | Descripció |
| Xthumbnail | 1 | Reconte horisontal de píxels de la següent miniatura incrustada. No deu ser zero |
| Ythumbnail | 1 | Reconte de píxels verticals de la miniatura incrustada següent. No deu ser zero |
| Senyes en miniatura | 3 × n | Senyes de miniatures RGB de 24 bits sense comprimir (8 bits per canal de color) en l'orde R0, G0, B0,... Rn-1, Gn-1, Bn-1; en n = Xthumbnail × Ythumbnail |
Vore també
Referències
- ↑ «Recommendation ITU-T T.81: Information technology – Digital compression and coding of continuous-tone still images – Requirements and guidelines» (PDF). ITU-T (formerly CCITT). Consultat el 2015-06-15.
- ↑ «Recommendation ITU-T T.81: Information technology – Digital compression and coding of continuous-tone still images – Requirements and guidelines» (PDF). ITU-T (formerly CCITT). Consultat el 2015-06-15.
- ↑ «JPEG File Interchange Format, Version 1.02» (pdf, 0.02 MB). Consultat el 2015-06-15.
Bibliografia
Llibres
- Miano, John M, "Compressed Image File Formats"; 1999, Addison-Wesley ISBN 978-0-201-60443-6
- Pennebaker, William B. and Joan L. Mitchell : JPEG still image data compressió standard; 3rd edition, 1993, Springer ISBN 978-0-442-01272-4
Estàndarts
- Hamilton, Eric: JPEG File Interchange Format, Version 01:02 (PDF, 12:02 MB) 1 September 1992
- Recommendation ITU-T T.871: Information technology - Digital compressió and coding of continuous-tone still images: JPEG File Interchange Format (JFIF) (PDF and Microsoft Word, 0.2 MB) Approved 14 May 2011; Publicat 11 September 2012
- Recommendation ITU-T T.81: Information technology - Digital compressió and coding of continuous-tone still images - Requirements and guidelines (PDF and Microsoft Word, 1.5 MB) Approved 18 September 1992; Publicat 14 April 2004
Referències
- Este artícul conté una traducció derivada de «JFIF» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.