1. ホーム
  2. jpeg

[解決済み] JPEGの品質を100に設定するとロスレスになりますか?

2023-05-01 22:07:21

質問

JPEGは非可逆圧縮規格であり、「品質」ファクターが圧縮の度合いを制御し、その結果、データの損失量を制御することを理解しています。

しかし、品質の数値を 100 に設定したとき、結果の JPEG はロスレスなのでしょうか?

どのように解決するのですか?

上記で正しく回答されているように、品質 100 で一般的な JPEG エンコーダーを使用しても、可逆圧縮にはなりません。ロスレス JPEG エンコーディングは存在しますが、性質が異なり、めったに使用されません。

私は、なぜ品質 100 がロスレスを意味しないかを言うために投稿しているだけです。 .

JPEG 圧縮では、情報はほとんど DCT 係数の量子化ステップで失われます (8×8 係数ブロックは 8×8 の量子化テーブルで分割されるので、小さくなります --> 「より圧縮しやすい」)。JPEG の品質を 100 に設定すると、実際の量子化は行われないので (量子化テーブルはすべて 1 になるため、少なくとも標準の IJG-JPEG テーブルでは)、実際にはここで情報が失われることはありません...。

しかし、量子化が行われない場合でも、情報損失を引き起こす主な要因は 2 つあります。

  1. 一般に、JPEG 圧縮は色情報を減らします (人間の視覚システムは輝度よりも色に敏感でないため)。したがって、品質が 100 の場合でも、クロミナンスのサブサンプリング (つまり、半分以上の Cb および Cr 係数を削除すること) が行われる可能性があります。そうすると、量子化が行われていなくても、情報が失われてしまうのです。しかし、完全なクロミナンスを維持するようにエンコーダーに指示することができます (いわゆる 4:4:4 カラー サンプリング)。
  2. それでも、JPEG エンコーディングは DCT ドメインへの移行を意味するので、係数の丸めが発生します。丸めによって、いくつかの情報が破棄されます。これは、他のすべてのオプションに関係なく発生します。