(57)【要約】【課題】【解決手段】本発明の実施例に従って、データ圧縮方法が提供される。該データ圧縮方法は、第１のデータ記録と少なくとも第２のデータ記録を受信する工程を有する。第２のデータ記録は、第１のデータ記録と第２のデータ記録の差として圧縮される。【選択図】  図２
2012506665.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ記録と少なくとも第２のデータ記録を受信する工程と、
第１のデータ記録を第２のデータ記録と比較する工程と、
第２のデータ記録を、第１のデータ記録と第２のデータ記録の差として圧縮する工程を有する、データ格納方法。
【請求項２】
更に、圧縮する工程の前に、第２のデータ記録の最下位のデジットを切り捨てる工程を含む、請求項１に記載のデータ格納方法。
【請求項３】
更に、正又は負を示すデジットを、第１のデータ記録又は少なくとも第２のデータ記録の先頭部からデータ記録の終端部に動かす工程を含む、請求項１に記載のデータ格納方法。
【請求項４】
第２のデータ記録を圧縮する工程は、第２のデータ記録をヘッダニブル及び１又は２以上のニブルで圧縮する工程を含む、請求項１に記載のデータ格納方法。
【請求項５】
ヘッダニブルは、その後に続くデータニブルの数を表す、請求項４に記載のデータ格納方法。
【請求項６】
ヘッダニブルは、第２のデータ記録が第１のデータ記録より大きいか、第１のデータ記録より小さいか、第１のデータ記録に等しいかを表す、請求項４に記載のデータ格納方法。
【請求項７】
１又は２以上のデータニブルは、第１のデータ記録と第２のデータ記録の間の差を含む、請求項４に記載のデータ格納方法。
【請求項８】
更に、第１のデータ記録と第２のデータ記録の差が、所定数のニブルで表されないときは、第２のデータ記録を非圧縮で格納する、請求項１に記載のデータ格納方法。
【請求項９】
更に、第１のデータ記録をベースライン記録として設定する工程と、
続いて受信したデータ記録をベースライン記録と比較する工程を含む、請求項１に記載のデータ格納方法。
【請求項１０】
更に、圧縮された記録をメモリに書き込む工程を含む、請求項１に記載のデータ格納方法。
【請求項１１】
メモリ１０２と、
第１のデータ記録と少なくとも第２のデータ記録を受信し、
第１のデータ記録を第２のデータ記録と比較し、
メモリ１０２内の第２のデータ記録を、第１のデータ記録と第２のデータ記録の差として圧縮するように構成されたプロセッサ１０１を備える処理システム１００。
【請求項１２】
プロセッサ１０１は更に、第２のデータ記録の最下位のデジットを切り捨てるように構成された、請求項１１に記載の処理システム１００。
【請求項１３】
プロセッサ１０１は更に、正又は負を示すデジットを、第１のデータ記録又は少なくとも第２のデータ記録の先頭部からデータ記録の終端部に動かすように構成された、請求項１１に記載の処理システム１００。
【請求項１４】
プロセッサ１０１は更に、第２のデータ記録をヘッダニブルと１又は２以上のデータニブルで表すように構成された、請求項１１に記載の処理システム１００。
【請求項１５】
ヘッダニブルは、圧縮された記録内のデータニブルの数を表す、請求項１４に記載の処理システム１００。
【請求項１６】
ヘッダニブルは、第２のデータ記録が第１のデータ記録より大きいか、第１のデータ記録より小さいか、第１のデータ記録に等しいかを表す、請求項１４に記載の処理システム１００。
【請求項１７】
１又は２以上のデータニブルは、第１のデータ記録と第２のデータ記録の間の差を含む、請求項１４に記載の処理システム１００。
【請求項１８】
プロセッサ１０１は更に、第１のデータ記録と第２のデータ記録の差が、所定数のニブルで表されないときは、第２のデータ記録を非圧縮で格納するように構成された、請求項１１に記載の処理システム１００。
【請求項１９】
プロセッサ１０１は更に、第１のデータ記録をベースライン記録として設定し、続いて受信したデータ記録を該ベースライン記録と比較するように構成された、請求項１１に記載の処理システム１００。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ格納システム、特にデータ格納システム内のデータ記録を圧縮し且つ復元する方法に関する。
【背景技術】
【０００２】
デジタル処理技術は、入力データを内部又は外部メモリ内にしばしば格納する。データは例えば、デジタルビットの形式であり得る。データ格納の費用は、より正確にデータを測定する需要が増加すると、それとともに増加する。従って、後日データを検索する能力を弱体化させること無く、データ格納の必要性を減じることができるあらゆる技術が、処理システムの関連コストを実質的に減じることができる。
【０００３】
データ格納の必要性を減じる１つの方法は、格納の前にデータを圧縮することである。データを圧縮する広く受け入れられた２つの方法があり、それは即ち不可逆圧縮及び可逆圧縮である。不可逆圧縮は、データ圧縮方法であって、データの圧縮及び復元は、圧縮又は復元時に幾つかの情報を無くすが、元の記録に十分に略近似して有用である。この方法はオーディオ、ビデオ及び静止画のようなマルチメディアファイルの圧縮に最も頻繁に用いられる、何故なら人間の目又は耳は元のデータと圧縮データの差を一般に認識できないからである。反対に、可逆圧縮によって、圧縮されたファイルから正確な元のデータが再構成され得る。可逆圧縮が用いられ得る一般的な例は、ソースコード及び実行可能なプログラムである。何の情報が重要かが不明であり、従って元のファイルの如何なる情報も廃棄することが推奨されない他の例も存在する。
【０００４】
圧縮に一般に存在する代償の１つは、データを圧縮し復元するのに要求される極度のＣＰＵ時間である。従って、あらゆる圧縮ルーチンにおいて、圧縮量はそのような圧縮を実行するのに必要なＣＰＵ時間によって相殺されなければならない。
２つの連続した記録が互いに比較される連続又は半連続したデータ流れを圧縮する従来からの方法が存在する。一般的に、互いに同一である記録部分は圧縮され、その一方、互いに同一でない記録部分は非圧縮形式で格納される。この方法は、記録の多くのパーセンテージが繰り返しデータを含む多くの適用例において有用である。しかし、このアプローチはデータの多くのパーセンテージが非圧縮に残り、これにより、不要な格納空間を必要とする点で弱点がある(suffer)。非圧縮データのパーセンテージは、連続した記録が連続して変化する、例えば入ってくる測定結果が所定点の周りで振動する状況にて著しく増加する。この例において、全体の測定結果は、記録のグループ間で著しく異ならないが、連続した記録が連続して変化する状態で、必要なメモリの量は著しくは減らない。
【０００５】
或るタイプのデータは、連続した記録が少量だけ変化する情報を含む。例えば、流量計の送信器から受信される入力データは、１つの測定結果から次の測定結果に比較的少量だけ変化するだけである。従って、本発明は略全体の記録が圧縮され、圧縮された記録と第２の記録との差として格納される、データを圧縮し復元する方法を提供する。
【発明の概要】
【０００６】
態様
本発明の態様によれば、データを格納する方法は、
第１のデータ記録と少なくとも１つの第２のデータ記録を受信する工程と、
第１のデータ記録と第２のデータ記録とを比較する工程と、
第２のデータ記録を、第１のデータ記録と第２のデータ記録の差として圧縮する工程を含む。
データを格納する方法は更に、圧縮工程の前に、第２のデータ記録の最小の重要なデジット(桁)を切り捨てる工程を有するのが好ましい。
データを格納する方法は更に、正又は負を示すデジットを、第１のデータ記録又は少なくとも第２のデータ記録の開始部分からデータ記録の終点部に移動させる工程を含むのが好ましい。
【０００７】
第２のデータ記録を圧縮する工程は、ヘッダニブル及び１又は２以上のデータニブルを用いて第２のデータ記録を圧縮する工程を有するのが好ましい。
ヘッダニブルは、その後に続くデータニブルの数を表すのが好ましい。
ヘッダニブルは、第２のデータ記録が、第１のデータ記録より大きいか、第１のデータ記録より小さいか、或いは第１のデータ記録に等しいかを表すのが好ましい。
１又は２以上のデータニブルは、第１のデータ記録と第２のデータ記録の差を含むのが好ましい。
データを格納する方法は更に、
第１のデータ記録と第２のデータ記録の差が所定数のニブルによって表されないときは、第２のデータ記録を非圧縮状態で格納する工程を含むのが好ましい。
【０００８】
データを格納する方法は更に、
第１のデータ記録をベースライン記録として設定する工程と、
続いて受信したデータ記録を、ベースライン記録と比較する工程を含むのが好ましい。
データを格納する方法は更に、圧縮された記録をメモリに書き込む工程を含むのが好ましい。
【０００９】
本発明の他の態様によれば、処理システムは、
メモリと、
第１のデータ記録と第２のデータ記録を受信し、第１のデータ記録を第２のデータ記録と比較し、第２のデータ記録をメモリ内にて、第１のデータ記録と第２のデータ記録の差として圧縮するように構成されたプロセッサを備える。
プロセッサは更に、第２のデータ記録の最小の重要なデジットを切り捨てるように構成されているのが好ましい。
プロセッサは更に、正又は負を示すデジットを、第１のデータ記録又は第２のデータ記録の開始部分からデータ記録の終点部に移動させるように構成されているのが好ましい。
【００１０】
プロセッサは更に、第２のデータ記録をヘッダニブル及び１又は２以上のデータニブルを用いて第２のデータ記録を表すように構成されているのが好ましい。
ヘッダニブルは、圧縮された記録内のデータニブルの数を表すのが好ましい。
ヘッダニブルは、第２のデータ記録が、第１のデータ記録より大きいか、第１のデータ記録より小さいか、或いは第１のデータ記録に等しいかを表すのが好ましい。
１又は２以上のヘッダニブルは、第１のデータ記録と第２のデータ記録の差を含むのが好ましい。
プロセッサは更に、第１のデータ記録と第２のデータ記録の差が所定数のニブルによって表されないときは、第２のデータ記録を非圧縮状態で格納するように構成されているのが好ましい。
プロセッサは更に、第１のデータ記録をベースライン記録として設定し、続いて受信したデータ記録を、ベースライン記録と比較するように構成されているのが好ましい。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施例による処理システムを示す。
【図２】図２は、本発明の実施例による圧縮アルゴリズムを示す。
【図３】図３は、本発明の他の実施例による圧縮アルゴリズムを示す。
【発明を実施するための形態】
【００１２】
図１―図３及び以下の記載は、特定の例を記載し、当該技術分野の専門家に対して本発明のベストモードを如何にして作り、用いるかを開示している。発明の原理を開示する目的から、幾つかの従来の態様は簡略化され又は省略される。当該技術分野の専門家は、本発明の範囲内に含まれる、これらの例から変形例を理解するだろう。当該技術分野の専門家は、以下に記載された特徴は種々の方法で組み合わされ得て、本発明の多数の変形例を形成することが判るだろう。その結果、本発明は以下に記載された特定例に限定されず、請求の範囲及びその均等物によって限定される。
【００１３】
図１は、本発明の実施例に従った処理システム１００を示す。処理システム１００は、プロセッサ１０１とメモリ１０２を備える。処理システム１００は、汎用のコンピュータ、マイクロプロセッサシステム、論理回路、デジタル信号プロセッサ、又は幾つかの汎用又は特注の処理デバイスを含み得る。処理システム１００は、多数の処理デバイスに分散され得る。処理システム１００は、メモリ１０２のような、あらゆる方法の一体化された又は個々の電子的格納媒体を含み得る。送信器１０４がバスループ１０３によって処理システム１００に接続されている。送信器１０４は、例えばコリオリ流量計を含む振動型流量計のような流れ測定デバイスを含むあらゆる数のデバイスに接続されるが、該デバイスは流れ測定デバイスに限定されない。送信器１０４は、処理システム１００に情報を送るように構成され得る。情報は例えば流れ測定結果を含む。しかし、送信器によって送信される情報は、送信器の他端部に接続された特定のデバイス(図示せず)に依ることが判るだろう。従って、本発明は、流体流れ情報からなるデータに限定されるべきではない。
【００１４】
本発明の実施例によれば、データプロセッサ１００は送信器１０４から入力されるデータビットを受信でき、メモリ１０２に該データを送信する前に、入力されるデータビットを圧縮することができる。プロセッサ１０１は現在のデータ記録と以前のデータ記録の間の差に基づいて、現在のデータ記録を圧縮する。以前のデータ記録と同じであるデータ記録の一部を圧縮するのみで、以前のデータ記録とは異なるデータ記録部分は圧縮しない従来技術の方法と異なり、本発明は略全てのデータ記録を圧縮することができる。本発明の実施例によれば、圧縮されたデータ記録は、現在の記録と第２の記録間の差として書き込まれる。本発明の他の実施例によれば、圧縮されたデータ記録は、以前の記録と現在の記録の間の差として書き込まれる。尚、本発明の他の実施例によれば、圧縮されたデータ記録は、現在の記録とベースラインの記録の間の差として書き込まれる。
【００１５】
本発明の実施例によれば、プロセッサ１０１によって受信されたデータは、デジタルビット流れを含む。データはデジタルビット流れを構成する必要は無いことは理解されるべきである。従って、プロセッサ１０１によって受信されるデータの特定の形式は、本発明の範囲を限定するべきではない。しかし、デジタルビット流れは、以下に記載するように、ニブル(４ビット)又はバイト(８ビット)のような明白に同一のグループに容易に分割される。
本発明の実施例によれば、プロセッサ１０１は例えば１０進数又は１６進数の桁のような入ってくるデータビットを表す。入ってくるデータは１６進数の桁によって表される必要が無いことは理解されるべきである、しかし、幾つかの実施例において、１６進数のコードは１０進数で表すよりも圧縮が改善される。
【００１６】
本発明の実施例によれば、プロセッサ１０１は、入ってくるデータを圧縮された記録としてメモリ１０２内に書き込む。プロセッサ１０１は、入ってくるデータをニブルのストリングに圧縮する。ニブルのストリングは、一連の「ヘッダ」ニブルを含む。本発明の実施例によれば、各ヘッダニブルには、１又は２以上のデータニブルが続く。データニブルの数は、各ヘッダニブルに割り当てられた特定の定義づけによって変化する。しかし、一実施例において、データニブルの数は、１から８まで変化する。本発明の一実施例によれば、データニブルの数は連続したデータ記録が互いに変化する量に依存する。本実施例はデータをニブルに圧縮するとして記載されるが、一緒にされた特定数のビットは変化することができ、従って本発明は４ビットのグループ付けに限定されないことは理解されるべきである。むしろ、あらゆる数のビットが１つにまとめられる(group together)。
【００１７】
本発明の一実施例によれば、以下の表がヘッダニブルを表すのに用いられ得て、該ヘッダニブルは１６進数の桁を用いる。表は単なる例として提供され、当該技術分野の専門家は本発明の範囲に含まれる他の種々のヘッダの定義づけを容易に認識することは理解されるべきである。
表１
【表１】
2012506665.tif 000003
【００１８】
表１の第１列は、圧縮記録内のヘッダニブルの１６進数の値である。１６進数の値は、メモリ１０２内に実際に格納された２進数の値を表すべく、使用者／作業者に付与されると理解されるべきである。表１の第２列は、特定のヘッダニブルに幾つのデータニブルが続くかを付与している。表１の第３列は、データニブルが何を表しているかを記載している。例えば、ヘッダニブルが「Ｅ」であれば、７のデータニブルが続き、該データニブルは新たな値―以前の値を表す。換言すれば、現在の記録は、以前の記録よりも大きい。記録が流れ測定結果を含めば、例えばこれは現在の測定結果が以前の測定結果よりも大きいことを意味する。
圧縮アルゴリズムは、上記の定義付けとともに用いられ得て、現在のデータ記録と以前の非圧縮のデータ記録の間の差に基づいて、入ってくるデータビットを圧縮する。メモリ１０２に書き込まれた圧縮された記録は、非圧縮記録と以前の記録の間の差を含んでもよい。
【００１９】
図２は、本発明の一実施例によるデータ圧縮アルゴリズム２００を示す。アルゴリズム２００は、使用者/作業者によって開始され、或いはプロセッサ１０１によって作動される他のプログラムによって開始される。図２に示された実施例によれば、プロセッサ１０１はステップ２０１にて入ってくるデータを受信することができる。
ステップ２０２にて、プロセッサ１０１は現在の記録を第２のデータ記録と比較することができる。幾つかの実施例において、第２の記録は以前の記録を含む。現在の記録と比較すべき以前の記録が無ければ、プロセッサ１０１は記録を非圧縮状態で格納する。本発明の一実施例によれば、その後に１から８のデータニブルが続くヘッダニブルを含む。ヘッダニブルの値は、データ記録がどれだけの長さかに依る。換言すれば、ヘッダニブルの値は、現在の記録と以前の記録の間の差に基づく。本発明の一実施例によれば、ヘッダニブルは表１の値に基づき得る。本発明の一実施例によれば、プロセッサ１０１は、現在の記録を次に受信する記録と比較すべく、一時的に記録を格納することができる。現在の記録はステップ２０３(以下に示す)が完了するまで、非圧縮でキャッシュメモリ内に格納され得る。
【００２０】
プロセッサは、第１の記録と第２の記録の間の差が所定数のニブルによって表され得るかを判断する。プロセッサ１０１が表１の定義付けを実行する一実施例によれば、ニブルの所定数は８である、何故なら最高のヘッダニブルは続くべき８データニブルのみを提供するからである。しかし、他のヘッダニブルの定義付けが実行されたなら、データニブルの所定数は変わり得る。
差が所定数のニブルによって表されたならば、プロセッサ１０１はステップ２０３に進んで、現在の記録は、現在の記録と第２の記録の間の差として圧縮される。幾つかの実施例において、圧縮は現在の記録と以前の記録の間の差を表す。本発明の一実施例によれば、プロセッサ１０１は現在の記録を、ヘッダニブルを含む記録内に圧縮し、該ヘッダニブルの後に１又は２以上のデータニブルが続く。本発明の一実施例によれば、ヘッダニブルはその後に続くデータニブルの数を示すことができる。本発明の他の実施例によれば、ヘッダニブルは現在の記録が、以前の記録より大きいか、以前の記録より小さいか、或いは以前の記録に等しいかを表すことができる。本発明の一実施例によれば、データニブルは現在の圧縮された記録と以前の記録の間の差を表す。差が所定数のニブルにて表されなければ、プロセッサ１０１は記録を圧縮せず、記録を非圧縮状態で格納する。圧縮されない記録は尚、ヘッダニブルを含む。例えば、ヘッダニブルが表１のように定義付けられるならば、８ニブルを含む非圧縮のデータ記録のヘッダニブルは「Ｆ」である。
【００２１】
ステップ２０４にて、プロセッサ１０１は現在の記録が最近の記録を含んでいるかを判断する。現在の記録が最近の記録を含んでいれば、アルゴリズム２００は終了することができる。プロセッサ１００はまた、現在の記録を一時的に格納することなく、現在の記録を圧縮された記録としてメモリ１０２に書き込むことができる。これは、現在の記録が比較されるべき次の記録が存在しないからである。更に入ってくるデータ記録が存在すれば、アルゴリズム２００は、次の記録が現在の記録と比較され得るステップ２０２に戻り得る。
【００２２】
本発明の実施例によって、本発明の理解を手助けすべく、整数のデータ値で実行されるアルゴリズム２００の例が以下に示される。例えば、以下の入ってくるデータ記録を取り上げ、各１０進数は２進コードにおけるニブルを表す。
(１)  １２３４５６７８
(２)  １２３４５６７８
(３)  １２３４５６７８
(４)  １２３４５６７７
(５)  １２３４５６７５
(６)  １２３４５６７６
アルゴリズム２００によれば、プロセッサ１００は第１のデータ記録を受信し、第１のデータ記録と比較する以前の記録が無いから、プロセッサ１００は８ニブルが続くことを示すヘッダニブルで第１のデータ記録を格納する。従って、圧縮された形式は、Ｆ１２３４５６７８であり、ここで「Ｆ」は非圧縮の８ニブルが続くことを表すヘッダニブルである。換言すれば、８データニブルは、元の入ってくるデータを含む。
【００２３】
本発明の実施例によれば、プロセッサ１０１は次に第１のデータ記録と同一の第２のデータ記録を受信することができる。従って、プロセッサ１０１は、尚、第１のデータ記録と同一である第３のデータ記録を進めることができる。プロセッサ１０１は次に、第４のデータ記録を進める。第４のデータ記録は第１のデータ記録と同一でないから、第２及び第３のデータ記録は２つのニブルに圧縮され、１つはヘッダニブルであって１の記録が以前の記録と同一であることを表し、もう１つはデータニブルであって幾つの記録が同一であるかを表している。この場合において、第２及び第３のデータ記録は第１のデータ記録と同一であるから、従ってデータニブルは２である。従って、第２及び第３のデータ記録は「０２」に圧縮される。
【００２４】
プロセッサ１０１は次に、第４のデータ記録を第３のデータ記録と比較する。この場合において、差は１つの(１２３４５６７８―１２３４５６７７)である。更に、第４のデータ記録は第３のデータ記録未満である。差が所定数のデータニブル(この場合８)未満であることを表しているから、プロセッサ１０１は記録を比較する。この場合において、第４のデータ記録は「１１」と圧縮され、ヘッダニブルは１であり、１ニブルが後に続き、データニブルの値は古い値―新たな値を表す。差が１であるから、データニブルは１である。
同様の比較が第５のデータ記録と第４のデータ記録の間でなされる、しかし、第５のデータ記録は第４のデータ記録とは２だけ異なる。従って、圧縮された記録は「１２」として格納される。
【００２５】
第６のデータ記録は第５のデータ記録よりも大きい。しかし、差はまた、１つのニブルにて表される。従って、第６のデータ記録は「８１」と圧縮され、「８」は１つのデータニブルが続くことを表すヘッダニブルを備え、該データニブルは、新たな値―古い値を表す。「１」はデータニブルを含み、第６のデータ記録と第５のデータ記録の差は１である。
プロセッサ１０１はこのようにして、入ってくるデータ流れ１２３４５６７８１２３４５６７８１２３４５６７８１２３４５６７７１２３４５６７５１２３４５６７６を受信し、圧縮された記録をＦ１２３４５６７８０２１１１２８１としてメモリ１０２に書き込む。これは、格納されたニブル２３(４０―１７)内の全体の差が、５８％に全体圧縮される結果となる。
上記の本発明は、従来技術に比して優れた圧縮を提供する、何故ならデータ記録の略全体はデータ記録の同一部分以外のみが圧縮されるからである。これは、メモリ１０２に書き込まれた圧縮された記録は、現在の記録と以前の記録の差を含むからである。このようにして、プロセッサ１０１は、データ記録の一部のみが圧縮される従来技術よりも、さらに大きな圧縮比を実現することができる。
【００２６】
上記の記載は、入ってくるデータが整数であることを示してきたが、本発明は浮動値(floating value)にも等しく適用可能であることは理解されるべきである。IEEE-754単精度浮動小数点数が以下の例に使用されるが、浮動小数点データの他の標準と同様のIEEE-754倍精度が等しく用いられ得ることは理解されるべきである。従って、本発明はIEEE-754単精度浮動小数点数に限定されるべきではない。変換された１６進数表記が浮動値に続く浮動数を含む以下の入ってくるデータを考える。再度、各１６進数文字は２進数の４ビットを表すことは理解されるべきである。
(１)  ４.０２１８      ４０８０Ｂ２９６
(２)  ３.７２０９      ４０６Ｅ２３３Ａ
(３)  ３.４１７０      ４０５ＡＢ０２１
(４)  ３.１０７６      ４０４６Ｅ２ＥＢ
(５)  ２.８６３３      ４０３７４０４Ｆ
(６)  ２.７２３３      ４０２Ｅ４Ａ８Ｃ
【００２７】
アルゴリズム２００によれば、上記例の第１のデータ記録は非圧縮で残り、記録が非圧縮の８ニブルを含むことを表す「Ｆ」のヘッダニブルとともに格納される。このようにして、第１のデータ記録は実際には、負圧縮に帰する更なるニブル(ヘッダニブル)を含む。プロセッサ１０１は次に、第２のデータ記録を受信し、それを第１のデータ記録と比較する。比較時に、プロセッサ１０１はステップ２０３にて、第１のデータ記録と第２のデータ記録の間の差が、所定数のニブル(８)未満で格納され得ることを判断する。従って、第２のデータ記録は圧縮されて、「Ｄ１２８Ｆ５Ｃ」のように第２のデータ記録と第１のデータ記録の間の差として格納される。この圧縮された記録において、「Ｄ」は表１によれば６つのデータニブルが続くヘッダニブルであり、該データニブルは以前の値から新たな値を引くことを表す。データニブル１２８Ｆ５Ｃは、第１のデータ記録と第２のデータ記録の間の差を１６進数で表す。
【００２８】
プロセッサ１０１は、同様の方法で残りのデータを圧縮し、第２のデータ記録と第３のデータ記録の間の差は１６進数で１３７３１９であり、従って第３のデータ記録はＤ１３７３１９として圧縮される。同様に、第３のデータ記録と第４のデータ記録の間の差は１６進数で１３ＣＤ３６であり、従って第４のデータ記録はＤ１３ＣＤ３６として圧縮される。第４のデータ記録と第５のデータ記録の差はＦＡ２９Ｃである。この差は６ではなく５ニブルとして表されるから、第５のデータ記録はＣＦＡ２９Ｃとして圧縮され、先頭のＣは５のデータニブルが続くことを表し、データニブルは以前の値―新たな値を表す。同様に、第５のデータ記録と第６のデータ記録の間の差は、８Ｆ５Ｃ３であり、従って第６のデータ記録はＣ８Ｆ５Ｃ３として圧縮される。
【００２９】
浮動数を表す第６のデータ記録の圧縮は、約１２.５％の全体圧縮に帰する。より少ない連続した記録が異なれば、記録間の差を表すのに必要なニブルの数は少なくなり、より大きな圧縮に帰する。送信器１０４が流体流れ測定結果を送信する実施例に依れば、全体圧縮は測定の頻度に依存し得る。これは、何故なら、測定がより頻繁であれば、各測定が互いに変わることが少なくなるからである。従って、測定の数は増加するが、測定結果間の差は少ないニブルにて表され、圧縮の全体増加に帰する。
上記の圧縮に加え、プロセッサ１０１は更なるステップを実施して、浮動数上で実行される圧縮を増加させる。これらの更なるステップは、「ムンギング(munging)」と呼ばれる。本発明の一実施例によれば、プロセッサ１０１はデータ記録内の最下位の数を切り捨てることができる。或る応用例について、最下位の数を切り捨てることは、データの正確性に実質的に影響を与えない。これは特に流体流れ測定にて真実であり、例えば入ってくる測定結果は、顧客が要求するよりもより正確である。現在の電気電子技術標準協会の標準によれば、単精度の浮動数は８ニブルを用いて表され、仮数要素を考慮に入れると有効数字の７つの１０進数の桁を大体表す。本発明の一実施例に依れば、プロセッサ１０１はデータを６つの桁として表し、このようにして格納時の１ニブルの値の必要性を減じている。このように、１つの桁を除去することは圧縮を増加させる。
【００３０】
更に、電気電子技術標準協会によって述べられた標準により、浮動数の符号(＋/−)は第１のビットで表され、０は数が正であることを意味し、１は数が負であることを意味する。入ってくるデータが０回りを彷徨い、このように定期的に符号を変更すれば、２つの記録間の絶対差が比較的小さくても、差は高い数のニブルで表されなければならない。従って、本発明の一実施例に依れば、符号は記録の開始から記録の終端に動かされる。従って、入ってくるデータが符号を連続的に変えても、プロセッサ１０１によって処理される代表数(represented number)は比較的小さく変化し、連続した記録間の差は、より少ないニブルで表される。プロセッサ１０１によって実行されるこれらの追加のステップは、記録間の差がより少ないニブルで表されるので、圧縮時にかなり増加する結果となる。
【００３１】
上記記載はデータ圧縮に重点を置いたが、プロセッサ１０１はまた、メモリ１０２内に格納された記録を復元することができる。復元は圧縮アルゴリズムと同様の手順をたどる。メモリ１０２内に格納された記録は、種々の理由からアクセスされる必要があり、従って必要な特定の記録は変わる。全ての記録が必要であれば、プロセッサ１０１は単に記録の当初にて開始し、各記録に連続的にアクセスすることができる。
しかし、幾つかの状況において、全ての記録が一度にアクセスされる必要は無い。この場合には、プロセッサ１０１はどの記録が必要かを最初に識別するのに必要な記録にアクセスする。一旦、必要な記録が識別されると、プロセッサ１０１は続くデータニブルが非圧縮であることを示すヘッダニブルを含む以前に格納された記録を見付けなければならない。例えば、表１が用いられると、これはヘッダニブル「Ｆ」に対応する。この非圧縮記録は必要である、何故なら必要な記録を含む全ての連続した格納された記録は、２つの連続した記録の間の差を示すからである。しかし、以前の非圧縮記録を認識しないと、差は有益な情報をもたらさない。一旦、非圧縮記録が検索されると、プロセッサ１０１は、必要な記録が検索され復元されるまで続く略全ての記録を復元し続けることができる。
【００３２】
上記の連続したアクセスルーチンは、対象の記録を復元すべくアクセスすることが必要な記録の数が、著しく大きくない(not prohibitive)状況にて適切である。しかし、復元された記録の数は、過度の処理時間量を必要とする。従って、本発明の一実施例によれば、プロセッサ１０１は、圧縮アルゴリズム３００に従って、入ってくるデータを圧縮することができる。
【００３３】
図３は、本発明の一実施例に従って、プロセッサ１０１によって実行され得る圧縮アルゴリズム３００を示す。圧縮アルゴリズム３００は、入ってくるデータがかなりの量は変化しない状況において特に有用である。これは送信器１０４が安定状態又は半安定状態であるとの中継情報である例において真実である。例えば、流体が比較的一定の流速で流れる地点にて、送信器１０４が流量計に連結されていれば、入ってくる流速は著しくは異ならない。従って、アルゴリズム２００に従って、入ってくる記録が圧縮されることができない以前に、圧縮され得る入ってくる多数のデータビットがあり得る。連続した記録間の差は、小さい数のニブルによって表されるから、アルゴリズム２００は高い圧縮比を提供することができる。しかし、対象の記録にアクセスするために多量の記録が復元されなければならない復元時には、面倒であることが判るであろう。アルゴリズム３００は、入ってくるデータのデータビットをベースライン記録と比較することにより、この問題を克服する。本発明の実施例に従って、ベースライン記録は例えば最初に受信した記録を含み得る。しかし、ベースライン記録はあらゆる受信記録であり得て、最初に受信した記録に限定されない。更に、ベースライン記録はプロセッサ１０１によって設定される値である。例えば、ベースライン記録は全ての受信した記録の平均値を含み得る。
【００３４】
アルゴリズム３００は、プロセッサ１０１が入ってくるデータを受信するステップ３０１にて開始する。入ってくるデータは図２に関して上記したようなビットデータの形式であり得る。本発明の実施例によれば、第１の記録は第１のベースライン記録として格納される。第１のベースライン記録は、第１の記録がアルゴリズム２００内に格納されるのと同様の方法で格納され得る。アルゴリズム２００の説明にて用いられる、入ってくる記録の例を取り上げる。
(１)  １２３４５６７８
(２)  １２３４５６７８
(３)  １２３４５６７８
(４)  １２３４５６７７
(５)  １２３４５６７５
(６)  １２３４５６７６
第１の記録は再び、Ｆ１２３４５６７８として格納され、「Ｆ」は非圧縮データの８ニブルが続くことを示す。
【００３５】
ステップ３０２にて、プロセッサ１０１は、現在のデータ記録とベースライン記録を比較する。これは、現在の記録を直前の記録と比較するアルゴリズム２００とは対照的である。
ステップ３０３にて、プロセッサ１０１は現在の記録とベースライン記録の間の差が所定数のニブルによって表されることができるかを判断する。表されることができるなら、プロセッサ１０１はステップ３０４に続き、現在の記録が、現在の記録とベースライン記録の差として圧縮される。一方、表されることができなければ、プロセッサ１０１はステップ３０５にて現在の記録を新たなベースライン記録として格納することができる。
ステップ３０６にて、プロセッサ１０１は以前に格納された記録が最新の記録であるかを判断し、そうであればアルゴリズム３００は終了する。圧縮されるべき更なるデータがあれば、プロセッサはステップ３０２に戻る。
上記の６つのデータ記録の例において、第２の記録及び第３の記録は、アルゴリズム２００に従って圧縮されたのと同じ方法で、アルゴリズム３００に従って圧縮される、即ち、第２の記録及び第３の記録は「０２」として圧縮される。
【００３６】
アルゴリズム２００に従って、第４の記録は圧縮された記録「１１」として書かれた。アルゴリズム３００に従って、第４の記録は「１１」と書かれる、何故なら第１のベースライン記録と第４の記録の差は、まだ１つであり、従って１つのニブルを用いて書き込まれる。
アルゴリズム２００に従って、第５の記録は、第４の記録と第５の記録の間の差に基づいて、圧縮された記録「１２」として書き込まれる。しかし、アルゴリズム３００に従って、第５の記録は第１のベースライン記録と比較される。第５の記録とベースライン記録の間の差は、３である(１２３４５６７８―１２３４５６７５)。従って、第５の記録は、圧縮された記録「１３」として書かれる。
アルゴリズム２００に従って、第６の記録は、圧縮された記録「８１」として書かれる。しかし、アルゴリズム３００に従って、第６の記録は、第１のベースライン記録と第６の記録の間の差に基づいて「１２」と書かれる。
【００３７】
上記の例において、圧縮比は両アルゴリズムについて同じである。常にこの状況ではないことは理解されるべきである。例えば、入ってくるデータが一方向に連続的に変化するならば、入ってくるデータが増加していれば、アルゴリズム３００はアルゴリズム２００と同等には圧縮しない。何故なら、圧縮された記録は、圧縮された記録とベースライン記録の間の差を表すのに、圧縮された記録と以前の記録の間の差を表すのに必要なニブルよりも、より多くのニブルを必要とするからである。
【００３８】
アルゴリズム２００に対するアルゴリズム３００の利点は、復元時に認識される。アルゴリズム２００が必要とするように、第１の非圧縮記録と必要な記録の間の全ての記録の復元が必要ではなく、アルゴリズム３００はベースライン記録と必要な記録の復元のみが必要である。上記の６つの例の記録に再び言及して、第５の記録が復元されることを要求されれば、プロセッサ１０１は５つの記録(１−５)を復元して、アルゴリズム２００に従って復元された５つの記録を得なければならない。しかし、アルゴリズム３００に従って、第５の記録にアクセスするために、２つの記録のみ、第１のベースライン記録と第５の記録が復元されることが必要である。このようにして、或る記録にアクセスするのに必要な処理時間は、アルゴリズム３００に従って、略短くなる。
【００３９】
本発明の実施例に従って、ベースライン記録は、最初に受信された記録である必要は無いことは理解されるべきである。むしろ、ベースライン記録はあらゆる記録を含み得る。更に、新たなベースライン記録は、現在の記録とベースライン記録の間の差が所定数のニブルによって表され得ない各時間に要求される。従って、所定数のデータ記録の中で、多数のベースライン記録がある。復元中に記録にアクセスするとき、プロセッサ１０１は最も近似したベースライン記録にアクセスすることのみ必要である。有利なことに、所定の記録を復元するのに必要な処理時間は、短くなる。アルゴリズム３００は、使用者/作業者が全ての記録にアクセスする必要なく、特定の記録にアクセスしたい状況にて特に有用である。
【００４０】
上記の発明は、連続してアクセスされたビットデータの記録を圧縮する方法を提供する。本発明は、現在のデータ記録と第２のデータ記録の間の差を表す圧縮された記録をメモリに書き込むことにより、従来技術に比した利点を提供する。第２のデータ記録は直前に受信したデータを含み、又は直前の記録である必要は無いが、以前に受信したベースライン記録を含み得る。何れの場合も、圧縮された記録は、従来技術のように他の記録とは異なる非圧縮部分の記録を格納するのではなく、２つの記録間の差を含む。有利なことに、本発明は、記録の同一部分のみが圧縮されていた従来技術で実現されていたよりも、一層大きな圧縮比を実現することができる。
本発明は、データを復元する効率的な方法をも提供する。本発明の実施例によれば、プロセッサ１０１は以前に格納された非圧縮記録を認識し、所望の記録と非圧縮記録の間に格納された記録を復元する。他の実施例に従って、プロセッサ１０１はベースライン記録のような以前に格納された非圧縮記録を認識し、ベースライン記録のみに基づいて所望の記録を得る。
【００４１】
上記の実施例の詳細な記載は、本発明の範囲内であると発明者によって考慮された全ての実施例の包括的な記載ではない。実際に、当該技術分野の専門家は、上記の実施例の或る要素は様々に結合され、又は除去されて、更なる実施例を生成し、そのような実施例は本発明の範囲及び開示内に含まれる。上記実施例は全体が又は一部が結合されて、本発明の範囲及び開示内の更なる実施例を生成することは当業者には明白であろう。
このようにして、本発明の特定の実施例及び例が説明の目的からここに記載されているが、関連技術分野の専門家が認識するように、種々の均等な修正が本発明の範囲内で可能である。ここに提供された開示は、他の格納システムに応用でき、上記に記載され且つ添付の図面に示された実施例だけのものではない。従って、本発明の範囲は、以下の請求の範囲から決定されるべきである。
【図１】
2012506665.tif 000004
【図２】
2012506665.tif 000005
【図３】
2012506665.tif 000006
【国際調査報告】
2012506665.tif 000007