Введение
Стандарт метаданных в цифровых изображениях – это формат для хранения метаданных в файлах изображений и аудио. Этот стандарт состоит из спецификации файлов изображений Exif и спецификации файлов аудио Exif.
a format for storing metadata in image and audio files
This standard consists of the Exif image file specification and the Exif audio file specification.
История версий
Японская ассоциация развития электронной промышленности (JEIDA) разработала первоначальное определение Exif. Версия 2.1 спецификации датирована 12 июня 1998 года. JEITA разработала версию Exif 2.2 (также известную как "Exif Print"), датированную 20 февраля 2002 года и выпущенную в апреле 2002 года. Версия 2.21 (с поддержкой Adobe RGB) датируется 11 июля 2003 года, но была выпущена в сентябре 2003 года после выпуска DCF 2.0. Версия 2.3 была выпущена 26 апреля 2010 года, и пересмотрена до 2.31 в июле 2013 года и до 2.32 17 мая 2019 года, была совместно разработана JEITA и CIPA. Последняя версия, 3.0, была выпущена в мае 2023 года и включает, среди прочего, поддержку UTF-8 для текстовых данных в кодировке, отличной от ASCII. +VersionsVersionRelease DateChanges1.0Октябрь 1995Удалены зависимости от пакета io1.1Май 19972.0Ноябрь 1997Изменение лицензии на лицензию MIT2.1Декабрь 19982.2Апрель 2002Добавлена поддержка HEIC2.21Сентябрь 2003Добавлен "Exif Print"2.21 (унифицированная версия) Сентябрь 20092.3Апрель 20102.3 (пересмотренная) Декабрь 20122.31Июль 20162.32Май 20193.0Май 2023Тип данных UTF-8
Технические
Структура тегов Exif заимствована из файлов TIFF. По ряду свойств, специфичных для изображений, существует значительное совпадение между тегами, определенными в стандартах TIFF, Exif, TIFF/EP и DCF. Для описательных метаданных наблюдается совпадение между Exif, моделью обмена информацией IPTC и информацией XMP, которые также могут быть внедрены в JPEG-файл. Рабочая группа по метаданным разработала рекомендации по сопоставлению тегов между этими стандартами. Для работы с данными Exif используются библиотеки: Adobe XMP Toolkit или Exiv2 для C++, Metadata Extractor для Java, PIL/Pillow для Python, LEADTOOLS или ExifTool для Perl, которые позволяют извлекать данные Exif из файлов и читать/записывать значения тегов Exif.
Технические
Формат Exif имеет ряд недостатков, в основном связанных с использованием устаревших файловых структур. Производное от структуры файла TIFF с использованием указателей смещения в файлах, это означает, что данные могут быть разбросаны где угодно внутри файла, что повышает вероятность повреждения указателей или соответствующих данных программным обеспечением, которое их не декодирует/кодирует. По этой причине большинство редакторов изображений в той или иной степени повреждают или удаляют метаданные Exif при сохранении. Стандарт определяет тег MakerNote, который позволяет производителям камер размещать в файле любые метаданные пользовательского формата. Производители камер все чаще используют это для хранения настроек камеры, не указанных в стандарте Exif, таких как режимы съемки, настройки постобработки, серийный номер, режимы фокусировки и т. д. Поскольку содержимое тегов является проприетарным и специфичным для производителя, извлечение этой информации из изображения или ее правильное сохранение при перезаписи изображения может быть затруднительным. Производители могут шифровать части информации; например, некоторые камеры Nikon шифруют подробные данные об объективе в данных MakerNote. Exif очень часто используется в изображениях, созданных сканерами, но стандарт не предусматривает никакой информации, специфичной для сканеров. Программное обеспечение для обработки фотографий иногда не обновляет встроенную миниатюру после операции редактирования, что может привести к непреднамеренной публикации компрометирующей информации пользователем. Например, кто-то может закрасить номерной знак автомобиля (в целях конфиденциальности), но миниатюра может остаться необновленной, что сделает информацию все еще видимой. Размер метаданных Exif ограничен 64 кБ в JPEG-изображениях, поскольку, согласно спецификации, эта информация должна содержаться в одном сегменте JPEG APP1. Хотя расширения FlashPix позволяют информации охватывать несколько сегментов JPEG APP2, они редко используются. Это побудило некоторых производителей камер разработать нестандартные методы хранения больших предварительных изображений, используемых некоторыми цифровыми камерами для просмотра на ЖК-экране. Эти нестандартные расширения часто теряются, если пользователь повторно сохраняет изображение с помощью программного обеспечения для редактирования изображений, что может сделать изображение несовместимым с исходной камерой, которая его создала. (В 2009 году CIPA выпустила спецификацию Multi Picture Object, которая решает эту проблему и предоставляет стандартный способ хранения больших предварительных просмотров в изображениях JPEG.) Не существует способа записи информации о часовом поясе вместе со временем, что делает сохраненное время неоднозначным. Однако информация о часовом поясе была недавно добавлена в версии 2.31 Exif (июль 2016 года). Связанные теги: "OffsetTime", "OffsetTimeOriginal" и "OffsetTimeDigitized". Нет стандартного поля для записи показаний акселерометров камеры или инерциальной навигационной системы. Эти данные могут помочь установить связь между системой координат XYZ датчика изображения и вектором гравитации (то есть, какая сторона находится внизу на этом изображении). Они также могут установить относительное положение или ориентацию камеры в последовательности фотографий. Некоторые программы записывают эту информацию, используя тег GPSImgDirection вместе с пользовательскими тегами GPSPitch и GPSRoll. Теги XResolution и YResolution указывают количество пикселей на единицу длины для ширины и высоты изображения соответственно. (Сама единица длины указывается тегом ResolutionUnit.) По умолчанию эти теги в сочетании установлены на 72 пикселя на дюйм (ppi). Эти теги были унаследованы от стандарта TIFF 6.0 и требуются, хотя для изображений, полученных с цифровых камер, значения разрешения изображения, такие как ppi, не имеют значения.
Конфиденциальность и безопасность
Поскольку тег Exif содержит метаданные о фотографии, это может представлять угрозу конфиденциальности. Например, фотография, сделанная камерой с включенным GPS, может раскрыть точное место и время съемки, а также уникальный идентификационный номер устройства – и все это происходит по умолчанию, зачастую без ведома пользователя. Многие пользователи могут не подозревать, что их фотографии по умолчанию маркируются таким образом, или что для публикации потребуется специализированное программное обеспечение для удаления тега Exif. Например, информатор, журналист или политический диссидент, рассчитывающий на защиту анонимности для сообщения о злоупотреблениях со стороны корпорации, преступника или правительства, может оказаться под угрозой из-за этого автоматического сбора данных. В декабре 2012 года бизнесмен, специализирующийся на антивирусном программном обеспечении, Джон МакАфи был арестован в Гватемале, спасаясь от предполагаемого преследования в соседнем Белизе. Журнал Vice опубликовал эксклюзивное интервью с МакАфи "в бегах" на своем сайте, в котором была фотография МакАфи с репортером Vice, сделанная телефоном с функцией геотегирования. Метаданные фотографии содержали координаты GPS, указывающие местонахождение МакАфи в Гватемале, и он был задержан через два дня. Позже МакАфи утверждал, что отредактировал данные Exif на своем телефоне, чтобы указать ложное местоположение. Согласно документам, обнародованным Эдвардом Сноуденом, АНБ отслеживает информацию Exif в рамках программы XKeyscore. Проблему конфиденциальности данных Exif можно решить, удалив данные Exif с помощью инструмента для удаления метаданных.
Сопутствующие стандарты
Рабочая группа по метаданным была сформирована консорциумом компаний в 2006 году (согласно их веб-странице) или в 2007 году (как указано в их собственном пресс-релизе). Версия 2.0 спецификации была выпущена в ноябре 2010 года и содержала рекомендации по использованию метаданных Exif, IPTC и XMP в изображениях. Extensible Metadata Platform (XMP) – это стандарт ISO, изначально разработанный компанией Adobe Systems Inc. для создания, обработки и обмена стандартизированными и пользовательскими метаданными для цифровых документов и наборов данных. IPTC был разработан в начале 1990-х годов Международным советом по прессе и телекоммуникациям (IPTC) для ускорения международного обмена новостями между газетами и новостными агентствами.
Поля Exif
Не все устройства используют все доступные поля метаданных в стандарте Exif.
Пример
В следующей таблице показаны метаданные Exif для фотографии, сделанной с помощью типичной цифровой камеры. Авторство и информация об авторских правах обычно не предоставляются в выходных данных камеры, поэтому их необходимо заполнить на более поздних этапах обработки. Некоторые программы, такие как Digital Photo Professional от Canon, позволяют добавить имя владельца непосредственно в камере. TagValueManufacturerCASIOModelQV 4000Ориентация (поворот)верхний левый угол [8 возможных значений]SoftwareVer1.01Дата и время2003:08:11 16:45:32Позиционирование YCbCrцентрированноеСжатиеJPEG сжатиеРазрешение по X72.00Разрешение по Y72.00Единица измерения разрешенияДюймВыдержка1/659 сДиафрагменное числоf/4.0Программа экспозицииНормальная программаВерсия ExifExif версия 2.1Дата и время (оригинал)2003:08:11 16:45:32Дата и время (цифровое)2003:08:11 16:45:32Конфигурация цветовых компонентовY Cb CrСжатие в битах на пиксель4.01Коррекция экспозиции0.0Максимальное значение диафрагмы2.00Режим замера экспозицииМультизонныйВспышкаВспышка не сработалаФокусное расстояние20.1 ммMakerNote432 байта неизвестных данныхВерсия FlashPixFlashPix версия 1.0Цветовое пространствоRGBРазмер изображения по X2240Размер изображения по Y1680Источник файлаDSCИндекс совместимостиR98Версия совместимости(null)
Временные метки
В дополнение к основным тегам даты и времени (DateTime, DateTimeOriginal и DateTimeDigitized) существуют три соответствующих тега "доли секунды": SubsecTime, SubsecTimeOriginal и SubsecTimeDigitized. Тег SubsecTime определяется в версии 2.3 как "тег, используемый для записи долей секунды для тега DateTime". Эти расширения FlashPix позволяют сохранять метаинформацию при преобразовании между FPXR JPEG-изображениями и FlashPix-изображениями. Информацию FPXR можно найти в изображениях некоторых моделей цифровых камер Kodak и Hewlett Packard. Ниже приведен пример информации FPXR, найденной в JPEG-изображении цифровой камеры Kodak EasyShare V570:
TagValueCode page1200Used extension numbers1
Название расширения Screen nail
Класс расширения ID 10000230 6FC0 11D0 BD01 00609719A180
Сохраняемость расширения Invalidated by modification
Дата создания расширения 2003:03:29 17:47:50
Дата изменения расширения 2003:03:29 17:47:50
Создающее приложение Picoss
Описание расширения Предварительное изображение для LCD
Путь к потоку хранения /. Screen Nail bd0100609719a180
Screen nail (124 498 байт данных, содержащих предварительный просмотр JPEG-изображения 640×480)
Аудиофайлы Exif
Спецификация Exif описывает формат файла RIFF, используемый для аудиофайлов WAV, и определяет ряд тегов для хранения метаинформации, такой как исполнитель, авторские права, дата создания и другие данные в этих файлах. В следующей таблице приведен пример информации Exif, обнаруженной в WAV-файле, созданном цифровой камерой Pentax Optio WP:
ТегЗначениеКодировкаMicrosoft PCMКоличество каналов1Частота дискретизации7872Средний объем данных в секунду7872Разрядность8Дата создания2005:08:08Версия Exif0220Связанный файл изображенияIMGP1149.JPGВремя создания16:23:35ПроизводительPENTAX CorporationМодельPENTAX Optio WPПримечание производителя (2064 байта данных)