通常のGIFとインタレースGIFはどこが違うのでしょうか。
インタレースGIFは,通常のGIFとデータの並び順を変えることによって,画像の大まかな全体像を素早く表示できるようにしたフォーマットです。並び順以外は普通のGIFと相違点はありません。
例えば縦20ラインの画像があった場合,通常のGIFは画像の先頭から1,2……という順で20ライン分のデータをファイルに格納していきます。インタレースGIFの場合,まず先頭から8ラインおきにデータを格納し(Pass1),次に先頭5ラインめからやはり8ラインおきに(Pass2),その次は先頭3ラインめから4ラインおきに(Pass3),最後にまだ格納していないラインを順に格納していく(Pass4)という,4段階に分けて画像データを格納する方法をとります。
こうした場合の再現順序ですが,まずPass1のデータ3ライン分を読み込むと,8ラインおきにデータを貼り付け(@),間の7ラインを同じ画像で埋めます。ここで(非常にぼんやりとですが)全体像が表示されます。次はPass2のデータ2ラインを読み込み,今度は5ラインめと13ラインめに貼り付け,次いでそれぞれの下3ラインを今貼り付けた画像で埋めるという作業をします(A)。これでややディテールが分かるようになりました。Pass3も同じ作業を行います。今度は,5ライン分のデータを読み込み,これが終わるとBのようにさらに細かな画像になってきます。最後にPass4のデータ10ライン分を読み込んで所定の場所に埋めることで,最終的な画像が得られます(C)。
この例のように,20ライン分程度の画像では使う意味がありませんが,ネットワークの速度が遅いときなどに,Webページの画像の全体像がすぐ大ざっぱに見える(このため,その画像を読み込む必要があるかどうかを早めに判断できる)ため,よく使われています。
(大原雄介)
表 GIFファイルのデータ並び順