High Efficiency Image File Format: Difference between revisions

Content deleted Content added
Why someone deleted the paragraph "HEIC: HEVC in HEIF"? See Special:PermanentLink/1258896680
mNo edit summary
Line 19:
| standard = ISO/IEC 23008-12 (MPEG-H Part 12)
}}
'''High Efficiency Image File Format''' ('''HEIF''') is an international standard defined by [[MPEG-H]] Part 12 (ISO/IEC 3008-12), first published by [[International Organization for Standardization|the ISO]] in 2017. It is designed as a container for photographic images ''in any image encoding''. HEIF is a special case of the general [[ISO base media file format|ISO BMFF]] format, in which all data is encapsulated in typed boxes, with a mandatory ftyp box that is used to indicate particular file types. The initial specification for HEIF provided usage details for three compression schemes,: the widely supported [[JPEG]] encoding for still raster images and two video encodings that are also applicable to still image items, namely [[Advanced Video Coding]] (AVC, aka MPEG-4, Part 10 and H.264) and [[High Efficiency Video Coding]] (HEVC aka PEG-H Part 2 and H.265).
 
The ISO Base Media File Format official specification (of which HEIF is a special case) defines multiple subtypes in relations to possible encodings:
 
* MJP2_FF, [[Motion JPEG 2000]] File Format
* MP4_FF_2, [[MPEG-4]] File Format, version 2
* MP4_FF_AVCE, MPEG-4 File Format for AVC (Extensions; Part 15)
* JP2_FF, [[JPEG 2000]] Part 1 (Core) jp2 File Format
* JPX_FF, JPEG 2000 Part 2 (Extensions) jpf File Format
* JPM_FF, JPEG 2000 Part 1 (Compound) jpm File Format
* JPEG_XL, [[JPEG XL]] Image Encoding
* JXL, JPEG XL File Format
* HEIF, High Efficiency Image File Format. Some internal structures required for HEIF were added into the ISO_BMFF specification in a 2018 amendment. (ISO/IEC 14496-12:2015/Amd 2:2018)
Line 39:
Specific implementations of HEIF encoding are registered by MP4RA and are officially called "brands".
 
According to official specifications, the Apple HEIC registered brand isuses usingthe Main or Main Still Picture profile of HEVC with an 8-bit -per -channel [[color depth]] and [[chroma subsampling]] of 4:2:0, while the Sony and Canon HIEX registered brandbrands may additionally increase the bit-depth to 10 bits per channel and chroma subsampling to 4:2:2 or 4:4:4.
 
'''Licensing and Patents'''
 
If BMFF HEIF is used with HEVC encoding, then it is worth noting that HEV is heavily encumbered with [[Software patent|patents]], and the [[Library of Congress]] does not recommend of using such heavily patent troublesomepatented formats. The parties holding patents on HEVC include but are not limited to:
 
* [[Apple Inc.|Apple]]
* [[Panasonic|Matsushita Electric Industrial Co]]
* [[Toshiba|Toshiba Corp.]]
* [[Lenovo]]
 
The uncertainty of patent encumbering is fartherfurther strengthened by unclear patents patent-holders' wordings. Holders of relevant patents, stated to the ISO that "the holders of these patent rights have assured the ISO and IEC that they are willing to negotiate licenses under reasonable and non-discriminatory terms." The specification also cautions that "some of the elements . . . may be the subject of patent rights other than those identified."
 
