WindowsでiPhoneのHEIC写真を開く
iPhoneのカメラを「互換性優先」に切り替えれば、最初からJPGで撮影できます。すでにあるHEICなら、このページの変換ツールにドロップしてください。WebAssemblyにコンパイルされた本物のHEVCデコーダーlibheifがブラウザ内でファイルを展開し、ブラウザ内蔵のJPEGエンコーダーがコピーを書き出します。アップロードされるものは何もありません。
WindowsでiPhoneのHEIC写真を開くとは
2017年にiOS 11が登場して以来、すべてのiPhoneは写真をデフォルトでHEICで保存します。HEICはHEIF規格(ISO/IEC 23008-12)が定義するコンテナで、4K動画と同じコーデックファミリーのHEVCで圧縮された画像を収めます。狙いは容量です。同じ画質ならHEICの写真は同等のJPEGのおよそ半分のサイズになり、スマホに保存できる枚数はほぼ2倍になります。その代償は後になって、写真が次に持ち込まれたマシンで払うことになります。
その代償とは互換性のことで、しかも偏りがあります。Appleは自社プラットフォーム向けにHEVCのライセンスを持つため、Safari、iPhone、iPad、MacはHEICを何も考えずに開けます。ChromeとFirefoxは特許の問題でデコーダーの搭載を見送り、古いWindowsはMicrosoft Storeの有料コーデックパックを必要とし、古いAndroidはそもそもこの形式を読めません。.heicファイルを適切でない相手にメールで送れば、返ってくるのはエラーアイコンのスクリーンショットです。
このページは、その返信が届いたときのためのレシピです。いつ変換すべきか(すでに存在するファイル、Appleの外へ向かうファイルすべて)、代わりにカメラ設定を変えるべきとき(毎日のことになる場合)、そして変換ツールが実際に何をしているのか――タブの中でWebAssemblyとして動くlibheifでHEICを生ピクセルへデコードし、そこから先はブラウザ内蔵のJPEGエンコーダーに引き継がせる。写真がマシンから出ることはありません。HEICファイルは撮影場所のGPS座標を含んだカメラロールの写真であり、この点はほかのほとんどの場面よりも重要です。
以下の作業はすべてHEICからJPGへの変換ツール内で行われます。別のタブで開いて写真をドロップすれば、バッチでも1枚ずつ順に変換されます。
HEIC、JPEG、PNG、WebPの違いが初めてという方は、画像フォーマットガイドで、各フォーマットが何を犠牲にしているのかを解説しています。
そもそもiPhoneがHEICで撮る理由
HEICはAppleの変なこだわりではありません。動画コーデック戦略の画像版です。HEIFコンテナ(ISO/IEC 23008-12)は、HEVC(H.265)で圧縮された画像データを包みます。HEVCは1992年生まれのJPEG規格より圧縮効率で明確に優れており、同じ見た目の画質でおよそ半分のバイト数です。写真がストレージ最大の消費者であるデバイスでは、写真を半分にできるなら、Appleが払える互換性のコストを払う価値がありました。OS全体に対してHEVCのライセンスを持っているからです。
最近のiOSはさらに緩和されています。HEICを、読めないアプリに共有するとき、システムが受け渡しの途中でJPEGへ変換します(iOS 17以降では多くのアプリで自動的に行われます)。ケーブルでの写真のコピーでも同じことが起こります。そのため、多くのiPhoneユーザーはこの形式に出会わずに済んでいます。フォルダ同期、直接コピー、メール添付でファイルを移動するまでは。これらはいずれもバイト列をそのまま通すためです。
HEICが開けない場面とその対処
問題が起きても、写真が壊れているわけではありません――ファイル自体は正常です。受け手のソフトにライセンス済みのデコーダーがないだけです。世界は次の短い表に分けられます。
| HEICの行き先 | 通常起こること | 対処法 |
|---|---|---|
| iPhone、iPad、Mac | ネイティブに開ける | 対処不要――HEICのまま使う |
| ChromeまたはFirefox(OS問わず) | 画像が出ない。方針としてHEVCデコーダーを搭載していない | JPGに1回だけ変換する |
| HEVC拡張機能のないWindows | Microsoft Storeの有料コーデックを提示される | 変換するか、拡張機能をインストールする |
| 古いAndroid | 通常は何も開けない | 送る前に変換する |
| メール添付やアップロードフォーム | 受け手のソフト次第 | 変換しておく――受け手にコーデックを要求すべきではない |
変換ツール:ブラウザの中で動く本物のデコーダー
Safari以外のブラウザはHEICをデコードしないため、変換ツールはデコーダーを自分で持ち込みます。オープンソースのリファレンス実装libheifをWebAssemblyにコンパイルしたもので、ブラウザがファイルを開けなかった場合にのみ読み込まれます。サイズは約2 MBで、セッションごとに1回取得してキャッシュします。Safariユーザーはブラウザがネイティブでデコードできるため、これをダウンロードすることすらありません。デコーダーがファイルを生ピクセルに変え、そこから先はブラウザ内蔵のJPEGエンコーダーが、選択した品質で出力を書き出します。
品質についてのガイダンスは短く、正直です。HEICはすでに非可逆圧縮であり、JPEGは2度目の非可逆処理です。デフォルト品質の0.85なら、写真で違いは見えません。見つけるにはピクセル値を比較する必要があります。JPGは元のHEICより大きくなると考えてください。HEICの方が実際のところ圧縮効率の高い形式だからです。2度目の劣化を一切受けたくないならPNGを選び、かなり大きなファイルを受け入れてください。バッチは1回に1枚ずつ変換します(最大100ファイル、合計250 MB)。向きはデコード中に適用されるため、縦構図の写真は横向きに寝た状態ではなく、まっすぐ出力されます。
ここで変換すべきか、カメラ設定を変えるべきか?
有効な対処は2つあり、どちらが正解かは問題の発生頻度によります。
- すでに存在するファイル――カメラロールのHEIC群、PCに同期したフォルダ――は、ここで1回変換して終わりにできます。インストールも登録も不要です。
- 毎日の必要性――Windowsの同僚やプリンターに写真が常に向かう――なら、源流で解決します。「設定 → カメラ → フォーマット → 互換性優先」にすれば、以後カメラはJPEGで撮影します。1枚あたりの容量はおよそ2倍になります。
- HEICのまま、受け渡し時に変換する手もあります。「Settings → Photos → Transfer to Mac or PC → Automatic」にすると、ケーブルでのコピー時に写真が変換され、元のファイルはコンパクトなまま残ります。
変換が誤った選択になる場合
見る相手がすべてApple製品内――iCloudのファミリーアルバム、Macだけのスタジオ――なら、変換は利益ゼロの純粋な劣化であり、HEICのまま持つ方が良い形式です。互換性のために手を入れる価値があるのは、非互換の宛先があるときだけです。このページの正直な版は、全員にライブラリを永久にJPGへフラット化することを勧める代わりに、そう述べます。
よくある質問
ここで変換すると、iPhoneの写真はアップロードされますか?
いいえ。デコードと再エンコードはブラウザのタブの中で行われ、送り先となるアップロードのエンドポイントは存在しません。確認できます。DevToolsを開き、変換中にNetworkパネルを見てください。写真を運ぶリクエストは一切出ません。このページのContent-Security-Policyはconnect-src 'self'を設定しているため、試み自体をブラウザが拒否します。HEICはGPS座標を含んだカメラロールの写真です。それがこの件を重要にしているのです。
ChromeやFirefoxは、SafariのようにHEICを開けないのですか?
HEICはHEVCを包んでおり、HEVCデコーダーは特許ライセンスの対象で、自由には実装できません。Appleは自社プラットフォーム向けにライセンスを持つため、SafariとmacOSはネイティブでデコードできます。ChromeとFirefoxはデコーダーを搭載しない選択をし、Windowsは有料のストア拡張機能として提供しています。あなたのファイルに問題はありません。この形式のサポートは単純に無料では済まないだけです。
HEICをJPGに変換すると画質は落ちますか?
少しだけ、避けられません――カメラの1度目の後に続く2度目の非可逆処理だからです。品質0.85なら写真の上では違いは見えません。見つけるにはピクセル値の差分を取る必要があります。JPEGは通常、元のHEICより大きくなります。HEICの方が効率の高い形式だからです。PNGなら2度目の劣化を完全に避けられますが、ファイルサイズははるかに大きくなります。
そもそもiPhoneにHEICで撮影させないようにするには?
「設定 → カメラ → フォーマット → 互換性優先」にします。カメラはその後、JPEGを直接書き出します。1枚あたりの容量はおよそ2倍です。最近のiOSは多くのアプリで共有時の自動変換も行うため、この設定が効いてくるのは主に、フォルダ同期や添付でファイルを動かすときです。
ライブフォト、バースト、横向きの写真はどうなりますか?
ライブフォトやバーストは1つのコンテナに複数の画像を含みます。変換ツールは最初のトップレベル画像(カメラロールに表示されるもの)を取り込み、動画の部分はJPGには引き継がれません。向きはデコード時にピクセルへ適用されるため、縦構図の写真は横向きに寝たままではなく、まっすぐ上を向いた状態で出力されます。
JPGには位置情報などのメタデータは残りますか?
いいえ。ピクセルへのデコードと再エンコードによって、EXIFブロックは完全に失われます。GPS座標、カメラの機種、タイムスタンプ、埋め込みサムネイルです。共有の用途なら、たいていそれこそ望み通りです。画像からメタデータを取り除くページで、この話題とそのトレードオフを詳しく扱っています。