画像形式

GIF

インデックスカラーの画像と単純なフレームアニメーションの形式です。GIFはLZW圧縮とパレット番号による透過を使います。

形式を詳しく見る

GIFから変換

GIF画像の変換先の形式を選択します。

すべての変換(22)

印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。

GIFに変換

GIFに変換する元の形式を選択します。

すべての変換(37)

印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。

GIFについて

Graphics Interchange Format

GIFは異なるシステム間でラスター画像を交換するためにCompuServeが開発しました。各画素にRGB値を保存する代わりに、カラーテーブルの項目を参照します。一つのテーブルは最大256色で、フレームごとに異なるテーブルを使えます。連続階調の写真よりも、図表や小さなアニメーションに適しています。

LZWはインデックスデータを可逆圧縮して保存します。ただし、フルカラー画像をパレットに変換する際には情報が失われたり、ディザリングが加わったりします。GIF89aには、フレームの表示時間、消去方法、透過するパレット番号の制御ブロックが追加されました。透過は2値で、アルファチャンネルによる半透明の輪郭は表現できません。

GIFは単純なアニメーションイラストや、GIFを必要とする古い処理系に使ってください。複数フレームを処理する際は、消去方法と表示時間を確認してください。静止画への書き出しでは描画済みの一つのフレームを保持できますが、動きは再現できません。滑らかな半透明の画像には、アルファチャンネルに対応する新しい形式が適しています。

主な特性

圧縮
可逆
透明度
対応
アニメーション
対応
拡張子
.gif
MIMEタイプ
image/gif
メタデータ
コメント, アプリケーション拡張
適した用途
単純なパレットアニメーション
色深度
テーブルあたり最大256色

LZW圧縮は、保存されるパレット番号に対しては可逆です。符号化前の減色は、任意のRGB画像に対して可逆ではありません。

GIFの歴史

GIFのバージョン名とCompuServeのプログラミング資料には、画像の交換から制御可能な画像シーケンスへ発展した経緯が記されています。

  1. 1987

    GIF87a

    最初のGIF仕様は、画像交換のためのカラーテーブルとLZW符号化のラスターブロックを定義しました。

  2. 1989

    GIF89a

    89aでは、グラフィック制御、コメント、プレーンテキスト、アプリケーションの拡張機能が追加されました。グラフィック制御には、画像シーケンスの表示時間と透過が含まれます。

  3. 1990

    プログラミング資料

    保存されているCompuServeの資料は1990年7月31日付です。特定の描画アプリケーションを定めるのではなく、ストリームの文法とデコーダーの責務を定義しています。

  4. 1991

    デコーダーの移行

    付属の補足資料では、既存のデコーダーを更新できるよう、deferred clear codesの使用を少なくとも1991年1月まで延期するようエンコーダーに求めています。GIFの発展に伴った具体的な互換性の問題を記録しています。

GIFとほかの形式の比較

形式ごとに利点と制約が異なります。画像と作業の目的に合わせて選択してください。

WebP

GIFとWebPの比較

WebPは8ビット画像の非可逆・可逆圧縮に、アルファチャンネルとアニメーションを組み合わせた形式です。これらの機能を必要とするウェブ配信に適しています。高精度の画素値や編集可能な元データの構造には、別の作業用形式が必要です。

PNG

GIFとPNGの比較

PNGはデコード後の画素を可逆圧縮で保持し、アルファチャンネルも格納できます。透過画像やスクリーンショットに適していますが、編集可能な文書のレイヤーやカメラのセンサーデータは保持できず、写真ではファイルが大きくなることがあります。

AVIF

GIFとAVIFの比較

AVIFはAV1符号化を使い、アルファチャンネル、画像シーケンス、HDR処理向けの高い色深度に対応します。最終配布用として検討できますが、追加機能が保持されるかどうかはコーデックの設定と受け取り側のアプリケーションによります。

JPEG

GIFとJPEGの比較

JPEGは写真の配布用ファイルを小さくできますが、通常のJPEGでは細部が失われ、アルファチャンネルも使えません。編集用には情報量の多い元ファイルを残し、受け取り側が不透明な写真を必要とする場合にJPEGを使ってください。

GIFについてのよくある質問

この形式には何が保存されますか?

GIFは異なるシステム間でラスター画像を交換するためにCompuServeが開発しました。各画素にRGB値を保存する代わりに、カラーテーブルの項目を参照します。一つのテーブルは最大256色で、フレームごとに異なるテーブルを使えます。連続階調の写真よりも、図表や小さなアニメーションに適しています。

圧縮は画質にどう影響しますか?

LZW圧縮は、保存されるパレット番号に対しては可逆です。符号化前の減色は、任意のRGB画像に対して可逆ではありません。

透過GIFの輪郭がギザギザになるのはなぜですか?

GIFの画素は完全に透明か、パレットの一色のどちらかです。背景色が不明な状態で輪郭をなじませるための半透明は表現できません。その用途には、アルファチャンネルに対応する形式を選んでください。

ファイルを開く前に何を確認すればよいですか?

アニメーションの再生、繰り返しの拡張情報、フレームの消去方法を確認してください。最初のフレームを表示するビューアーが、アニメーション全体を処理できるとは限りません。

別の形式に書き出すと何が変わりますか?

静止画の変換先では、フレームを選択して合成する必要があります。アニメーションの変換先では、表示時間と消去方法を保持する必要があります。RGBに変換しても、減色時に失われた色は復元できません。

この形式はどのような用途に適していますか?

GIFは単純なアニメーションイラストや、GIFを必要とする古い処理系に使ってください。複数フレームを処理する際は、消去方法と表示時間を確認してください。静止画への書き出しでは描画済みの一つのフレームを保持できますが、動きは再現できません。滑らかな半透明の画像には、アルファチャンネルに対応する新しい形式が適しています。

参考資料