JPEGは非可逆圧縮の標準であり、「品質」要因が圧縮の程度を制御し、データ損失の量を制御することを理解しています。
しかし、品質番号を100に設定すると、結果のjpegは無損失になりますか?
上記で正解したように、品質100で「典型的な」JPEGエンコーダを使用しても、ロスレス圧縮は得られません。ロスレスJPEGエンコーディングは存在しますが、性質が異なり、めったに使用されません。
品質100がロスレスを意味しない理由を述べるために投稿しています。
JPEGでは、DCT係数の量子化ステップで圧縮情報がほとんど失われます(8行8列の係数ブロックは8行8列の量子化テーブルで分割されるため、小さくなります->「圧縮率が高くなります」)。 JPEG品質を100に設定すると、実際の量子化は行われません(少なくとも標準IJG-JPEGテーブルでは量子化テーブルはすべて1になるため)。実際、ここで情報を失うことはありません。
ただし、量子化が行われない場合でも、主に情報の損失につながる2つの要因があります。
Jpegは設定に関係なく損失があります。 100では、最小の損失が発生する可能性があります。
テストするのは簡単です。単純な.bmpを作成し、それをq = 100 jpegに圧縮してから、.bmpに再抽出します。 Gimp/Photoshopを使用して2つのビットマップの「差分」を行うと、損失が表示されます。q= 50またはq = 1の変換よりも目立たなくなりますが、まだ存在しています。
JPEGのロスレス形式 がありますが、広くサポートされておらず、品質設定を微調整しても得られません-それはまったく異なるプロセスです。
wikipedia 、No。
jpeg 100の圧縮率は2.6:1です。通常、圧縮方法は非可逆的です。つまり、元の画像情報の一部が失われ、復元できないため、画質に影響する可能性があります。
JPEG標準で定義されているオプションのロスレスモードがあります。ただし、このモードは製品では広くサポートされていません。