Diccionario

¿Qué significa la versión JFIF?

JFIF significa JPEG File Interchange Format, el formato de los archivos que la gente suele llamar imágenes JPEG. La versión JFIF muestra qué versión de este formato sigue un archivo.

jfif-version

JFIF significa JPEG File Interchange Format, y JPEG significa Joint Photographic Experts Group. JFIF es el formato de archivo que almacena datos de imagen JPEG, para que diferentes programas y ordenadores puedan abrirla.

La versión JFIF es un campo de metadatos dentro de un archivo JPEG. Te indica qué versión de la especificación JFIF sigue el archivo, por ejemplo 1.01 o 1.02. Encontrarás este campo en archivos JPG, porque JFIF es un formato solo para imágenes JPEG.

Lo que JFIF añade a una imagen JPEG

El estándar JPEG define cómo se comprimen los datos de imagen. Un archivo JFIF es un archivo JPEG normal con un bloque adicional de datos, llamado segmento APP0. Este bloque va justo después del marcador que inicia la imagen.

Los datos del segmento APP0 empiezan con el texto JFIF. El segmento guarda información que los datos de imagen comprimidos no contienen:

  • La versión JFIF
  • La densidad de píxeles horizontal y vertical, con una unidad de resolución en pulgadas, centímetros o sin unidad
  • La relación de aspecto de los píxeles, que un programa calcula a partir de los 2 valores de densidad
  • Una pequeña vista previa opcional de la imagen, llamada miniatura

JFIF también define el modelo de color. Una imagen JFIF tiene 1 canal solo con brillo, o 3 canales en el espacio de color YCbCr.

Qué archivos lo llevan

El tipo MIME image/jpeg se definió para imágenes JPEG en formato JFIF. Las extensiones de archivo .jpg, .jpeg, .jpe, .jif y .jfif pertenecen todas a este formato. Así que un archivo cuyo nombre termina en .jfif contiene el mismo tipo de imagen que un archivo .jpg.

Las cámaras digitales suelen guardar fotos JPEG en formato Exif. Exif guarda sus metadatos principalmente en un segmento APP1, y este segmento también debe ir justo después del inicio de la imagen. Como ambos segmentos deben ir primero, un archivo no puede seguir JFIF y Exif al mismo tiempo.

Algunos programas siguen escribiendo un segmento JFIF delante del segmento Exif. En un archivo así, verás tanto una versión JFIF como una versión Exif.

Cómo son los valores

La versión JFIF se guarda en 2 bytes. El primer byte contiene la versión principal y el segundo byte la versión secundaria. La versión 1.02 se guarda como los bytes 01 y 02.

ExifTool muestra el campo como JFIFVersion. Imprime el número principal, un punto y un número secundario de 2 dígitos. Los registros de formatos enumeran 3 versiones de JFIF:

  • 1.00: una versión temprana de la especificación
  • 1.01: la versión anterior a 1.02
  • 1.02: la versión del 1 de septiembre de 1992

De dónde proviene el valor

El programa que guarda el archivo JPEG escribe el segmento APP0 y el número de versión en él. La ITU publicó JFIF como Recomendación T.871 en 2011, y la ISO e IEC publican el mismo texto como ISO/IEC 10918-5. Este estándar se basa en la versión 1.02, y los archivos que lo siguen deben guardar el valor 1.02.

Los programas basados en la biblioteca libjpeg escriben 1.01 por defecto. Su documentación indica establecer 1.02 cuando un programa añade un segmento de extensión de la versión 1.02. Así que un archivo guardado hoy puede mostrar 1.01 o 1.02.

Por qué es importante para tu archivo

La versión le indica a un programa si puede leer los datos JFIF. La especificación indica que normalmente se puede decodificar un archivo cuando su versión principal coincide con la versión principal que el programa admite.

La versión también muestra qué miniaturas puede contener el archivo. Un segmento de extensión llamado JFXX solo está permitido en la versión 1.02 y posteriores. El segmento JFXX puede contener una miniatura comprimida con JPEG o una miniatura sin comprimir.

Un archivo JPEG sin versión JFIF no tiene segmento JFIF. Esto es normal en fotos que una cámara guardó en formato Exif.