Exif
Formato de archivo de imagen intercambiable (oficialmente Exif, según las especificaciones JEIDA/JEITA/CIPA) es un estándar que especifica formatos para imágenes, sonido y etiquetas auxiliares utilizadas por cámaras digitales (incluidos los teléfonos inteligentes), escáneres y otros sistemas que manejan archivos de imagen y sonido grabados por cámaras digitales. La especificación utiliza los siguientes formatos de codificación existentes con la adición de etiquetas de metadatos específicas: codificación con pérdida JPEG para archivos de imagen comprimidos, TIFF Rev. 6.0 (RGB o YCbCr) para archivos de imagen sin comprimir y RIFF WAV para archivos de audio (PCM lineal o ITU- T PCM de ley μ G.711 para datos de audio sin comprimir e IMA-ADPCM para datos de audio comprimidos). No admite imágenes codificadas en JPEG 2000 o GIF.
Este estándar consiste en la especificación de archivo de imagen Exif y la especificación de archivo de audio Exif.
Antecedentes
Exif es compatible con casi todos los fabricantes de cámaras.
Las etiquetas de metadatos definidas en el estándar Exif cubren un amplio espectro:
- Ajustes de la cámara: Esto incluye información estática como el modelo de cámara y hacer, e información que varía con cada imagen como orientación (rotación), abertura, velocidad de obturación, longitud focal, modo de medición e información de velocidad ISO.
- métricas de imagen: Dimensiones del píxel, resolución, espacio de color y tamaño de archivos
- Información de fecha y hora. Las cámaras digitales registrarán la fecha y hora actuales y guardarán esto en los metadatos.
- Información de ubicación
- Una miniatura para previsualizar la imagen en la pantalla LCD de la cámara, en gestores de archivos, o en software de manipulación de fotos.
- Descripción
- Información sobre los derechos de autor.
Historial de versiones
La Asociación de Desarrollo de Industrias Electrónicas de Japón (JEIDA) produjo la definición inicial de Exif. La versión 2.1 de la especificación tiene fecha del 12 de junio de 1998. JEITA estableció la versión 2.2 de Exif (también conocida como "Exif Print"), con fecha del 20 de febrero de 2002 y lanzada en abril de 2002. Versión 2.21 (con compatibilidad con Adobe RGB) tiene fecha del 11 de julio de 2003, pero se lanzó en septiembre de 2003 tras el lanzamiento de DCF 2.0. La versión 2.3 se publicó el 26 de abril de 2010, se revisó a 2.31 en julio de 2013 y se revisó a 2.32 el 17 de mayo de 2019, fue formulada conjuntamente por JEITA y CIPA. La última versión, 3.0, se lanzó en mayo de 2023 y trae, entre otras cosas, soporte para UTF-8 para permitir datos de texto en codificación no ASCII.
Versión | Fecha de lanzamiento | Cambios |
---|---|---|
1.0 | Octubre de 1995 | |
1.1 | Mayo de 1997 | |
2.0 | Noviembre de 1997 | |
2.1 | Diciembre de 1998 | |
2.2 | Abril de 2002 | |
2.21 | Septiembre de 2003 | Adición de "Exif Print" |
2.21 (versión unificada) | Septiembre de 2009 | |
2.3 | Abril de 2010 | |
2.3 (revisado) | Diciembre de 2012 | |
2.31 | Julio 2016 | |
2.32 | Mayo 2019 | |
3.0 | Mayo 2023 | Tipo de datos UTF-8 |
Técnico
La estructura de etiquetas Exif se toma prestada de archivos TIFF. En varias propiedades específicas de la imagen, existe una gran superposición entre las etiquetas definidas en los estándares TIFF, Exif, TIFF/EP y DCF. Para los metadatos descriptivos, existe una superposición entre Exif, el modelo de intercambio de información IPTC y la información XMP, que también se puede incrustar en un archivo JPEG. El Grupo de Trabajo de Metadatos tiene pautas sobre el mapeo de etiquetas entre estos estándares.
Cuando se emplea Exif para archivos JPEG, los datos Exif se almacenan en uno de los segmentos de aplicación de utilidad definidos por JPEG, el APP1 (marcador de segmento 0xFFE1), que en efecto contiene un archivo TIFF dentro. Cuando se emplea Exif en archivos TIFF (también cuando se usa como "un archivo TIFF incrustado" mencionado anteriormente), la etiqueta privada TIFF 0x8769 define un directorio de archivos de subimagen (IFD) que contiene las etiquetas TIFF especificadas por Exif. Además, Exif también define un sub-IFD del sistema de posicionamiento global utilizando la etiqueta privada TIFF 0x8825, que contiene información de ubicación y un "IFD de interoperabilidad" especificado dentro del sub-IFD Exif, usando la etiqueta Exif 0xA005.
Los formatos especificados en el estándar Exif se definen como estructuras de carpetas basadas en Exif-JPEG y formatos de grabación para la memoria. Cuando estos formatos se utilicen como archivos Exif/DCF junto con la especificación DCF (para una mejor interoperabilidad entre dispositivos de diferentes tipos), su alcance cubrirá los dispositivos, los medios de grabación y el software de aplicación que los maneja.
Geolocalización
El formato Exif tiene etiquetas estándar para la información de ubicación. A partir de 2014, muchas cámaras y teléfonos móviles tienen un receptor GPS integrado que almacena la información de ubicación en el encabezado Exif cuando se toma una foto. Algunas otras cámaras tienen un receptor GPS separado que encaja en el conector del flash o en la zapata para accesorios. Los datos de GPS registrados también se pueden agregar a cualquier fotografía digital en una computadora, ya sea correlacionando las marcas de tiempo de las fotografías con un registro de GPS de un receptor de GPS de mano o manualmente usando un mapa o software de mapeo. Algunas cámaras se pueden emparejar con teléfonos móviles para proporcionar la geolocalización. El proceso de agregar información geográfica a una fotografía se conoce como geoetiquetado. Las comunidades de intercambio de fotografías como Panoramio, locr o Flickr también permiten a sus usuarios cargar imágenes geocodificadas o agregar información de geolocalización en línea.
Apoyo al programa
Los datos Exif están incrustados dentro del propio archivo de imagen. Si bien muchos programas de manipulación de imágenes recientes reconocen y conservan los datos Exif al escribir en una imagen modificada, este no es el caso de la mayoría de los programas más antiguos. Muchos programas de galería de imágenes también reconocen los datos Exif y, opcionalmente, los muestran junto con las imágenes.
Las bibliotecas de software, como libexif para C y Adobe XMP Toolkit o Exiv2 para C++, Metadata Extractor para Java, PIL/Pillow para Python, LEADTOOLS o ExifTool para Perl, analizan datos Exif de archivos y leen/escriben valores de etiquetas Exif.
Problemas
Técnico
El formato Exif tiene varios inconvenientes, principalmente relacionados con el uso de estructuras de archivos heredadas.
- La derivación de Exif desde la estructura de archivos TIFF usando punteros offset en los archivos significa que los datos pueden ser difundidos en cualquier lugar dentro de un archivo, lo que significa que el software es probable que corrompa cualquier puntero o datos correspondientes que no decodifica/encode. Por esta razón la mayoría de los editores de imágenes dañan o eliminan los metadatos Exif en cierta medida al guardar.
- El estándar define una etiqueta MakerNote, que permite a los fabricantes de cámaras colocar cualquier metadato de formato personalizado en el archivo. Esto es utilizado cada vez más por los fabricantes de cámaras para almacenar la configuración de la cámara no lista en el estándar Exif, tales como modos de disparo, configuración de procesamiento posterior, número de serie, modos de enfoque, etc. Como el contenido de la etiqueta es patentado y específico para el fabricante, puede ser difícil recuperar esta información de una imagen o preservarla adecuadamente al reescribir una imagen. Los fabricantes pueden cifrar porciones de la información; por ejemplo, algunas cámaras de Nikon encriptan los datos detallados de la lente en los datos de MakerNote.
- Exif se utiliza muy a menudo en imágenes creadas por escáneres, pero el estándar no contiene disposiciones para ninguna información específica del escáner.
- El software de manipulación de fotos a veces no actualiza la miniatura incrustada después de una operación de edición, posiblemente haciendo que el usuario publique inadvertidamente información comprometida. Por ejemplo, alguien podría dejar en blanco una placa de registro de licencias de un coche (para preocupaciones de privacidad), sólo para tener la miniatura no tan actualizada, lo que significa que la información sigue siendo visible.
- Los metadatos exif están restringidos en tamaño a 64 kB en imágenes JPEG porque, según la especificación, esta información debe estar contenida en un solo segmento JPEG APP1. Aunque las extensiones FlashPix permiten que la información abarque múltiples segmentos JPEG APP2, estas extensiones no se utilizan comúnmente. Esto ha impulsado a algunos fabricantes de cámaras a desarrollar técnicas no estándar para almacenar las grandes imágenes de vista previa utilizadas por algunas cámaras digitales para la revisión LCD. Estas extensiones no estándar se pierden comúnmente si un usuario re-saves de la imagen utilizando software de editor de imágenes, posiblemente haciendo que la imagen sea incompatible con la cámara original que la creó. (En 2009, CIPA publicó la especificación de objetos de imágenes múltiples que aborda esta deficiencia y proporciona una forma estándar de almacenar grandes previsualizaciones en imágenes JPEG.)
- No hay manera de registrar la información de la zona temporal junto con el tiempo, lo que hace que el tiempo almacenado sea ambiguo. Sin embargo, la información de la zona horaria ha sido introducida recientemente por la versión 2.31 de Exif (julio de 2016). Etiquetas relacionadas son: "OffsetTime", "OffsetTimeOriginal" y "OffsetTimeDigitized".
- No hay campo estándar para registrar lecturas de los acelerómetros de una cámara o sistema de navegación inercial. Tales datos podrían ayudar a establecer la relación entre el sistema de coordenadas XYZ del sensor de imagen y el vector de gravedad (es decir, qué forma está abajo en esta imagen). También podría establecer posiciones o orientaciones relativas de la cámara en una secuencia de fotos. Algunos software registra esta información usando la etiqueta GPSImgDirection junto con las etiquetas GPSPitch y GPSRoll personalizadas.
- Las etiquetas XResolution y YResolution proporcionan el número de píxeles por unidad de longitud para el ancho y la altura de la imagen, respectivamente. (La unidad de longitud en sí es especificada por la etiqueta ResoluciónUnit.) Por defecto, estas etiquetas en combinación se establecen a 72 píxeles por pulgada (ppi). Estas etiquetas fueron heredadas de la norma TIFF 6.0 y son necesarias aunque para las imágenes producidas por cámaras digitales, valores de resolución de imágenes como ppi no tienen sentido.
Privacidad y seguridad
Dado que la etiqueta Exif contiene metadatos sobre la foto, puede plantear un problema de privacidad. Por ejemplo, una foto tomada con una cámara habilitada para GPS puede revelar la ubicación exacta y la hora en que se tomó, y el número de identificación único del dispositivo; todo esto se hace de forma predeterminada, a menudo sin el conocimiento del usuario. Es posible que muchos usuarios no sepan que sus fotos están etiquetadas de forma predeterminada de esta manera, o que es posible que se requiera un software especializado para eliminar la etiqueta Exif antes de publicarlas. Por ejemplo, un denunciante, periodista o disidente político que confíe en la protección del anonimato para poder denunciar irregularidades cometidas por una entidad corporativa, criminal o gubernamental puede ver comprometida su seguridad por esta recopilación de datos predeterminada.
En diciembre de 2012, el empresario antivirus John McAfee fue arrestado en Guatemala mientras huía de una supuesta persecución en el vecino Belice. La revista Vice había publicado una entrevista exclusiva en su sitio web con McAfee "on the run" que incluía una foto de McAfee con un reportero de Vice tomada con un teléfono que había geoetiquetado la imagen. Los metadatos de la foto incluían coordenadas de GPS que ubicaban a McAfee en Guatemala, y fue capturado dos días después. Más tarde, McAfee afirmó haber editado los datos Exif de su teléfono para proporcionar una ubicación falsa.
Según los documentos filtrados por Edward Snowden, la NSA tiene como objetivo la información Exif bajo el programa XKeyscore.
El problema de privacidad de los datos Exif se puede evitar eliminando los datos Exif con una herramienta de eliminación de metadatos.
Estándares relacionados
Metadata Working Group fue formado por un consorcio de empresas en 2006 (según su página web) o 2007 (según se indica en su propio comunicado de prensa). La versión 2.0 de la especificación se publicó en noviembre de 2010 y ofrece recomendaciones sobre el uso de metadatos Exif, IPTC y XMP en las imágenes.
Extensible Metadata Platform (XMP) es un estándar ISO, creado originalmente por Adobe Systems Inc., para la creación, el procesamiento y el intercambio de metadatos estandarizados y personalizados para documentos y conjuntos de datos digitales. IPTC fue desarrollado a principios de la década de 1990 por el Consejo Internacional de Telecomunicaciones de Prensa (IPTC) para acelerar el intercambio internacional de noticias entre periódicos y agencias de noticias.
Campos Exif
No todos los dispositivos utilizan todos los campos de metadatos disponibles en el estándar Exif.
Ejemplo

