PicShift 出力サイズが増える理由

変換後にファイルサイズが増える場合、PicShift は理由を表示します。このページでは、その判断ルールと B/ピクセル の計算方法を説明します。

PicShift が「深い圧縮」を判定する方法

PicShift はデータ密度のヒューリスティックを使います。元ファイルサイズと復号後ピクセル数から B/ピクセル を算出し、しきい値と比較します。

  • ピクセル総数は復号後のサイズ(width x height)から取得します。
  • B/ピクセル = 元バイト数 / ピクセル総数。
  • B/ピクセル がしきい値未満の場合、説明上は「すでに強く圧縮済み」と扱います。

B/ピクセル の式

B/pixel = originalFileSizeBytes / (width x height)

例: 3000 x 2000、350 KB の画像を式に代入すると、(350 x 1024) / (3000 x 2000) = 0.0597 となり、約 0.06 B/ピクセル です。

それでも出力が大きくなる主な理由

  • 非可逆/高圧縮形式から、効率が低い設定へ変換するとサイズが増える場合があります。
  • 元画像の B/ピクセル がすでに低いと、同等の見た目でさらに削減できる余地は小さくなります。
  • 小さい画像では、コーデックやコンテナのオーバーヘッドが目立ちやすくなります。

適用範囲と限界

  • これは説明用のヒューリスティックで、すべての画像サイズを厳密に予測するものではありません。
  • 写真・スクリーンショット・図形など、内容タイプで結果は変わります。
  • 品質設定と出力形式の組み合わせでも傾向は変わります。

よくある質問

判定のためにもう一度フル再エンコードしますか?

いいえ。説明は軽量なメタ情報と形式ルールに基づき、追加のフル再エンコードは行いません。

B/ピクセル はどう計算しますか?

元バイト数を復号後ピクセル数で割ります: originalFileSizeBytes / (width x height)。

「深い圧縮」判定は厳密な画質スコアですか?

いいえ。サイズ傾向を説明するための実用ヒューリスティックです。

関連ページ

最終更新: 2026-03-07