JPEG(Joint Photographic Experts Group)画像フォーマットは、一般的にJPGとして 知られており、デジタル画像、特にデジタル写真で生成された画像のロス有圧縮法として広く使用されています。圧縮の程度は調整でき、ストレージサイズと画質の間で選択可能なトレードオフを可能にします。JPEGは通常、画質の低下がほとんどない10:1の圧縮を実現します。
JPEG圧縮は、多くの画像ファイルフォーマットで使用されています。JPEG/Exifは、デジタルカメラやその他の画像キャプチャデバイスで最も一般的に使用される画像フォーマットです。JPEG/JFIFとともに、ワールドワイドウェブ上で写真画像を保存および送信するための最も一般的なフォーマットです。これらのフォーマットのバリエーションは、多くの場合区別されず、単にJPEGと呼ばれます。
JPEGフォーマットには、JPEG/Exif、JPEG/JFIF、JPEG 2000など、さまざまな標準が含まれています。JPEG 2000は、より高い計算複雑性でより優れた圧縮効率を提供する新しい標準です。JPEG標準は複雑で、さまざまな部分とプロファイルがありますが、最も一般的に使用されるJPEG標準はベースラインJPEGです。これは、ほとんどの人が「JPEG」画像について言及するときに言及しているものです。
JPEG圧縮アルゴリズムは、そのコアでは離散コサイン変換(DCT)ベースの圧縮技術です。DCTは、離散フーリエ変換(DFT)と同様のフーリエ関連変換ですが、コサイン関数のみを使用します。DCTは、信号の大部分をスペクトルの低周波数領域に集中させるという特性があるため使用され、これは自然画像の特性とよく相関しています。
JPEG圧縮プロセスには、いくつかのステップが含まれます。最初に、画像は元のカラースペース(通常はRGB)からYCbCrと呼ばれる別のカラースペースに変換されます。YCbCrカラースペースは、画像を輝度成分(Y)(明るさのレベルを表す)と2つの色差成分(CbとCr)(色情報を表す)に分割します。この分離は、人間の目は色よりも明るさの変化に敏感であるため、色差成分を大幅に圧縮しても知覚される画質に大きな影響を与えないため、有益です。
カラースペース変換後、画像はブロックに分割され、通常は8x8ピクセルのサイズになります。その後、各ブロックは個別に処理されます。各ブロックに対してDCTが適用され、空間領域データを周波数領域データに変換します。このステップは、自然画像は高周波数成分よりも重要な低周波数成分を持つ傾向があるため、画像データを圧縮しやすくするため、非常に重要です。
DCTが適用されると、結果の係数は量子化されます。量子化は、大規模な入力値セットをより小さなセットにマッピングするプロセスであり、それらを格納するために必要なビット数を効果的に削減します。これは、JPEG圧縮における損失の主な原因です。量子化ステップは、各DCT係数に適用される圧縮量を決定する量子化テーブルによって制御されます。量子化テーブルを調整することで、ユーザーは画質とファイルサイズのトレードオフを行うことができます。
量子化後、係数はジグザグスキャンによって線形化され、周波数が増加する順に並べられます。このステップは、量子化後にゼロまたはゼロに近い可能性が高い低周波数係数と、ゼロまたはゼロに近い可能性が高い高周波数係数をグループ化するため、重要です。この順序付けは、次のステップであるエントロピー符号化を容易にします。