Web上に非常に多くの異なる画像形式があるのはなぜですか?

Jun 23 2000
GIFおよびJPEG形式が最も一般的に使用される場合がありますが、より具体的な目的のために他の有用な画像形式があります。それらが何であるか、そしてそれらをどのように使用するかを調べてください。

ウェブ上にはさまざまな画像形式がたくさんあることは確かです。ハウスタッフワークスでは、6つの異なる画像形式を使用しています。

  • GIFファイル
  • JPEGファイル
  • アニメーションGIFファイル
  • MPEGファイル
  • Shockwaveファイル
  • NxViewファイル

最も一般的な2つは、GIFファイルとJPEGファイルです。これらの形式は両方とも、静的な(アニメーションではなく)ビットマップ画像をエンコードします。

ビットマップ画像では、画像ファイルは画像内のすべてのピクセルの正確な色を定義する必要があります。たとえば、400 x400ピクセルのWeb上の一般的なビットマップを想像してみてください。この画像を定義するには、160,000ピクセル、つまり480,000バイトに対して1ピクセルあたり24ビットが必要になります。これは巨大な画像ファイルになるため、GIF形式とJPG形式の両方で画像がさまざまな方法で圧縮されます。

GIF画像では、色の数が256に減り、同じ色のピクセルの「実行」がcolor + numberOfPixels形式でエンコードされます。たとえば、色41の線上に100ピクセルがある場合、画像ファイルには色(41)とランの長さ(100)が格納されます。これにより、GIFファイルは、マイクロプロセッサのしくみの次の画像のように、同じ色のピクセルがたくさんある図面を保存するのに最適です。

これは500x 500ピクセルの画像ですが、750,000バイトを使用する代わりに、GIFとして保存するのに9,000バイトしか必要ありません。

JPGファイルは、はるかに複雑な手法を使用して、写真など、すべてのピクセルの色が異なる画像を圧縮します。GIFファイルはオリジナルの完全な複製を作成しますが、JPGはそうではありません。詳細については、質問289を参照してください。

アニメーションGIFは、すべてが結合されて次々に表示される一連のGIFファイルです。十分なペインがあれば、非常にリアルなアニメーションを作成できます。ただし、ファイルのサイズは、シーケンスの作成に使用されたGIFファイルの合計であり、すぐに合計される可能性があります。エンジンのしくみには、アニメーションGIFが多数あります。それらはすべて、静的GIFと比較して大きいです。たとえば、このアニメーションエンジンGIFは約75,000バイトです。

MPEGファイルは、JPEGファイルと同様に複雑なアルゴリズムを使用します。フレーム間の繰り返しを排除して、ビデオ情報を大幅に圧縮しようとします。さらに、サウンドトラックを許可します(アニメーションGIFでは許可されません)。通常のシーケンスには数百または数千のフレームがあるため、ファイルサイズは依然としてかなり大きくなる可能性があります。ヘリコプターのしくみには、1ダースほどのMPEGファイルが含まれています。

Shockwaveは、ベクターベースのアニメーション機能提供します。 Shockwaveファイルは、すべてのピクセルの色を指定する代わりに、形状の座標(線、長方形、円など)と各形状の色を指定します。 Shockwaveファイルは非常に小さい場合があります。それらはアニメーションとサウンドを可能にします。画像もスケーラブルです。ベクターベースであるため、画像を拡大しても見栄えがします。このページには、サイズが約10,000バイトの2つの優れたアニメーションShockwaveファイルが含まれています。そのうちの1つは次のとおりです。

最後に、NxViewファイルがあります(ガスタービンエンジンの仕組みに関する良い例を見ることができます)。これらは、ユーザーとの対話を可能にするベクターベースの3Dファイルです。3Dオブジェクトは、好きな方法で回転および拡大できます。これは本質的に、3Dに取り入れられたShockwaveのアイデアです。ファイルに含まれる詳細の量に対して、ファイルは驚くほど小さい(100Kから200K)。

各ファイル形式には、特定の状況で最適な選択となる一連の機能と利点があることがわかります。だからこそ、たくさんの画像フォーマットがあります!