table 圧縮の手順

FITS binary table を圧縮する手順は次のとおり。

0.1mm

  1. table をタイルに分割(オプション)

    大きな FITS table の場合は同じ行数を含むタイルに分割し順に圧縮して圧縮 table の 1つの行として出力する。 タイルサイズは 100MB を超えないことが推奨される。

  2. 各タイルを構成する column を展開する

    FITS binary table の隣り合った column は非一様なデータ型を含む可能性があるので FITS table のネイティブなバイトストリームを効率的に圧縮するのは難しいかもしれない。 そこで table を構成する column を展開してから各 column を個別に圧縮し、各 column に最適な圧縮アルゴリズムを選ぶ。

  3. 各データ column の圧縮

    各データ column は 5.10.4 のどれかのロスレス圧縮アルゴリズムで圧縮される。 table がタイルに分割されている場合は各タイルの対応する column には同じ圧縮アルゴリズムが適用されねばならない。 可変長配列の column の場合は各々の可変長ベクトルが別々に圧縮されるべきである。

  4. 圧縮されたバイト列の格納

    各 column の圧縮されたバイトストリームは出力される table の対応する column に書き出される。 圧縮された table は入力 table と同じ数と順の column を持つが、出力 table の column のデータ型は全て TFORMn = '1QB' の可変長バイトデータとなる。 可変長配列の column では、入力される非圧縮 table の配列記述子同様に配列記述子は各圧縮可変長配列を指し、それ自身も圧縮されて圧縮 table の対応する column に書き出される。



Osamu Kanamitsu
2019-02-15