== History ==
The requirements and main use cases of HEIF were defined in 2013.<ref name="Still Image Req">{{cite web |title=Requirements for still image coding using HEVC |url=http://mpeg.chiariglione.org/standards/mpeg-h/high-efficiency-video-coding/requirements-still-image-coding-using-hevc |website=chiariglione.org |access-date=2018-08-24 |date=2013-07-29 |archive-date=2021-05-17 |archive-url=https://web.archive.org/web/20210517080655/https://mpeg.chiariglione.org/standards/mpeg-h/high-efficiency-video-coding/requirements-still-image-coding-using-hevc |url-status=live }}</ref><ref name="Image Sequence Req">{{cite web |title=Requirements for HEVC image sequences |url=http://mpeg.chiariglione.org/standards/mpeg-h/high-efficiency-video-coding/requirements-hevc-image-sequences |website=mpeg.chiariglione.org |access-date=2018-08-24 |date=2013-07-29 |archive-date=2021-05-17 |archive-url=https://web.archive.org/web/20210517080156/https://mpeg.chiariglione.org/standards/mpeg-h/high-efficiency-video-coding/requirements-hevc-image-sequences |url-status=live }}</ref> The technical development of the specification took about one-and-a-half years and was finalized in the middle of 2015.<ref name=":0">{{cite web |url=http://mpeg.chiariglione.org/sites/default/files/files/meetings/docs/w15328.docx |title=Evidence motivates MPEG to launch new standardization effort for HDR |website=chiariglione.org |date=2015-06-26 |access-date=2018-08-24 |archive-date=2021-04-15 |archive-url=https://web.archive.org/web/20210415074444/https://mpeg.chiariglione.org/sites/default/files/files/meetings/docs/w15328.docx |url-status=live }}</ref>
The technical development of the specification took about one and a half years and was finalized in the middle of 2015.<ref name=":0">{{cite web |url=http://mpeg.chiariglione.org/sites/default/files/files/meetings/docs/w15328.docx |title=Evidence motivates MPEG to launch new standardization effort for HDR |website=chiariglione.org |date=2015-06-26 |access-date=2018-08-24 |archive-date=2021-04-15 |archive-url=https://web.archive.org/web/20210415074444/https://mpeg.chiariglione.org/sites/default/files/files/meetings/docs/w15328.docx |url-status=live }}</ref>
 
Apple was the first major adopter of the format in 2017, with the introduction of [[iOS 11]] using the HEIC variant. While HEIC became the default for [[IPhone|iPhones]], it remains possible to revert the settings to allow photos to be recorded in the more -recognizable JPEG format.<ref>{{cite web |title=How to Stop iPhone from Taking Photos in HEIC-HEIF |url=https://heic.imobie.com/how-to/stop-iphone-from-taking-photos-in-heic.htm |website=Heic.Info |access-date=15 April 2024}}</ref>
 
Android devices containing the appropriate hardware encoders received support for HEIC files with the release of Android 10 (2019).<ref>{{Cite web |title=HEIF Imaging |url=https://source.android.com/docs/core/camera/heif |access-date=2023-11-11 |website=Android Open Source Project |language=en}}</ref>
Line 62 ⟶ 61:
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,<ref name=":1">{{cite web |url=https://www.theverge.com/2020/5/20/21262302/ap-test-fail-iphone-photos-glitch-email-college-board-jpeg-heic |date=2020-05-02 |access-date=2022-08-25 |title=Students are failing AP tests because the College Board can't handle iPhone photos |publisher=[[The Verge]] |author= Monica Chin}}</ref> leading the [[College Board]] to request students change the settings to send only JPEG files.<ref>{{cite tweet |user=CollegeBoard |number=1260208235132436480 |title=If you want to submit a photo of a handwritten AP Exam answer from an iPhone or iPad, make sure to change your camera settings so your photos are saved as JPEGs, not HEICs.}}</ref>
 
Although HEIC is gaining in popularity, there are issues with compatibility. For example, [[Adobe Photoshop]] is a popular image editing software that only supports 8-bit HEIC and not 10-bit or 12-bit HEIC yet.<ref>{{Cite web |title=File formats in Adobe Photoshop |url=https://helpx.adobe.com/au/photoshop/using/file-formats.html}}</ref>
 
Camera hardware (including mobile devices) are increasingly supporting outputting HEIC files and with color depth often higher than 8-bit color.<ref>{{Cite web |title=A bit confused: what's a HEIF and why do we need 10-bit stills and video? |url=https://www.dpreview.com/learn/6184595294/10-bit-stills-a-look-at-raw-log-and-the-future-of-photography |access-date=2023-11-11 |website=DPReview}}</ref>
 
== Specifications ==
HEIF files can store the following types of data:<ref name="JCTVC">{{cite web |url=http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=10265 |title=Overview of the High Efficiency Image File Format |website=JCT-VC |publisher=document JCTVC-V0072 |date=October 2015 |author1=M. M. Hannuksela |author2=E. B. Aksu |author3=V. K. Malamal Vadakital |author4=J. Lainema |access-date=2015-11-25 |archive-date=2021-11-24 |archive-url=https://web.archive.org/web/20211124172021/http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=10265 |url-status=live }}</ref>
 
; Image items: Storage of individual images, image properties, and thumbnails.
; Image derivations: Derived images enable non-destructive image editing, and are created [[on the fly|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 and/or temporally predicted images (like a [[burst mode (photography)|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 channel|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|EXIF]], [[Extensible Metadata Platform|XMP]], and similar metadata which accompany the images stored in the HEIF file.
 
== Encodings inside the container ==
Line 82 ⟶ 81:
* HEVC
 
These may lead to confusion, since if a user who creates or receives a <code>.heif</code> image, they cannot immediately determine which image encoding was used. Furthermore, presenting HEIF as better than JPEG may be misleading, since the truth of that statementclaim depends on chosen encoding.
 
{{anchor|MIAF}}{{anchor|MPEG-A}}
 
=== 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.<ref name="MIAF">{{citation |title= ISO/IEC 23000-22. Multimedia application format (MPEG-A) — Part 22: Multi-image application format (MIAF) |publisher= ISO/IEC MPEG |url= https://www.iso.org/standard/74417.html |access-date= 2020-04-29 |archive-date= 2020-04-26 |archive-url= https://web.archive.org/web/20200426173836/https://www.iso.org/standard/74417.html |url-status= live }}</ref>
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.<ref name="MIAF">{{citation |title= ISO/IEC 23000-22. Multimedia application format (MPEG-A) — Part 22: Multi-image application format (MIAF) |publisher= ISO/IEC MPEG |url= https://www.iso.org/standard/74417.html |access-date= 2020-04-29 |archive-date= 2020-04-26 |archive-url= https://web.archive.org/web/20200426173836/https://www.iso.org/standard/74417.html |url-status= live }}</ref>
 
{{anchor|HEIC}}{{anchor|HEVC}}
 
=== HEIC: HEVC in HEIF ===
[[High Efficiency Video Coding]] (HEVC, ITU-T H.265)<ref>{{cite web|url=https://tidbits.com/2020/06/26/what-the-heic-apples-highly-compressed-image-format-still-confuses/|title=What the HEIC? Apple's Highly Compressed Image Format Still Confuses|publisher=TidBITS|first=Glenn|last=Fleishman|date=26 June 2020|access-date=28 June 2020|archive-date=28 June 2020|archive-url=https://web.archive.org/web/20200628103743/https://tidbits.com/2020/06/26/what-the-heic-apples-highly-compressed-image-format-still-confuses/|url-status=live}}</ref> 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''.
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 <dfn><abbr title="High-Efficiency Image Codec">HEIC</abbr></dfn> (High-Efficiency Image Codec) is used as a ''brand'' and in the MIME subtypes <code>image/heic</code> and <code>image/heic-sequence</code>. If the content conforms to certain [[HEVC#Profiles|HEVC profiles]], then more specific brands can be used: <dfn>HEIX</dfn> for Main 10 of HEVC, <dfn>HEIM</dfn> for (Multiview) Main profile, and <dfn>HEIS</dfn> for (Scalable) Main (10) profile of L-HEVC.
 
A HEIC photo takes up about half the space of an equivalent -quality JPEG file.<ref name=HEVCApril2012I0461>{{cite news |title=On HEVC still picture coding performance |first1=Jani |last1=Lainema |first2=Kemal |last2=Ugur |publisher=JCT-VC |url=http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=5721 |date=2012-04-20 |access-date=2013-01-22}}</ref> The initial HEIF specification already defined the means of storing HEVC-encoded [[Video compression picture types|intra images]] (''i-frames'') and HEVC-encoded image sequences in which [[inter frame|inter prediction]] is applied in a constrained manner.
 
HEVC<!-- or 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.<ref name="Nokia">{{cite web |url=https://nokiatech.github.io/heif/technical.html |title=HEIF Technical Information |subject=High Efficiency Image File Format |publisher=Nokia |website=nokiatech.github.io |at=Images in HEIF Files |access-date=2018-02-01 |archive-date=2018-02-01 |archive-url=https://web.archive.org/web/20180201152802/http://nokiatech.github.io/heif/technical.html |url-status=live }}</ref>
Line 110 ⟶ 107:
=== AVCI: AVC in HEIF ===
 
[[H.264/MPEG-4 AVC|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 <code>image/avci</code> for still images and <code>image/avcs</code> for sequences. The format is simply known as AVCI.
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 <code>image/avci</code> for still images and <code>image/avcs</code> 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<ref name="WWDC2017 513">{{cite web |date=June 2017 |title=High Efficiency Image File Format |url=https://developer.apple.com/videos/play/wwdc2017/513 |url-status=live |archive-url=https://web.archive.org/web/20171201032622/https://developer.apple.com/videos/play/wwdc2017/513 |archive-date=2017-12-01 |access-date=2017-11-22 |publisher=[[Apple Inc.|Apple]] |time=0:09:26}}</ref> but will only generate ''.heic'' files.
Line 183 ⟶ 178:
 
=== Hardware ===
* The [[Canon EOS-1D X Mark III]], [[Canon EOS R5]], [[Canon EOS R6]] and [[Canon EOS R8]] cameras use the HEIF format to capture images in an [[High-dynamic-range television|HDR display format]] that use the [[Perceptual Quantizer|PQ]] tone curve, [[Rec. 2100|BT.2100]] color primaries and 10-bit color depth.<ref>https://media.the-digital-picture.com/Information/Canon-EOS-1D-X-Mark-III-Still-Image-White-Paper.pdf {{Webarchive|url=https://web.archive.org/web/20210121225222/https://media.the-digital-picture.com/Information/Canon-EOS-1D-X-Mark-III-Still-Image-White-Paper.pdf |date=2021-01-21 }} page 45</ref><ref>{{cite web |url=https://github.com/lclevy/canon_cr3/blob/master/heif.md |title=Inside Canon HEIF |website=github.com |date=2020-03-16 |access-date=2020-03-16 |archive-date=2020-11-01 |archive-url=https://web.archive.org/web/20201101011728/https://github.com/lclevy/canon_cr3/blob/master/heif.md |url-status=live }}</ref> "We've moved on to HEIF files," Canon said in 2019.<ref>{{cite web |url=https://www.digitalcameraworld.com/news/canon-abandoning-jpg-weve-moved-on-to-heif-files |title=Canon graduates from JPG: 'We've moved on to HEIF files…' |work=Digital Camera World |date=October 29, 2019 |first=James |last=Artaius |access-date=September 20, 2020 |archive-date=September 25, 2020 |archive-url=https://web.archive.org/web/20200925114136/https://www.digitalcameraworld.com/news/canon-abandoning-jpg-weve-moved-on-to-heif-files |url-status=live }}</ref>
* The [[Sony α1]]<ref>{{cite web|url=https://electronics.sony.com/imaging/interchangeable-lens-cameras/full-frame/p/ilce1-b|title=Sony Alpha 1 Full-frame Interchangeable Lens Mirrorless Camera &#124; ILCE1/B &#124; Sony US |website=Electronics.Sony.com| access-date=2021-05-18|archive-date=2021-05-18|archive-url=https://web.archive.org/web/20210518042416/https://electronics.sony.com/imaging/interchangeable-lens-cameras/full-frame/p/ilce1-b|url-status=live}}</ref> and [[Sony α7 IV]]<ref>{{cite web|url=https://www.sony.com/electronics/support/e-mount-body-ilce-7-series/ilce-7m4/specifications|title=ILCE-7M4 Specifications|website=electronics.sony.com|access-date=2021-12-07|archive-date=2021-12-07|archive-url=https://web.archive.org/web/20211207105947/https://www.sony.com/electronics/support/e-mount-body-ilce-7-series/ilce-7m4/specifications|url-status=live}}</ref> offer capturing images in 10-bit HEIF format with an HDR format that uses [[HLG10|HLG]].
* The [[Fujifilm X-H2S]],<ref>{{cite web|url= https://fujifilm-dsc.com/en/manual/x-h2s/technical_notes/spec/|title=Fujifilm X-H2S Specifications|access-date=2023-02-18}}</ref> [[Fujifilm X-H2]],<ref>{{cite web|url= https://fujifilm-dsc.com/en/manual/x-h2/technical_notes/spec/|title=Fujifilm X-H2 Specifications|access-date=2023-02-18}}</ref> [[Fujifilm X-T5]],<ref>{{cite web|url= https://fujifilm-dsc.com/en/manual/x-t5/technical_notes/spec/|title=Fujifilm X-T5 Specifications|access-date=2023-02-18}}</ref> and [[Fujifilm X100VI]]<ref>{{cite web|url= https://fujifilm-dsc.com/en/manual/x100vi/technical_notes/spec/|title=Fujifilm X100VI Specifications|access-date=2024-05-06}}</ref> offers a choice of JPEG or 10-bit HEIF file formats.
Line 200 ⟶ 195:
{{Further|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 thatHowever, Nokia also grants its patents on a royalty-free basis for non-commercial purposes.<ref name="nokiaheiflicense">{{cite web |title=Nokia High-Efficiency Image File Format (HEIF) License |website=[[GitHub]] |url=https://github.com/nokiatech/heif/blob/master/LICENSE.TXT |access-date=2020-05-07 |archive-date=2020-11-12 |archive-url=https://web.archive.org/web/20201112020815/https://github.com/nokiatech/heif/blob/master/LICENSE.TXT |url-status=live }}</ref> 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.<ref name="ars">{{cite web |title=macOS High Sierra tech preview: A quick look at the stuff you can't see |url=https://arstechnica.com/apple/2017/06/macos-high-sierra-tech-preview-a-quick-look-at-the-stuff-you-cant-see/ |access-date=2017-07-04 |date=2017-06-19 |quote=If there's one major downside to both HEVC and HEIF, it's that they're covered by patents that may need to be licensed for use in various apps and services. |archive-date=2017-06-20 |archive-url=https://web.archive.org/web/20170620001037/https://arstechnica.com/apple/2017/06/macos-high-sierra-tech-preview-a-quick-look-at-the-stuff-you-cant-see/ |url-status=live }}</ref><ref name="jpgtoheif">{{cite web |title=Converting a JPEG to the new HEIF format |url=http://jpgtoheif.com/ |access-date=2017-07-04 |quote=HEIF and HEVC are extensively covered by patents, which means there could be legal implications to implementing HEIF support, particularly in paid software or a hardware product. |archive-date=2017-07-07 |archive-url=https://web.archive.org/web/20170707214211/http://jpgtoheif.com/ |url-status=live }}</ref><ref name="beamr-on-licensing">{{cite web |title=Apple Endorses New Image Format, HEIF |url=https://www.linkedin.com/pulse/apple-endorses-new-image-format-heif-jan-ozer |access-date=2017-10-31 |date=2017-06-12 |first1=Jan |last1=Ozer |first2=Dror |last2=Gill |archive-date=2019-03-21 |archive-url=https://web.archive.org/web/20190321220755/https://www.linkedin.com/pulse/apple-endorses-new-image-format-heif-jan-ozer |url-status=live }}</ref>
 
== See also ==