Comparison of JPEG, JPEG 2000, JPEG XR and HEIF files at similar file sizes | |
Filename extension |
.heif, .heifs; .heic, .heics; .avci, .avcs; .avif |
---|---|
Internet media type | image/heif , image/heif-sequence ; image/heic , image/heic-sequence ; image/avif |
Uniform Type Identifier (UTI) | public.heif, public.heic |
Developed by | Moving Picture Experts Group (MPEG) |
Type of format | Image Container Format |
Extended from | ISOBMFF |
Standard | ISO/IEC 23008-12 (MPEG-H Part 12) |
Open format? | Depends on contained Format (e.g. HEIC vs. free AV1 Image File Format) |
Website | www |
High Efficiency Image File Format (HEIF) is a container format for storing individual digital images and image sequences. The standard covers multimedia files that can also include other media streams, such as timed text, audio and video.[1]
HEIF can store images encoded with multiple coding formats, for example both SDR and HDR images. HEVC is an image and video encoding format and the default image codec used with HEIF. HEIF files containing HEVC-encoded images are also known as HEIC files. Such files require less storage space than the equivalent quality JPEG.[2][3]
HEIF files are a special case of the ISO Base Media File Format (ISOBMFF, ISO/IEC 14496-12), first defined in 2001 as a shared part of MP4 and JPEG 2000. Introduced in 2015, it was developed by the Moving Picture Experts Group (MPEG) and is defined as Part 12 within the MPEG-H media suite (ISO/IEC 23008-12).
HEIF was adopted by Apple in 2017 with the introduction of iOS 11.
The requirements and main use cases of HEIF were defined in 2013.[4][5] The technical development of the specification took about one and a half years and was finalized in the middle of 2015.[6]
Apple was the first major adopter of the format in 2017 with the introduction of iOS 11 using HEIC variant.
On some systems, pictures stored in the HEIC format are converted automatically to the older JPEG format when they are sent outside of the system, although incompatibility has led to problems such as US Advanced Placement test takers failing due to their phones uploading unsupported HEIC images by default[7] leading the College Board to request students change the settings to send only JPEG files.[8]
HEIF files can store the following types of data:[1]
As HEIF is a container format, it can contain still images and image sequences that are coded in different formats. The main filename extensions are .heif for still images and .heifs for sequences, which can both be used with any codec. Generic HEIF image files are typically stored with filename extensions .heif, but they may use a different extension to indicate the specific codec used.
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.[9]
High Efficiency Video Coding (HEVC, ITU-T H.265)[10] 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 acronym HEIC (High-Efficiency Image Container) 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.[11] 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.
HEVC 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.[12]
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.[13] Apple products, for instance,[14] will only produce files with these extensions, which indicate clearly that the data went through HEVC encoding.[2]
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[14] but will only generate .heic files.
This section is about AV1 and AVIF. For AVI, see Audio Video Interleave. |
Main article: AVIF |
AV1 is a video encoding format that is intended to be royalty free developed by the Alliance for Open Media (AOMedia). AV1 Image File Format (AVIF) is an image format based on this codec.[15]
The registered MIME type is image/avif
for both still images and image sequences, and .avif is the file name extension.[16]
The original JPEG standard is the most commonly used and widely supported lossy image coding format, first released in 1992 by ITU-T and ISO/IEC. Although Annex H to ISO/IEC 23008-12 specifies JPEG (and indirectly Motion JPEG) as a possible format for HEIF coded image data, it is used in HEIF only for thumbnails and other secondary images. Therefore, neither a dedicated MIME subtype nor a special file extension is available for storage of JPEG files in HEIF container files.
Several other compression formats defined by the JPEG group can be stored in HEIF files:
In 2017, Apple announced that it would adopt HEIC as the default image format in its new operating systems, gradually replacing JPEG.[24]
Both AVIF and HEIC are currently being considered as possible replacements for the universal JPEG format because, among other technical contributions, both can reduce file size by about 50% while maintaining equivalent quality.[dubious ]
The proprietary image format WXAM or wxHEPC developed by Tencent and used e.g. within WeChat is apparently based upon HEVC,[25] as is SharpP, which was developed by their SNG (Social Network Group) division.[26][27] However, their container format may not be HEIF-compatible. In March 2017, SharpP switcheed to AVS2[28] and was renamed TPG (Tiny Portable Graphics).[27][29]
See also: AVIF § Support |
As of September 2022[update], no browser supports HEIC format natively.[44]
For AVIF, Chrome, Firefox and Opera for desktop and Android support it. Safari on iOS 16 and iPadOS 16 supports AVIF format.[45]
Further information: High Efficiency Video Coding § Patent holders |
HEIF itself is a container that may not be subject to additional royalty fees for commercial ISOBMFF licensees. Note however that Nokia also grants its patents on a royalty-free basis for non-commercial purposes.[69] When containing images and image sequences encoded in a particular format (e.g. HEVC or AVC) its use becomes subject to the licensing of patents on the coding format.[70][71][72]