MAGフォーマット
表示
(マルチペイントから転送)
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が普及するまでは、日本で使われる標準的なグラフィックフォーマットの一つとして、PIC、Piと共に主流になっていた。
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)
注
[編集]
(一)^ 16色の場合。16ビット分。﹁ピクセル﹂と仕様書では呼んでいる。
(二)^ ﹁ピクセル﹂が2ドットになってしまうことに加え、16色の時と比べ、同じパターンの繰返しが現れにくいため。
(三)^ 詳しく説明すると、次のような考え方である。画像をベタなデータで表現するなどし、それを普通のファイル圧縮などに掛けた場合を想定すると、すぐ真横に隣り合ったドットであればその類似は圧縮のためのデータの関連としても有利に働くが、上下のドット間は関連があっても離れたデータになってしまうため圧縮が効きにくいと予想される。そこでMAGでは、画像データであるという特性を生かし、2次元の広がりから類似性を検出して活用する圧縮法にすることで︵作者の言﹁2次元に拡張された﹂とはそういうことである︶、LHAなどとの併用でより圧縮できるようなものとする。単体での圧縮性能を絶対的に追求したものではなく、当時から既に、単体ではこれを上回るものがあった。