(57)【要約】  分析装置は、データを生成するデータ取得システムを含む。分析装置は、最小限のハードウェア資源およびソフトウェア資源を用いて実装可能なロスレスデータ圧縮技術を利用するデータ圧縮システム／処理を含む。処理は、多数の並列演算に分割可能なように実装することができる。処理は、ソフトウェア、および／または、処理装置（フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または画像処理ユニット（ＧＰＵ）等）を用いて実装可能である。
2018534811.tif 000002
【特許請求の範囲】
【請求項１】
測定された変数の大きさに対応するサイズｎのＮ個の数値を含むデジタルデータストリームを生成するよう構成されるデータ取得システムを含む分析装置を含むシステムの動作を改良する方法であって、
前記数値の少なくともいくつかは、少なくとも１個のゼロを含み、
前記システムは、前記データ取得システムに動作可能に接続された処理装置を含み、
前記方法は、
前記処理装置に、前記データ取得システムからの元のデジタルデータストリームを提供することと、
少なくとも１つの区分データ配列を形成するために、前記データストリームの少なくとも一部を前記処理装置に区分させることと、
少なくとも１つの転置データ配列を形成するために、前記少なくとも１つの区分データ配列を前記処理装置に転置させることと、
少なくとも１つのインタリーブデータ配列を形成するために、前記少なくとも１つの転置データ配列を前記処理装置に分割させることと、
前記データを記憶するのに必要なメモリ量を低減するための圧縮データを形成するために、各前記数値の先頭部分のゼロを前記処理装置にランレングス符号化させることと、
メモリに前記圧縮データを記憶することと
を備える、方法。
【請求項２】
前記データストリームの前記少なくとも一部を、前記処理装置に区分させて、少なくとも１つの、サイズｎ×ｎの区分配列にすることを含む、請求項１に記載の方法。
【請求項３】
前記処理装置に、前記少なくとも１つの区分データ配列を、少なくとも１つの、サイズ（２ｎ）×（ｎ／２）のインタリーブデータ配列に、変換させることを含む、請求項２に記載の方法。
【請求項４】
前記転置データ配列を前記処理装置に逆転させることを含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記圧縮データを解凍するよう構成されるプロセッサを有するコンピュータに、前記記憶された圧縮データを転送することを含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記コンピュータの前記プロセッサは、
少なくとも１つのインタリーブデータ配列を形成するために、前記圧縮データを逆ランレングス符号化するステップと、
前記少なくとも１つのインタリーブデータ配列を、少なくとも１つの転置データ配列に変換するステップと、
少なくとも１つの区分データ配列を形成するために、前記少なくとも１つの転置データ配列を転置するステップと
を実行することにより、前記圧縮データを解凍するよう構成される、請求項５に記載の方法。
【請求項７】
前記元のデジタルデータストリームと実質的に同一のデータストリームを形成するために、前記コンピュータの前記プロセッサは、複数の区分データ配列をアセンブルするよう構成される、請求項６に記載の方法。
【請求項８】
前記処理装置に前記元のデジタルデータストリームを提供するために、
グロー放電原子発光分光計、熱重量分析装置、灰の溶融測定装置、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、および、オーディオ装置
からなる群のうちから選択されるデータ取得システムを利用することを含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記処理装置は、フィールドプログラマブルゲートアレイおよび画像処理ユニットのうち少なくとも１つを備える、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
パーソナルコンピュータを準備することと、
圧縮データを前記データ取得システムから前記パーソナルコンピュータに転送することと
を含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記処理装置に、最初のデータ位置がゼロであるか否かを判定させ、前記最初のデータ位置がゼロである場合にのみ、前記少なくとも１つの区分データ配列を転置させることを含む、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
メモリに記憶される圧縮データおよび非圧縮データを含むデータストリームを、前記処理装置に生成させることを含む、請求項１１に記載の方法。
【請求項１３】
前記元のデジタルデータストリームは、離散時間インターバルで取得される測定データを含むＮ個の数値を含み、各数値は測定される変数の大きさを含む、請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
前記処理装置に、
１）時間および位置における２つのデータセットの間の差分を決定させ、
２）符号パラメータを用いて差分の符号を保存させ、
３）前記差分の絶対値を決定させ、
４）前記差分を圧縮させ、
５）圧縮された前記差分および前記符号パラメータを記憶させる
ことを含む、請求項１〜１３のいずれか一項に記載の方法。
【請求項１５】
データ取得システムを含む分析装置であって、
前記データ取得システムは、測定された変数の大きさに対応するサイズｎのＮ個の数値を含むデジタルデータストリームを生成するよう構成され、
前記数値の少なくともいくつかは、少なくとも１個のゼロを含み、
前記システムは処理装置を含み、前記処理装置は、前記データ取得システムからデータストリームを受信するよう構成され、
前記処理装置は、
少なくとも１つの区分データ配列を形成するために、前記データストリームの少なくとも一部を前記処理装置に区分させ、
少なくとも１つの転置データ配列を形成するために、前記少なくとも１つの区分データ配列を前記処理装置に転置させ、
少なくとも１つのインタリーブデータ配列を形成するために、前記少なくとも１つの転置データ配列を前記処理装置に分割させ、
前記データを記憶するのに必要なメモリ量を低減するための圧縮データを形成するために、各前記数値の先頭部分のゼロを前記処理装置にランレングス符号化させ、
メモリに前記圧縮データを記憶する
ように構成される、分析装置。
【請求項１６】
前記処理装置は、前記転置データ配列を逆転させるよう構成される、請求項１５に記載の分析装置。
【請求項１７】
前記処理装置は、前記データストリームの前記少なくとも一部を区分して、少なくとも１つの、サイズｎ×ｎの区分配列にするよう構成される、請求項１５または１６に記載の分析装置。
【請求項１８】
前記処理装置は、前記少なくとも１つの区分配列を、サイズ（２ｎ）×（ｎ／２）のインタリーブ配列に変換するよう構成される、請求項１７に記載の分析装置。
【請求項１９】
前記分析装置は少なくとも１つのメモリ記憶ユニットを含み、前記メモリ記憶ユニットは、ハードディスクおよび／またはソリッドステートメモリを備え、前記処理装置は、前記メモリ記憶ユニットに圧縮データを記憶するよう構成される、請求項１５〜１８のいずれか一項に記載の分析装置。
【請求項２０】
前記分析装置は、
グロー放電原子発光分光計、熱重量分析装置、灰の溶融測定装置、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、および、オーディオ装置
からなる群のうちから選択される、請求項１５〜１９のいずれか一項に記載の分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［本発明の簡単なサマリー］
本開示の一態様は、データを生成するデータ取得システムを含む分析装置である。データ取得システムは、分光計または他の装置を備えてもよい。分析装置は、最小限のハードウェア資源およびソフトウェア資源を用いて実装可能なロスレスデータ圧縮技術を利用するデータ圧縮システムおよび処理を含む。処理は、多数の並列演算に分割可能な方法で実装可能である。処理は、ソフトウェアおよび／または処理装置（フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または画像処理ユニット（ＧＰＵ）等）を利用して実装可能である。
【０００２】
本開示の別の態様は、データセットの可変の次元にわたる類似性を利用する処理である。この類似性は、時間的次元および／または空間的次元に存在し得る。しかしながら、本発明はこれらの次元には限定されない。
【０００３】
本開示の別の態様は、サイズｎのＮ個の数値を含むデジタルデータストリームを生成するよう構成されるデータ取得システムを有する分析装置を含むシステムの動作を改良する方法である。これらの数値は、測定される変数の大きさに対応し、これらの数値のうち少なくともいくつかが少なくとも１個のゼロを含む。システムは、データ取得システムに動作可能に接続される処理装置を含む。データ取得システムおよび処理装置が分析装置内に収容されてもよいし、システムが、「ハード」線、無線通信装置または他の適切な構成を利用して動作可能に相互接続される分離した構成要素を備えてもよい。本方法は、データ取得システムからの元のデジタルデータストリームを処理装置に提供することと、少なくとも１つの区分データ配列を形成するために処理装置にデータストリームを区分させることとを含む。本方法は、また、少なくとも１つの（区分）転置(transposed)データ配列を形成するために、処理装置に少なくとも１つの区分データ配列を転置させることを含む。本方法は、少なくとも１つのインタリーブデータ配列を形成するために、処理装置に少なくとも１つの転置データ配列を分割させることを含んでもよい。圧縮データを形成し、データを記憶するのに必要なメモリ量を低減するために、処理装置は、数値の先頭部分のゼロ（複数可、以下同じ）をランレングスおよび符号化する。その後、圧縮データはメモリに記憶される。データストリームは区分されてサイズｎ×ｎの区分配列となってもよい。区分データ配列は、サイズ（２ｎ）×（ｎ／２）の、少なくとも１つのインタリーブデータ配列に変換されてもよい。任意選択として、転置データ配列は逆転されてもよい。また、先頭部分のゼロを１個も含まない数値は圧縮されなくともよく、メモリユニット内には圧縮データとともに非圧縮データが記憶されてもよい。圧縮データおよび／または非圧縮データは、圧縮データを解凍するよう構成されたプロセッサを有するコンピュータに、（導電体／ワイヤを介してまたは無線で）転送されてもよい。
【０００４】
本開示の別の態様は、測定される変数の大きさに対応するサイズｎのＮ個の数を含むデジタルデータストリームを生成するよう構成されるデータ取得システムを含む分析装置（数値の少なくともいくつかは少なくとも１個のゼロを含む）である。分析装置は、データ取得システムからのデータストリームを受信するよう構成される処理装置を含む。処理装置は、少なくとも１つの区分データ配列を形成するためにデータストリームを区分し、少なくとも１つの転置データ配列を形成するためにこの少なくとも１つの区分データ配列を転置するよう構成される。プロセッサは、また、少なくとも１つのインタリーブデータ配列を形成するために、少なくとも１つの転置データ配列を分割し、圧縮データを形成するために数値の先頭部分のゼロをランレングスおよび符号化し、これによって、圧縮データを記憶するのに必要なメモリ量を低減するよう構成される。処理装置は、また、メモリに圧縮データを記憶するよう構成される。処理装置およびメモリは、分析装置内に収容されてもよい。代替的に、これらの構成要素は、データ取得システムに動作可能に接続される分離した構成要素であってもよい。
【０００５】
本発明の、これらのおよび他の、特徴、利点および目的は、以下の説明と、特許請求の範囲と、図面とを参照することにより、さらに当業者に理解される。
【図面の簡単な説明】
【０００６】
【図１】本開示の一態様によるデータ取得システムを含む分析装置を示すブロック図である。
【図２】図１のシステムの動作を示すフローチャートである。
【図３】１つの区分データ配列のための処理ステップを示す図である。
【発明を実施するための形態】
【０００７】
［詳細な説明］
図１を参照すると、システム１０は分析装置２０を含む。分析装置２０は、パーソナルコンピュータ３０等の計算装置に動作可能に接続されていてもよい。分析装置２０は、分光計（グロー放電原子発光分光計等）を備えてもよい。分析装置２０は、また、他の装置（重量分析装置、灰の溶融測定装置(ash fusion measuring device)、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、オーディオ装置、またはデータを生成および／または処理する他の装置、等）を備えてもよい。分析装置２０は、測定される変数の大きさに対応するサイズｎのＮ個の数を含むデジタルデータストリームを生成するよう構成されるデータ取得システム２２（数値の少なくともいくつかは少なくとも１個のゼロを含む）を含む。データ取得システム２２によって生成されるデータは、多くの、大多数の、またはすべての数値が少なくとも１個の先頭部分のゼロを含む、デジタルデータストリームの形式であってもよい。たとえば、各数値が、測定される変数の大きさに対応する１６ビットの数値である場合において、測定された変数の値が可能な最大の大きさよりも小さい場合には、各数値は先頭部分に１個以上のゼロを含み得る。可能な最大の大きさよりも小さいものに対応するゼロが、先頭部分のゼロでなく末尾部分のゼロとして現れるように、数値を逆順にフォーマットしてもよいということが理解される。本明細書において、用語「先頭部分のゼロ」（単数および複数）という用語は、概して、可能な最大の大きさよりも小さい数値が少なくとも１個のゼロを含む任意の数値形式を参照する。
【０００８】
システム１０は、また、処理装置２４を含む。処理装置２４は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、画像処理ユニット（ＧＰＵ）または他の適切なプロセッサを備えてもよい。処理装置２４は、事実上、任意の種類のプロセッサを備えてもよいということが理解される。処理装置２４は、分析装置２０内に収容されてもよい。代替的に、処理装置２４は、分析装置２０および／またはデータ取得システム２２から分離して収容されてもよい。したがって、図１の構成は必ずしも特定の物理的構成には限定されないということが理解される。
【０００９】
処理装置２４は、データ取得システム２２によって生成されたデータを圧縮および／または解凍するためのアルゴリズムを実行するようプログラムされてもよい。図１において、圧縮／解凍アルゴリズムは「２６Ａ」と表記され、圧縮アルゴリズムは「２６Ｂ」と表記される。しかしながら、これらの表記は本明細書における説明のために提供されており、本開示は必ずしも分離された圧縮および解凍アルゴリズム／処理には限定されない。処理装置２４は、メモリ２８に動作可能に接続される。メモリ２８は、データ取得システム２２の一部であってもよく、処理装置２４に動作可能に接続された分離されたメモリを備えてもよい。概して、メモリ２８は、ハードドライブ、可搬または固定のソリッドステートメモリ、光学的記憶装置（たとえば光ディスクドライブおよび光ディスク／ＣＤ／ＤＶＤ等）または他の適切なメモリを備えてもよい。
【００１０】
分析装置２０は、任意に、線３２で示すようにパーソナルコンピュータ３０等のコンピュータと相互接続されてもよい。線３２は、無線接続、ケーブル、または分析装置２０からパーソナルコンピュータ３０にデータを転送するために利用可能な他の適切なデータ転送構成（フラッシュメモリ、光ディスク、等）を備えてもよいということが理解される。以下により詳細に論じるように、パーソナルコンピュータ３０は、解凍アルゴリズム２６Ｃおよび圧縮／解凍アルゴリズム２６Ａを含んでもよい。これらのアルゴリズム／処理は、分離されている必要はないということと、「２６Ａ」および「２６Ｃ」という表記は議論のために提供されるということとが理解される。また、分析装置２０は圧縮アルゴリズム２６Ｂのみを含んでもよく、コンピュータ３０は解凍アルゴリズム２６Ｃのみを含んでもよい。パーソナルコンピュータ３０は、大容量記憶ユニット３４等のメモリ能力を含む。大容量記憶ユニット３４は、ディスクドライブ、ソリッドステートメモリ、または、取り外し可能メモリストレージ（光ドライブ／ディスク、フラッシュメモリ、等）を備えてもよい。
【００１１】
さらに図２を参照すると、圧縮／解凍処理４０は、概してステップ４２において開始する。ステップ４２において、入力される生データストリームは、処理装置２４等のプロセッサによって受信される。入力される生データストリームは、Ｎ個の数値（各数値はｎ個のビットを含む）の配列を含んでもよい。たとえば、各数値は、４、８、１６、３２、６４、またはより多くのビットを含んでもよい。ステップ４４において、入力される生データストリームは、区分配列を形成するために区分される。たとえば、１６ビットのデータに対しては、１６×１６ビットの区分配列が形成される。ステップ４６において、各区分配列は転置される。ステップ４８において、任意で、逆転区分配列を形成するために、数値の順序が逆転されてもよい。
【００１２】
ステップ５０において、区分配列（任意で、逆転されたものであってもよい）が、分割または変換されてインタリーブ配列となる。たとえば、１６×１６ビットの配列は、３２×８ビットのインタリーブ配列となる。
【００１３】
本アルゴリズムは、ステップ５２において、各数値の最初のデータ位置が０であるか否かを判定する。たとえば、ステップ５０で３２×８ビットのインタリーブ配列が形成された場合、ステップ５２において、本アルゴリズムは、８ビットの数値のそれぞれが先頭部分にゼロを含むか否かを判定する。上述のように、各数値が可能な最大の値より小さい場合に末尾部分にゼロが存在するように各数値が形成されている場合には、「最初」のデータ位置は先頭のゼロであるとは限らない。概して、最初のデータ位置がゼロとなる状態は、ある数値が、その数値に対して可能な最大の値よりも小さい場合には、数値の形式に関わらず、いつでも発生し得る。
【００１４】
最初のデータ位置がゼロである場合（ステップ５２）、本アルゴリズムは、ステップ５４に示すように先頭部分のゼロをランレングス符号化し、その後、ステップ５６に示すように、ランレングスデータおよび残りのデータ（すなわち各数値のゼロでない部分）が、出力される圧縮データのデータストリームへと形成される。ステップ５８において、ステップ５６の圧縮データストリームがステップ５２からの非圧縮データと組み合わせられ、メモリに記憶される。ステップ５２からの非圧縮データは、ゼロである最初のデータ位置を持たない数値を含む。
【００１５】
ステップ６０において、元の生データストリームを形成するために、圧縮データは解凍され、以前にステップ５８で記憶された非圧縮データとアセンブルされる（すなわち組み合わせられる）。上述のように、記憶されたデータ（ステップ５８）は、分析装置２０に関連付けられるメモリ２８内に記憶されてもよく、および／または、パーソナルコンピュータ３０等の大容量記憶ユニット３４に記憶されてもよい。同様に、データは、分析装置２０に関連付けられる処理装置２４によって解凍されてもよく、および／または、パーソナルコンピュータ３０または他の適切な装置を利用して解凍されてもよい。
【００１６】
概して、解凍は、非圧縮データから圧縮データを分離することを含み、その後、ステップ４４、４６、４８、５０、５４および５６が逆転され、反転された動作が実行される。たとえば、１個以上のゼロを含む数値を生成するためにランレングス復号が実行され、インタリーブ配列が形成される。インタリーブ配列は、サイズｎ×ｎの転置配列に変換される。圧縮中に配列の順序が逆転されていた場合には、転置区分配列を再形成するために、解凍処理中に配列が逆転される。その後、区分配列を形成するために、転置区分配列が転置され、これはその後、元の生データストリームを再形成するために組み合わせられる（アセンブルされる）。
【００１７】
図３は、図２による処理を示す例である。この例は、サイズＮの１６ビットの数値のデータ配列を利用する。典型的には、このデータはアナログ・デジタルコンバータ（ＡＤＣ）等の装置からストリーミングされる。データは、事実上、任意の種類のデータを含み得る。たとえば、データは、グロー放電原子発光分光計、熱重量分析装置、灰の溶融測定装置、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、オーディオ装置、または、データを測定／生成し、および／または、データを処理する、事実上任意の種類の他の装置、等の装置によって生成された測定値を含み得る。たとえば、本開示のシステム／装置／処理は、米国特許第９，４２５，０３４号、第９，４０６，４９３号、第９，３１２，１１９号、第９，０４８，０８０号、第７，３８５，１８７号、および第６，０２３，３３０号の分光計に関連して実装可能である。
【００１８】
データは、有意な数のゼロを含み得る。たとえば、オーディオベースのシステムにおいて、音のボリュームをｎビット（たとえば１６ビット）の数値によって表すことができる。多くの場合において、測定される音の大部分は例外的に大きくはなく、したがって、測定データのすべてまたはほとんどは少なくとも１個のゼロを含み、測定されたオーディオ信号が最大値に達しなかったということを示す。
【００１９】
以下の例では、各データ点が１６ビットの数値を用いて表される。しかしながら、特定の用途に必要であれば、より多いまたはより少ないビット数を利用してもよいということが理解される。たとえば、各データ点は８ビット、３２ビット、６４ビットの数値を含んでもよい。さらに、以下の例は、いかなる特定種類のデータにも限定されないということが理解される。
【００２０】
次の表１は、Ｎサイズのデータ（１６ビットの数値）の配列（ストリーム）を表す：
【表１】
2018534811.tif 000003
【００２１】
圧縮処理の第１ステップは、生データの配列（ストリーム）を区分して、サイズｎ×ｎの、少なくとも１つの区分配列にすることである。１６ビットサイズの１６個の数値の場合には、次の表２に示すように１６×１６区分配列が形成される：
【表２】
2018534811.tif 000004
【００２２】
処理は生データストリームの比較的小さい部分を利用するので、典型的には、圧縮処理が開始される前にＮサイズの配列全体を記憶する必要はない。
【００２３】
次のステップは、次の表３に示すように、区分ｎ×ｎ（たとえば１６×１６）配列を、各ビット位置によって転置することである：
【表３】
2018534811.tif 000005
【００２４】
これは、配列の一方向に向けてゼロをパックする（または配置する）傾向がある。
【００２５】
以下に論じるように、図３に関連して、その後、逆転転置配列を形成するために、配列の反対側へとゼロをシフトするように数値の順序を逆転してもよい。
【００２６】
その後、転置（逆転）配列を形成するデータは、次の表４に示すインタリーブデータ配列を形成するために、８ビット対へと分解される：
【表４】
2018534811.tif 000006
【００２７】
表４に示すようにビットを８ビット対（インタリーブ配列）へと分解することにより、ランレングス情報を記憶するために使用可能な１バイトが節約される。このインタリーブ配列は、概して、（２ｎ）×（ｎ／２）配列の形式である。
【００２８】
次に、処理は、次の表５に示すように、配列内の最初のデータ（行）のみをランレングス符号化することを含む：
【表５】
2018534811.tif 000007
【００２９】
配列内の深くにあるデータは、典型的にはより「特徴リッチ」であり、圧縮度がより低い。データを圧縮するために、最初のデータ位置が０であるか否かが判定される。ゼロでない場合には、圧縮は行われない。表５の例では、ＲＬＬ（ランレングス）は最大３２バイトである。表５において、ＵＤは残りの非圧縮データである。
【００３０】
図３は、１つの区分データ配列に対する処理ステップを示す例である。図３において、処理は、列１（「生データ」）に示すように１６個の数値で開始される。列１では、１６×１６ビット配列を形成するために生データが区分されている。その後、列２（「転置」）に示すように、生データはビット単位で転置される。その後、列３（「逆転配列」）に示すように、数値の順序が逆転される。上述のように、配列を逆転することは任意である。その後、列４（「インタリーブ配列」）に示すインタリーブ配列を形成するために、データ（逆転配列）は、１６×１６ビットのワードから３２×８ビットのバイトへと変換される。その後、列５（「ＲＬＬ」）に示す最終的圧縮を形成するために、先頭部分のゼロがランレングス符号化される。
【００３１】
解凍は、上に概説した各ステップを逆転し、列６（「非圧縮」）に示す非圧縮データを再生成するための逆関数を利用することによって、実行することができる。具体的には、列５のデータを解凍するためには、まずインタリーブ配列（列４）を形成するために、逆ランレングス符号化ステップが実行される。その後、３２×８ビットのバイト（インタリーブ配列）が、１６×１６ビットのワード（逆転配列）に変換される。その後、（圧縮中に逆転が行われていた場合には）転置配列を形成するために逆転配列の順序が逆転される。その後、元の区分１６×１６ビット生データ配列を形成するために、転置配列が転置される。その後、元のＮサイズのデータ配列を形成するために、各区分配列をアセンブルしてもよい。
【００３２】
再び列４および５（図１）を参照すると、図示の例では、サブ配列サイズは１６個の整数である。最初のバイト（列５）は、サブ配列（列４）におけるゼロの数である。このように、図示の例では、列５の最初のバイト（１０）は、列４のインタリーブ配列のトップのゼロの数（１０）に対応する。最初のバイト（列５）は、次のサブ配列が開始される数を決定するために合計から減算されてもよい。
【００３３】
上述の処理／アルゴリズムは、様々なデータ取得システムからのデータを利用して試験された。テストケースでは圧縮比は２０％を超えた。さらなるステップを追加することにより、より高い比率が得られる可能性があるが、より多くの資源が必要となるであろう。特定の用途に対しては、形式を、３２ビット、６４ビット、８ビット、等に変更可能であるということが理解される。
【００３４】
本開示の別の態様は、データセットの変化する次元にわたる類似性を活用することを含む。最初のロスレスデータ圧縮手法の、次元における拡張は、時間におけるデータセット間の類似性を活用した。そのようなデータセットの、時間における２回の観測の間の差分を取ることは、すべてのビットを利用するわけではなく、したがって、最初に説明したロスレスデータ圧縮によって圧縮することが可能となる。
【００３５】
以下は、本開示による方法または処理のこの（任意追加の）態様を説明する。以下の議論では、Ｙは観測を表し、サイズＴ×Ｎである。Ｔは時間におけるサンプルの総数であり、Ｎは各データセットの長さを表す。Ｙ（０，ｎ）は、位置ｎでの、時間的に最初のデータセットを表す。Ｙ（１，ｎ）は、位置ｎでの、時間的に２番目のデータセットを表す。Ｙ（Ｔ，ｎ）は、位置ｎでの、時間的に最後のデータセットを表す。
【００３６】
時刻ｔ、位置ｎでの２つのデータセット間の差分をＤ（ｔ，ｎ）と表す。最初の値Ｄに対する例外に注意せよ。
Ｄ（０，ｎ）＝Ｙ（０，ｎ）                        （１．０）
Ｄ（１，ｎ）＝Ｙ（１，ｎ）−Ｙ（０，ｎ）          （１．１）
Ｄ（Ｔ，ｎ）＝Ｙ（Ｔ，ｎ）−Ｙ（Ｔ−１，ｎ）      （１．２）
Ｙは必ずしも単調なものではないので、Ｄに含まれるデータは、正負両方の数値を持つ。差分の符号を保存するために、別のパラメータＳを利用する。
Ｓ（ｔ，ｎ）＝ｓｉｇｎ（Ｄ（ｔ，ｎ））            （１．３）
符号情報が保存されるので、Ｄの絶対値を取ることができ、したがって、負の数について２の補数を記憶する必要がなくなる。このステップの結果として、Ｄの値の比較的高位のビットにおいてゼロが存在し、その結果として、図２および表１〜５に関連して上述した処理を用いて高度に圧縮可能となるデータが得られる。
Ｄ（ｔ，ｎ）＝ａｂｓ（Ｄ（ｔ，ｎ））              （１．４）
Ｄ（１，１：ｎ）は、図２および表１〜５に関連して上述した処理の最初の説明に基づいて、時刻ｔでの各観測について圧縮される。例外は、符号情報を圧縮データに含めなければならないということである。これは、次の表６に示すように、符号情報をＲＬＬとＵＤデータとの間に記憶することによって実現される：
【表６】
2018534811.tif 000008
表６は実質的に表５（上述）と同一である。この例では、ランレングス（ＲＬＬ）は最大３２バイトになり得る。図６に示される、残りの非圧縮データ（ＵＤ）。
【００３７】
ＳＤ欄を介して各差分の符号情報を記憶するために、以下が用いられる：
ＲＬＬ−ランレングスは、この例では最大３２バイトになり得る。
ＳＤ−各ビットは、位置ｎでの差分の符号を表す。これは、１６要素のサブ配列を用いる例に基づき、１６ビットの数値として記憶される。
ＵＤ−は、次の表７に示す残りの非圧縮データである：
【表７】
2018534811.tif 000009
ｔ＝０の時には、実際には差分が発生していないので、すべての符号ビットがゼロになるということに注意すべきである。
【００３８】
サブ配列の解凍は、表１〜５および図１，２に関連して上述したように、ＲＬＬ欄およびＵＤ欄を用いて行われる。しかしながら、時刻ｔにおけるデータが、各データ点ｎに対するｔ−１におけるデータの和であるのか、または差であるのかを判定するために用いることができるように、ＳＤ欄は保存しなければならない。たとえば：
Ｄ（０，ｎ）の解凍はＹ（０，ｎ）を生じる。
Ｄ（１，ｎ）を解凍する際に、以下の方程式によってＹ（１，ｎ）の値が得られる：
ＳＤ（１，ｎ）が０である時には、Ｙ（１，ｎ）＝Ｙ（０，ｎ）＋Ｄ（１，ｎ）
ＳＤ（１，ｎ）が１である時には、Ｙ（１，ｎ）＝Ｙ（０，ｎ）−Ｄ（１，ｎ）
【００３９】
上述の処理／アルゴリズムは、複数次元における圧縮性を同時に活用するロスレスデータ圧縮を提供する。第１の次元はデータの空間的次元であり、結果として、データの多くが同様の強度(intensity)にあるという事実が得られる。第２の次元は、時間におけるデータがほとんど変化しないという事実を活用する。これら２つの方法を組み合わせた結果として、５０％を超えるデータ圧縮が得られた。
【００４０】
表１〜５および図１，２に関連して上述したように、データ形式は１６ビットのサイズには限定されない。同様に、表６および７に関連して説明した処理は、最初の１×Ｎデータセットにも、Ｔ回観測される１×Ｎデータセット（すなわちサイズＴ×Ｎのデータセット）にも限定されない。本発明の処理は、サイズＭ×Ｎのデータセット（画像等）や、サイズＭ×Ｎ×Ｔのデータセット（ビデオ等）に適用可能である。
【００４１】
上述のように、本開示の処理は、広汎な装置に関連して利用可能である。そのような装置は、上述の処理を利用して圧縮可能なデジタルデータストリームを生成するアナログ・デジタルコンバータを含み得る。圧縮および／またはデータ処理に続いて、画面にデータ表示を提供するためにデータが利用されてもよい。たとえば、データは、データ取得システム／装置を有する分析装置の画面上に、ラップトップコンピュータの画面上に、または、他の適切な装置上に、グラフィック形式で表示されてもよい。
【００４２】
本明細書に記載された方法は、上述のアルゴリズム２６Ａおよび／または２６Ｂの命令を実行する処理装置２４によって実行されてもよい。これらの命令は、メモリ２８のような、過渡的でないコンピュータ可読媒体に記憶されてもよい。
【００４３】
また、データは最初にデータ取得システム／装置のＦＰＧＡまたはＧＰＵ等の装置を利用して圧縮されてもよく、データは後にＦＰＧＡまたはＧＰＵによって解凍されてもよく、データはラップトップコンピュータまたは他の適切な装置を利用して解凍されてもよいということが理解される。
【図１】
2018534811.tif 000010
【図２】
2018534811.tif 000011
【図３】
2018534811.tif 000012
【国際調査報告】
2018534811.tif 000013
2018534811.tif 000014