JPEGを作成する場合、アーチファクトの発生を最小限に抑えるにはどうすればよいですか?


10

JPEG画像を作成するときにデジタルアーティファクトにつながると思われる主な要因は、エイリアスと圧縮の2つです。

例:

文字の入ったPNGをJPEGに変換したり、写真の上にベクター画像を配置したりすると、エッジがピクセル化されます。アンチエイリアスは一般に、それらの周囲に一種のブラーを作成しますが、画像が非可逆圧縮されている場合、詳細の一部も失われるため、ブラーとピクセル化が目立たなくなる場合があります。

これは正しいことですか?つまり、ロスレス圧縮は非常に詳細な画像を生成するため、エイリアシングから生じるアーティファクトがより顕著になるため、適切な圧縮を使用してバランスを見つけることができますが、画質は低下します。

編集する

このJPEGをmspaint(3.46KB)に保存しました。

無損失の

これが最大の圧縮(最低品質、0.5KB)の同じJPEGです。

ロッシー

これが50%圧縮の同じJPEGです(サイズの違い、1.29KBに注意してください)。

ハーフオプションなし

同じ50%圧縮ですが、「プログレッシブJPG」として保存され、元のEXIFおよびXMPデータを保持し、「元のJPG品質で保存しようとしました」(灰色のピクセルがない、2.96KBであることがわかります)。

ハーフオプション

そして最後に、クロマサブサンプリングを無効にした以前と同じ(同じファイルサイズ、2.96KB):

半無彩色


1
好奇心旺盛ですが、jpgが必要な理由は何ですか。ファイルサイズが小さいのですか。特定の状況に役立つ場合、dxt圧縮または距離フィールドテクスチャについて知っていますか?
アランウルフ

1
あなたの質問が何であるか私には分かりません。JPEGを使用して圧縮するのが良いかどうか知りたいですか?どのような種類の画像がJPEGでうまく圧縮されるのか知りたいですか?または、すでにJPEGを使用していて、JPEGによって引き起こされるアーティファクトを最小限に抑えるために画像をオーサリングする方法を知りたいですか?
Mokosha

@AlanWolfe JPEGしか使用できない場合がほとんどありました(ほとんどがWebアプリで)。そのため、JPEGにする必要がありました。おかげで、私はdxt圧縮や距離フィールドテクスチャに精通していませんでした。ウィキペディアで見たものから、dxtアルゴリズムはJPEGで使用されているものとは異なります。JPEGの作成に使用できるということですか?
アームフット2015

@Moshokaありがとう、それはあなたの最後の質問に関連しています:JPEG画像のアーティファクトによってもたらされる「視覚的影響」を最小限に抑える方法は?
アームフット2015

mozjpegコンプレッサーには、これらの種類の画像の歪みを少なくする特別なトリックがあることに注意してください。(そして通常のjpegライターよりも一般的に効率的です。)試してみましたか?
表示名

回答:


9

JPEG圧縮には3つの主要なステップがあります。

  1. クロマサブサンプリング。画像は、RGBからYCbCr色空間に変換されます。この色空間では、輝度または明るさ(Y)は、彩度または色成分、CbおよびCrとは別に保存されます。Yコンポーネントはフル解像度に保たれますが、CbとCrは通常、各軸で半分の解像度にダウンサンプリングされます。これは、人間の視覚システムが色よりも明るさの細部に敏感であることを利用しています。

  2. 周波数量子化。Y、Cb、およびCr画像は、8x8ブロックに分割し、離散コサイン変換(フーリエ変換の変形)を各ブロックに適用することにより、周波数表現に変換されます。結果は、ブロック内のさまざまな空間周波数の振幅を表す数値の行列です。次に、これらの数値を量子化できます(選択した精度のビット数に四捨五入)。さまざまなレベルの量子化がさまざまな周波数に使用され、高周波に対する視覚システムの比較的低い感度を利用します。ここでJPEGエンコーダーの品質設定が有効になります。品質が低いほど、量子化は粗くなります。

  3. エントロピーコーディング。量子化されたDCT値はエントロピーコーダーに渡されます。エントロピーコーダーは、ビット数を少なくしてビットストリームを無損失に圧縮し、zipファイルのような、より一般的な値を表します。

ステップ1と2は不可逆なステップであり、それぞれが独自のタイプのアーティファクトを生成します(ただし、いくつかのオーバーラップがあります)。クロマサブサンプリングは、異なる色の領域間の鋭いエッジをぼかす傾向があります。これは、鮮やかな色のシェイプがエッジの周りの悪質なギザギザを拾うベクターアートで特に顕著です。DCTはブロックごとに行われるため、周波数量子化は一般に細部をぼかし、低品質の設定でブロック状のアーティファクトを作成します。これは特にテキストで表示されます。

これが、JPEGがベクターグラフィックスやテキストを含む画像に通常使用されない理由です。その圧縮アルゴリズムは、複雑なテクスチャとあまり鋭くないエッジを持つ写真やその他の画像には適していますが、これらの場合にはあまり適していません。


詳しい説明ありがとうございますネイサン+1。圧縮アルゴリズムにはJPEGの制限があることを理解していますが、圧縮量と他のオプション(保存時)のバランスが適切であり、アーチファクトが目立たなくなるかどうかを確認したいだけです。質問をサンプルで編集しました。
アームフット2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.