Articulo de referencia

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 la Recomendación T.871 de la UIT-T y la norma ISO/IEC 10918-5. ...

El formato de intercambio de archivos JPEG ( JFIF ) es un estándar de formato de archivo de imagen publicado como la Recomendación T.871 de la UIT-T y la norma ISO/IEC 10918-5. Define especificaciones suplementarias para el formato contenedor que contiene los datos de imagen codificados con el algoritmo JPEG . Las especificaciones básicas para un formato 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 sus limitaciones, como la complejidad innecesaria, el registro de muestras de componentes, la resolución, la relación de aspecto y el espacio de color . Dado que JFIF no es el estándar JPG original, cabría esperar otro tipo MIME . Sin embargo, sigue registrado como "image/jpeg" (indicando su formato de datos principal en lugar de la información modificada).

JFIF es incompatible con el formato de archivo de imagen intercambiable más reciente (Exif).

Objetivo

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

Registro de muestras de componentes

JPEG permite que varios componentes (como Y, Cb y Cr ) tengan resoluciones diferentes, pero no define cómo deben alinearse esas distintas matrices de muestras (que generan los mapas de bits). Esta información de generación de píxeles se representa con la expectativa de indicar los rectángulos por su centroide , en lugar de utilizar directamente los datos de los píxeles o el método de "primera esquina y relleno", etc., lo cual es poco común.

Resolución y relación de aspecto

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 mediante una extensión de segmento de aplicación para JPEG. Utiliza el Segmento de Aplicación n.° 0, cuyo encabezado consiste en la cadena terminada en nulo que 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 la identificación de un archivo JFIF. Las imágenes Exif grabadas por cámaras digitales generalmente no incluyen este segmento, pero suelen cumplir con el estándar JFIF en todos los demás aspectos.

Espacio de color

El estándar JPEG utilizado para la codificación de compresión en archivos JFIF no define qué codificación de color se debe usar para las imágenes. JFIF define el modelo de color que se debe usar: ya sea Y para escala de grises, o YCbCr derivado de los 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 "margen superior" y el "margen inferior" del procesamiento de señal , JFIF usa los 256 niveles de la representación de 8 bits, de modo que Y=0 para el negro y Y=255 para el blanco máximo. 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 práctica común en aplicaciones más nuevas (por ejemplo, difieren ligeramente de los colores primarios definidos en sRGB ). Además, la norma CCIR 601 (anterior a 2007) no proporcionaba una definición precisa de los colores primarios RGB; en su lugar, se basaba en las prácticas subyacentes de la industria televisiva.

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

Estructura del formato de archivo

Un archivo JFIF consta de una secuencia de marcadores o segmentos de marcadores (para más detalles, consulte JPEG, Sintaxis y estructura ). Los marcadores se definen en la parte 1 del estándar JPEG . [ 1 ] Cada marcador consta de dos bytes: un FFbyte seguido de un byte que no es igual a 00ni FFy especifica el tipo de marcador. Algunos marcadores aparecen solos, pero la mayoría indican el inicio de un segmento de marcador que contiene bytes de datos según el siguiente patrón:

FF xxs1s2[data bytes]

Los bytes s1 y s2 se toman juntos para representar un entero de 16 bits en formato big-endian que especifica la longitud de los siguientes "bytes de datos" más los 2 bytes utilizados para representar la longitud. En otras palabras, s1 y s2 especifican el número de los siguientes bytes de datos como256s1+s22{\displaystyle 256\cdot s1+s2-2}.

Según la parte 1 del estándar JPEG, las aplicaciones pueden usar segmentos de marcador APP y definir un significado específico de los datos para cada aplicación. En el estándar JFIF, se definen los siguientes segmentos de marcador APP:

  • Segmento marcador JFIF APP0 (segmento JFIF para abreviar) (obligatorio)
  • Segmento marcador APP0 de extensión JFIF (segmento JFXX para abreviar) (opcional)

Se describen a continuación.

El estándar JFIF requiere que el segmento de marcador JFIF APP0 siga inmediatamente al marcador SOI. Si se utiliza un segmento de marcador de extensión JFIF APP0, este debe seguir inmediatamente al segmento de marcador JFIF APP0. [ 2 ] Por lo tanto, un archivo JFIF tendrá la siguiente estructura:

Segmento marcador JFIF APP0

En el segmento de marcador JFIF APP0 obligatorio se especifican los parámetros de la imagen. Opcionalmente, se puede insertar una miniatura sin comprimir.

Segmento marcador APP0 de extensión JFIF

Inmediatamente después del segmento de marcador JFIF APP0, puede aparecer un segmento de marcador de extensión JFIF APP0. Este segmento solo está presente en las versiones 1.02 y posteriores de JFIF y permite insertar una imagen en miniatura en tres formatos diferentes.

Los datos de la miniatura dependen del formato de la miniatura de la siguiente manera:

Compatibilidad

El formato de archivo de imagen intercambiable (Exif), más reciente, es comparable a JFIF, pero ambos estándares son incompatibles entre sí. Esto se debe a que ambos especifican que su segmento de aplicación particular (APP0 para JFIF, APP1 para Exif) debe seguir inmediatamente al marcador SOI. En la práctica, muchos programas y cámaras digitales generan archivos que incluyen ambos segmentos de aplicación. Esto no afectará la decodificación de la imagen para la mayoría de los decodificadores, pero los analizadores JFIF o Exif mal diseñados podrían no reconocer el archivo correctamente.

