AV1 Image File Format (AVIF)

v1.0.0,

This version:
https://AOMediaCodec.github.io/av1-avif
Issue Tracking:
GitHub
Editors:
(Netflix)
(Microsoft)
Former Editor:
(Netflix)

Copyright 2019, The Alliance for Open Media

Licensing information is available at http://aomedia.org/license/

The MATERIALS ARE PROVIDED “AS IS.” The Alliance for Open Media, its members, and its contributors expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL THE ALLIANCE FOR OPEN MEDIA, ITS MEMBERS, OR CONTRIBUTORS BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS DELIVERABLE OR ITS GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER MEMBER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Abstract

This document specifies syntax and semantics for the storage of [AV1] images in the generic image file format [HEIF], which is based on [ISOBMFF]. While [HEIF] defines general requirements, this document also specifies additional constraints to ensure higher interoperability between writers and readers when [HEIF] is used with [AV1] images. These constraints are based on constraints defined in the Multi-Image Application Format [MIAF] and are grouped into profiles inspired by the profiles defined in [MIAF].

1. Scope

[AV1] defines the syntax and semantics of an AV1 bitstream. The AV1 Image File Format (AVIF) defined in this document supports the storage of a subset of the syntax and semantics of an AV1 bitstream in a [HEIF] file. The AV1 Image File Format defines multiple profiles, which restrict the allowed syntax and semantics of the AV1 bitstream. The profiles defined in this specification follow the conventions of the [MIAF] specification.

AV1 Image File Format supports High Dynamic Range (HDR) and Wide Color Gamut (WCG) images as well as Standard Dynamic Range (SDR). It supports monochrome images as well as multi-channel images with all the bit depths and color spaces specified in [AV1].

AV1 Image File Format also supports multi-layer images as specified in [AV1] to be stored both in image items and image sequences.

An AVIF file is designed to be a conformant [HEIF] file for both image items and image sequences. Specifically, this specification follows the recommendations given in "Annex I: Guidelines On Defining New Image Formats and Brands" of [HEIF].

This specification reuses syntax and semantics used in [AV1-ISOBMFF].

2. Image Items and properties

2.1. AV1 Image Item

When an image item is of type av01, it is called an AV1 Image Item, and shall obey the following constraints:

2.2. Image Item Properties

2.2.1. AV1 Item Configuration Property

Box Type:                 av1C
Property type:            Descriptive item property
Container:                ItemPropertyContainerBox
Mandatory (per  item):    Yes, for an image item of type 'av01'
Quantity:                 One for an image item of type 'av01'

The syntax and semantics of the AV1 Item Configuration Property are identical to those of the AV1CodecConfigurationBox defined in [AV1-ISOBMFF], with the following constraints:

This property shall be marked as essential.

2.2.2. Other Item Properties

In addition to the Image Properties defined in [HEIF], such as colr, pixi or pasp, AV1 image items MAY also be associated with clli and mdcv introduced in [MIAF].

In general, it is recommended to use properties instead of Metadata OBUs in the AV1 Item Configuration Property.

For multi-layered images, the LayerSelectorProperty may be present as defined in [HEIF].

3. Image Sequences

An AV1 Image Sequence is defined as a set of AV1 Temporal Units stored in an AV1 track as defined in [AV1-ISOBMFF] with the following constraints:

4. Auxiliary Image Items and Sequences

An AV1 Auxiliary Image Item (respectively an AV1 Auxiliary Image Sequence) is an AV1 Image Item (respectively AV1 Image Sequence) with the following additional constraints:

An AV1 Alpha Image Item (respectively an AV1 Alpha Image Sequence) is an AV1 Auxiliary Image Item (respectively an AV1 Auxiliary Image Sequence), and as defined in [MIAF], the aux_type field of the AuxiliaryTypeProperty (respectively AuxiliaryTypeInfoBox) shall be set to urn:mpeg:mpegB:cicp:systems:auxiliary:alpha.

An AV1 Depth Image Item (respectively an AV1 Depth Image Sequence) is an AV1 Auxiliary Image Item (respectively an AV1 Auxiliary Image Sequence), and as defined in [MIAF], the aux_type field of the AuxiliaryTypeProperty (respectively AuxiliaryTypeInfoBox) shall be set to urn:mpeg:mpegB:cicp:systems:auxiliary:depth.

