HEIF

HEIFファイルとは

HEIC の土台にある標準コンテナ。得られる容量も、開けないという問題も同じです。

HEIF とは何か

HEIF はコンテナです。誰か別のものが符号化した流れを、中に収めておく外殻です。 ピクセルの格子を保存するので、自分の解像度を超えて拡大するとぼやけます。 スマートフォンと写真のために使われます。

拡張子は .heif、正式名称は High Efficiency Image File Format です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。

HEIF はどこから来たのか

MPEG が 2015 年に公開しました。 仕様は ISO/IEC 23008-12 です。

古さが役に立つのは、ごく実務的な理由からです。形式が古いほど、それを覚える時間が多くのプログラムに与えられてきたということだからです。

仕様は公開されていますが、公開しているのはそれを所有する会社です

文書があり、それに沿って実装できます。それでも、次の版がどうなるかを決めるのはその会社です。実務上、ファイルが開き続けるにはこれで足ります。安心するには足りません。

細部と引き換えにサイズを得ます

HEIF ファイルは小さくあり続けるために細部を捨て、捨てられたものは戻りません。見られるためのファイルには正しい取引で、直されるためのファイルには間違った取引です。保存し直すたびに、もうひと口ぶん減ります。

透明を持てます

HEIF ファイルはアルファチャンネルを一緒に持てるので、ロゴの縁は後ろに何があってもなめらかなまま残ります。白い箱に閉じ込められた状態で届くことはありません。

複数のフレームを持てます

HEIF ファイルは静止した 1 枚ではなく、アニメーションまるごとを保存できます。変換の前に知っておくべきことです。1 フレームしか持てない変換先は、最初の 1 枚を取って残りを落とします。しかもたいていは、何も言わずにです。

どんな色を表せるか

1 チャンネルあたり最大 10 ビット。 YCbCr(動画と JPEG が圧縮に使うモデル)と広色域で扱えます。

1 チャンネルあたり 8 ビットを超えるぶんこそが、編集のあいだ階調が段に割れるのを防いでいます。作業用のファイルでは効きますが、完成したファイルではまず関係ありません。

1 つのファイルに複数ページを持てます

HEIF ファイルは 1 ページに縛られていません。1 ページしか持てないものへ変換するときには、これが効いてきます。1 回の変換で出てくるのは 1 ページぶんのファイル 1 つで、取られるのは先頭のページです——どのページを取るかを選ばせてくれる変換であれば、そのページになります。

ブラウザーで開く

これを読めるブラウザーは一部にとどまります。

対応がそろっていない場合のよくある答えは、もうひとつの形式を並べて提供することです。ブラウザーは自分に分かるほうを選び、誰も取り残されません。

中身のほかに何を運べるか

HEIF ファイルはEXIF データ、XMP データ、ICC プロファイル、GPS の座標を持てます。

ファイルをどこかへ送る前に、GPS の座標については一度考えたほうがよいものです。それは写真が撮られた場所を示していて、今もファイルの中に入っており、そしてそのことはほとんどどこにも表示されません。

渡すための形式です

HEIF は渡すために作られたもので、中で作業するためのものではありません。編集は可能ですが、快適だったためしはありません。賢い道は、元のファイルへ戻ってもう一度書き出すほうを通ります。

この形式でよく起きること

繰り返し挙がる不満はこれです。本来の分野の外では対応がまばら。

どれも、この形式を避ける理由にはなりません。どれかに不意を突かれる前に知っておくべきことがら、というだけです。これは別の主張であり、そして役に立つほうの主張です。

HEIF は箱、HEIC はその中身の一つです

これが両方の名前をめぐる混乱のほとんどを解く区別です。HEIF ── High Efficiency Image File Format ── は 2015 年に MPEG が公開したコンテナ規格です。画像やサムネイル、メタデータ、画像シーケンスがどう配置されるかを規定していて、ピクセルがどう圧縮されるかについては何も規定していません。

HEIC は HEVC で圧縮された画像を保持する HEIF で、これが Apple 製品の生成するものです。同じコンテナはほかの符号化方式の画像も保持でき、実際にそうしています。AVIF は AV1 を内側に持つ、よく似た構造を使っています。だから「HEIF」は一つの家族を指し、「HEIC」はあなたが手にしている可能性がいちばん高いその一員を指します。

MP4 と同じ土台の上に組まれています

HEIF は ISO ベースメディアファイルフォーマット ── MP4 や MOV が使うのと同じ入れ子ボックス構造 ── から派生しています。これは意図的な選択でした。ツール群やパーサー、メタデータの慣習はすでに存在し、十年かけてデバッグ済みだったからです。

これはまた、HEIF ファイルが静止画形式には手に負えないはずのもの ── タイムスタンプ付きのシーケンスや、関係性を記述された複数の関連画像 ── を持てる理由でもあります。このコンテナは動画のために設計され、静止画のために適応されたのであって、その逆ではありません。

