Formato de intercambio de archivos JPEG


El formato de intercambio de archivos JPEG ( JFIF ) es un estándar de formato de archivo de imagen publicado como recomendación ITU-T T.871 e ISO/IEC 10918-5. Define especificaciones complementarias para el formato contenedor que contiene los datos de imagen codificados con el algoritmo JPEG . Las especificaciones básicas para un formato de contenedor JPEG se definen en el Anexo B del estándar JPEG, conocido como formato de intercambio JPEG (JIF). JFIF se basa en JIF para resolver algunas de las limitaciones de JIF, incluida la complejidad innecesaria, el registro de muestras de componentes, la resolución, la relación de aspecto y el espacio de color .. Debido a que JFIF no es el estándar JPG original, uno puede esperar otro tipo mime, pero de alguna manera todavía está registrado como "imagen/jpeg" (que indica su formato de datos principal en lugar de la información modificada).

JFIF define una serie de detalles que no se especifican en el estándar JPEG Parte 1 ( ISO / IEC 10918-1, Recomendación ITU-T T.81.) [1]

JPEG permite que múltiples componentes (como Y, Cb y Cr ) tengan diferentes resoluciones, pero no define cómo deben alinearse esas diferentes matrices de muestra (que representan mapas de bits). La información que produce píxeles se representa con la expectativa de indicar rectángulos por su centroide, en lugar de ser datos de píxeles directamente, o ser 'primera esquina e inundación', etc., lo cual es poco común.

El estándar JPEG no incluye ningún método para codificar la resolución o la relación de aspecto de una imagen. JFIF proporciona información sobre la resolución o la relación de aspecto utilizando una extensión de segmento de aplicación para JPEG. Utiliza el segmento de aplicación n.° 0, con un encabezado de segmento que consta de la cadena terminada en nulo que se deletrea "JFIF" en ASCII seguida de un byte igual a 0, y especifica que este debe ser el primer segmento del archivo, lo que facilita reconocer un archivo JFIF. Las imágenes Exif grabadas por cámaras digitales generalmente no incluyen este segmento, pero normalmente cumplen en todos los demás aspectos con el estándar JFIF.

El estándar JPEG utilizado para la codificación de compresión en archivos JFIF no define qué codificación de color se utilizará para las imágenes. JFIF define el modelo de color que se utilizará: ya sea Y para escala de grises, o YCbCr derivado de colores primarios RGB como se define en CCIR 601(ahora conocido como Rec. ITU-R BT.601), excepto con una escala de "rango completo" diferente de los componentes Y, Cb y Cr. A diferencia del "rango de estudio" definido en CCIR 601, en el que el negro está representado por Y = 16 y el blanco por Y = 235 y los valores fuera de este rango están disponibles para el procesamiento de señales "headroom" y "footroom", JFIF utiliza los 256 niveles de la representación de 8 bits, de modo que Y=0 para el negro y Y=255 para el pico blanco. Los colores primarios RGB definidos en JFIF a través de CCIR 601 también difieren un poco de lo que se ha convertido en una práctica común en las aplicaciones más nuevas (por ejemplo, difieren ligeramente de los colores primarios definidos en sRGB ). Además, CCIR 601 (antes de 2007) no proporcionó una definición precisa de los colores primarios RGB; en cambio, se basó en las prácticas subyacentes de la industria de la televisión.

La interpretación del color de una imagen JFIF se puede mejorar incorporando un perfil ICC , metadatos de espacio de color o una etiqueta sRGB y utilizando una aplicación que interprete esta información.