I’ve been on a quest for the perfect Digital Asset Manager — DAM. One of my requirements is that the program must write all of my added tags, captions, or descriptions to the file’s metadata, not to a separate file or into a database. My partner pointed out that this topic is a quagmire of competing standards, and he sent me the below information.
The image metadata standards
Exif (standardized by JEIDA/JEITA/CIPA)
XMP (standardized by ISO)
IPTC IIM (Information Interchange Model), Core, and Extension (standardized by IPTC)
Multi Picture Object
Dublin Core DCMI
PLUS License Data Format (LDF)
Here are comments from various software developers about the non-standardness of image metadata:
The derivation of Exif from the TIFF file structure using offset pointers in the files means that data can be spread anywhere within a file, which means that software is likely to corrupt any pointers or corresponding data that it doesn’t decode/encode. For this reason most image editors damage or remove the Exif metadata to some extent upon saving.
Camera manufacturers often store camera-specific data not standardized, and sometimes encrypted. This data can be difficult to retrieve this information from an image or to properly preserve it when rewriting an image.
Photo manipulation software sometimes fails to update the embedded thumbnail after an editing operation, possibly causing the user to inadvertently publish compromising information. For example, someone might blank out a license registration plate of a car (for privacy concerns), only to have the thumbnail not so updated.
Example: camera white balance can be stored in 65 different places in the metadata according to the various standards and implementations. You can’t expect every program to get that right.
Even the image date is a problem: there are eight distinct Exif timestamps possible in an image, called: file modified, file accessed, file created, modified, original, created, GPS date, GPS time. The choice of which field to use for the image date is up to the application designer. Filesystem date fields are always present but may be modified by processing. The image date may sometimes be conditional on the presence of particular fields or use the field has the earliest date.
Exif tag 37500, “MakerNote”, is (unfortunately) a popular way to store custom metadata, particularly in image files created by digital cameras (see Cameras and Digital Image Sensors). By the Exif standard, MakerNote is merely a block of arbitrary bytes, which creators of Exif files may use in any way they like.
TIFF’s tagged structure was designed to be easily extendible, and many vendors have introduced proprietary special-purpose tags – with the result that no one reader handles every flavor of TIFF file.