# Interoperable Master Format

Interoperable Master Format (IMF) is a container format for the standardized digital delivery and storage of finished audio-visual masters, including movies, episodic content and advertisements.
In IMF, each kind of essence (video, audio, subtitles, etc.) is stored in individual media files (“Track Files”) and the instructions for synchronizing these media files are stored in a separate playlist file (“Composition Playlist”). This component-based approach allows the large media files to be reused across multiple playlists, each representing a different version of the content..
The IMF family of standards, ST 2067, is maintained by SMPTE. Its first edition was published in 2013.
IMF is closely related to Digital Cinema Package (“DCP”), leveraging several of the same standards for packaging and architecture.

## Architecture

The core of IMF is the Composition, illustrated in the first image, which consists of a single Composition Playlist and a collection of Track Files. Each Composition corresponds to a single audio-visual master.
Each Track File contains a specific essence corresponding to a single aspect of the presentation. Track Files are both organized and limited by parameters such as resolution, color space, frame rate, audio sound field, etc. Track Files of disparate parameters may not be mixed in a Composition. Track Files use a constrained version of the MXF OP1a format Material Exchange Format
The Composition Playlist is an XML document. It assembles the Track Files onto virtual tracks that are synchronized onto a timeline. It also contains metadata associated with that timeline.The combination of a Composition Playlist and the Track Files it references is called a Composition.
Each Composition represents a different version of an audio-visual work. Separating the Composition Playlist from the Track Files allows reuse of Track Files across multiple Compositions, as shown in the reuse example diagram.

## Specifications

IMF is specified in the ST 2067 family of standards managed by SMPTE.
IMF is organized into three main categories:
* core constraints, to which all IMF implementations conform and representing the bulk of the IMF standard;
* applications, which target specific use cases; and
* plug-ins, which contain optional technology that can be used across multiple applications.
The core constraints are specified in SMPTE ST 2067-2 (Core Constraints). An example of an application is Application #2E, which is specified in SMPTE ST 2067-21 and targets studio masters. One of the plugins is the Immersive Audio Bitstream Level 0 Plug-in, which is specified in SMPTE ST 2067-201 and adds support for immersive sound.

## Example uses

IMF is specified by professional content creators for delivery of their content, including: BBC, Netflix and Disney
In partnership with SMPTE, the DPP has published recommendations for broadcast workflows with IMF

## Supported essence

IMF supports a wide range of audio-visual essence and metadata, including:
* Video up to 8192x6224 rasters, lossy and lossless compression, high-dynamic range, wide color gamut and stereoscopic 3D,
* 24-bit 48 kHz channel-based sound, arranged in arbitrary configurations
* Immersive Audio Bitstream (IAB) immersive sound
* Subtitles and captions that conform to the TTML Profiles for Internet Media Subtitles and Captions 1.1 (IMSC 1.1) W3C Recommendation

## History

The need for IMF arose from various projects in the film and television industries that identified component-based working as a more efficient mechanism for handling the very large volumes of very large files created when delivering cinema and television content around the globe. With help from the Entertainment Technology Center, the SMPTE created the first version of the standard in 2013. The IMF User Group (IMF UG) was created by the Hollywood Professional Association shortly after and the IMF UG fosters active discussions between content owners, technologists, logistics specialists and software providers on best current practice for delivering large volumes of localized content in a resource efficient manner. The IMF UG has created an IMF explainer in multiple languages

## System Support

Numerous media processing companies support IMF in its various iterations. This section describes several known manufacturers' implementations.
| Manufacturer | System | IMFUG Member | App#2E (-21) | App#4 (-40) Cinema Mezzanine | App#5 ACES | ISXD plugin | IAB plugin | RDD 45 (ProRes) |
| Blackmagic | DaVinci Resolve | | Yes | | | | | |
| Cinecert | Pakanu | | Yes | | | | | |
| Marquise | MIST | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Marquise | ICE | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Rohde & Schwarz | Clipster | | Yes | | | | | |
| Colorfront | Transkoder | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Colorfront | QC Player | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| MTI | Cortex | | Yes | | | | | |
| Telestream | Vantage | | Yes | | | | | |
| Venera | Pulsar | Yes | Yes | | | | | |
| Venera | Quasar | Yes | Yes | | | | | |
| Interra | Baton | | Yes | | | | | |

### Open Source System Support

This section describes several known open source IMF implementations.
| System | App#2E (-21) | ISXD plugin | RDD 45 (ProRes) | RDD 59-1 (DPP ProRes) |
| Photon | Yes | | | |
| IMFTool | Yes | Yes | | |
| FFMPEG | Yes | | | |
| BMX | Yes | | Yes | Yes |