High Efficiency Image File Format (HEIF, often pronounced heef) is a file format for individual images and image sequences. It was developed by the Moving Picture Experts Group (MPEG) and is defined by MPEG-H Part 12 (ISO/IEC 23008-12). The MPEG group claims that twice as much information can be stored in HEIF image as a JPEG one of the same size, even in better quality.
The HEIF specification also defines the means of storing High Efficiency Video Codec (HEVC)-encoded intra images and HEVC-encoded image sequences in which inter prediction is applied in a constrained manner.
HEIF files are compatible with the ISO Base Media File Format (ISOBMFF, ISO/IEC 14496-12) and can also include other media streams, such as timed text and audio.
Video High Efficiency Image File Format
History
The requirements and main use cases of HEIF were defined in 2013. The technical development of the specification took about 1.5 years and was finalized in summer 2015.
Maps High Efficiency Image File Format
Use cases
Some usage scenarios that are facilitated by HEIF are described below:
Digital cameras and smartphones
To save storage space, HEIF-encapsulated HEVC-coded images can be used for compressing the full-resolution images while including lower-resolution JPEG copies for preview images and thumbnails.
Digital cameras and smartphones can use HEIF to achieve single-file packaging of burst photos, focal stacks, and exposure stacks. Similarly, simultaneously captured video and still images can be stored in the same HEIF file. HEIF also enables storage of any image collections into a single file, which can be shared easily.
Web pages and Internet-connected image applications
The picture element of HTML5.2 provides the capability of indicating multiple alternatives for the same image, out of which the web browser can select the one that best suits its purpose. A motivation for web pages and connected applications to start using HEIF is to reduce the web page and image content download times.
Image editing
HEIF includes the ability to efficiently store certain image transformations, including:
- Image Rotation: rotating the source image by 90, 180, or 270 degrees
- Rectangular Cropping: cropping the source image according to a given cropping rectangle
- Image Overlay: overlaying any number of input images in indicated order and locations onto the source image canvas.
These operations are stored in the file as instructions to be applied by the rendering software, and can be applied, modified, or removed without affecting the source image. (Applying such operations to JPEG and GIF images usually require that the original image be re-encoded after the operations are applied, which can amplify compression artifacts. See Lossy compression#Transcoding and editing.)
Additionally, HEIF introduces a framework for other non-destructive editing operations which can be specified by external specifications.
Once these operations are applied, the result is known as a "derived image".
Features
HEIF files can store the following types of data:
- Image Items: storage of individual images, image properties and thumbnail(s).
- 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 90, 180, or 270 degrees, 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 and/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 even when tens of images are stored in the same HEIF file.
- Auxiliary Image Items: storage of image data which complements another image item. An alpha plane or a depth map are examples for such images. 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.
HEVC Image File Format
- HEVC image players are required to support rectangular cropping and rotation by 90, 180, and 270 degrees. The primary use case for the mandatory support for rotation by 90 degrees is for images where the camera orientation is incorrectly detected or concluded. This requirement makes it possible to manually adjust the image or image sequence orientation afterwards without the need for re-encoding the image or image sequence. Similarly, cropping may be useful to enable post-shooting zoom without the need for re-encoding. As rotation by 90, 180, or 270 degrees as well as cropping are mandatory for all HEVC image file players, it is guaranteed that re-encoding is not required to carry out these operations. (The HEVC file format, however, does include 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 an HEVC image sequence track.
Implementation
As HEIF is a container format, it can contain still images and image sequences (where a file contains more than one single image) that are coded in different formats, currently these include HEVC and H.264/MPEG-4 AVC (and JPEG for thumbnail/secondary images), though other coding formats may be added in the future. The two main filename extensions are .heif or .heic, along with a less common .avci that is typically used for H.264/AVC encoded files.
In Apple's implementation, for single images they have chosen the latter .heic filename extension (.heics for image sequence files) as the only one they will produce for photos, which indicates clearly that it went through HEVC encoding. However, they will support playback of both H.264/AVC encoded .avci files (.avcs for image sequence files), and also .heif files (.heifs for image sequence files) created on other devices that are encoded using any codec, provided that codec is supported by them.
Support
In June 2017, Apple announced support for HEIF in macOS High Sierra and iOS 11 which were released in September 2017.
Nokia supports the format and has released an open source JavaScript HEIF decoder on GitHub that works in a web browser.
In December 2017, Zoner released an update to its Zoner Photo Studio X program, which is the first Windows application to offer support for HEIF.
In March 2018, Android P and Microsoft Windows 10 (version 1803 preview, build 17123) introduced support for HEIF.
Patent licensing
HEIF itself is a container, and when containing images and image sequences encoded in a particular format (e.g., HEVC or H.264/AVC), its use becomes subject to the licensing of patents on the coding format. Generally, lawful use of a patented invention requires the patent holder's permission in countries where the patent is in force (see patent infringement).
Related standards
- Advanced Video Coding (AVC, aka H.264) - an older encoding format for video and images, first standardized in 2003
- High Efficiency Video Coding (HEVC, aka H.265) - an encoding format for video and images, first standardized in 2013
- ISO Base Media File Format - a file format standard that covers HEIF and other similarly formatted multimedia files, first standardized in 2001
- MPEG-H - a suite of standards that includes HEIF and HEVC
See also
- Better Portable Graphics - another image file format using HEVC encoding, published by an individual author in 2014
- AV1 - a rival file and compression format under development by Google, Mozilla and others in a group called the Alliance for Open Media
References
External links
- HEIF - MPEG Image File Format standard site
- HEIF - format site at Nokia
- HEIF - source code at GitHub
Source of article : Wikipedia