JFIF es compatible con las extensiones JPEG de Adobe Photoshop ("Information Resource Block") y los metadatos del modelo de intercambio de información IPTC , ya que JFIF no excluye otros segmentos de la aplicación y las extensiones de Photoshop no tienen por qué ser las primeras del archivo. Sin embargo, Photoshop suele guardar los búferes CMYK como archivos JPEG de cuatro componentes ("Adobe JPEG") que no cumplen con el estándar JFIF. Dado que estos archivos no están en el espacio de color YCbCr, normalmente no pueden ser decodificados por navegadores web ni otros programas de Internet.

Historia

El desarrollo del documento JFIF fue liderado por Eric Hamilton de C-Cube Microsystems , y el acuerdo sobre la primera versión se estableció a finales de 1991 en una reunión celebrada en C-Cube con la participación de unos 40 representantes de diversas empresas de informática, telecomunicaciones e imagen. Poco después, se publicó una revisión menor: JFIF 1.01. [ 3 ] Durante casi 20 años, la última versión disponible fue la v1.02, publicada el 1 de septiembre de 1992. [ 2 ]

En 1996, el RFC 2046 especificó que el formato de imagen utilizado para transmitir imágenes JPEG a través de Internet debía ser JFIF. El tipo MIME "image/jpeg" debe estar codificado como JFIF. Sin embargo, en la práctica, prácticamente cualquier software de Internet puede decodificar cualquier imagen JIF básica que utilice componentes Y o YCbCr, independientemente de si cumple o no con el estándar JFIF.

Con el paso del tiempo, C-Cube se reestructuró (y finalmente se convirtió en Harmonic , LSI Logic , Magnum Semiconductor , Avago Technologies , Broadcom , GigOptix, GigPeak, etc.), y perdió interés en el documento, y la especificación no tuvo un editor oficial hasta que fue retomada por Ecma International y el Grupo Conjunto de Expertos en Fotografía ITU-T/ISO/IEC alrededor de 2009 para evitar que se perdiera en la historia y proporcionar una forma de citarla formalmente en publicaciones estándar y mejorar su calidad editorial. Fue publicada por ECMA en 2009 como Informe Técnico número 98 para evitar la pérdida del registro histórico, [ 3 ] y fue estandarizada formalmente por ITU-T en 2011 como su Recomendación T.871 [ 4 ] y por ISO/IEC en 2013 como ISO/IEC 10918-5, [ 5 ] Las publicaciones más recientes incluyeron mejoras editoriales pero no cambios técnicos sustanciales.

Véase también

Referencias

  1. 1 2 "Recomendación ITU-T T.81: Tecnología de la información – Compresión y codificación digital de imágenes fijas de tono continuo – Requisitos y directrices" (PDF) . ITU-T (anteriormente CCITT) . 18 de febrero de 1992. Consultado el 15 de junio de 2015 .
  2. 1 2 Hamilton, Eric (12 de septiembre de 1992). "Formato de intercambio de archivos JPEG, versión 1.02" (pdf, 0,02 MB) . Recuperado el 15 de junio de 2015 .
  3. 1 2 "Formato de intercambio de archivos JPEG (JFIF)" . ecma-international.org . 2009. Consultado el 15 de junio de 2015 .
  4. "Recomendación ITU-T T.871: Tecnología de la información – Compresión y codificación digital de imágenes fijas de tono continuo: formato de intercambio de archivos JPEG (JFIF)" (PDF) . ITU-T. 14 de mayo de 2011. Consultado el 15 de junio de 2015 .
  5. "ISO/IEC 10918-5:2013: Tecnología de la información – Compresión y codificación digital de imágenes fijas de tono continuo: formato de intercambio de archivos JPEG (JFIF)" . ISO/Comisión Electrotécnica Internacional. 1 de mayo de 2013. Consultado el 15 de junio de 2015 .

Lecturas adicionales

Libros

  • Miano, John M., "Formatos de archivo de imagen comprimidos"; 1999, Addison-Wesley ISBN 978-0-201-60443-6
  • Pennebaker, William B. y Joan L. Mitchell : Estándar de compresión de datos de imágenes fijas JPEG ; 3.ª edición, 1993, Springer ISBN 978-0-442-01272-4

Estándares

  • Hamilton, Eric: Formato de intercambio de archivos JPEG, versión 1.02 (PDF, 0,02  MB) 1 de septiembre de 1992
  • Recomendación ITU-T T.871: Tecnología de la información – Compresión y codificación digital de imágenes fijas de tono continuo: formato de intercambio de archivos JPEG (JFIF) (PDF y Microsoft Word, 0,2 MB). Aprobada el 14 de mayo de 2011; publicada el 11 de septiembre de 2012.
  • Recomendación ITU-T T.81: Tecnología de la información – Compresión y codificación digital de imágenes fijas de tono continuo – Requisitos y directrices (PDF y Microsoft Word, 1,5 MB). Aprobada el 18 de septiembre de 1992; publicada el 14 de abril de 2004.