FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format

High Efficiency Image File Format

Contents
Specifications
Encodings inside the container
    MIAF
    HEIC: HEVC in HEIF
    AVCI: AVC in HEIF
    AVIF: AV1 in HEIF

High Efficiency Image File Format (HEIF)
Comparison of JPEG, JPEG 2000, JPEG XR and HEIF files at similar file sizes
Filename extension
.heif, .heifs; .heic, .heics; .hif, .hifs; .avci, .avcs;
Internet media typeimage/heif, image/heif-sequence; image/heic, image/heic-sequence;
Uniform Type Identifier (UTI)public.heif, public.heic
Developed byMoving Picture Experts Group (MPEG)
Type of formatImage container
Extended fromISOBMFF
StandardISO/IEC 23008-12 (MPEG-H Part 12)
Open format?Depends on contained format (e.g. proprietary HEIC vs. free AVIF)
Websitewww.iso.org/standard/89035.html As of 2022 camera hardware (including on mobile devices) is increasingly supporting HEIC file output, with color depth often higher than 8-bit color.

Specifications

edit

HEIF files can store the following types of data:

  • Image items: Storage of individual images, image properties and thumbnails. HEIF can store a picture as a set of independent rectangular tiles. Equal-sized tiles are combined with a derived grid item; tiles of mixed size use overlay/location properties instead. A decoder can then decode only the tiles needed for a visible region, which Apple described as useful for pan and zoom without loading the full image into memory.HEIF does not require a particular tile size. Apple's HEIC stills are encoded as a grid of 512px by 512px tiles; Android typically use the same tile size; cameras tend to use much larger tiles.
  • Image derivations: Derived images enable non-destructive image editing, and are created on the fly by the rendering software using editing instructions stored separately in the HEIF file. These instructions (rectangular cropping, rotation by one, two or three quarter-turns, timed graphic overlays, etc.) and images are stored separately in the HEIF file, and describe specific transformations to be applied to the input images. The storage overhead of derived images is small.
  • Image sequences: Storage of multiple time-related or temporally predicted images (like a burst-photo shot or cinemagraph animation), their properties and thumbnails. Different prediction options can be used in order to exploit the temporal and spatial similarities between the images. Hence, file sizes can be drastically reduced when many images are stored in the same HEIF file.
  • Auxiliary image items: Storage of image data, such as an alpha plane or a depth map, which complements another image item. These data are not displayed as such, but used in various forms to complement another image item.
  • Image metadata: Storage of Exif, XMP and similar metadata which accompany the images stored in the HEIF file.

Encodings inside the container

edit

The HEIF container can store files encoded with various codecs, including:

As users cannot easily tell what encoding and encoding parameters an image was stored in, the HEIF container format can be confusing and makes comparison statements like “HEIF is better than JPEG” vague and inaccurate.

Simply knowing a file is in the HEIF container does not reveal much information, as it could be:

  • a JFIF (JPEG),
  • a poor quality (default settings) AV1,
  • a very high quality AV1 encoding (which takes a lot of processing to encode),
  • an HEVC with poor quality parameters, or
  • an HEVC with high quality parameters.

MIAF

edit

The Multi-Image Application Format (MIAF) is a restricted subset of HEIF specified as part of MPEG-A. It defines a set of additional constraints to simplify format options, specific alpha plane formats, profiles and levels as well as metadata formats and brands, and rules for how to extend the format.

HEIC: HEVC in HEIF

edit

High Efficiency Video Coding (HEVC, ITU-T H.265) is an encoding format for graphic data, first standardized in 2013. It is the primarily used and implied default codec for HEIF as specified in the normative Annex B to ISO/IEC 23008-12 HEVC Image File Format.

While not introduced formally in the standard, the initialism or acronym HEIC (High-Efficiency Image Codec) is used as a brand and in the MIME subtypes image/heic and image/heic-sequence. If the content conforms to certain HEVC profiles, more specific brands can be used: HEIX for Main 10 of HEVC, HEIM for (Multiview) Main profile, and HEIS for (Scalable) Main (10) profile of L-HEVC.

A HEIC photo takes up about half the space of an equivalent-quality JPEG file. The initial HEIF specification already defined the means of storing HEVC-encoded intra images (i-frames) and HEVC-encoded image sequences in which inter prediction is applied in a constrained manner.

HEIF image players are required to support rectangular cropping and rotation by one, two, and three quarter-turns. The primary use case for the mandatory support for rotation by 90 degrees is for images where the camera orientation is incorrectly detected or inferred. The rotation requirement makes it possible to manually adjust the orientation of a still image or an image sequence without needing to re-encode it. Cropping enables the image to be re-framed without re-encoding. The HEVC file format also includes the option to store pre-derived images.

Samples in image sequence tracks must be either intra-coded images or inter-picture predicted images with reference to only intra-coded images. These constraints of inter-picture prediction reduce the decoding latency for accessing any particular image within a HEVC image sequence track.

The .heic and .heics file name extensions are conventionally used for HEVC-coded HEIF files. Apple products, for instance, will only produce files with these extensions, which indicate clearly that the data went through HEVC encoding.

In 2017, Apple announced that it would adopt HEIC as the default image format in its new operating systems, gradually replacing JPEG.

AVCI: AVC in HEIF

edit

Advanced Video Coding (AVC, ITU-T H.264) is an older encoding format for video and images, first standardized in 2003. It is also specified as a codec to be supported in HEIF in normative Annex 5 to ISO/IEC 23008-12. The registered MIME types are image/avci for still images and image/avcs for sequences. The format is simply known as AVCI.

Apple products support playback of AVC-encoded .avci still image files and .avcs image sequence files but will only generate .heic files.

AVIF: AV1 in HEIF

edit

View original on Wikipedia | Back | FazBrowse Home