MAGフォーマット(まぐフォーマット)は、1991年から日本で使用された画像ファイルフォーマットのひとつで、MS-DOS時代のパソコン通信環境から生まれた。ファイル拡張子は「MAG」で、MAG(まぐ)、(まぐろ)とも呼ばれるほか、ヘッダの文字列からMAKI02とも呼ばれる。前身はMAKIフォーマット

概要 編集

MAGフォーマットは1991年Woody-RinnによってMAKIフォーマットの後継の画像圧縮フォーマットとして発表された。草の根BBSの「まきちゃんネット」(後の「本家まぐろBBS」)上で、1991年2月13日に仕様書が公開され、2月27日に草の根BBS「似非」で発表された画像表示プログラム「まぐろーだー」から転じて「鮪だ!」「マグロ」とも呼ばれる。

前身のMAKIフォーマットよりも圧縮率が高くなり、MAKIフォーマットでは16色のみだったのが256色もサポートされ、画像サイズも横640・縦400(または200)ドット固定から、自由に拡張された。

フォーマットの仕様書が公開されたこともあり、パソコンの各機種に移植され、1990年代半ばにインターネットのWWWが普及するまでは、日本で使われる標準的なグラフィックフォーマットの一つとして、PICPiと共に主流になっていた。

PC-9800シリーズ用のMS-DOS環境においてMAG形式は、21世紀におけるJPEG形式やGIF形式と同様の地位を築いていた。同じくWoody-RINNの開発で、MAG形式をサポートするフリーウェアグラフィックソフト「鮪ペイント」の存在も普及に一役買った。「鮪ペイント」は、後に改良が加えられ、1992年には「マルチペイント」として市販された。PC-9801シリーズには、キーボード左上隅に配置されたSTOPキーを押しながらリセットボタンを押すと、VRAMの内容を保持したまま、それ以外をリセットし、再起動できる隠し機能が存在した。加えて鮪ペイントやマルチペイントはVRAMをクリアせずに起動が可能(KID98なども同様)であったため、リセット直前に表示されていたゲーム画面などを画像ファイルに落とし込めた(アナログパレットの情報はクリアされる)。これによって、グラフィックを描かないユーザーにも一定の需要があった。

MAGの圧縮は可逆圧縮である。基本的なアルゴリズムについて、以下説明する(「フラグA」「フラグB」といった、用語の詳細については「仕様書」を参照のこと)。まず、横4ドット[1]のパターンに注目し、既にロードされている左上方向の(設計者によるヒューリスティクスにより選ばれた)15箇所のどこかに同じパターンがあれば、その位置を表す4ビットに符号化・圧縮される(これを「フラグB」と呼んでいる)。「16箇所目」は、同じパターンが存在しない新パターンとして、生のデータとして記録あるいは再生する。さらに直前の行の符号と比較し、同じであれば符号自体を省略し、省略されたかどうかはビット列化して持っている(これを「フラグA」と呼んでいる)。提案者曰く「2次元に拡張されたLZSSみたいなもの」。16色画像の圧縮率は割合高いが、256色の圧縮率はそれほど高くない[2]。画像データに特徴的なパターンの圧縮のみに特化[3]し、MPEGなどに見られる、情報理論的な圧縮をフォーマットに含むことはせず、画像配布などにおいてはLHAなどによる圧縮を前提としている。

1990年代後半、マイクロソフトのWindows 95発売以降、当時の標準機であったPC-9800シリーズの同OSへの対応とともに、それまでの同時画面発色数16色というハードウェア的な制限が緩和されていった結果、より多色表示を標準サポートし、圧縮率の高いグラフィックフォーマットへと主流は移行していった。さらに、インターネットが普及しウェブブラウザの使う標準画像フォーマットとしてGIFとJPEGが普及したため、以後は新規のMAG形式の画像が作成される機会は減少した。

参考文献 編集

  • 『まぐろのすべて―MAGフォーマット開発秘話』(1995年10月、まぐろBBS、ソフトバンク、ISBN 4-89052-799-0

編集

  1. ^ 16色の場合。16ビット分。「ピクセル」と仕様書では呼んでいる。
  2. ^ 「ピクセル」が2ドットになってしまうことに加え、16色の時と比べ、同じパターンの繰返しが現れにくいため。
  3. ^ 詳しく説明すると、次のような考え方である。画像をベタなデータで表現するなどし、それを普通のファイル圧縮などに掛けた場合を想定すると、すぐ真横に隣り合ったドットであればその類似は圧縮のためのデータの関連としても有利に働くが、上下のドット間は関連があっても離れたデータになってしまうため圧縮が効きにくいと予想される。そこでMAGでは、画像データであるという特性を生かし、2次元の広がりから類似性を検出して活用する圧縮法にすることで(作者の言「2次元に拡張された」とはそういうことである)、LHAなどとの併用でより圧縮できるようなものとする。単体での圧縮性能を絶対的に追求したものではなく、当時から既に、単体ではこれを上回るものがあった。

関連項目 編集