(57)【特許請求の範囲】
【請求項１】
第１の長さ単位のデータ形式を第１の長さより長いデータであって該第１の長さのデータに未使用のデータを付加した第２の長さデータ単位のデータ形式に変換するデータ処理装置において、
変換対象のデータ位置と、変換先のデータ位置の関係を記憶した前記第１の長さ単位が表わす整数値のアドレスに有効ビットで構成される整数値が格納されている変換テーブルと、
前記変換テーブルに基づいて、第１の長さ単位のデータ形式と第２の長さ単位のデータ形式との変換処理を行う変換手段とを備えたことを特徴とするデータ処理装置。
【請求項２】
第１の長さ単位のデータ形式を第１の長さより長いデータであって該第１の長さのデータに未使用のデータを付加した第２の長さデータ単位のデータ形式に変換するためのプログラムを格納したコンピュータ読取可能な記憶媒体であって、
変換対象のデータ位置と、変換先のデータ位置の関係を記憶した前記第１の長さ単位が表わす整数値のアドレスに有効ビットで構成される整数値が格納されている変換テーブルと、
前記変換テーブルに基づいて、第１の長さ単位のデータ形式と第２の長さ単位のデータ形式との変換処理を行う変換手段とを機能させるためのプログラムを格納したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図１に示すように、データ領域内のビットデータに対して、有効なビットデータのみを詰める圧縮処理、あるいは有効なビットデータのまとまり毎にデータ操作をしやすい単位（例えばバイト単位）に広げる展開処理のような、ビットデータの編集処理に関する。
【０００２】
衛星による地球観測画像のようなデータにおいては、センサの特性（分解能）によって、必ずしも計算機が処理しやすい単位（バイト単位）のデータ形式になっていないことが多い。（たとえば１画素が６ビットであったり、１０ビットであったりする。）本発明は、このような場合の効率的な処理を実現するものである。
【０００３】
【従来の技術】
従来のビットデータの編集処理では、ビット毎にデータを抽出し、それを転送（シフト）するという処理を行っていた。
【０００４】
【発明が解決しようとする課題】
従来技術ではデータをビット単位に処理するため、処理効率が悪い（処理時間がかかる）。本発明はかかる事情に鑑みてなされたものであって、効率的な処理を実現することを目的とする。
【０００５】
【課題を解決するための手段】
上記の課題は、変換対象のデータ位置と、変換先のデータ位置の関係を記憶した変換テーブルと、前記変換テーブルに基づいて、第１の長さのデータと、第１の長さより長いデータであって第１の長さのデータに未使用のデータを付加した第２の長さのデータとの間の変換処理を行う変換手段とを備えることで、解決される。
【０００６】
【発明の実施の形態】
以下、本発明を詳細に説明する。
図２は、ビットデータの編集処理に本発明を適用する場合のシステム構成を示す。本システムは有効なビットと無効なビットが混在するデータ１０と、有効なビットのみで構成されるデータ２０と、これらのデータを入力してそれぞれビットデータの圧縮処理または展開処理を行う編集プログラム１００と、圧縮処理の際に用いる圧縮用編集テーブル１１０と、展開処理の際にに用いる展開用編集テーブル１２０とから構成される。
【０００７】
まず圧縮用編集テーブルを用いた圧縮処理の考え方を、１バイト領域中の後ろ６ビットが有効なデータを詰めて編集する（圧縮する）場合を例に説明する。以下に詳しく述べるように、この場合編集テーブルは全部で３種類ある。
図３で、１０は１バイト中先頭２ビットが無効で後ろ６ビットが有効なデータ、１１１、１１２、１１３は圧縮用の編集テーブル、２０は無効ビットを削除して圧縮されたデータを示す。
【０００８】
まず先頭から１バイト目と２バイト目（対象領域α1 ）について、左（上位）８ビットの内３〜８ビットおよび右（下位）８ビットの内３〜４ビットの計８ビットを編集テーブルＡを用いて抽出し、出力領域１に格納する。このために第一の編集テーブルＡを用いる。編集テーブルＡは具体的には図５に示すように、２バイトの整数値（０〜２16−１）に対応した２16の大きさを持った１次元の配列であり各配列要素には有効ビット（上位８ビットの内３〜８ビットおよび下位８ビットの内３〜４ビットの計８ビット）で構成される整数値（a3×27＋a4×26＋a5×25＋a6×24＋a7×23＋a8×22＋b3×21＋b4×20）が格納されている。このため対象領域α1 が表す整数値のアドレスに格納されている値を取り込めば、有効ビットを抽出したことに相当するのである。
【０００９】
次に先頭から２バイト目と３バイト目（対象領域β1 ）について、左（上位）８ビットの内５〜８ビットおよび右（下位）８ビットの内３〜６ビットの計８ビットを編集テーブルＢを用いて抽出し、出力領域２に格納する。このために第二の編集テーブルＢを用いる。
編集テーブルＢは具体的には図６に示すように、２バイトの整数値（０〜２16−１）に対応した２16の大きさを持った１次元の配列であり各配列要素には有効ビット（上位８ビットの内４〜８ビットおよび下位８ビットの内３〜６ビットの計８ビット）で構成される整数値（b5×27＋b6×26＋b7×25＋b8×24＋c3×23＋c4×22＋c5×21＋c6×20）が格納されている。このため対象領域β1 が表す整数値のアドレスに格納されている値を取り込めば、有効ビットを抽出したことに相当するのである。
【００１０】
次に先頭から３バイト目と４バイト目（対象領域γ1 ）について、左（上位）８ビットの内７〜８ビットおよび右（下位）８ビットの内３〜８ビットの計８ビットを編集テーブルＣを用いて抽出し、出力領域３に格納する。このために第三の編集テーブルＣを用いる。
編集テーブルＣは具体的には図７に示すように、２バイトの整数値（０〜２16−１）に対応した２16の大きさを持った１次元の配列であり各配列要素には有効ビット（上位８ビットの内７〜８ビットおよび下位８ビットの内３〜８ビットの計８ビット）で構成される整数値（c7×27＋c8×26＋d3×25＋d4×24＋d5×23＋d6×22＋d7×21＋d8×20）が格納されている。このため対象領域γ1 が表す整数値のアドレスに格納されている値を取り込めば、有効ビットを抽出したことに相当するのである。
【００１１】
次の５バイト目から先の処理は、以上述べたテーブルＡ，Ｂ，Ｃを用いた処理の繰り返しとなる。図１０はこの処理のフローを示したものである。
次に展開用編集テーブルを用いた展開処理の考え方を、有効なビットの単位が６ビットの場合に、８ビット領域の下位６ビットに有効ビットを編集する（展開する）例で説明する。以下に詳しく述べるように、この場合編集テーブルは全部で２種類ある。図４で、２０は６ビット単位の有効ビットが隙間なく詰まったデータ、１２１、１２２は展開用の編集テーブル、１０は有効ビットが８ビット領域の下位６ビットに編集されたデータを示す。
【００１２】
まず先頭から１バイト目と２バイト目（対象領域α1 ）について、左（上位）８ビットの内の１〜６ビットの６ビットデータ、および上位８ビットのうちの７〜８ビットに右（下位）８ビットのうちの１〜４ビットを加えた６ビットデータの２個の６ビットデータを編集テーブルＤを用いて抽出し、それぞれ出力領域１および２に格納する。
【００１３】
このために第一の編集テーブルＤを用いる。編集テーブルＤは具体的には図８に示すように、２バイトの整数値（０〜２16−１）に対応した２16×２の大きさを持った２次元の配列であり各配列要素には有効ビット（上位８ビットの内１〜６ビットおよび上位８ビットの内７〜８ビットに下位８ビットの内１〜４ビットを加えた６ビットの２個の６ビットデータ）で構成される整数値（a1×25＋a2×24＋a3×23＋a4×22＋a5×21＋a6×20とa7×25＋a8×24＋b1×b3＋b2×22＋b3×21＋b4×20）が格納されている。このため対象領域α1 が表す整数値のアドレスに格納されている値を取り込めば、有効ビットを下位６ビットに格納したことに相当するのである。
【００１４】
次に先頭から２バイト目と３バイト目（対象領域β1 ）について、左（上位）８ビットの内の５〜８ビットに右（下位）８ビットのうちの１〜２ビットを加えた６ビットデータ、および下位８ビットのうちの３〜８ビットの６ビットデータの２個の６ビットデータを編集テーブルＥを用いて抽出し、それぞれ出力領域３および４に格納する。
【００１５】
このために第一の編集テーブルＥを用いる。編集テーブルＥは具体的には図６に示すように、２バイトの整数値（０〜２16−１）に対応した２16×２の大きさを持った２次元の配列であり各配列要素には有効ビット（上位８ビットの内５〜８ビットに下位８ビットの内１〜２ビットを加えた６ビットおよび下位８ビットの内３〜８ビットの２個の６ビットデータ）で構成される整数値（b5×25＋b6×24＋b7×23＋b8×22＋c1×21＋c2×20とc3×c5＋c4×24＋c5×b3＋c6×22＋c7×21＋c8×20）が格納されている。このため対象領域β1 が表す整数値のアドレスに格納されている値を取り込めば、有効ビットを下位6 ビットに格納したことに相当するのである。
【００１６】
次の４バイト目から先の処理は、以上述べたテーブルＤ，Ｅを用いた処理の繰り返しとなる。
以上有効ビットが６ビットの場合の実施例に従って本発明を説明したが、本発明はこれに限定されるものではない。有効ビット長が６ビット以外の任意の場合でも、それに応じた編集テーブルを用意することによって、種々のビットデータの編集を可能とする。
【００１７】
【発明の効果】
以上説明したように、本発明によればデータの圧縮（詰め）やデータの展開（バイト単位に有効データを展開）において、専用の編集テーブルを用いることによりビット単位のデータ操作を行う必要がなくなり、処理効率の向上を図ることができる。
【図面の簡単な説明】
【図１】ビットデータ編集処理の説明図である。
【図２】本発明を適用した場合のシステム構成図である。
【図３】編集テーブルを用いた圧縮処理の概念の説明図である。
【図４】編集テーブルを用いた展開処理の概念の説明図である。
【図５】圧縮用編集テーブルの説明図である。
【図６】圧縮用編集テーブルの説明図である。
【図７】圧縮用編集テーブルの説明図である。
【図８】展開用編集テーブルの説明図である。
【図９】展開用編集テーブルの説明図である。
【図１０】圧縮処理の場合の処理フローの説明図である。
【符号の説明】
１０    無効（未使用）データを含む展開されたビットデータ
２０    有効データのみで構成される圧縮されたビットデータ
１００  ビットデータ編集用のプログラム
１１０  圧縮用の編集テーブル
１２０  展開用の編集テーブル
【図１】
0003709704.tif 000002
【図２】
0003709704.tif 000003
【図３】
0003709704.tif 000004
【図４】
0003709704.tif 000005
【図５】
0003709704.tif 000006
【図６】
0003709704.tif 000007
【図７】
0003709704.tif 000008
【図８】
0003709704.tif 000009
【図９】
0003709704.tif 000010
【図１０】
0003709704.tif 000011