40
X 6148 : 2004
2 405 337
バイト 1,2,3,··· ...,2 405 336 2 405 376
番号
ブロックアクセス グループ情報
エンティティ テーブル テーブル
40バイト
2 405 376バイト
図 30 基本グループの構成
エンティティを構成するデータは,基本グループで左から右に生成する(図30参照)。同時にブロック
アクセステーブル(BAT)と呼ぶ基本グループの一部は,右から左に生成する。グループ情報テーブル(GIT)
は,基本グループ内の40バイトとする。
11.2.1 エンティティ
11.2.1.1 内容 エンティティは,エンティティヘッダ及びレコード列から構成する。エンティティヘッダ
の長さは,8バイトとし,レコード列の前に配置する。
エンティティのすべての圧縮レコードは,同じ長さの未圧縮レコードについて同一の圧縮アルゴリズム
を適用して生成する。
エンティティは,すべてのエンティティヘッダ及びレコード列の最初の8ビットが同じ基本グループに
あれば,複数の基本グループにまたがってもよい。
エンティティが複数の基本グループにまたがる場合,基本グループ内の部分とし,エンティティのスタ
ートパート,ミドルパート,又はラストパートのいずれかとする(11.2.3.211.2.3.4参照)。
エンティティは,交換用データを含まないレコードを含めてはならない。
11.2.1.2 エンティティヘッダ バイト1は,レコード列に隣接するエンティティヘッダの最初のバイトと
し,バイト8は,最後のバイトとする。エンティティヘッダのレイアウトは,次による。
バイト1 このバイトは,エンティティヘッダのバイト8を定義するために 0000 1000つまり8に設定
する。
バイト2 このバイトは,次による。
− レコードが未圧縮レコードの場合,1に設定する。
− レコードが圧縮レコードの場合,
− レコードに適用する圧縮アルゴリズムISO/IEC 11576によって,登録IDに対応する2254
に設定する。
− 圧縮アルゴリズムが未登録の場合,255に設定する。
このバイトは,0に設定してはならない。
バイト35 圧縮する前のレコードのバイト数を2進数で表す(11.2.1.1の第2段落を参照)。この長さ
は0に設定してはならない。バイト3は,MSBとし,バイト5は,LSBとする。
バイト68 エンティティ内のレコードの数を2進数で表す。この値は,0に設定してはならない。バ
イト6は,MSBとし,バイト8は,LSBとする。
11.2.2 グループ情報テーブル グループ情報テーブルのレイアウトは,40バイトとし,表1による。
――――― [JIS X 6148 pdf 46] ―――――
41
X 6148 : 2004
表 1 グループ情報テーブル
バイト位置 バイト長 フィールド名
2 405 337 1 すべて0に設定
2 405 338
3 基本グループ番号
2 405 340
2 405 341
4 レコード数
2 405 344
2 405 345
4 セパレータ1数
2 405 348
2 405 349
4 セパレータ2数
2 405 352
2 405 353 1 すべて0に設定
2 405 354
3 前のレコードの基本グループ番号
2 405 356
2 405 357 1 すべて0に設定
2 405 358
3 前のセパレータ1の基本グループ番号
2 405 360
2 405 361 1 すべて0に設定
2 405 362
3 前のセパレータ2の基本グループ番号
2 405 364
2 405 365 2 ブロックアクセステーブル数
2 405 366 最下位2バイト
2 405 367 2 現在の基本グループのレコード数
2 405 368 最下位2バイト
2 405 369 2 現在の基本グループのセパレータ1数
2 405 370 最下位2バイト
2 405 371 2 現在の基本グループのセパレータ2数
2 405 372 最下位2バイト
2 405 373 1 ブロックアクセステーブル数のMSB
2 405 374 1 現在の基本グループのレコード数のMSB
2 405 375 1 現在の基本グループのセパレータ1数のMSB
2 405 376 1 現在の基本グループのセパレータ2数のMSB
表1の各フィールド内の最上位バイトは,最小バイト番号とし,最下位バイトは,最大バイト番号とす
る。
ただし,最後の4個の1バイトエントリは,それぞれ最後の4個の2バイトの最上位バイトとする。
11.2.2.1 基本グループ番号フィールド このフィールドは,3バイトとする。現在の基本グループの番号
を2進数で表す。
11.2.2.2 レコード数フィールド このフィールドは,4バイトとする。LBOTから現在の基本グループま
での,すべての基本グループのGITの現在の基本グループフィールド内にあるレコード数の合計を2進数
で表す。セパレータマークは,レコードとして計数する。
――――― [JIS X 6148 pdf 47] ―――――
42
X 6148 : 2004
11.2.2.3 セパレータ1数フィールド このフィールドは,4バイトとする。LBOTから現在の基本グルー
プまでに記録したセパレータ1の数を2進数で表す。
11.2.2.4 セパレータ2数フィールド このフィールドは,4バイトとする。LBOTから現在の基本グルー
プまでに記録したセパレータ2の数を2進数で表す。
11.2.2.5 前のレコードの基本グループ番号フィールド このフィールドは,3バイトとする。セパレータ
マーク,又は未圧縮レコードの最初の部分が発生した前の基本グループの最大番号を2進数で表す。この
ような基本グループが存在しない場合は,このフィールドは,すべて0に設定する。
11.2.2.6 前のセパレータ1の基本グループ番号フィールド このフィールドは,3バイトとする。最後に
記録したセパレータ1を含む前の基本グループの最大番号を2進数で表す。このような基本グループが存
在しない場合は,このフィールドは,すべて0に設定する。
11.2.2.7 前のセパレータ2の基本グループ番号フィールド このフィールドは,3バイトとする。最後に
記録したセパレータ2を含む前の基本グループの最大番号を2進数で表す。このような基本グループが存
在しない場合は,このフィールドは,すべて0に設定する。
11.2.2.8 ブロックアクセステーブル数フィールド このフィールドは,3バイトとする。ブロックアクセ
ステーブル内のエントリ数を2進数で表す。この値は,基本グループ内のレコード又はパーシャルレコー
ドの数を示すものではない。
11.2.2.9 現在の基本グループのレコード数フィールド このフィールドは,3バイトとする。次の合計を
2進数で表す。
− 現在の基本グループのBAT内にあるセパレータマークエントリの数
− 現在の基本グループのエンティティ内にあるレコードの数
− 現在の基本グループのBAT内にエンタイヤエンティティエントリ全体(11.2.3.1参照)があ
るすべてのエンティティのエンティティヘッダのバイト6からバイト8までの値の合計
− 現在の基本グループのBAT内にエンティティエントリのスタートパートがある(11.2.3.2参
照)エンティティのエンティティヘッダのバイト6からバイト8までの値よりも1小さい値
(このようなエントリが存在する場合)
− 現在の基本グループのBAT内のエンティティエントリの総数
11.2.2.10 セパレータ1数フィールド このフィールドは,3バイトとする。現在の基本グループに記録し
たセパレータ1の数を2進数で表す。
11.2.2.11 セパレータ2数フィールド このフィールドは,3バイトとする。現在の基本グループに記録し
たセパレータ2の数を2進数で表す。
11.2.3 ブロックアクセステーブル(BAT) BATは,基本グループの各エンティティと各セパレータマ
ークについて一つ以上のエントリを含むこととする。基本グループに完全に含まれていないエンティティ
も一つ以上のエントリによって識別する。最初のエントリは,グループ情報テーブルの直前のバイト位置
2 405 3332 405 336に記録する。各エントリは,図31に示す構成の4バイトのフィールドとする。最初
のバイトは,最小バイト番号のバイト1とし,4番目のバイトは,最大バイト番号のバイト1とする。
――――― [JIS X 6148 pdf 48] ―――――
43
X 6148 : 2004
ブロックアクセステーブルのエントリ
フラグバイト カウント
第1バイト 第2バイト 第3バイト 第4バイト
(MSB) (LSB)
図 31 ブロックアクセステーブル
3バイトのカウントフィールドは,次のフラグバイトの設定によって224-1を超えない数値を2進数で表
す。この規格は,フラグバイトとして表2に示す14種類の設定を規定する。その他の設定は,この規格で
は,禁止する。
フラグバイトの最上位ビット(表2参照)は,終端予告点後ビットとし,エントリの意味には無関係で,
次による。
− EWPの前では,0に設定する。
− EWPの後では,現在の基本グループ及びその後のすべての基本グループのブロックアクセステーブル
エントリ内で1に設定する。
表 2 フラグバイトの設定
設定 エントリ
0000 0001 エンタイアエンティティ
0000 0010 スタートパートエンティティ
0000 0011 ミドルパートエンティティ
EWPの前 0000 0100 ラストパートエンティティ
0000 0101 エンティティの総数
0000 0110 セパレータマークエンティティ
0000 0111 スキップ
1000 0001 エンタイアエンティティ
1000 0010 スタートパートエンティティ
1000 0011 ミドルパートエンティティ
EWPの後 1000 0100 ラストパートエンティティ
1000 0101 エンティティの総数
1000 0110 セパレータマークエンティティ
1000 0111 スキップ
11.2.3.1 エンタイアエンティティ このエントリは,エンティティが現在の基本グループで始まり,かつ,
終わるエンティティを規定する。カウントフィールドは,エンティティのバイト数を表す。
11.2.3.2 スタートパートエンティティ このエントリは,エンティティが現在の基本グループで始まり,
それに続く基本グループで終わるエンティティを規定する。カウントフィールドは,現在の基本グループ
に記録したスタートパートエンティティのバイト数を表す。
11.2.3.3 ミドルパートエンティティ このエントリは,エンティティが前の基本グループで始まり,それ
に続く基本グループで終わるエンティティを規定する。カウントフィールドは,現在の基本グループに記
録したパーシャルエンティティのバイト数を表す。
11.2.3.4 ラストパートエンティティ このエントリは,エンティティが前の基本グループで始まり,現在
の基本グループで終わるエンティティを規定する。カウントフィールドは,現在の基本グループ内にある
パーシャルエンティティの該当部分のバイト数を表す。現在の基本グループのブロックアクセステーブル
は,このエントリの直後にエンティティの総数エントリが続かなければならない。
――――― [JIS X 6148 pdf 49] ―――――
44
X 6148 : 2004
11.2.3.5 エンティティの総数 このエントリは,ラストパートエンティティエントリの直後に配置する。
このエントリは,ラストパートエンティティの前の同一エンティティに関連する。カウントフィールドは,
該当するエンティティの総バイト数を表す。
11.2.3.6 セパレータマークエンティティ このエントリは,セパレータマークレコードのエンティティを
規定する。カウントフィールドは,エンティティセパレータ1レコードの場合,0に設定し,エンティテ
ィがセパレータ2レコードの場合,1を設定する。
11.2.3.7 スキップ 各基本グループのブロックアクセステーブルの最後のエントリとしてスキップエン
トリを規定する。このエントリは,現在の基本グループ内利用者データの最後のバイトに到達したことを
示す。カウントフィールドは,基本グループに残っているバイトの数を表す。カウントフィールドに指定
可能な最小値は,グループ情報テーブルとブロックアクセステーブルの総バイト数とする。
ブロックアクセステーブルのスキップエントリの数は,4の倍数とする。
11.2.3.8 カウントフィールド このブロックアクセステーブル内のカウントフィールドに設定する数値
の合計は,2 405 376でなければならない。エントリタイプは,スキップ,エンタイアエンティティ,スタ
ートパートエンティティ,ミドルパートエンティティ及びラストパートエンティティとする。
11.2.3.9 ブロックアクセステーブルのエントリの有効シーケンス 表3にエントリの有効なシーケンスを
示す。状態及び動作は,長方形内に示し,エントリ(フラグバイトで設定)は,長円内に示す。
表3は,各状態内,各動作後に表れるエントリ,又は有効なエントリだけを示し,その他のエンはすべ
て無効とする。
表 3 ブロックアクセステーブルのエントリの有効シーケンス
最初の基本グループのスタート
スタートパート
エンティティ
スパンエンティティのスタート
セパレータ
マーク
スキップ
エンタイア
エンティティ 次の基本グループへの移動
ミドルパート ラストパート
スキップ エンティティ エンティティ
スパンエンティティ スパンエンティティ
の継続 の終了
エンティティ
スキップ
の総数
次の基本グループへ移動
次のグループがない場合には、完了
完了
――――― [JIS X 6148 pdf 50] ―――――
次のページ PDF 51
JIS X 6148:2004の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.220 : データ蓄積装備 > 35.220.23 : 磁気テープ用カセット及びカートリッジ
JIS X 6148:2004の関連規格と引用規格一覧
- 規格番号
- 規格名称