HEIC

HEICファイルとは

iPhone が写真をしまう形式です。JPG の半分の容量で、そしてまさにそれが、Windows のパソコンでその写真が開かない理由でもあります。

HEIC とは何か

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

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

HEIC はどこから来たのか

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

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

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

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

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

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

透明を持てます

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

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

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

どんな色を表せるか

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

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

HEIC は箱で、コーデックが中身です

中に入っているのはたいていHEVCです。「なぜ再生できないのか」という質問のほとんどは、この区別に行き着きます。同じ拡張子の 2 つのファイルの中に、まったく違う符号化が入っていることがあり、片方を拒むプレーヤーがもう片方は問題なく再生します。

箱を入れ替えるのが速くて劣化もないのに、コーデックを変えるとそのどちらでもなくなる理由も、これで説明がつきます。同じ流れを別の箱に入れるのは箱を書き直すこと、再エンコードするのは画そのものを書き直すことだからです。

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

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

HEIC を開けるのは何か

Apple PhotosとAdobe Lightroomが読めますし、同じ種類のプログラムならたいてい読めます。

ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。

ブラウザーで開く

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

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

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

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

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

渡すための形式です

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

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

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

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

あなたのスマートフォンがこれを選び、何も言わなかった

2017 年の iOS 11 以降、既定設定の iPhone は JPEG ではなく HEIC で写真を撮ります。カメラの画面には何も表示されません。写真は端末上ではまったく同じに見え、容量はおよそ半分で済み、外に出たとき — メールに添付する、フォームにアップロードする、開けないパソコンにコピーする — に初めてこの形式が表面化します。

ここに来る人のほとんどが、自分では何も選んでいないのはこのためです。ファイルは端末が選んだ形式による普通の写真で、問題はそれを世界の残りの部分が受け入れる形にどう変えるかです。

Windows がお金を求めてくるのは、それがライセンスだから

Windows は標準では HEIC をデコードできません。Microsoft Store で HEVC Video Extension というものを提供していますが、これは有料です。わずかな金額とはいえ、自分の写真を開くためにお金を払わされるのは、腹立たしく感じても当然の話です。

Microsoft が便乗しているわけではありません。HEVC は端末ごとにロイヤリティを課す特許プールの対象で、すべての Windows のインストールにデコーダーを標準搭載すれば、そのすべてについて支払いが発生します。必要な人にだけコストを転嫁するのが代わりの選択でした。ブラウザーが HEIC を表示せず、無料のソフトウェアが長年これをぎこちなく扱ってきたのも、同じライセンスの事情によるものです。

このサイトは HEIC を読めても、書けない

HEIC からの変換はこのサイトのブラウザーの中で、アップロードなしに動作します。HEIC への変換は存在せず、それは機能の不足ではなくライセンスの問題です。

デコードは、静的なサイトが条件を満たせる実装で行えます。エンコードはそうはいきません。HEVC のエンコーダーを提供するには特許ライセンスを保持する必要があり、無料のページがそれをすべての訪問者に配布できる仕組みは存在しません。選択肢をただグレーアウトさせて放置されているように見せるより、はっきりそう伝えるほうが誠実です。

これが二度と起きないようにする設定

スマートフォン側では、設定、カメラ、フォーマット、と進み、「高効率」ではなく「互換性優先」を選びます。これで新しく撮る写真は JPEG になります。容量はおよそ二倍になりますが、この三十年間に作られたどの機器でも開けます。

もう一つ知っておく価値のある設定があります。写真の設定にある「Mac または PC に転送」を「自動」にする項目です。これをオンにしておくと、パソコンにコピーする際に HEIC が自動的に JPEG に変換されます。同じ機種のスマートフォンでも、この問題に一度も出会わない人と、しょっちゅう出会う人がいるのはこの設定の違いによるものです。

半分のサイズ、そして誇張ではない部分

同じ見た目の画質で JPEG のおよそ二倍の圧縮効率があるのは事実で、これは三十年にわたるコーデック開発の成果です。HEVC はより大きく可変サイズのブロック、はるかに優れた予測、1992 年当時の JPEG の設計より強力なエントロピー符号化を使っています。

よく言われるのとは違い、これは追加の階調深度を運んでいるわけではありません。iPhone が撮影する HEIC は JPEG と同じ 1 チャンネルあたり 8 ビットで、追加のハイライト情報は写真の隣に保存される別のゲインマップに入っています。10 ビットは ProRAW や ProRes の話です。JPEG に変換すると、このゲインマップと広色域のタグ情報は永久に失われます。たいていは気付かないほどの違いですが、唯一のコピーを変換する前に知っておく価値があります。

Live Photos と、変換で置き去りになるもの

Live Photos は一つのファイルではありません。HEIC の静止画と、シャッターの前後数秒を収めた短い MOV が、識別子で結び付けられています。HEIC を変換すると静止画が一枚できますが、動きの部分は別のファイルのまま残り、多くの変換ツールはそれを見ることさえありません。

ポートレートモードで撮った写真は、HEIC の中に奥行きマップを持っていて、これがあとから背景のぼかし具合を調整できる理由です。このマップも変換では引き継がれず、ぼかしはその時点の設定で固定されてしまいます。どちらも変換の欠陥ではなく、Apple の形式とそのソフトウェアの中でしか存在しない性質です。

写真は撮影場所の情報と一緒に旅をする

スマートフォンの HEIC は JPEG と同じように EXIF を持っています。機種、レンズ、露出、正確な日時、そして位置情報サービスが有効だった場合には撮影場所の GPS 座標です。

自宅で撮った写真であれば、これはこれから公開しようとしているファイルに自宅の住所が埋め込まれているということです。変換ツールによって何を引き継ぐかは違い、プラットフォームによってアップロード時に何を取り除くかも違います。楽観的な想定に任せるのではなく、意図的に判断すべき部分で、公開前に取り除いておくのが確実な対処です。

HEIC か HEIF か、そして拡張子で拒否される理由

HEIC は、HEVC で符号化された画像を持つ HEIF です。コンテナ規格の中に特定のコーデックが入っている、という関係です。ファイルは他社製品からは .heif として、Canon からは .hif として現れることもあり、構造としては同じ種類の対象です。

ソフトウェアの対応はこの論理どおりに動くとは限りません。中身ではなく拡張子だけを見ていることがよくあるからです。.heic は受け付けても、まったく同じ中身の .heif は拒否するツールもあります。ファイルが拒否された場合、壊れていると判断する前に、拡張子を変えて試す価値があります。

何に変換すべきか、そしてなぜここで変換できるのか

メール、フォーム、印刷サービス、Windows を使う同僚など、何も考えずに受け取ってもらう必要がある場合は JPEG です。容量はおよそ倍になりますが、見た目の違いはまずありません。編集に使い、画素を一つも失いたくない場合は PNG です。行き先がウェブページで、小さく保ちたく、どのブラウザーでも読めればよい場合は WebP です。

変換はこのブラウザータブの中で行われるため、写真がアップロードされることはありません。カメラロールの中身を考えれば、これは重要な意味を持ちます。よくある代替案は、四百枚の個人的な写真をどこかのウェブサイトに渡してダウンロードリンクと引き換える、というものです。サイズや枚数の上限も、自分の端末のメモリー以外にはなく、カメラロールはまさに他の場所ではその上限に引っかかりやすいまとまりです。

基本情報

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