Advanced Authoring Format
The Advanced Authoring Format (AAF) is a professional file interchange format designed for the video post production and authoring environment. The AAF was created by the Advanced Media Workflow Association (AMWA). The AMWA develops specifications and technologies to facilitate the deployment and operation of efficient media workflows. The AMWA works closely with standards bodies like the SMPTE.
Technical work of the AMWA is through projects that strive for compatibility between AAF (Advanced Authoring Format), BXF, MXF (Material Exchange Format) and XML. The current projects fall into three categories: data models, interface specifications, and application specifications.
AAF was created to help address the problem of multi-vendor, cross-platform interoperability for computer-based digital video production. There are two kinds of data that can be interchanged using AAF:
• Audio, video, still image, graphics, text, animation, music, and other forms of multimedia data. In AAF these kinds of data are called essence data, because they are the essential data within a multimedia program that can be perceived directly by the audience
• Data that provides information on how to combine or modify individual sections of essence data or that provides supplementary information about essence data. In AAF these kinds of data are called metadata, which is defined as data about other data. The metadata in an AAF file can provide the information needed to combine and modify the sections of essence data in the AAF file to produce a complete multimedia program.
There are two major parts to AAF: the AAF Object Specification and the AAF Software Development Kit (SDK) Reference Implementation
The AAF Object Specification defines a structured container for storing essence data and metadata using an object-oriented model. The AAF Object Specification defines the logical contents of the objects and the rules for how the objects relate to each other. The AAF Low-Level Container Specification describes how each object is stored on disk. The AAF Low-Level Container Specification uses Structured Storage, a file storage system developed by Microsoft, to store the objects on disk.
AAF does a number of things:
- Allows complex relationships to be described in terms of an object model.
- Facilitates the interchange of metadata and/or program content.
- Provides a way to track the history of a piece of program content from its source elements through final production.
- Makes downstream rendering possible (with appropriate equipment).
- Provides a convenient way to "wrap" all elements of a project together for archiving.
By preserving source referencing, and abstracting the creative decisions that are made, AAF tries to improve workflow and simplify project management.
AAF is designed to be a data representation of works in progress, as compared to MXF (Material Exchange Format), which is for exchanging finished media products. While MXF uses a KLV (Key Length Value) format for storage, AAF uses the Microsoft Structured Storage system. MXF was developed to be essentially a subset of the AAF data model, under the Zero Divergence Directive (ZDD) policy. This allows for workflows that involve the mixing of AAF and MXF.
AAF's rich data model combining metadata and various types of essence has led to its use in non-broadcast applications as well. For example, AAF has been adopted by the DoD/IC Motion Imagery Standards Board (MISB) for their Aerial Surveillance and Photogrammetry Applications standard (ASPA).
Elements of AAF
The elements of AAF include:
- The AAF Object Specification, which defines the way AAF stores metadata and essence
- The AAF API Specification, which defines how software engineers can write applications
- The AAF Reference Implementation, which implements both these specifications in a completely cross-platform manner
- The AAF Software Development Kit (SDK), which includes developer utilities and validation test suites
- The AAF Example software which demonstrates how to use the AAF SDK to produce AAF files
- The AAF Example files created by working AAF implementations
AAF was originally created by the Advanced Media Workflow Association (AMWA), formerly the AAF Association Inc., a broadly based trade association created to promote the development and adoption of AAF, MXF and SOA technology in media workflows. The AAF Object Model is now being standardized through SMPTE, including a better definition of the mapping between MXF and AAF essence.
See AAF Standards: 
- MXF, Material eXchange Format
- BWF, Broadcast Wave Format
- SNP, Microsoft Access Report Snapshot
- OMF, Open Media Framework Interchange, DAW to DAW exchange format
- "Microsoft Compound Document File Format" (PDF). OpenOffice.org CFBF description. Archived from the original on 30 December 2006. Retrieved 2006-12-21.
- "Advanced Authoring Format Low-Level Container Specification" (PDF). Microsoft Structured Storage version 3 specification (PDF). Retrieved 2006-12-21.