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:
-
The AV1 Image Item shall be associated with an AV1 Item Configuration Property.
-
The content of an AV1 Image Item is called the AV1 Image Item Data and shall obey the following constraints:
-
The AV1 Image Item Data shall be identical to the content of an AV1 Sample marked as sync, as defined in [AV1-ISOBMFF]. Since such [AV1 Samples] may be composed of multiple frames, e.g. each corresponding to a different spatial layer, [AV1 Image Items] may represent multi-layered images.
-
The AV1 Image Item Data shall have exactly one Sequence Header OBU.
-
The AV1 Image Item Data should have its
still_picture
flag set to 1. -
The AV1 Image Item Data should have its
reduced_still_picture_header
flag set to 1.
-
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:
-
Sequence Header OBUs should not be present in the AV1CodecConfigurationBox.
-
If a Sequence Header OBU is present in the AV1CodecConfigurationBox, it shall match the Sequence Header OBU in the AV1 Image Item Data.
-
The values of the fields in the AV1CodecConfigurationBox shall match those of the Sequence Header OBU in the AV1 Image Item Data.
-
Metadata OBUs, if present, shall match the values given in other item properties, such as the PixelInformationProperty or ColourInformationBox.
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:
-
The AV1 Image Item should have its
still_picture
flag set to 1. -
The AV1 Image Item should have its
reduced_still_picture_header
flag set to 1. -
The track handler for an AV1 Image Sequence shall be
pict
.
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:
-
The
mono_chrome
field in the Sequence Header OBU shall be set to 1.
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:-
a brand to identify the AVIF profile (see section §6 Profiles), if any, with which the file complies.
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:-
a brand to identify the AVIF profile (see section §6 Profiles), if any, with which the file complies.
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:
-
The file shall be compliant with the [MIAF] specification and list miaf in the compatible_brands field of the FileTypeBox.
-
The primary image, or one of its alternates, shall be an AV1 Image Item or be a derived image that references one or more items that all are AV1 Image Items.
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 AV1 profile shall be the Main Profile and the level shall be 5.1 or lower.
The following additional constraints apply only to AV1 Image Sequences:
-
The AV1 profile level shall be Main Profile and the level shall be 5.1 or lower.
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.
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 AV1 profile shall be the High Profile and the level shall be 6.0 or lower.
The following additional constraints apply only to AV1 Image Sequences:
-
The AV1 profile level shall be either Main Profile or High Profile.
-
The AV1 level for Main Profile shall be 5.1 or lower.
-
The AV1 level for High Profile shall be 5.1 or lower.
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:
-
codecs: As specified in image/heif Media Type Registration
-
profile: As specified in image/heif Media Type Registration
-
itemtypes: As specified in image/heif Media Type Registration
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:
-
Magic number(s): none
-
File extension(s): avif, heif or hif
-
Macintosh File Type Code(s): None
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:
-
codecs: As specified in image/heif-sequence Media Type Registration
-
profile: As specified in image/heif-sequence Media Type Registration
-
itemtypes: As specified in image/heif-sequence Media Type Registration
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:
-
Magic number(s): none
-
File extension(s): avifs, heifs or hif
-
Macintosh File Type Code(s): None
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.