From a49962e2e0e187d695d54a069ae0d736bb72be9b Mon Sep 17 00:00:00 2001
From: Leo Barnes 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:
+ 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 track shall be a valid [=MIAF image sequence=].
- The track handler for an [=AV1 Image Sequence=] shall be 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 Auxiliary Image Item (respectively an AV1 Auxiliary Image Sequence) is an [=AV1 Image Item=] (respectively [=AV1 Image Sequence=]
{
- "AV1": {
- "href": "https://aomediacodec.github.io/av1-spec/av1-spec.pdf",
- "id": "AV1",
- "title": "AV1 Bitstream & Decoding Process Specification",
- "status": "LS",
- "publisher": "AOM"
- },
-
- "AV1-ISOBMFF": {
- "href": "https://aomediacodec.github.io/av1-isobmff/",
- "id": "AV1-ISOBMFF",
- "title": "AV1 Codec ISO Media File Format Binding",
- "status": "LS",
- "publisher": "AOM"
- },
-
- "HEIF": {
- "id": "HEIF",
- "href": "https://www.iso.org/standard/66067.html",
- "title": "Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 12: Image File Format",
- "status": "International Standard",
- "publisher": "ISO/IEC",
- "isoNumber":"ISO/IEC 23008-12:2017"
- },
-
- "ISOBMFF": {
- "id": "ISOBMFF",
- "href": "https://www.iso.org/standard/68960.html",
- "title": "Information technology — Coding of audio-visual objects — Part 12: ISO base media file format",
- "status": "International Standard",
- "publisher": "ISO/IEC",
- "isoNumber":"ISO/IEC 14496-12:2015"
- },
-
- "MIAF": {
- "href": "https://www.iso.org/standard/74417.html",
- "id": "MIAF",
- "title": "Information technology -- Multimedia application format (MPEG-A) -- Part 22: Multi-Image Application Format (MiAF)",
- "status": "Enquiry",
- "publisher": "ISO/IEC",
- "isoNumber": "ISO/IEC DIS 23000-22"
- }
+ "AV1": {
+ "href": "https://aomediacodec.github.io/av1-spec/av1-spec.pdf",
+ "id": "AV1",
+ "title": "AV1 Bitstream & Decoding Process Specification",
+ "status": "LS",
+ "publisher": "AOM"
+ },
+
+ "AV1-ISOBMFF": {
+ "href": "https://aomediacodec.github.io/av1-isobmff/",
+ "id": "AV1-ISOBMFF",
+ "title": "AV1 Codec ISO Media File Format Binding",
+ "status": "LS",
+ "publisher": "AOM"
+ },
+
+ "HEIF": {
+ "id": "HEIF",
+ "href": "https://www.iso.org/standard/66067.html",
+ "title": "Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 12: Image File Format",
+ "status": "International Standard",
+ "publisher": "ISO/IEC",
+ "isoNumber":"ISO/IEC 23008-12:2017"
+ },
+
+ "ISOBMFF": {
+ "id": "ISOBMFF",
+ "href": "https://www.iso.org/standard/68960.html",
+ "title": "Information technology — Coding of audio-visual objects — Part 12: ISO base media file format",
+ "status": "International Standard",
+ "publisher": "ISO/IEC",
+ "isoNumber":"ISO/IEC 14496-12:2015"
+ },
+
+ "MIAF": {
+ "href": "https://www.iso.org/standard/74417.html",
+ "id": "MIAF",
+ "title": "Information technology -- Multimedia application format (MPEG-A) -- Part 22: Multi-Image Application Format (MiAF)",
+ "status": "Enquiry",
+ "publisher": "ISO/IEC",
+ "isoNumber": "ISO/IEC DIS 23000-22"
+ }
}
url: https://www.iso.org/standard/66067.html; spec: HEIF; type: property;
- text: colr
- text: mif1
- text: msf1
- text: pasp
- text: pict
- text: pixi
- text: ispe
- text: lsel
- text: layer_id
- text: image_width
- text: image_height
+ text: colr
+ text: mif1
+ text: msf1
+ text: pasp
+ text: pict
+ text: pixi
+ text: ispe
+ text: lsel
+ text: layer_id
+ text: image_width
+ text: image_height
url: https://www.iso.org/standard/68960.html; spec: ISOBMFF; type: dfn;
- text: compatible_brands
- text: FileTypeBox
- text: major_brand
+ text: compatible_brands
+ text: FileTypeBox
+ text: major_brand
url: https://www.iso.org/standard/68960.html; spec: ISOBMFF; type: property;
- text: sync
- text: cclv
- text: clli
- text: mdcv
- text: clap
- text: iloc
+ text: sync
+ text: cclv
+ text: clli
+ text: mdcv
+ text: clap
+ text: iloc
url: https://www.iso.org/standard/74417.html; spec: MIAF; type: property;
- text: miaf
+ text: miaf
url: https://www.iso.org/standard/74417.html; spec: MIAF; type: dfn;
- text: primary image
- text: MIAF image item
- text: MIAF image sequence
- text: MIAF auxiliary image item
- text: MIAF auxiliary image sequence
- text: MIAF file
+ text: primary image
+ text: MIAF image item
+ text: MIAF image sequence
+ text: MIAF auxiliary image item
+ text: MIAF auxiliary image sequence
+ text: MIAF file
url: https://aomediacodec.github.io/av1-isobmff/; spec: AV1-ISOBMFF; type: dfn;
- text: av1codecconfigurationbox
- text: AV1 Sample
- text: AV1 Track
+ text: AV1CodecConfigurationBox
+ text: AV1 Sample
+ text: AV1 Track
url: https://aomediacodec.github.io/av1-spec/av1-spec.pdf; spec: AV1; type: dfn;
- text: AV1 bitstream
- text: AV1 Frame
- text: Sequence Header OBU
- text: Metadata OBU
- text: Temporal Unit
- text: Operating Point
- text: Intra Frame
+ text: AV1 bitstream
+ text: AV1 Frame
+ text: Sequence Header OBU
+ text: Metadata OBU
+ text: Temporal Unit
+ text: Operating Point
+ text: Intra Frame
url: https://aomediacodec.github.io/av1-spec/av1-spec.pdf; spec: AV1; type: dfn;
- text: mono_chrome
- text: color_range
- text: still_picture
- text: reduced_still_picture_header
- text: operating_points_cnt_minus_1
- text: choose_operating_point
- text: spatial_id
- text: seq_level_idx
- text: render_width_minus1
- text: render_height_minus1
- text: FrameWidth
- text: FrameHeight
- text: max_frame_width_minus1
- text: max_frame_height_minus1
+ text: mono_chrome
+ text: color_range
+ text: still_picture
+ text: reduced_still_picture_header
+ text: operating_points_cnt_minus_1
+ text: choose_operating_point
+ text: spatial_id
+ text: seq_level_idx
+ text: render_width_minus1
+ text: render_height_minus1
+ text: FrameWidth
+ text: FrameHeight
+ text: max_frame_width_minus1
+ text: max_frame_height_minus1
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.
+[[!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=] with the goal to improve interoperability, especially for hardware implementations.
The profiles defined in this specification follow the conventions of the [[!MIAF]] specification.
Images encoded with AV1 and not meeting the restrictions of the defined profiles may still be compliant to this [=AV1 Image File Format=] if they adhere to the general AVIF requirements.
@@ -155,10 +156,10 @@ This specification reuses syntax and semantics used in [[!AV1-ISOBMFF]].
AV1 Image Item
-When an item is of type av01, it is called an AV1 Image Item, and shall obey the following constraints:
+When an item is of type av01, it is called an AV1 Image Item, and shall obey the following constraints:
- The [=AV1 Image Item=] shall be a conformant [=MIAF image item=].
- - 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=] shall be associated with an [=AV1ItemConfigurationProperty=].
+ - 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]].
- The [=AV1 Image Item Data=] shall have exactly one [=Sequence Header OBU=].
- If the [=AV1 Image Item Data=] consists of a single frame (i.e. when using a single layer),
@@ -167,17 +168,17 @@ When an item is of type av01,
Image Item Properties
-AV1 Item Configuration Property
+AV1 Item Configuration Property
- Box Type: av1C
+ 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:
+The syntax and semantics of the AV1ItemConfigurationProperty 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=].
@@ -207,7 +208,7 @@ NOTE: The values of [=render_width_minus1=] and [=render_height_minus1=] possibl
In addition to the Image Properties defined in [[!HEIF]], such as 'colr', 'pixi' or 'pasp', [=AV1 image items=] MAY also be associated with 'clli', 'cclv' and 'mdcv' introduced in [[!MIAF]].
-In general, it is recommended to use properties instead of [=Metadata OBUs=] in the [=AV1 Item Configuration Property=].
+In general, it is recommended to use properties instead of [=Metadata OBUs=] in the [=AV1ItemConfigurationProperty=].
NOTE: Although the clean aperture property ('clap') defined in [[!HEIF]] is applicable to AVIF, implementers of authoring tools should be aware of the possibility of unintended consequences since users may not realize image data outside the clap region is still in the file. A future revision of this specification may place normative restrictions on how clap can be used.
@@ -231,7 +232,7 @@ NOTE: When such a progressive decoding of the layers within an [=Operating Point
Definition
- Box Type: a1op
+ Box Type: a1op
Property type: Descriptive item property
Container:
) with the following additional constraints:
- It shall be a compliant [=MIAF Auxiliary Image Item=] (respectively [=MIAF Auxiliary Image Sequence=]).
- The ItemPropertyContainerBox
Mandatory: No
@@ -240,7 +241,7 @@ NOTE: When such a progressive decoding of the layers within an [=Operating Point
Description
-An OperatingPointSelectorProperty may be associated with an [=AV1 Image Item=] to provide the index of the operating point to be processed for this item. If associated, it shall be marked as essential.
+An OperatingPointSelectorProperty may be associated with an [=AV1 Image Item=] to provide the index of the operating point to be processed for this item. If associated, it shall be marked as essential.
Syntax
@@ -262,7 +263,7 @@ The 'lsel' property defined in [[!HEIF]] may be associated with an [=AV1 Image I
Definition
- Box Type: a1lx
+ Box Type: a1lx
Property type: Descriptive item property
Container:
ItemPropertyContainerBox
Mandatory: No
@@ -295,8 +296,7 @@ NOTE: The size of the last layer can be determined by subtracting the sum of the
Image Sequences
-
-pict
.
@@ -305,16 +305,16 @@ NOTE: The size of the last layer can be determined by subtracting the sum of the
Auxiliary Image Items and Sequences
-[=mono_chrome=]
field in the [=Sequence Header OBU=] shall be set to 1.
- The [=color_range=]
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]], with the aux_type
field of the AuxiliaryTypeProperty
(respectively AuxiliaryTypeInfoBox
) set to urn:mpeg:mpegB:cicp:systems:auxiliary:alpha
. An AV1 Alpha Image Item (respectively an AV1 Alpha Image Sequence) shall be encoded with the same bit depth as the associated master AV1 Image Item (respectively AV1 Image Sequence).
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]], with the aux_type
field of the AuxiliaryTypeProperty
(respectively AuxiliaryTypeInfoBox
) set to urn:mpeg:mpegB:cicp:systems:auxiliary:alpha
. An [=AV1 Alpha Image Item=] (respectively an [=AV1 Alpha Image Sequence=]) shall be encoded with the same bit depth as the associated master [=AV1 Image Item=] (respectively [=AV1 Image Sequence=]).
For [=AV1 Alpha Image Item=] and [=AV1 Alpha Image Sequence=], the ColourInformationBox should be omitted. If present, readers shall ignore it.
-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]], with the aux_type
field of the AuxiliaryTypeProperty
(respectively AuxiliaryTypeInfoBox
) set to urn:mpeg:mpegB:cicp:systems:auxiliary:depth
.
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]], with the aux_type
field of the AuxiliaryTypeProperty
(respectively AuxiliaryTypeInfoBox
) set to urn:mpeg:mpegB:cicp:systems:auxiliary:depth
.
matrix_coefficients
element), or 1-component images (monochrome). When an image requires a different number of components, multiple auxiliary images may be used, each providing additional component(s), according to the semantics of their aux_type
field. In such case, the maximum number of components is restricted by number of possible items in a file, coded on 16 or 32 bits.
@@ -329,7 +329,7 @@ NOTE: [[!AV1]] supports encoding either 3-component images (whose semantics are
If any of the brands defined in this document 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 [[#mime-registration]].
[=avif=]
in the [=compatible_brands=] field of the [=FileTypeBox=].
-Additionally, the brand avio is defined. If the file indicates the brand [=avio=]
in the [=compatible_brands=] field of the [=FileTypeBox=], then the primary item or all the items referenced by the primary item shall be [=AV1 image items=] made only of [=Intra Frames=]. Conversely, if the previous constraint applies, the brand [=avio=]
should be used in the [=compatible_brands=] field of the [=FileTypeBox=].
+Additionally, the brand avio is defined. If the file indicates the brand [=avio=]
in the [=compatible_brands=] field of the [=FileTypeBox=], then the primary item or all the items referenced by the primary item shall be [=AV1 image items=] made only of [=Intra Frames=]. Conversely, if the previous constraint applies, the brand [=avio=]
should be used in the [=compatible_brands=] field of the [=FileTypeBox=].
MA1B
is in the list of [=compatible_brands=] of the [=FileTypeBox=], the common constraints in the section [[#brands]] shall apply.
@@ -391,22 +391,22 @@ NOTE: AV1 tiers are not constrained because timing is optional in image sequenc
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. More precisely, following [[!AV1]] level definitions, coded image items compliant to the AVIF Baseline profile may not have a number of pixels greater than 8912896, a width greater than 8192 or a height greater than 4352. It is still possible to use the 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=]:
+ 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=]:
+ 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
MA1A
is in the list of [=compatible_brands=] of the [=FileTypeBox=], the common constraints in the section [[#brands]] shall apply.
@@ -421,11 +421,11 @@ The following additional constraints apply only to [=AV1 Image Sequences=]:
- 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=]:
+ 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
The media type "image/avif"
is officially registered with IANA and available at: https://www.iana.org/assignments/media-types/image/avif.
The media type "image/avif"
is officially registered with IANA and available at: https://www.iana.org/assignments/media-types/image/avif.
The media type "image/avif"
is officially registered with IANA and available at: https://www.iana.org/assignments/media-types/image/avif.
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 track shall be a valid [=MIAF image sequence=]. @@ -305,7 +306,7 @@ NOTE: The size of the last layer can be determined by subtracting the sum of the
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 Auxiliary Image Item (respectively an AV1 Auxiliary Image Sequence) is an [=AV1 Image Item=] (respectively [=AV1 Image Sequence=]) with the following additional constraints:
- It shall be a compliant [=MIAF Auxiliary Image Item=] (respectively [=MIAF Auxiliary Image Sequence=]).
- The [=mono_chrome=]
field in the [=Sequence Header OBU=] shall be set to 1.
- The [=color_range=]
field in the [=Sequence Header OBU=] shall be set to 1.
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=]:
+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=]:
+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
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=]:
+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
{ - "AV1": { - "href": "https://aomediacodec.github.io/av1-spec/av1-spec.pdf", - "id": "AV1", - "title": "AV1 Bitstream & Decoding Process Specification", - "status": "LS", - "publisher": "AOM" + "AV1": { + "href": "https://aomediacodec.github.io/av1-spec/av1-spec.pdf", + "id": "AV1", + "title": "AV1 Bitstream & Decoding Process Specification", + "status": "LS", + "publisher": "AOM" }, - "AV1-ISOBMFF": { - "href": "https://aomediacodec.github.io/av1-isobmff/", - "id": "AV1-ISOBMFF", - "title": "AV1 Codec ISO Media File Format Binding", - "status": "LS", - "publisher": "AOM" - }, - - "HEIF": { - "id": "HEIF", - "href": "https://www.iso.org/standard/66067.html", - "title": "Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 12: Image File Format", - "status": "International Standard", - "publisher": "ISO/IEC", - "isoNumber":"ISO/IEC 23008-12:2017" - }, - - "ISOBMFF": { - "id": "ISOBMFF", - "href": "https://www.iso.org/standard/68960.html", - "title": "Information technology — Coding of audio-visual objects — Part 12: ISO base media file format", - "status": "International Standard", - "publisher": "ISO/IEC", - "isoNumber":"ISO/IEC 14496-12:2015" - }, - - "MIAF": { - "href": "https://www.iso.org/standard/74417.html", - "id": "MIAF", - "title": "Information technology -- Multimedia application format (MPEG-A) -- Part 22: Multi-Image Application Format (MiAF)", - "status": "Enquiry", - "publisher": "ISO/IEC", - "isoNumber": "ISO/IEC DIS 23000-22" - } + "AV1-ISOBMFF": { + "href": "https://aomediacodec.github.io/av1-isobmff/", + "id": "AV1-ISOBMFF", + "title": "AV1 Codec ISO Media File Format Binding", + "status": "LS", + "publisher": "AOM" + }, + + "HEIF": { + "id": "HEIF", + "href": "https://www.iso.org/standard/66067.html", + "title": "Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 12: Image File Format", + "status": "International Standard", + "publisher": "ISO/IEC", + "isoNumber":"ISO/IEC 23008-12:2017" + }, + + "ISOBMFF": { + "id": "ISOBMFF", + "href": "https://www.iso.org/standard/68960.html", + "title": "Information technology — Coding of audio-visual objects — Part 12: ISO base media file format", + "status": "International Standard", + "publisher": "ISO/IEC", + "isoNumber":"ISO/IEC 14496-12:2015" + }, + + "MIAF": { + "href": "https://www.iso.org/standard/74417.html", + "id": "MIAF", + "title": "Information technology -- Multimedia application format (MPEG-A) -- Part 22: Multi-Image Application Format (MiAF)", + "status": "Enquiry", + "publisher": "ISO/IEC", + "isoNumber": "ISO/IEC DIS 23000-22" + } }
url: https://www.iso.org/standard/66067.html; spec: HEIF; type: property; - text: colr - text: mif1 - text: msf1 - text: pasp - text: pict - text: pixi - text: ispe - text: lsel - text: layer_id - text: image_width - text: image_height + text: colr + text: mif1 + text: msf1 + text: pasp + text: pict + text: pixi + text: ispe + text: lsel + text: layer_id + text: image_width + text: image_height url: https://www.iso.org/standard/68960.html; spec: ISOBMFF; type: dfn; - text: compatible_brands - text: FileTypeBox - text: major_brand + text: compatible_brands + text: FileTypeBox + text: major_brand url: https://www.iso.org/standard/68960.html; spec: ISOBMFF; type: property; - text: sync - text: cclv - text: clli - text: mdcv - text: clap - text: iloc + text: sync + text: cclv + text: clli + text: mdcv + text: clap + text: iloc url: https://www.iso.org/standard/74417.html; spec: MIAF; type: property; - text: miaf + text: miaf url: https://www.iso.org/standard/74417.html; spec: MIAF; type: dfn; - text: primary image - text: MIAF image item - text: MIAF image sequence - text: MIAF auxiliary image item - text: MIAF auxiliary image sequence - text: MIAF file + text: primary image + text: MIAF image item + text: MIAF image sequence + text: MIAF auxiliary image item + text: MIAF auxiliary image sequence + text: MIAF file url: https://aomediacodec.github.io/av1-isobmff/; spec: AV1-ISOBMFF; type: dfn; - text: AV1CodecConfigurationBox - text: AV1 Sample - text: AV1 Track + text: AV1CodecConfigurationBox + text: AV1 Sample + text: AV1 Track url: https://aomediacodec.github.io/av1-spec/av1-spec.pdf; spec: AV1; type: dfn; - text: AV1 bitstream - text: AV1 Frame - text: Sequence Header OBU - text: Metadata OBU - text: Temporal Unit - text: Operating Point - text: Intra Frame + text: AV1 bitstream + text: AV1 Frame + text: Sequence Header OBU + text: Metadata OBU + text: Temporal Unit + text: Operating Point + text: Intra Frame url: https://aomediacodec.github.io/av1-spec/av1-spec.pdf; spec: AV1; type: dfn; - text: mono_chrome - text: color_range - text: still_picture - text: reduced_still_picture_header - text: operating_points_cnt_minus_1 - text: choose_operating_point - text: spatial_id - text: seq_level_idx - text: render_width_minus1 - text: render_height_minus1 - text: FrameWidth - text: FrameHeight - text: max_frame_width_minus1 - text: max_frame_height_minus1 + text: mono_chrome + text: color_range + text: still_picture + text: reduced_still_picture_header + text: operating_points_cnt_minus_1 + text: choose_operating_point + text: spatial_id + text: seq_level_idx + text: render_width_minus1 + text: render_height_minus1 + text: FrameWidth + text: FrameHeight + text: max_frame_width_minus1 + text: max_frame_height_minus1
[=still_picture=]
flag set to 1.
- - It should have its [=reduced_still_picture_header=]
flag set to 1.
+ - The [=AV1 Image Item=] shall be a conformant [=MIAF image item=].
+ - The [=AV1 Image Item=] shall be associated with an [=AV1ItemConfigurationProperty=].
+ - 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]].
+ - The [=AV1 Image Item Data=] shall have exactly one [=Sequence Header OBU=].
+ - If the [=AV1 Image Item Data=] consists of a single frame (i.e. when using a single layer),
+ - It should have its [=still_picture=]
flag set to 1.
+ - It should have its [=reduced_still_picture_header=]
flag set to 1.
- 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' + 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 AV1ItemConfigurationProperty 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. + - [=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 should be marked as essential. @@ -191,14 +191,14 @@ This property should be marked as essential. The semantics of the 'ispe' property as defined in [[!HEIF]] apply. More specifically, for AV1 images, the values of 'image_width' and 'image_height' shall respectively equal the values of [=FrameWidth=] and [=FrameHeight=] as defined in [[!AV1]] but for a specific frame in the item payload. The exact frame depends on the presence and content of the 'lsel' and [=OperatingPointSelectorProperty=] properties as follows: - - In the absence of a 'lsel' property associated with the item, or if it is present and its 'layer_id' value is set to 0xFFFF: - - If no [=OperatingPointSelectorProperty=] is associated with the item, the 'ispe' shall document the dimensions of the last frame decoded when processing the operating point whose index is 0. + - In the absence of a 'lsel' property associated with the item, or if it is present and its 'layer_id' value is set to 0xFFFF: + - If no [=OperatingPointSelectorProperty=] is associated with the item, the 'ispe' shall document the dimensions of the last frame decoded when processing the operating point whose index is 0. - - If an [=OperatingPointSelectorProperty=] is associated with the item, the 'ispe' property shall document the dimensions of the last frame decoded when processing the corresponding operating point. + - If an [=OperatingPointSelectorProperty=] is associated with the item, the 'ispe' property shall document the dimensions of the last frame decoded when processing the corresponding operating point. - NOTE: The dimensions of possible intermediate output images might not match the ones given in the 'ispe' property. If they display these intermediate images, renderers are expected to scale the output image to match the 'ispe' property. + NOTE: The dimensions of possible intermediate output images might not match the ones given in the 'ispe' property. If they display these intermediate images, renderers are expected to scale the output image to match the 'ispe' property. - - If a 'lsel' property is associated with an item and its 'layer_id' is different from 0xFFFF, the 'ispe' property documents the dimensions of the output frame produced by decoding the corresponding layer. + - If a 'lsel' property is associated with an item and its 'layer_id' is different from 0xFFFF, the 'ispe' property documents the dimensions of the output frame produced by decoding the corresponding layer. NOTE: The dimensions indicated in the 'ispe' property might not match the values [=max_frame_width_minus1=]+1 and [=max_frame_height_minus1=]+1 indicated in the AV1 bitstream. @@ -232,11 +232,11 @@ NOTE: When such a progressive decoding of the layers within an [=Operating Point
- Box Type: a1op - Property type: Descriptive item property - Container:ItemPropertyContainerBox
- Mandatory: No - Quantity: Zero or one + Box Type: a1op + Property type: Descriptive item property + Container:ItemPropertyContainerBox
+ Mandatory: No + Quantity: Zero or one
- Box Type: a1lx - Property type: Descriptive item property - Container:ItemPropertyContainerBox
- Mandatory: No - Quantity: Zero or one + Box Type: a1lx + Property type: Descriptive item property + Container:ItemPropertyContainerBox
+ Mandatory: No + Quantity: Zero or one
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 track shall be a valid [=MIAF image sequence=].
- - The track handler for an [=AV1 Image Sequence=] shall be pict
.
- - The track shall have only one sample description entry.
- - If multiple [=Sequence Header OBUs=] are present in the track payload, they shall be identical.
pict
.
+ - The track shall have only one sample description entry.
+ - If multiple [=Sequence Header OBUs=] are present in the track payload, they shall be identical.
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:
- - It shall be a compliant [=MIAF Auxiliary Image Item=] (respectively [=MIAF Auxiliary Image Sequence=]).
- - The [=mono_chrome=]
field in the [=Sequence Header OBU=] shall be set to 1.
- - The [=color_range=]
field in the [=Sequence Header OBU=] shall be set to 1.
[=mono_chrome=]
field in the [=Sequence Header OBU=] shall be set to 1.
+ - The [=color_range=]
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]], with the aux_type
field of the AuxiliaryTypeProperty
(respectively AuxiliaryTypeInfoBox
) set to urn:mpeg:mpegB:cicp:systems:auxiliary:alpha
. An [=AV1 Alpha Image Item=] (respectively an [=AV1 Alpha Image Sequence=]) shall be encoded with the same bit depth as the associated master [=AV1 Image Item=] (respectively [=AV1 Image Sequence=]).
[=avif=]
in the [=compatible_brands=] field of the [=FileTypeBox=].
@@ -344,8 +344,8 @@ Additionally, the brand avio is de
The brand to identify AVIF image sequences is avis.
Files that indicate this brand in the [=compatible_brands=] field of the [=FileTypeBox=] shall comply with the following:
- - they shall contain one or more [=AV1 image sequences=].
- - they may contain [=AV1 auxiliary image sequences=].
+ - they shall contain one or more [=AV1 image sequences=].
+ - they may contain [=AV1 auxiliary image sequences=].
Files that conform with these constraints should include the brand [=avis=]
in the [=compatible_brands=] field of the [=FileTypeBox=].
@@ -356,9 +356,9 @@ NOTE: As defined in [[!MIAF]], a file that is primarily an image sequence still
'[=avif=]'
or '[=avis=]'
in the [=compatible_brands=] field of the [=FileTypeBox=].
- - If transformative properties are used in derivation chains (as defined in [[MIAF]]), they shall only be associated with items that are not referenced by another derived item. For example, if a file contains a grid item and its referenced coded image items, cropping, mirroring or rotation transformations are only permitted on the grid item itself.
+ - The file shall be compliant with the [[!MIAF]] specification and list 'miaf' in the [=compatible_brands=] field of the [=FileTypeBox=].
+ - The file shall list '[=avif=]'
or '[=avis=]'
in the [=compatible_brands=] field of the [=FileTypeBox=].
+ - If transformative properties are used in derivation chains (as defined in [[MIAF]]), they shall only be associated with items that are not referenced by another derived item. For example, if a file contains a grid item and its referenced coded image items, cropping, mirroring or rotation transformations are only permitted on the grid item itself.
NOTE: This constraint further restricts files compared to [[MIAF]].
@@ -385,7 +385,7 @@ This section defines the MIAF AV1 Baseline profile of [[!HEIF]], specifically fo
If the brand MA1B
is in the list of [=compatible_brands=] of the [=FileTypeBox=], the common constraints in the section [[#brands]] 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 AV1 profile shall be the 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.
@@ -394,15 +394,15 @@ NOTE: Level 5.1 is chosen for the Baseline profile to ensure that no single cod
avif, mif1, miaf, MA1B
+ 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
+ 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
+ avis, avio, msf1, miaf, MA1B
MA1A
is in the list of [=compatible_brands=] of the [=FileTypeBox=], the common constraints in the section [[#brands]] shall apply.
The following additional constraints apply to all [=AV1 Image Items=]:
- - The AV1 profile shall be the High Profile and the level shall be 6.0 or lower.
+ - The AV1 profile shall be the High Profile and the level shall be 6.0 or lower.
NOTE: Following [[!AV1]] level definitions, coded image items compliant to the AVIF Advanced profile may not have a number of pixels greater than 35651584, a width greater than 16384 or a height greater than 8704. It is still possible to use the Advanced profile to create larger images using grid derivation.
The following additional constraints apply only to [=AV1 Image Sequences=]:
- - The AV1 profile 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.
+ - The AV1 profile 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
+ 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
+ avis, msf1, miaf, MA1A
The media type "image/avif"
is officially registered with IANA and available at: https://www.iana.org/assignments/media-types/image/avif.