La siguiente tabla muestra los metadatos Exif para una foto hecha con una cámara digital típica. Tenga en cuenta que la información de autoría y derechos de autor generalmente no se proporciona en la salida de la cámara, por lo que debe completarse durante las etapas posteriores del procesamiento. Algunos programas, como Digital Photo Professional de Canon, permiten agregar el nombre del propietario a la propia cámara.
Tag | Valor |
---|---|
Fabricantes | CASIO |
Modelo | QV-4000 |
Orientación (rotación) | top-left [8 posibles valores] |
Software | Ver1.01 |
Fecha y hora | 2003:08:11 16:45:32 |
Posición de YCbCr | centrado |
Compresión | Compresión JPEG |
Resolución X | 72.00 |
Y resolución | 72.00 |
Unidad de resolución | Inch |
Tiempo de exposición | 1/659 s |
F-número | f/4.0 |
Programa de exposición | Programa normal |
Versión exif | Versión exif 2.1 |
Fecha y hora (original) | 2003:08:11 16:45:32 |
Fecha y hora (digitizada) | 2003:08:11 16:45:32 |
Configuración de componentes | Y Cb Cr – |
bits comprimidos por pixel | 4.01 |
Sesgo de exposición | 0,0 |
Max. valor de apertura | 2.00 |
Modo de medición | Patrón |
Flash | Flash no disparó |
Longitud focal | 20,1 mm |
MakerNote | 432 bytes datos desconocidos |
Versión FlashPix | Versión FlashPix 1.0 |
Espacio de color | SRGB |
Pixel Dimensión X | 2240 |
Pixel Y dimensión | 1680 |
Fuente de archivo | DSC |
Índice de interoperabilidad | R98 |
Versión de interoperabilidad | (null) |
Etiquetas de tiempo
Además de las etiquetas básicas de fecha y hora (DateTime
, DateTimeOriginal
y DateTimeDigitized
), hay tres " subsegundo" etiquetas: SubsecTime
, SubsecTimeOriginal
y SubsecTimeDigitized
. La etiqueta SubsecTime
se define en la versión 2.3 como "una etiqueta utilizada para registrar fracciones de segundos para la etiqueta DateTime;" los campos SubsecTimeOriginal
y SubsecTimeDigitized
se definen de manera similar. Las etiquetas de subsegundos son de longitud variable, lo que significa que los fabricantes pueden elegir la cantidad de dígitos decimales codificados en ASCII para colocar en estas etiquetas. Para DateTime = 2000:01:01 00:00:00
, la hora real con varios valores de subsegundos sería:
SubsecTime = 2
:2000:01:01 00:00:00.2
SubsecTime = 23
:2000:01:01 00:00:00.23
SubsecTime = 234
:2000:01:01 00:00:00.234
SubsecTime = 2345
:2000:01:01 00:00:00.2345
El estándar no especifica qué evento en particular durante la "toma" de una imagen que deben describir las etiquetas de tiempo. El estándar es, de hecho, ambiguo. La etiqueta DateTimeOriginal
se define como "La fecha y hora en que se generaron los datos de la imagen original." Para una exposición, digamos, 30 segundos, más larga que la granularidad de la marca de tiempo (un segundo para la etiqueta DateTimeOriginal
), el tiempo de la etiqueta podría corresponder al comienzo de la exposición, el final de la exposición, o en algún otro momento. Esta confusión se ve exacerbada por las etiquetas de subsegundos, donde la granularidad (hasta 1/10000 de segundo en los ejemplos del estándar) es más corta que muchas duraciones de exposición comunes.
Como se indicó anteriormente, en la versión 2.31 de Exif se agregaron etiquetas para especificar la información de la zona horaria que faltaba anteriormente. Estos son "OffsetTime", "OffsetTimeOriginal" y "OffsetTimeDigitized". Tienen formato de siete caracteres ASCII (incluido el terminador nulo) que indican las horas y los minutos del desplazamiento, como +01:00
o -01:00
. El desplazamiento es "desde UTC (la diferencia horaria con respecto a la hora universal coordinada, incluido el horario de verano) de la hora de " la etiqueta correspondiente.
Extensiones FlashPix
La especificación Exif también incluye una descripción de la información FPXR (FlashPix-ready), que se puede almacenar en APP2 de imágenes JPEG utilizando una estructura similar a la de un archivo FlashPix. Estas extensiones de FlashPix permiten conservar la metainformación al convertir entre imágenes FPXR JPEG e imágenes FlashPix. La información de FPXR se puede encontrar en imágenes de algunos modelos de cámaras digitales de Kodak y Hewlett-Packard. A continuación se muestra un ejemplo de la información FPXR que se encuentra en una imagen JPEG de una cámara digital Kodak EasyShare V570:
Tag | Valor |
---|---|
Página | 1200 |
Números de extensión usados | 1 |
Nombre de la extensión | uña de la pantalla |
Identificación de clase de extensión | 10000230-6FC0-11D0-BD01-00609719A180 |
Persistente en la extensión | Invalidado por modificación |
Extension crear fecha | 2003:03:29 17:47:50 |
Fecha de modificación de la extensión | 2003:03:29 17:47:50 |
Crear aplicación | Picoss |
Descripción de la extensión | Imagen preseleccionada para LCD |
Nombre de ruta de almacenamiento | /. Pantalla Nail_bd0100609719a180 |
uña de la pantalla | (124,498 bytes de datos que contienen 640×480 JPEG imagen de vista previa) |
Archivos de audio Exif
La especificación Exif describe el formato de archivo RIFF utilizado para los archivos de audio WAV y define una serie de etiquetas para almacenar metainformación, como el artista, los derechos de autor, la fecha de creación y más en estos archivos. La siguiente tabla da un ejemplo de información Exif encontrada en un archivo WAV escrito por la cámara digital Pentax Optio WP:
Tag | Valor |
---|---|
Codificación | Microsoft PCM |
Número de canales | 1 |
Tasa de muestreo | 7872 |
Avg. bytes por segundo | 7872 |
Bits por muestra | 8 |
Fecha creada | 2005:08:08 |
Versión exif | 0220 |
Archivo de imagen relacionado | IMGP1149.JPG |
Tiempo creado | 16:23:35 |
Hacer | PENTAX Corporation |
Modelo | PENTAX Optio WP |
MakerNote | (2064 bytes of data) |
Datos de Maker Note
El "MakerNote" La etiqueta contiene información de la imagen normalmente en un formato binario patentado. Algunos de estos formatos específicos del fabricante han sido decodificados:
- OZHiker (no actualizado desde 2008): Agfa, Canon, Casio, Epson, Fujifilm, Konica/Minolta, Kyocera/Contax, Nikon, Olympus, Panasonic, Pentax/Asahi, Ricoh, Sony
- Kamisaka (no actualizado desde 2007): Canon, Casio, FujiFilm, ISL, KDDI, Konica/Minolta, Mamiya, Nikon, Panasonic, Pentax, Ricoh, Sigma, Sony, WWL
- X3F Info: Sigma/Foveon
- ExifTool: Canon, Casio, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon, Sony, etc.
- Olypedia: Olimpo
Los formatos patentados que utilizan muchos fabricantes se rompen si se mueven los datos de la etiqueta de MakerNote (es decir, al insertar o editar una etiqueta que la precede). La razón para editar los datos Exif podría ser tan simple como agregar información de derechos de autor, un comentario Exif, etc. Hay dos soluciones para este problema:
- Cuando se guardan los datos Exif, los datos MakerNote se almacenan en el mismo lugar que antes.
- Se añade una etiqueta offset especial. Esta etiqueta contiene la información de cuántos bytes se movieron los datos MakerNote en comparación con el índice original.
Microsoft ha implementado la última solución en Windows 10: en el explorador de Windows puede cambiar los datos Exif de un archivo de imagen mediante la ventana de propiedades. Aquí la ficha "Detalles" contiene algunos datos Exif como título, tema, comentarios, etc. y estos datos Exif también se pueden cambiar y almacenar. Cuando se guarda el archivo de imagen, la etiqueta "OffsetSchema" (ID de etiqueta = 0xea1d) y esta etiqueta contiene un número de 32 bits firmado. Con este número, el índice original de "MakerNote" se puede restaurar:
Índice original de "MakerNote" = Índice actual de "MakerNote" - Valor de la etiqueta "OffsetSchema"
Pero la etiqueta "OffsetSchema" fue definido por Microsoft y no es parte del estándar oficial Exif.
En algunos casos, los proveedores de cámaras también almacenan información importante solo en campos de notas de propietario, en lugar de usar las etiquetas estándar Exif disponibles. Un ejemplo de esto es la etiqueta de configuración de velocidad ISO de Nikon.