The HEIF container can store files encoded with various codecs, including: •
JFIF (JPEG) •
AV1 •
HEVC 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 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 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. 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. 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.
AVCI: AVC in HEIF 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 The registered MIME type is image/avif for both still images and image sequences, and
.avif is the file name extension.
JPEG compression formats in HEIF files The original
JPEG standard is the most commonly used and widely supported lossy image coding format. It was 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: • Part 16 of the
JPEG 2000 standard suite (ISO/IEC 15444-16 and ITU-T Rec. T.815) defines how to store JPEG 2000 images in HEIF container files. Part 2 of the JPEG 2000 suite (ISO/IEC 15444-2 and ITU-T Rec. T.801) also defines a different format for storing JPEG 2000 images in files that is also based on ISOBMFF. • Annex F of the
JPEG XR image coding standard (ISO/IEC 29199-2 and ITU-T Rec. T.832) defines how to store JPEG XR images in HEIF container files. Annex A of JPEG XR also defines a different file format for storing JPEG XR images in files that is
TIFF-based, and Part 2 of the JPEG 2000 suite (ISO/IEC 15444-2 and ITU-T Rec. T.801) also supports a third file format for storing JPEG XR images in files that is based on ISOBMFF. •
JPEG XS has its HEIF container support defined in ISO/IEC 21122-3. In 2017,
Apple announced that it would adopt HEIC as the default image format in its new operating systems, gradually replacing JPEG.
WXAM, SharpP The proprietary image format WXAM (or wxHEPC) developed by
Tencent (used within, e.g.,
WeChat) is apparently based upon HEVC, as is SharpP, which was developed by their SNG (Social Network Group) division. However, their container format may not be HEIF-compatible. In March 2017, SharpP switched to
AVS2 and was renamed TPG (
Tiny Portable Graphics). == Support ==