メタファイル (: metafile) は、中間情報を記録するためのファイルフォーマット。データそのものではなく、データを再現するためのデータ(メタデータ)を含む。

メタデータを記録して、必要に応じて再生する方式を採用することにより、情報量を削減できるなどのメリットがある。

以下に代表例を示す。

コンピュータグラフィックス・メタファイル 編集

コンピュータグラフィックス (CG) の画像データ(ベクター画像)を保存する形式の一つである。画像そのものではなく、直線や矩形といった図形の描画命令を記録するのが特徴。ラスター画像データ (ビットマップ) を内部に含むことができるものも存在する。

通例、メタファイルは、オペレーティングシステム (OS) の描画APIを経由したグラフィックス描画命令(コマンド)を、モニタープリンターといったハードウェアデバイス(に関連付けられているメモリ内のデバイスコンテキスト)ではなく、ファイルに出力して記録する。画像を再現するにはそのファイルに記録された描画命令を実行すれば同じ画像が得られる。ただし、グラフィックス描画命令やグラフィックス描画エンジンにOS間の互換性がなく、結果としてメタファイルにも互換性がないことがある。例えば、MacintoshのメタファイルであるPICT(の一部)とOS/2のメタファイルには互換性がないし、WindowsX Window Systemにも互換性がない。

プリンターレベルで描画を制御する言語をプリンター制御言語ないし ページ記述言語 (PDL) と呼ぶが、PDLの一種であるPostScriptは特に広く用いられたためあたかもメタファイルのような扱いを受け、文書をコンピュータ上でやりとりするためのデータ形式としても用いられた。3DMFはMacintoshのQuickDraw 3Dにおけるメタファイルであるが、3Dモデルのデータ形式としても広く用いられた。

Windowsでのグラフィックスメタファイルの代表的なものとしては、Graphics Device Interface (GDI) APIに対応するWindows Metafileが挙げられる。

プラットフォーム非依存の2次元コンピュータグラフィックスのメタファイル標準規格としては、Computer Graphics Metafile (CGM) やScalable Vector Graphics (SVG) が挙げられる。

3次元コンピュータグラフィックスCADで使われるファイル形式は多数存在するが、いずれも3次元空間における頂点あるいは面の位置情報や法線情報などを記録するメタファイルである。代表例としてWavefront OBJDXFが挙げられる。

そのほか、Microsoft Wordのドキュメントファイル (.doc/.docx) やアドビPortable Document Format (PDF) などもメタファイルの一種である。

ストリーミングメディア・メタファイル 編集

ストリーミングで使う、メディアファイル音声ファイル動画ファイル)のURLを記述したファイル。URLは複数記述することができ、順に再生されたり、条件選択されたりする。

ストリーミングの配信者は、メディアファイルの代わりにメタファイルを公開し、メディアファイルへの直接アクセスはプロトコルなどで制限する。

関連項目 編集