Extensible Device Metadata
# Extensible Device Metadata

The Extensible Device Metadata (XDM) specification is an open file format for embedding device-related metadata in JPEG and other common image files without breaking compatibility with ordinary image viewers. The metadata types include: depth map, camera pose, point cloud, lens model, image reliability data, and identifying info about the hardware components. This metadata can be used, for instance, to create depth effects such as a bokeh filter, recreate the exact location and position of the camera when the picture was taken, or create 3D data models of environments or objects.

The format uses XML and is based on the XMP standard. It can support multiple "cameras" (image sources and types) in a single image file, and each can include data about its position and orientation relative to the primary camera. A camera data structure may include an image, depth map, etc. The XDM 1.0 documentation uses JPEG as the basic model, but states that the concepts generally apply to other image-file types supported by XMP, including PNG, TIFF, and GIF.

The XDM specification is developed and maintained by a working group that includes engineers from Intel and Google. The version 1.01 specification is posted at the website xdm.org; an earlier 1.0 version was posted at the Intel website in late 2015.

XDM builds upon the Depthmap Metadata specification, introduced in 2014 and used in commercial applications including Google Lens Blur and Intel RealSense Depth Enabled Photography (DEP). That original specification was designed only for depth-photography use cases. Due to changes and expansions of the data structure, and the use of different namespaces, the two standards are not compatible. Existing applications that used that older standard will not work with XDM without modifications.