ほとんど誰も使っていない、規格が持てるもの

一つの HEIF ファイルは、画像シーケンス、バースト撮影、同じシーンの複数の露出、深度マップ、アルファチャンネル、非破壊の編集指示、そして別の画像に対する変換として記述された派生画像を含められます。

それを読むソフトウェアはほとんどありません。この能力は仕様化され、Apple は Live Photos とポートレートモードの深度のためにそのごく一部を使っていますが、エコシステムのほかの部分は HEIF を単なる一枚の写真として扱います。だから変換すると、もともと入っていて誰も読もうとしなかった機能を大抵は捨てることになります。ただし、それがそこにあったことは、ファイルを単純だと決めつける前に知っておく価値があります。

圧縮効率の主張と、その根拠

よく言われるのは、同じ見た目の品質で HEIF は JPEG のおよそ半分のサイズだという数字で、おおむね正しく成り立っています。この差はコンテナではなく内側のコーデックからきています。HEVC はより大きく可変サイズのブロック、より優れた予測、JPEG の 1992 年設計より強いエントロピー符号化を使います。

また、JPEG が最後まで逃れられなかった限界も直しています。1チャンネルあたり 8 ビットではなく 10 か 12 ビットなので、グラデーションのバンディングはずっと少なくなります。本物の透明度も持てます。可逆をオプションとして選べます。これらはどれもコンテナの機能ではありませんが、コンテナがあったからこそこれらをまとめて出荷できました。

AVIF は同じ発想を、ライセンスの制約なしに実現したものです

AVIF は AV1 で符号化された画像を、同じ土台の上に組まれたコンテナに入れます。同等かそれ以上の圧縮を達成し、そのコーデックはロイヤリティフリーです。この違いが採用を左右しました。

今のブラウザーはどれも AVIF をデコードします。HEIC をデコードするものはほぼありません。理由は能力ではなくライセンスです。HEVC の特許プールのせいで、無料のブラウザーにデコーダーを組み込むことが現実的ではなくなりました。この一点が、技術的にはよく似た二つの形式がまったく違う場所に落ち着いた理由を説明します。HEIF はスマートフォンに、AVIF はウェブに。

拡張子ごとの含意

`.heic` は HEVC で符号化された画像を意味し、Apple が書き出すものです。`.heif` は一般的な拡張子で、ほかのメーカーのファイルや、あえて限定しなかったソフトウェアから出てきます。`.hif` は一部のカメラメーカー、とくにキヤノンが同じもののために使います。

ソフトウェアの対応はこの論理どおりには進みません。あるツールが `.heic` は受け入れて `.heif` は拒む、しかも構造的には同一のファイルなのに、というケースがあります。チェックが中身ではなく拡張子に対して行われているからです。HEIF が拒まれたら、何かを結論づける前に `.heic` へと名前を変えてみる価値があります。

メタデータ、コンテナが保持するもの

HEIF は JPEG と同じように EXIF と XMP を運びます。カメラの機種、レンズ、露出設定、向き、そして位置情報サービスが有効だった場合には GPS の座標もファイルとともに移動します。

このコンテナには、より新しい来歴と編集履歴の構造のための余地もあり、これがスマートフォンの写真用に選ばれた理由の一部です。JPEG への変換ではたいてい露出関連のフィールドは引き継がれ、位置情報はツール次第で引き継がれることも引き継がれないこともあります。公開する写真については、これを意図的に決める価値があります。

HEIC ではない HEIF を書くのは誰か

`.hif` を書くキヤノンのカメラ、一部の Android メーカー、RAW と並んで HEIF のオプションを持つ少数のプロフェッショナル向けカメラ、そして一般的な形で書き出すソフトウェア。存在する HEIF ファイルの中ではごく一部で、圧倒的多数は Apple の HEIC です。

実用上の帰結として、対応はさらに薄くなります。ツールはたいてい最大の供給元が作るファイルに合わせて作られるからです。キヤノン機の一般的な HEIF は、iPhone のファイルを問題なく扱うソフトウェアを苦しめることがあります。

変換、その代償

行き先が何でも無条件に受け付けなければならないもの ── メール、アップロードフォーム、印刷サービス ── なら JPEG です。ファイルはおよそ二倍のサイズになりますが、良い品質設定なら見た目では区別がつきません。画像に透明度がある、あるいは編集に進むなら PNG です。

本当の損失はビット深度です。10 ビットの HEIF を 8 ビットの JPEG に変換すると、グラデーションで使える段階が減り、空などにバンディングとして現れることがあります。目立つことはめったにありませんが恒久的なので、写真そのものが大事なら元のファイルを残してください。このサイトのより豊かな形式からの変換すべてに当てはまる同じ原則です。

基本情報

HEIFフォーマットの識別子と出自。
拡張子.heif
メディアタイプimage/heif
公開元MPEG
初版2015
仕様ISO/IEC 23008-12