iPhone で撮影した写真を Mac に取り込むと、一枚あたり 2~4 MB になり、数百枚で 1~2 GB になります。
一括で圧縮したいのに、検索すると JPG に変換する方法だとファイルが逆に大きくなるという記事があったり、圧縮してもほとんど変わらなかったりします。
なぜでしょうか。HEIC 自体はすでに非常に効率的な形式だからです。さらに小さくするには、適切な方法を使う必要があります。
HEIC を理解する:なぜ「圧縮できない」のか
HEIC(HEIF コンテナ + HEVC エンコード)は、Apple が iOS 11 からデフォルトの写真形式として採用したものです。「設定 → カメラ → 形式」で「高品質」を選択すると、これが有効になります。
H.265 のフレーム内圧縮技術を使用しており、同じ画質であれば通常 JPEG の約半分の容量になります。そのため:
- HEIC を JPG に変換しても小さくならない(むしろ大きくなることもあります)。JPG に変換するのは互換性のためであって、容量節約のためではありません。
- iPhone で撮影された HEIC はすでに一度圧縮されています。その後、ほぼ同じ品質で再エンコードしても節約できる容量は限られています。
HEIC を明らかに小さくするには、エンコード品質の低下、解像度の縮小、付加データの削除の3つの方法があります。以下の各方法は、本質的にはこれらのいずれかです。
一括圧縮の前:まず「写真」App 内の画像に直接触らない
「写真」App のライブラリはデータベースパッケージ(照片图库.photoslibrary)であり、中のファイルを直接圧縮や置換でいじると、ライブラリのインデックスがおかしくなる可能性があります。
正しい手順は、まずエクスポートすることです。「写真」で写真を選択し、ファイル → エクスポート → エクスポート(未修正のオリジナル) を選んで、普通のフォルダにエクスポートし、そのフォルダに対して一括処理を行います。
方法1:sips コマンドライン(システム標準、品質制御可能)
macOS 標準の sips を使用して、HEIC を一括で再エンコードし、formatOptions で品質(0~100)を指定できます:
bash
mkdir -p ~/Desktop/heic-out
sips -s format heic -s formatOptions 50 ~/Desktop/heic-in/*.HEIC --out ~/Desktop/heic-out/
iPhone で撮影した 4032×3024 の写真(元ファイル 3.6 MB)で試してみました:
| 品質 | 出力サイズ | 変化 |
|---|---|---|
| 80 | 3.6 MB | 逆に少し大きくなる |
| 50 | 1.2 MB | 約 2/3 節約 |
これは2つのことを示しています。品質を高く設定すると、再エンコードしても節約にならず、むしろ大きくなる可能性があります。一方で、本当に容量を節約するのは、元の品質以下に品質を下げることです。どの程度の品質まで許容できるかは、自分で数枚開いて比較して確認する必要があります。
さらに -Z 2048 などのパラメータで長辺のピクセル数を制限することで、さらに小さくすることも可能です。ただし、元の解像度が必要ない場合に限ります。
方法2:「ショートカット」App または Finder「クイックアクション」(GUI)
- Finder 右クリック → クイックアクション → 画像変換:HEIF/JPEG/PNG に一括変換でき、画像サイズ(小/中/大/実際のサイズ)を選択できます。「解像度縮小」というニーズに適していますが、品質の微調整はできません。
- 「ショートカット」App:「画像変換」アクションを使用して形式、品質、メタデータの保持などを設定し、「画像サイズ変更」と組み合わせて、繰り返し使える一括処理のワークフローを作成できます。
これらの方法は新規ファイルを生成するため、元画像は変更されません。整理・置換は自分で行う必要があります。
方法3:「プレビュー」での一括エクスポート
「プレビュー」で複数の写真を同時に開き、左側のサムネイル一覧で全選択し、ファイル → 選択した画像をエクスポート を選択して、形式を指定して一括エクスポートできます。稀に小さなグループを処理する場合に適しています。オプションは前の2つほど多くありません。
方法4:ImgZilla(その場で一括圧縮、元画像はゴミ箱へ)
ImgZilla は私たちが作成した macOS の画像圧縮ツールで、HEIC/HEIF をサポートしています。このツールの特徴は以下の通りです:
- その場で圧縮:ファイル名、パス、形式は変更されず、
IMG_1234.HEICで圧縮してもIMG_1234.HEICのままになります。出力フォルダの整理は不要です。 - フォルダをドラッグ&ドロップするだけ:サブディレクトリを再帰的にスキャンし、HEIC だけでなく JPG、PNG、WebP なども一緒に処理します。
- デフォルトで元画像はゴミ箱へ:不満な場合は右クリックで「元に戻す」できます。
- 圧縮できないものは無理に圧縮しない:圧縮率が 0.4% 未満のファイルは「最小化済み」として表示され、そのまま残り、無料枠も消費されません。
- すべてローカルで実行、写真はサーバーにアップロードされません。
ただし、HEIC については以下の点を明確にしておく必要があります:
- システムの ImageIO を使用して固定品質(0.75)で再エンコードするため、画質を大幅に下げず、解像度も変更しません。iPhone 直出の HEIC で節約できる容量は通常少ないです。すでに処理された HEIC の多くは「最小化済み」として表示されます。写真を元の 1/3 にするという目標がある場合は、上記の sips の方法の方が適しています。
- デフォルトで EXIF を削除します(撮影日時、場所、カメラ情報など)。保持したい場合は、設定で「EXIF 情報を保持」をオンにしてください。
- 現在のバージョンでは iPhone 写真の HDR 増益画像(グレイン)は保持されません。新型 iPhone で撮影された写真には HDR 表示用の増益画像が含まれていますが、圧縮するとこのデータは失われます。HDR 対応のスクリーン上では通常の明るさで表示されます。HDR 効果を重視する写真の場合、ImgZilla で圧縮することを避けるか、元画像を保持することをお勧めします。
そのため、ImgZilla での HEIC 処理は、HEIC を含む様々な形式が混在するフォルダ全体をまとめて圧縮するのに適しています。iPhone 写真を特化して「スリム化」するためのツールではありません。
まとめ表
| 方法 | 節約できる容量 | 品質制御 | 元画像の扱い | 向いている場合 |
|---|---|---|---|---|
| sips コマンドライン | 質量パラメータに依存、大幅に縮小可能 | ✅ 0~100 | 新規フォルダに出力 | 大幅に縮小したい、コマンドを打てる人 |
| ショートカット / クイックアクション | 主に解像度縮小による | ショートカットで調整可能 | 新規ファイルを生成 | GUI、固定のワークフロー |
| プレビュー一括エクスポート | 限定的 | オプションが少ない | 新規ファイルを生成 | 偶発的に少量を処理する場合 |
| ImgZilla | iPhone 原画は通常少ない | 固定、調整不要 | 場所をそのまま置換、元画像はゴミ箱へ | 異なる形式が混在するフォルダをまとめて圧縮 |
最後のアドバイス
- 最も大きな容量節約手段は圧縮ではなくフィルタリング。連写、重複、ボケた写真を削除することは、どの圧縮よりも効果的です。
- 大幅に縮小したい場合、画質の低下を受け入れる必要があります。HEIC はすでに非常に効率的です。「画質をほとんど損なわずに半分」は通常成立しません。
- 重要な写真は最初にバックアップを作成してください。どの方法を使用しても再エンコードは非可逆であり、圧縮後は元の画質に戻すことはできません。
ImgZilla は現在 macOS(12.3 以降)のみをサポートしており、Mac App Store からダウンロードできます。無料版は1日10枚まで圧縮でき、圧縮成功時のみカウントされます。