5. Brands, Internet media types and file extensions

5.1. Brands overview

As defined by [ISOBMFF], the presence of a brand in the FileTypeBox (respectively TrackTypeBox) can be interpreted as the permission for those AV1 Image File Format readers/parsers and AV1 Image File Format renderers that only implement the features required by the brand, to process the corresponding file (respectively item or sequence).

An AV1 Image File Format file may conform to multiple brands. Similarly, an AV1 Image File Format reader/parser or AV1 Image File Format renderer may be capable of processing the features associated with one or more brands.

5.2. AVIF image and image collection brand

Files that conform with the profile-independent restrictions in this document (sections §2 Image Items and properties and §4 Auxiliary Image Items and Sequences) should include in the compatible_brands field of the FileTypeBox:

If avif is specified in the major_brand field of the FileTypeBox, the file extension and Internet Media Type should respectively be ".avif" and "image/avif" as defined in §7.1 AVIF Image Item Media Type Registration.

5.3. AVIF image sequence brands

Files which contain one or more image sequences, and which conform with the profile-independent restrictions in this document (sections §2 Image Items and properties, §3 Image Sequences and §4 Auxiliary Image Items and Sequences), should include in the compatible_brands field of the FileTypeBox:

If avis is specified in the major_brand field of the FileTypeBox, the file extension and Internet Media Type should be respectively ".avifs" and "image/avif-sequence" as defined in §7.2 AVIF Image Sequence Media Type Registration.

Additionally, if the image sequences are made only of AV1 Samples marked as sync, then the brand avio should be used.

NOTE: As defined in [MIAF], a file that is primarily an image sequence still has at least a primary image item. Hence, it can also declare brands for signaling the image item.

6. Profiles

6.1. Overview

The profiles defined in this section are for enabling interoperability between AV1 Image File Format files and AV1 Image File Format readers/parsers. A profile imposes a set of specific restrictions and is signaled by brands defined in this specification.

The FileTypeBox should declare at least one profile that enables decoding of the primary image item, or one of its alternates. The profile should allow decoding of any associated auxiliary images, unless it is acceptable to decode the image item without its auxiliary images.

If an image sequence brand is declared in the FileTypeBox, if a profile is declared in the FileTypeBox, the profile shall also enable decoding of at least one image sequence track. The profile should allow decoding of any associated auxiliary image sequence tracks, unless it is acceptable to decode the image sequence without its auxiliary image sequence tracks.

6.2. Common constraints

The following constraints are common to all profiles defined in this specification:

6.3. AVIF Baseline Profile

This section defines the MIAF AV1 Baseline profile of [HEIF], specifically for [AV1] bitstreams, based on the constraints specified in [MIAF] and identified by the brand MA1B.

If the brand MA1B is in the list of compatible_brands of a TrackTypeBox or FileTypeBox, the common constraints in the section §5 Brands, Internet media types and file extensions shall apply.

The following additional constraints apply to all AV1 Image Items and all AV1 Image Sequences:

The following additional constraints apply only to AV1 Image Sequences:

NOTE: AV1 tiers are not constrained because timing is optional in image sequences and are not relevant in image items or collections.

NOTE: Level 5.1 is chosen for the Baseline profile to ensure that no single coded image exceeds 4k resolution, as some decoder may not be able to handle larger images. It is still possible to use Baseline profile to create larger images using grid derivation.

A file containing items compliant with this profile is expected to list the following brands, in any order, in the compatible_brands of the FileTypeBox:

avif, mif1, miaf, MA1B

A file containing a pict track compliant with this profile is expected to list the following brands, in any order, in the compatible_brands of the FileTypeBox:

avis, msf1, miaf, MA1B

A file containing a pict track compliant with this profile and made only of samples marked sync is expected to list the following brands, in any order, in the compatible_brands of the FileTypeBox:

avis, avio, msf1, miaf, MA1B

6.4. AVIF Advanced Profile

