ロスレス画像圧縮 - 品質を落とさずにファイルサイズを削減する方法

無損失の最適化では、画像情報を保ちながら既存ファイルを小さくできる場合があります。高画質の非可逆圧縮との違いを説明し、PNGとJPGをローカルで処理する例を紹介します。画素の保持か日常の共有か、目的に合わせて選びましょう。
圧縮タイプの理解

無損失圧縮
無損失の符号化は、エンコーダーへ渡した画素を正確に復元できます。PNGや一部形式の無損失モードが該当します。ただし変換前の編集、元のメタデータや色深度まで保持する保証ではありません。
非可逆圧縮
画像情報の一部を省いて容量を減らします。JPGは最高画質でも非可逆圧縮です。
視覚的に無損失
特定の表示条件で、非可逆圧縮の結果と原本の違いが見えない状態を指します。個別の結果に対する評価であり、設定名による保証ではありません。
品質を維持する方法
メタデータと色
任意のEXIF項目やサムネイルを除くと、保存された画素を変えずに容量を減らせる場合があります。削減量は元の内容次第です。色プロファイルや方向情報は表示に影響するため、安易に除かず原本を残してください。
パレットと色深度
未使用のパレット項目の削除は画素を変えずに行えます。一方、色数や色深度の削減は画素を変える可能性があり、常に無損失とはいえません。
PNGの符号化
PNGの圧縮強度は処理時間や容量に影響しますが、エンコーダーに渡す画素は変えません。サイズ変更や減色とは別の操作です。
圧縮方法
静止PNGをローカルで最適化する
まずOptiPNGをインストールします。画像のフォルダーでターミナルを開き、入力名を置き換えて新しい出力名を指定します。
optipng -nx -out "optimized.png" "input.png"
-nx は色深度、色タイプ、パレットを維持し、PNG圧縮を最適化します。静止PNG向けの例です。詳しくは公式マニュアルを参照してください。
既存のJPGをローカルで最適化する
libjpeg-turboの jpegtran をインストールしてから実行します。
jpegtran -copy all -optimize -outfile "optimized.jpg" "input.jpg"
追加の非可逆再符号化をせずにJPEGの符号化を最適化します。-copy all は付加メタデータのマーカーを保持し、別の出力先を使うことで原本を残します。jpegtranの説明も参照できます。未使用の出力名を指定し、検証後に小さい方を選んでください。過去の劣化を修復する処理ではありません。
日常の共有用コピーを圧縮する
配布用の容量を優先するなら、画像圧縮で1枚アップロードし、バランス(推奨) から試します。ダウンロードした結果を比べ、圧縮を強めるか画質を上げます。
オンラインフォームに専用の無損失スイッチはありません。PNG/GIFを含め、画質設定で細部や色が変わる場合があります。既存の画像情報を保つことが目的なら、上記のローカル最適化を使ってください。
フォーマット別のヒント
- JPG: 原本から出力します。高画質で目立つ乱れを抑えられる場合もありますが、再符号化は非可逆です。
- PNG: 無損失の圧縮強度と、減色・サイズ変更を区別します。容量が必ず減るとは限りません。
- WebP: 非可逆と無損失は別のモードです。高画質は無損失モードと同じではなく、各変換ページの操作項目を確認してください。
実際の結果を比較する

メタデータ削除、PNG最適化、画質設定のいずれにも一定の削減率はありません。元画像、寸法、既存の圧縮に左右されます。図は比較のイメージであり、測定結果ではありません。
変換前後の容量を記録し、文字の縁、グラデーション、細かい質感を確認します。見た目の要件を満たした場合に小さい出力を採用してください。
品質が本当に重要な場面
保管用原本、制作マスター、元の情報が必要な作業では、ソースを別に残してください。見た目が似た書き出し画像は、元のメタデータ、色情報、編集可能なレイヤーの代わりにはなりません。
納品には圧縮したコピーを使い、相手の形式・寸法・色の要件を確認します。
品質低下を避けるために
毎回、原本または編集可能なマスターから書き出します。非可逆の再符号化を繰り返すと劣化が蓄積する場合がありますが、単にコピーするだけでは変化しません。
必要な場合だけ寸法を変えてください。サイズ変更は圧縮画質とは別に画素を変えます。実際の表示サイズと元の解像度の両方で確認します。
検証
画像とメタデータを確認する
同じビューアーで原本と出力を 100%表示 し、寸法、向き、透過、細部を確認します。必要なメタデータは別に照合してください。
見た目の比較は共有用コピーの判断に役立ちます。画素の一致を厳密に確認するには、同じデコーダーと設定で復号した画素を比較します。最適化でファイルのバイト列は変わるため、ハッシュが異なるだけでは画素の変化を意味しません。
容量を確認する
実際のバイト数を比較します。削減がほとんどない場合、原本は既に効率よく符号化されている可能性があります。無損失が目的なら、寸法や色数を減らさず原本を採用できます。
バッチ処理
現在の圧縮フォームは1回の送信につき画像1つです。少数なら繰り返し処理し、フォルダーや大量の画像には一括処理対応の外部ソフトを使ってください。
同じ設定でも容量や目立つ乱れは異なります。写真・文字・図形の代表例を試してから広く適用し、それぞれの出力を確認します。
よくあるミス
過度な圧縮
問題: 目に見えるアーティファクト
解決策: より高い品質設定を使用
不適切なフォーマット
問題: 低い圧縮率
解決策: コンテンツの種類に合ったフォーマットを選択
複数回の圧縮
問題: 累積的な品質低下
解決策: 常にオリジナルから圧縮
ベストプラクティス
- 原本を残し、配布用コピーを作ります。
- 圧縮設定の前に必要な寸法を決めます。
- 日常の共有は バランス(推奨) から始め、細部が崩れたら画質を上げます。
- 出力を比較し、選んだ設定と実際の容量を記録します。
保管では「最高画質」という名前より原本を残すことが重要です。印刷では解像度、色、印刷先の要件も確認してください。
よくある質問
高画質なら無損失ですか?
いいえ。画質設定であり、無損失モードでも細部の保持率でもありません。
JPGの復号後の画素を変えずに容量を減らせますか?
専用ツールではメタデータ削除やJPEG符号化の最適化を、非可逆の再符号化なしで行える場合があります。現在のImgConvertはJPGを再符号化するため、その保証はありません。
PNGの操作はすべて無損失ですか?
符号化は入力画素に対して無損失ですが、その前のサイズ変更、減色、形式変換で画素が変わる場合があります。
どのくらい容量が減りますか?
実際の出力で確認してください。設定や形式に一定の削減率はなく、最適化済みのファイルは小さくならない場合もあります。
常に無損失を選ぶべきですか?
用途の要件に合わせてください。原本を残し、圧縮コピーと比較して判断します。
まとめ
既存のPNGやJPGの画像情報を保ちたい場合は、上記のローカル最適化を試して結果を検証します。日常の共有では配布用コピーを作り、容量と細部に合う画質設定を選んでください。