いくつかの BMP ファイルを最高品質 (Q = 100) で JPEG 形式に変換しようとしているのですが、ここに「プログレッシブ」オプションがあることに気付きました。
私の BMP ファイルの 1 つは 2.9 MB です。プログレッシブなしで JPEG 形式に変換すると、新しいファイル サイズは 338.2 KB になり、プログレッシブを使用すると、新しいファイル サイズは 283.2 KB にまで減ります。
このプログレッシブ JPEG の目的について Wikipedia の記事を読みましたが、通常の JPEG と比較すると、プログレッシブ JPEG の品質は低下するのか、それとも同じなのかが気になります。
答え1
素敵な投稿がいくつかありますこここれは、プログレッシブ圧縮の方が優れている理由を説明しているように思われますが、プログレッシブ JPEG では圧縮されたデータがより効率的に順序付けられ、ブロック状の画像データとノイズが分離されて別々に圧縮されるという事実に帰着するようです。
以下に重要な部分を強調表示しました。それらは私が説明するよりもわかりやすく説明しています。
その結果、プログレッシブJPEGはより良い圧縮はされますが、画質に大きな変化はありません。
プログレッシブ JPEG には 2 つの異なるコーディング機能があります。
- スペクトル選択
- 逐次近似
あなたが説明しているのは、最初の機能(最初に DC、次に AC バンド)だけです。ただし、プログレッシブ JPEG の異なるコーディング効率の主な理由は、2 番目の機能です。逐次近似法では、まず係数の上位ビット(低精度、粗い画像)を保存し、次に下位ビット(高精度、詳細な画像)を保存します。通常の画像では、ノイズは下位ビットに集中しています。そのため、ハフマン エンコーダーは、ノイズが少ない上位ビット範囲でのシンボル コーディングをより効率的に行うことができます。逐次近似符号化は分離する画像からノイズが除去され、それがコーディング効率の向上につながります (ノイズはほとんど圧縮できません)。
画像のノイズ(詳細)が多いほど、プログレッシブ JPEG のコーディング効率は向上します。画像のノイズ(ぼやけ)が少ないほど、シーケンシャル(非プログレッシブ)JPEG のコーディング効率は向上します。
ほとんどのプログレッシブ JPEG コーダは、スペクトル選択コーディングと逐次近似コーディングを組み合わせて使用することに注意してください。コーディング効率を高めるには、主に逐次近似が関連しており、画像のクラスに最適な逐次近似パラメータ (精度を分離するポイント - JPEG 標準の Ah/Al) を見つけようとすることができます。たとえば、画像に最適なポイント Al=4 (下位 4 ビットを個別にコーディング) が見つかることがあります。
答え2
プログレッシブ JPEG の利点は、画像が転送中にオンザフライで表示される場合、画像全体の近似値を非常に速く表示でき、待つ時間が長くなるほど品質が徐々に向上することです。これは、画像を上から下までゆっくりと表示するよりもはるかに優れています。欠点は、各スキャンの表示に、ベースライン JPEG ファイル全体を表示するのとほぼ同じ量の計算が必要になることです。
画像はまったく同じであるはずですが、表示するためにさらに処理が必要になります。