High Efficiency Image File Format: Difference between revisions

Content deleted Content added
WikiCleanerBot (talk | contribs)
m v2.05b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)
 
(47 intermediate revisions by 31 users not shown)
Line 1:
{{Short description|FileRaster graphics file format}}
{{Redirect|HEIF|the Higher Education Innovation Fund|Research England}}
{{Redirect|heic|other uses|HEIC (disambiguation){{!}}HEIC}}
Line 12:
| uniform type = public.heif, public.heic
| developer = [[Moving Picture Experts Group]] (MPEG)
| type = Image Containercontainer
| open = Depends on contained Formatformat (e.g. HEIC vs. free [[AVIF|AV1 Image File Format]])
| url = {{Official URL}}
| extended_from = [[ISOBMFF]]
| standard = ISO/IEC 23008-12 (MPEG-H Part 12)
}}
'''High Efficiency Image File Format''' ('''HEIF''') is a digital [[container format]] for storing individual [[digital image]]s and image sequences. The standard covers [[multimedia]] files that can also include other media streams, such as [[timed text]], audio and video.<ref name="JCTVC" />
 
'''High Efficiency Image File Format''' ('''HEIF''') is a digital container for storing individual [[digital image]]s and image sequences. The standard covers [[multimedia]] files that can also include other media streams, such as [[timed text]], audio and video.<ref name="JCTVC" />
 
HEIF can store images encoded with multiple coding formats, for example both [[Standard-dynamic-range video|SDR]] and [[High-dynamic-range video|HDR]] images. [[High Efficiency Video Coding|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]].<ref name="CNET" /><ref name="LesShu" />
Line 29 ⟶ 28:
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 HEIC variant. While HEIC became the standarddefault for 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 35 ⟶ 34:
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, thereit areis issuesnot withuniversally compatibility,supported; [[Adobe Photoshop]] is an example of 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>
 
== Some 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>
 
Line 46 ⟶ 45:
; 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 Insideinside Thethe HEIF Containercontainer ==
The HEIF container can store the following encodings:
<!-- Improve the below paragraph as it doesn't adhere to Wikipedia's standards. -->HEIF container specification describes various encodings that can be stored inside:
 
* JFIF (JPEG)
Line 55 ⟶ 54:
* HEVC
 
These leads to confusion, asAs users cannot easily tell what kindencoding ofand encoding hasparameters beenan used.image Simplywas sayingstored thatin, “HEIFthe isHEIF bettercontainer thanformat JPEG”can asbe promotionalconfusing materialand doesn'tmakes meancomparison anythingstatements tolike the“HEIF is better than JPEG” vague and userinaccurate.
 
Simply knowing a file is in the HEIF container does not reveal much information, as it could be:
Inside the HEIF container, JFIF (JPEG) can be stored. It can also contain AV1 encoding. The user would also need to know the encoding parameters in which the encoding happened (e.g., color quality "q", if delta in chroma planes were used, if some advanced tuning for ssim/psnr was used, or what quantization mode was applied).
 
If a user creates a ".HEIF" photo with their phone, the user or the receiver of the photo cannot determine which image format inside the file was used. It could be:
 
* a JFIF (JPEG);
Line 66 ⟶ 63:
* an HEVC with poor quality parameters; or
* an HEVC with high quality parameters.
 
Hence, simply stating in promotional materials that “HEIF is better” doesn't mean anything at all, as HEIF is just a container specification. What is contained inside the container must be described.
 