This section defines the MIAF AV1 Advanced profile of [HEIF], specifically for [AV1] bitstreams, based on the constraints specified in [MIAF] and identified by the brand MA1A.

If the brand MA1A is in the list of compatible_brands of a =[TrackTypeBox=] or FileTypeBox, the common constraints in the section §5 Brands, Internet media types and file extensions shall apply.

The following additional constraints apply to all AV1 Image Items and all AV1 Image Sequences:

The following additional constraints apply only to AV1 Image Sequences:

A file containing items compliant with this profile is expected to list the following brands, in any order, in the compatible_brands of the FileTypeBox:

avif, mif1, miaf, MA1A

A file containing a pict track compliant with this profile is expected to list the following brands, in any order, in the compatible_brands of the FileTypeBox:

avis, msf1, miaf, MA1A

7. AVIF Media Type Registrations

This section registers two new media types, "image/avif" and "image/avif-sequence" in conformance with BCP 13. The information in this section is being submitted to the Internet Engineering Steering Group (IESG) for review, approval, and registration with the Internet Assigned Numbers Authority (IANA). Once formally published by IANA, it will be removed from this specification.

7.1. AVIF Image Item Media Type Registration

MIME media type name: image

MIME subtype name: avif

Required parameters: None.

Optional parameters:

Encoding considerations: as for image/heif

Security considerations: See section 4 of RFC 4337 and section 7 of RFC 6381. This format does not supply integrity or confidentiality protection and so they are applied externally when needed. The security considerations of URLs are discussed in RFC 3986.

Interoperability considerations: The AVIF specification is based on a set of specifications (AV1, ISOBMFF, HEIF, MIAF) and builds upon their interoperability considerations. Further more, AVIF defines specific constraints and signals them with specific code points to improve interoperability between readers and writers of AV1 content.

Published specification: This media type registration is extracted from the AV1 Image Format.

Applications: Multimedia, Imaging, Pictures

Fragment identifier considerations: Fragment identifiers are specified in Annex L of ISO/IEC 14496-12, available as a Publicly Available Standard at http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html

Additional information:

Intended usage: Common

Restrictions on usage: None

Author/Change controller: The published specification is a work product of the Alliance for Open Media, http://aomedia.org.

7.2. AVIF Image Sequence Media Type Registration

MIME media type name: image

MIME subtype name: avif-sequence

Required parameters: None.

Optional parameters:

Encoding considerations: as for image/heif-sequence

Security considerations: See section 4 of RFC 4337 and section 7 of RFC 6381. This format does not supply integrity or confidentiality protection and so they are applied externally when needed. The security considerations of URLs are discussed in RFC 3986.

Interoperability considerations: The AVIF specification is based on a set of specifications (AV1, ISOBMFF, HEIF, MIAF) and builds upon their interoperability considerations. Further more, AVIF defines specific constraints and signals them with specific code points to improve interoperability between readers and writers of AV1 content.

Published specification: This media type registration is extracted from the AV1 Image Format.

Applications: Multimedia, Imaging, Pictures

Fragment identifier considerations: Fragment identifiers are specified in Annex L of ISO/IEC 14496-12, available as a Publicly Available Standard at http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html

Additional information:

Intended usage: Common

Restrictions on usage: None

Author/Change controller: The published specification is a work product of the Alliance for Open Media, http://aomedia.org.

Conformance

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

Index

Terms defined by this specification

Terms defined by reference

References

Normative References

[AV1]
AV1 Bitstream & Decoding Process Specification. LS. URL: https://aomediacodec.github.io/av1-spec/av1-spec.pdf
[AV1-ISOBMFF]
AV1 Codec ISO Media File Format Binding. LS. URL: https://aomediacodec.github.io/av1-isobmff/
[HEIF]
Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 12: Image File Format. International Standard. URL: https://www.iso.org/standard/66067.html
[ISOBMFF]
Information technology — Coding of audio-visual objects — Part 12: ISO base media file format. International Standard. URL: https://www.iso.org/standard/68960.html
[MIAF]
Information technology -- Multimedia application format (MPEG-A) -- Part 22: Multi-Image Application Format (MiAF). Enquiry. URL: https://www.iso.org/standard/74417.html
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119