Adam7アルゴリズム

ラスター画像のインターレースアルゴリズム
Adam7を16×16の画像にインターレースしたイラスト
Adam7 アルゴリズムを使用して表示される画像。

Adam7はラスター画像用のインターレース アルゴリズムであり、 PNG画像でオプションとして使用されるインターレース方式として最もよく知られています。Adam7インターレース画像は7つのサブイメージに分割され、8×8のパターンを画像全体に複製することで定義されます。

1 6 4 6 2 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7
3 6 4 6 3 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7

サブイメージは番号順にイメージファイルに保存されます。

Adam7は7つのパスを使用し、両次元で動作します。一方、 GIFは垂直方向に4つのパスしか使用しません。これは、特にバイキュービック補間などの補間アルゴリズムを使用する場合、初期のパスで画像全体の近似値をはるかに速く認識できることを意味します[1]

歴史

Adam7 は、1995 年 2 月 2 日にこの手法を提案した Adam M. Costello 氏と、その手法に含まれる 7 つのステップにちなんで名付けられました。

これは、リー・ダニエル・クロッカーが以前に提案した5パス方式[3]の再配置[2]です。

1 5 3 5
5 4 5 4
3 5 2 5
5 4 5 4

当時の代替案としては、正方形の螺旋インターレースやペアノ曲線の使用などが考えられましたが、複雑すぎるとして却下されました。

パス

各パスに含まれるピクセルと、その時点でエンコードされるピクセルの合計は次のとおりです。

レンダリングする場合、通常、これらのピクセルだけがレンダリングされるのではなく、イメージは前の段階で補間されます。

Adam7は、 Haarウェーブレットを用いた離散ウェーブレット変換に似たデータのマルチスケールモデルです。ただし、8×8ブロックから開始し、デシメーションローパスフィルタリング、ダウンサンプリング)ではなく、画像をダウンサンプリングします。そのため、実装が簡素化される代わりに 、周波数特性が悪化し、初期段階でアーティファクト(ピクセル化)が現れます。

反復

Adam7 は次のパターンの繰り返しから生じます。

12
33

これは縦横の「折り畳み」と解釈できる。同様に、GIFインターレースは1324の繰り返しとして見ることができる12パターンは垂直方向のみに現れる(12拡大すると1.2.これは次のように記入されます1324)。

この 3 パス パターンを使用すると、最初のパスは 画像の (1/2) 2 = 1/4 (25%) になります。

このパターンを1回繰り返すと5パスのスキームが得られ、3パスすると次のようになります。

1 . 2 .
. . . .
3 . 3 .
. . . .

これは次のように記入されます。

1 4 2 4
5 5 5 5
3 4 3 4
5 5 5 5

5 パス パターンでは、最初のパス (1/4) 2  = 画像の 1/16 (6.25%) になります。

再度反復すると、7 パスの Adam7 スキームが生成されます。ここで、最初のパスは (1/8) 2  = 1/64 (1.5625%) の画像になります。

原理的には、これを反復処理することで、9パス方式、11パス方式などを実現できます。あるいは、スケールフリー・マルチスケール・モデリングで一般的に行われているように、画像サイズが許す限り、適応的なパス数(最初のパスは1ピクセルで構成される)を使用することもできます。PNGが開発された背景(つまり、問題の画像サイズと接続速度)では、7パス方式で十分でありなぜ?、単純な5パス方式よりも優れていると考えられていました。

参考文献

  1. ^ PNG入門 - nuwen.net
  2. ^ Costello, Adam M. (1995年2月2日). 「インターレース再考:Adam7方式」. png-list (メーリングリスト) . 2016年4月18日閲覧. Lee7方式を少しアレンジし(Lee7はLeeの5パス方式の明らかな拡張版です)、Adam7方式を考案しました。
  3. ^ Lane, Tom (1995年2月1日). 「インターレース方式:視覚的テスト」. png-list (メーリングリスト) . 2016年4月18日閲覧. Lee Crockerの5パス2Dインターレース提案
  • Adam7とGIFインターレースのアニメーション比較
「https://en.wikipedia.org/w/index.php?title=Adam7_algorithm&oldid=1305031786」より取得