It's impossible to easily determine exactly what you receive in HEIF container. At best, users can use graphics magic to determine if it's impossible by visual inspection (gradients transitions are broken in 8-bit photos) to tell if the photo is 12-bit or 10-bit per channel, or 8-bit ($ gm identify).
 
 
{{anchor|MIAF}}{{anchor|MPEG-A}}
Line 129 ⟶ 121:
== Support ==
{{See also|AVIF#Support}}
*[[Nokia]] provides an open source C++ HEIF decoder, that also has a [[Java (programming language)|Java]] HEIF decoderAPI.<ref name="Nokia" />
* The open source library "libheif" supports reading and writing HEIF files.<ref name="libheif">{{cite web |url=https://github.com/strukturag/libheif|title=strukturag/libheif |date=May 17, 2021|via=GitHub |access-date=May 2, 2018 |archive-date=June 2, 2018 |archive-url=https://web.archive.org/web/20180602131612/https://github.com/strukturag/libheif |url-status=live }}</ref><ref>{{cite web|title=strukturag/libheif|url=https://github.com/strukturag/libheif/releases|access-date=2020-06-17|website=GitHub |archive-date=2020-06-18|archive-url=https://web.archive.org/web/20200618003355/https://github.com/strukturag/libheif/releases|url-status=live}}</ref> From version 1.8.0, both reading and writing HEIC and [[AVIF]] are supported.<ref name="libheif" />
* An image codec called CopyTrans HEIC, which is free for personal use and available for Windows versions 7 through 10, supports opening HEIF files in [[Windows Photo Viewer]] without the Microsoft codec installed. (The Microsoft HEIC codec is only available for Windows 10, version 1803 and up in the Photos [[Universal Windows Platform|UWP]] app.)<ref>{{cite web|url=https://www.copytrans.net/copytransheic/|title=Open HEIC files on Windows|website=CopyTrans.net|access-date=2018-09-27|archive-date=2018-09-16|archive-url=https://web.archive.org/web/20180916121137/https://www.copytrans.net/copytransheic/|url-status=live}}</ref>
Line 135 ⟶ 127:
=== Operating systems ===
 
* [[Windows 10]] [[Windows 10 version history|version 1803]] and later (HEIC), [[Windows 10 version history|version 1903]] and later (AVIF): [https://www.microsoft.com/en-us/p/heif-image-extensions/9pmmsr1cgpwg HEIF Image Extension] is needed to read and write files that use the HEIF format. [https://www.microsoft.com/en-us/p/hevc-video-extensions/9nmzlz57r3t7 HEVC Video Extensions] is needed to play and produce HEVC-encoded video content. A small amount of money is charged for the use of the HEVC codec, whereas support for the generic HEIF format and the AVC and AV1 extensions are free.<ref name="Win1083">{{cite news |url=https://blogs.windows.com/windowsexperience/2018/03/16/announcing-windows-10-insider-preview-build-17123-for-fast/#UpPIwc3yVgJHc5Q8.97 |title=Announcing Windows 10 Insider Preview Build 17123 for Fast Ring Subscribers |access-date=2018-03-16 |archive-date=2020-08-06 |archive-url=https://web.archive.org/web/20200806161103/https://blogs.windows.com/windowsexperience/2018/03/16/announcing-windows-10-insider-preview-build-17123-for-fast/#UpPIwc3yVgJHc5Q8.97 |url-status=live }}</ref>{{citation needed|reason=This material is by Microsoft itself and doesn't address the possibility to plug Open-Source encoders/decoders into the system|date=October 2024}}
* [[Windows 11]]: since 22H2, Windows 11 has HEIF Image Extension built-in by default.<ref>{{cite web|url=https://answers.microsoft.com/en-us/surface/forum/all/heic-format-support-changes-in-2023-11-cumulative|title=HEIC format support changes in 2023-11 Cumulative Update for Windows 11 Version 22H2 for x64-based Systems (KB5032190)|date=2023-11-19}}</ref>
* [[macOS High Sierra]] and later (HEIC only)<ref name="CBS">{{cite web |url=https://www.cnet.com/news/apple-answers-iphone-storage-woes-with-smaller-photos-videos/ |title=Apple answers iPhone storage woes with smaller photos, videos |last=Hollister |first=Sean |date=2017-06-05 |website=[[CNET]] |publisher=[[CBS Interactive]] |access-date=2017-09-30 |archive-date=2021-01-22 |archive-url=https://web.archive.org/web/20210122041854/https://www.cnet.com/news/apple-answers-iphone-storage-woes-with-smaller-photos-videos/ |url-status=live }}</ref> Since [[macOS Mojave]], Apple uses HEIF in creating the Dynamic Desktop feature.<ref name="Itnext ft 1">{{cite web |url=https://itnext.io/macos-mojave-dynamic-wallpaper-fd26b0698223 |title=macOS Mojave dynamic wallpaper |publisher=ITNEXT |first=Marcin |last=Czachurski |date=2018-06-29 |access-date=2018-09-18 |archive-date=2019-03-03 |archive-url=https://web.archive.org/web/20190303005413/https://itnext.io/macos-mojave-dynamic-wallpaper-fd26b0698223 |url-status=live }}</ref>
Line 143 ⟶ 135:
* [[Ubuntu]] 20.04 and later (HEIC)<ref>{{cite web|title=software recommendation - Any app on Ubuntu to open and/or convert HEIF pictures (.HEIC, High Efficiency Image File Format)?|url=https://askubuntu.com/questions/958355/any-app-on-ubuntu-to-open-and-or-convert-heif-pictures-heic-high-efficiency-i|access-date=2020-10-09|website=Ask Ubuntu|archive-date=2020-11-11|archive-url=https://web.archive.org/web/20201111221257/https://askubuntu.com/questions/958355/any-app-on-ubuntu-to-open-and-or-convert-heif-pictures-heic-high-efficiency-i|url-status=live}}</ref>
* [[Debian]] 10.13 ("buster") or later<ref>{{cite web|url=https://tracker.debian.org/pkg/libheif|title=Libheif - Debian Package Tracker }}</ref>
* [[Fedora Linux|Fedora]] 36 or later<ref>{{cite web|url=https://packages.fedoraproject.org/pkgs/libheif/libheif/|title=Libheif - Fedora Packages }}</ref>
 
=== Web browsers ===
Line 161 ⟶ 154:
* [[Digikam]] (supports 10-bit HEIC)
* [[GraphicConverter]]
* [[gThumb]]
* [[ImageMagick]]
* [[Krita]]<ref>{{Cite news |title=Krita 4.1 Release Notes |url=https://krita.org/en/krita-4-1-release-notes |url-status=live |access-date=2018-11-19 |archive-url=https://web.archive.org/web/20181119214332/https://krita.org/en/krita-4-1-release-notes/ |archive-date=2018-11-19}}</ref>
Line 169 ⟶ 163:
* [[ACDSee]] (read-only)
* [[XnView]]<ref>{{Cite web |last=Pierre |first=GOUGELET |title=Supported graphic and image formats {{!}} XnView.com |url=https://www.xnview.com/en/image_formats/ |access-date=2023-10-12 |website=XnView Software |language=en}}</ref>
 
=== Image libraries ===
* [https://github.com/strukturag/libheif libheif] – ISO/IEC 23008-12:2017 HEIF and AVIF decoder and encoder.
* [https://sail.software SAIL] – format-agnostic library with support of HEIC implemented on top of libavif.
* [[FFmpeg]]
* [https://github.com/Xelitan/AVIF-and-HEIC-for-Delphi-Lazarus AVIF and HEIC unit] - Delphi/Lazarus wrapper for libavif
* [https://www.idrsolutions.com/jdeli/ JDeli] - Java Image library with HEIC support
* [https://github.com/nokiatech/heif?tab=License-1-ov-file Nokiatech] - Nokia's HEIF library with Java wrapper
 
=== Hardware ===
Line 184 ⟶ 186:
* [[Facebook]] supports the upload of HEIC but converts to JPEG or WEBP on display.<ref>{{cite web|last=Gallagher|first=William|date=2018-11-16|title=How to work with, edit, and share HEIC images without data loss|url=https://appleinsider.com/articles/18/11/16/how-to-work-with-edit-and-share-heic-images-without-data-loss|access-date=2020-08-14|publisher=[[Apple Insider]]|archive-date=2020-08-13|archive-url=https://web.archive.org/web/20200813211920/https://appleinsider.com/articles/18/11/16/how-to-work-with-edit-and-share-heic-images-without-data-loss|url-status=live}}</ref>
* [[Discord]] does not support HEIC at all.<ref>{{cite web |last=Technik |date=2019-10-27 |title=Feature Request: Support for HEIF images - Discord Support Community |url=https://support.discord.com/hc/en-us/community/posts/360054609851-Feature-Request-Support-for-HEIF-images |website=Discord Support Community}}</ref>
* [[Wikimedia Commons]] does not support HEIC.<ref>{{Cite web |title=Commons:File types - Wikimedia Commons |url=https://commons.wikimedia.org/wiki/Commons:File_types |access-date=2025-07-12 |website=commons.wikimedia.org |language=en}}</ref>
 
== Patent licensing ==
{{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 that 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 ==
* [[Better Portable Graphics]] (BPG) – another image file format using HEVC encoding, published by [[Fabrice Bellard]] in 2014
* [[JPEG XL]] – an image file format developed since 2019 (standardization completed since 2022) and based on Google {{ill|PIK (image format)|lt=PIK|WDqid=Q72886365}} and Cloudinary [[Free Lossless Image Format|FLIF]] (itself based upon {{ill|Free Universal Image Format|lt=FUIF|WDqid=Q72886200}}) claiming to outperform PNG, WebP, BPG and JPEG 2000 for lossless encoding at least
* [[WebP]] – an image file format that features both lossy (based on the [[VP8]] and [[VP9]]) and lossless (independently videodeveloped) formatscompression
 
== References ==