■ ファイル概要
ERI ファイルは、大きく分けて、ERI ファイルヘッダ、情報ヘッダレコード、ストリームレコードから構成されています。
レコードとは、RIFF ファイルのチャンクと同じようなもので、情報ヘッダレコードや、ストリームレコードの中には更にサブレコードが格納されます。
以下のその様子を示します。【】括弧で囲まれたレコードは選択的に格納されます。
ERI ファイルヘッダ 情報ヘッダ ファイルヘッダ 【シーケンステーブル】 【プレビュー画像情報ヘッダ】 【画像情報ヘッダ】 【音声情報ヘッダ】 【著作権情報】 【コメント】 ストリーム 【パレットテーブル】 【プレビュー画像データ】 【音声データ】 【画像データ】
■ ERI ファイルヘッダ
ERI ファイルヘッダは、常にファイルの先頭に存在し、ある特定のファイルが、ERI ファイルかどうか(MIO、MEI ファイルなどを含む)を特定するために設けられています。
構造は以下のようになっています。
項目 データ長 内容 ヘッダコード 8 Bytes "Entis", 1AH, 0, 0 ファイルID Double Word ファイルの種類を32ビットで指定します。 拡張情報 Double Word 予約されています。 フォーマット名 48 Bytes フォーマット名を文字列で格納します。 ヘッダコードは、ERI ファイルかどうかを判別します。
ローダはまずヘッダコードを比較し、ERI ファイルかどうかを確認します。
次に、ファイルIDを参照します。この値は静止画像ファイルか、音声ファイルかなどの大まかなファイルのフォーマットを指定します。この値が、既知の値であれば更に情報ヘッダを読み込みます。(ERINA-Library の ERIFile クラスの読み込みでは、ヘッダコードのみを判定しています)
■ 情報ヘッダレコード
情報ヘッダレコードにはファイルに含まれる画像や音声データのヘッダ情報が格納されます。
また、著作権情報やコメントなども格納できます。
これらのレコードは、ファイルヘッダレコードを必ず先頭に格納することを除いて、どういう順序で格納されるかは定義されていません。
フォーマットの詳細は、ファイルフォーマット仕様書をご覧ください。
■ ストリームレコード
ストリームレコードには、圧縮された画像や音声のデータが再生されるべき順番に格納されています。
画像と音声データなどが混在する場合には、音声やパレットテーブルなどの後に画像データを格納します。
このルールは仕様ではありませんが、音声データを先に格納することが推奨されています。
フォーマットの詳細は、ファイルフォーマット仕様書をご覧ください。