JP2018534811A - ロスレスデータ圧縮 - Google Patents
ロスレスデータ圧縮 Download PDFInfo
- Publication number
- JP2018534811A JP2018534811A JP2018513544A JP2018513544A JP2018534811A JP 2018534811 A JP2018534811 A JP 2018534811A JP 2018513544 A JP2018513544 A JP 2018513544A JP 2018513544 A JP2018513544 A JP 2018513544A JP 2018534811 A JP2018534811 A JP 2018534811A
- Authority
- JP
- Japan
- Prior art keywords
- data
- array
- processing device
- partitioned
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6058—Saving memory space in the encoder or decoder
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
分析装置は、データを生成するデータ取得システムを含む。分析装置は、最小限のハードウェア資源およびソフトウェア資源を用いて実装可能なロスレスデータ圧縮技術を利用するデータ圧縮システム/処理を含む。処理は、多数の並列演算に分割可能なように実装することができる。処理は、ソフトウェア、および/または、処理装置(フィールドプログラマブルゲートアレイ(FPGA)または画像処理ユニット(GPU)等)を用いて実装可能である。
Description
[本発明の簡単なサマリー]
本開示の一態様は、データを生成するデータ取得システムを含む分析装置である。データ取得システムは、分光計または他の装置を備えてもよい。分析装置は、最小限のハードウェア資源およびソフトウェア資源を用いて実装可能なロスレスデータ圧縮技術を利用するデータ圧縮システムおよび処理を含む。処理は、多数の並列演算に分割可能な方法で実装可能である。処理は、ソフトウェアおよび/または処理装置(フィールドプログラマブルゲートアレイ(FPGA)または画像処理ユニット(GPU)等)を利用して実装可能である。
本開示の一態様は、データを生成するデータ取得システムを含む分析装置である。データ取得システムは、分光計または他の装置を備えてもよい。分析装置は、最小限のハードウェア資源およびソフトウェア資源を用いて実装可能なロスレスデータ圧縮技術を利用するデータ圧縮システムおよび処理を含む。処理は、多数の並列演算に分割可能な方法で実装可能である。処理は、ソフトウェアおよび/または処理装置(フィールドプログラマブルゲートアレイ(FPGA)または画像処理ユニット(GPU)等)を利用して実装可能である。
本開示の別の態様は、データセットの可変の次元にわたる類似性を利用する処理である。この類似性は、時間的次元および/または空間的次元に存在し得る。しかしながら、本発明はこれらの次元には限定されない。
本開示の別の態様は、サイズnのN個の数値を含むデジタルデータストリームを生成するよう構成されるデータ取得システムを有する分析装置を含むシステムの動作を改良する方法である。これらの数値は、測定される変数の大きさに対応し、これらの数値のうち少なくともいくつかが少なくとも1個のゼロを含む。システムは、データ取得システムに動作可能に接続される処理装置を含む。データ取得システムおよび処理装置が分析装置内に収容されてもよいし、システムが、「ハード」線、無線通信装置または他の適切な構成を利用して動作可能に相互接続される分離した構成要素を備えてもよい。本方法は、データ取得システムからの元のデジタルデータストリームを処理装置に提供することと、少なくとも1つの区分データ配列を形成するために処理装置にデータストリームを区分させることとを含む。本方法は、また、少なくとも1つの(区分)転置(transposed)データ配列を形成するために、処理装置に少なくとも1つの区分データ配列を転置させることを含む。本方法は、少なくとも1つのインタリーブデータ配列を形成するために、処理装置に少なくとも1つの転置データ配列を分割させることを含んでもよい。圧縮データを形成し、データを記憶するのに必要なメモリ量を低減するために、処理装置は、数値の先頭部分のゼロ(複数可、以下同じ)をランレングスおよび符号化する。その後、圧縮データはメモリに記憶される。データストリームは区分されてサイズn×nの区分配列となってもよい。区分データ配列は、サイズ(2n)×(n/2)の、少なくとも1つのインタリーブデータ配列に変換されてもよい。任意選択として、転置データ配列は逆転されてもよい。また、先頭部分のゼロを1個も含まない数値は圧縮されなくともよく、メモリユニット内には圧縮データとともに非圧縮データが記憶されてもよい。圧縮データおよび/または非圧縮データは、圧縮データを解凍するよう構成されたプロセッサを有するコンピュータに、(導電体/ワイヤを介してまたは無線で)転送されてもよい。
本開示の別の態様は、測定される変数の大きさに対応するサイズnのN個の数を含むデジタルデータストリームを生成するよう構成されるデータ取得システムを含む分析装置(数値の少なくともいくつかは少なくとも1個のゼロを含む)である。分析装置は、データ取得システムからのデータストリームを受信するよう構成される処理装置を含む。処理装置は、少なくとも1つの区分データ配列を形成するためにデータストリームを区分し、少なくとも1つの転置データ配列を形成するためにこの少なくとも1つの区分データ配列を転置するよう構成される。プロセッサは、また、少なくとも1つのインタリーブデータ配列を形成するために、少なくとも1つの転置データ配列を分割し、圧縮データを形成するために数値の先頭部分のゼロをランレングスおよび符号化し、これによって、圧縮データを記憶するのに必要なメモリ量を低減するよう構成される。処理装置は、また、メモリに圧縮データを記憶するよう構成される。処理装置およびメモリは、分析装置内に収容されてもよい。代替的に、これらの構成要素は、データ取得システムに動作可能に接続される分離した構成要素であってもよい。
本発明の、これらのおよび他の、特徴、利点および目的は、以下の説明と、特許請求の範囲と、図面とを参照することにより、さらに当業者に理解される。
[詳細な説明]
図1を参照すると、システム10は分析装置20を含む。分析装置20は、パーソナルコンピュータ30等の計算装置に動作可能に接続されていてもよい。分析装置20は、分光計(グロー放電原子発光分光計等)を備えてもよい。分析装置20は、また、他の装置(重量分析装置、灰の溶融測定装置(ash fusion measuring device)、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、オーディオ装置、またはデータを生成および/または処理する他の装置、等)を備えてもよい。分析装置20は、測定される変数の大きさに対応するサイズnのN個の数を含むデジタルデータストリームを生成するよう構成されるデータ取得システム22(数値の少なくともいくつかは少なくとも1個のゼロを含む)を含む。データ取得システム22によって生成されるデータは、多くの、大多数の、またはすべての数値が少なくとも1個の先頭部分のゼロを含む、デジタルデータストリームの形式であってもよい。たとえば、各数値が、測定される変数の大きさに対応する16ビットの数値である場合において、測定された変数の値が可能な最大の大きさよりも小さい場合には、各数値は先頭部分に1個以上のゼロを含み得る。可能な最大の大きさよりも小さいものに対応するゼロが、先頭部分のゼロでなく末尾部分のゼロとして現れるように、数値を逆順にフォーマットしてもよいということが理解される。本明細書において、用語「先頭部分のゼロ」(単数および複数)という用語は、概して、可能な最大の大きさよりも小さい数値が少なくとも1個のゼロを含む任意の数値形式を参照する。
図1を参照すると、システム10は分析装置20を含む。分析装置20は、パーソナルコンピュータ30等の計算装置に動作可能に接続されていてもよい。分析装置20は、分光計(グロー放電原子発光分光計等)を備えてもよい。分析装置20は、また、他の装置(重量分析装置、灰の溶融測定装置(ash fusion measuring device)、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、オーディオ装置、またはデータを生成および/または処理する他の装置、等)を備えてもよい。分析装置20は、測定される変数の大きさに対応するサイズnのN個の数を含むデジタルデータストリームを生成するよう構成されるデータ取得システム22(数値の少なくともいくつかは少なくとも1個のゼロを含む)を含む。データ取得システム22によって生成されるデータは、多くの、大多数の、またはすべての数値が少なくとも1個の先頭部分のゼロを含む、デジタルデータストリームの形式であってもよい。たとえば、各数値が、測定される変数の大きさに対応する16ビットの数値である場合において、測定された変数の値が可能な最大の大きさよりも小さい場合には、各数値は先頭部分に1個以上のゼロを含み得る。可能な最大の大きさよりも小さいものに対応するゼロが、先頭部分のゼロでなく末尾部分のゼロとして現れるように、数値を逆順にフォーマットしてもよいということが理解される。本明細書において、用語「先頭部分のゼロ」(単数および複数)という用語は、概して、可能な最大の大きさよりも小さい数値が少なくとも1個のゼロを含む任意の数値形式を参照する。
システム10は、また、処理装置24を含む。処理装置24は、フィールドプログラマブルゲートアレイ(FPGA)、画像処理ユニット(GPU)または他の適切なプロセッサを備えてもよい。処理装置24は、事実上、任意の種類のプロセッサを備えてもよいということが理解される。処理装置24は、分析装置20内に収容されてもよい。代替的に、処理装置24は、分析装置20および/またはデータ取得システム22から分離して収容されてもよい。したがって、図1の構成は必ずしも特定の物理的構成には限定されないということが理解される。
処理装置24は、データ取得システム22によって生成されたデータを圧縮および/または解凍するためのアルゴリズムを実行するようプログラムされてもよい。図1において、圧縮/解凍アルゴリズムは「26A」と表記され、圧縮アルゴリズムは「26B」と表記される。しかしながら、これらの表記は本明細書における説明のために提供されており、本開示は必ずしも分離された圧縮および解凍アルゴリズム/処理には限定されない。処理装置24は、メモリ28に動作可能に接続される。メモリ28は、データ取得システム22の一部であってもよく、処理装置24に動作可能に接続された分離されたメモリを備えてもよい。概して、メモリ28は、ハードドライブ、可搬または固定のソリッドステートメモリ、光学的記憶装置(たとえば光ディスクドライブおよび光ディスク/CD/DVD等)または他の適切なメモリを備えてもよい。
分析装置20は、任意に、線32で示すようにパーソナルコンピュータ30等のコンピュータと相互接続されてもよい。線32は、無線接続、ケーブル、または分析装置20からパーソナルコンピュータ30にデータを転送するために利用可能な他の適切なデータ転送構成(フラッシュメモリ、光ディスク、等)を備えてもよいということが理解される。以下により詳細に論じるように、パーソナルコンピュータ30は、解凍アルゴリズム26Cおよび圧縮/解凍アルゴリズム26Aを含んでもよい。これらのアルゴリズム/処理は、分離されている必要はないということと、「26A」および「26C」という表記は議論のために提供されるということとが理解される。また、分析装置20は圧縮アルゴリズム26Bのみを含んでもよく、コンピュータ30は解凍アルゴリズム26Cのみを含んでもよい。パーソナルコンピュータ30は、大容量記憶ユニット34等のメモリ能力を含む。大容量記憶ユニット34は、ディスクドライブ、ソリッドステートメモリ、または、取り外し可能メモリストレージ(光ドライブ/ディスク、フラッシュメモリ、等)を備えてもよい。
さらに図2を参照すると、圧縮/解凍処理40は、概してステップ42において開始する。ステップ42において、入力される生データストリームは、処理装置24等のプロセッサによって受信される。入力される生データストリームは、N個の数値(各数値はn個のビットを含む)の配列を含んでもよい。たとえば、各数値は、4、8、16、32、64、またはより多くのビットを含んでもよい。ステップ44において、入力される生データストリームは、区分配列を形成するために区分される。たとえば、16ビットのデータに対しては、16×16ビットの区分配列が形成される。ステップ46において、各区分配列は転置される。ステップ48において、任意で、逆転区分配列を形成するために、数値の順序が逆転されてもよい。
ステップ50において、区分配列(任意で、逆転されたものであってもよい)が、分割または変換されてインタリーブ配列となる。たとえば、16×16ビットの配列は、32×8ビットのインタリーブ配列となる。
本アルゴリズムは、ステップ52において、各数値の最初のデータ位置が0であるか否かを判定する。たとえば、ステップ50で32×8ビットのインタリーブ配列が形成された場合、ステップ52において、本アルゴリズムは、8ビットの数値のそれぞれが先頭部分にゼロを含むか否かを判定する。上述のように、各数値が可能な最大の値より小さい場合に末尾部分にゼロが存在するように各数値が形成されている場合には、「最初」のデータ位置は先頭のゼロであるとは限らない。概して、最初のデータ位置がゼロとなる状態は、ある数値が、その数値に対して可能な最大の値よりも小さい場合には、数値の形式に関わらず、いつでも発生し得る。
最初のデータ位置がゼロである場合(ステップ52)、本アルゴリズムは、ステップ54に示すように先頭部分のゼロをランレングス符号化し、その後、ステップ56に示すように、ランレングスデータおよび残りのデータ(すなわち各数値のゼロでない部分)が、出力される圧縮データのデータストリームへと形成される。ステップ58において、ステップ56の圧縮データストリームがステップ52からの非圧縮データと組み合わせられ、メモリに記憶される。ステップ52からの非圧縮データは、ゼロである最初のデータ位置を持たない数値を含む。
ステップ60において、元の生データストリームを形成するために、圧縮データは解凍され、以前にステップ58で記憶された非圧縮データとアセンブルされる(すなわち組み合わせられる)。上述のように、記憶されたデータ(ステップ58)は、分析装置20に関連付けられるメモリ28内に記憶されてもよく、および/または、パーソナルコンピュータ30等の大容量記憶ユニット34に記憶されてもよい。同様に、データは、分析装置20に関連付けられる処理装置24によって解凍されてもよく、および/または、パーソナルコンピュータ30または他の適切な装置を利用して解凍されてもよい。
概して、解凍は、非圧縮データから圧縮データを分離することを含み、その後、ステップ44、46、48、50、54および56が逆転され、反転された動作が実行される。たとえば、1個以上のゼロを含む数値を生成するためにランレングス復号が実行され、インタリーブ配列が形成される。インタリーブ配列は、サイズn×nの転置配列に変換される。圧縮中に配列の順序が逆転されていた場合には、転置区分配列を再形成するために、解凍処理中に配列が逆転される。その後、区分配列を形成するために、転置区分配列が転置され、これはその後、元の生データストリームを再形成するために組み合わせられる(アセンブルされる)。
図3は、図2による処理を示す例である。この例は、サイズNの16ビットの数値のデータ配列を利用する。典型的には、このデータはアナログ・デジタルコンバータ(ADC)等の装置からストリーミングされる。データは、事実上、任意の種類のデータを含み得る。たとえば、データは、グロー放電原子発光分光計、熱重量分析装置、灰の溶融測定装置、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、オーディオ装置、または、データを測定/生成し、および/または、データを処理する、事実上任意の種類の他の装置、等の装置によって生成された測定値を含み得る。たとえば、本開示のシステム/装置/処理は、米国特許第9,425,034号、第9,406,493号、第9,312,119号、第9,048,080号、第7,385,187号、および第6,023,330号の分光計に関連して実装可能である。
データは、有意な数のゼロを含み得る。たとえば、オーディオベースのシステムにおいて、音のボリュームをnビット(たとえば16ビット)の数値によって表すことができる。多くの場合において、測定される音の大部分は例外的に大きくはなく、したがって、測定データのすべてまたはほとんどは少なくとも1個のゼロを含み、測定されたオーディオ信号が最大値に達しなかったということを示す。
以下の例では、各データ点が16ビットの数値を用いて表される。しかしながら、特定の用途に必要であれば、より多いまたはより少ないビット数を利用してもよいということが理解される。たとえば、各データ点は8ビット、32ビット、64ビットの数値を含んでもよい。さらに、以下の例は、いかなる特定種類のデータにも限定されないということが理解される。
圧縮処理の第1ステップは、生データの配列(ストリーム)を区分して、サイズn×nの、少なくとも1つの区分配列にすることである。16ビットサイズの16個の数値の場合には、次の表2に示すように16×16区分配列が形成される:
処理は生データストリームの比較的小さい部分を利用するので、典型的には、圧縮処理が開始される前にNサイズの配列全体を記憶する必要はない。
これは、配列の一方向に向けてゼロをパックする(または配置する)傾向がある。
以下に論じるように、図3に関連して、その後、逆転転置配列を形成するために、配列の反対側へとゼロをシフトするように数値の順序を逆転してもよい。
表4に示すようにビットを8ビット対(インタリーブ配列)へと分解することにより、ランレングス情報を記憶するために使用可能な1バイトが節約される。このインタリーブ配列は、概して、(2n)×(n/2)配列の形式である。
配列内の深くにあるデータは、典型的にはより「特徴リッチ」であり、圧縮度がより低い。データを圧縮するために、最初のデータ位置が0であるか否かが判定される。ゼロでない場合には、圧縮は行われない。表5の例では、RLL(ランレングス)は最大32バイトである。表5において、UDは残りの非圧縮データである。
図3は、1つの区分データ配列に対する処理ステップを示す例である。図3において、処理は、列1(「生データ」)に示すように16個の数値で開始される。列1では、16×16ビット配列を形成するために生データが区分されている。その後、列2(「転置」)に示すように、生データはビット単位で転置される。その後、列3(「逆転配列」)に示すように、数値の順序が逆転される。上述のように、配列を逆転することは任意である。その後、列4(「インタリーブ配列」)に示すインタリーブ配列を形成するために、データ(逆転配列)は、16×16ビットのワードから32×8ビットのバイトへと変換される。その後、列5(「RLL」)に示す最終的圧縮を形成するために、先頭部分のゼロがランレングス符号化される。
解凍は、上に概説した各ステップを逆転し、列6(「非圧縮」)に示す非圧縮データを再生成するための逆関数を利用することによって、実行することができる。具体的には、列5のデータを解凍するためには、まずインタリーブ配列(列4)を形成するために、逆ランレングス符号化ステップが実行される。その後、32×8ビットのバイト(インタリーブ配列)が、16×16ビットのワード(逆転配列)に変換される。その後、(圧縮中に逆転が行われていた場合には)転置配列を形成するために逆転配列の順序が逆転される。その後、元の区分16×16ビット生データ配列を形成するために、転置配列が転置される。その後、元のNサイズのデータ配列を形成するために、各区分配列をアセンブルしてもよい。
再び列4および5(図1)を参照すると、図示の例では、サブ配列サイズは16個の整数である。最初のバイト(列5)は、サブ配列(列4)におけるゼロの数である。このように、図示の例では、列5の最初のバイト(10)は、列4のインタリーブ配列のトップのゼロの数(10)に対応する。最初のバイト(列5)は、次のサブ配列が開始される数を決定するために合計から減算されてもよい。
上述の処理/アルゴリズムは、様々なデータ取得システムからのデータを利用して試験された。テストケースでは圧縮比は20%を超えた。さらなるステップを追加することにより、より高い比率が得られる可能性があるが、より多くの資源が必要となるであろう。特定の用途に対しては、形式を、32ビット、64ビット、8ビット、等に変更可能であるということが理解される。
本開示の別の態様は、データセットの変化する次元にわたる類似性を活用することを含む。最初のロスレスデータ圧縮手法の、次元における拡張は、時間におけるデータセット間の類似性を活用した。そのようなデータセットの、時間における2回の観測の間の差分を取ることは、すべてのビットを利用するわけではなく、したがって、最初に説明したロスレスデータ圧縮によって圧縮することが可能となる。
以下は、本開示による方法または処理のこの(任意追加の)態様を説明する。以下の議論では、Yは観測を表し、サイズT×Nである。Tは時間におけるサンプルの総数であり、Nは各データセットの長さを表す。Y(0,n)は、位置nでの、時間的に最初のデータセットを表す。Y(1,n)は、位置nでの、時間的に2番目のデータセットを表す。Y(T,n)は、位置nでの、時間的に最後のデータセットを表す。
時刻t、位置nでの2つのデータセット間の差分をD(t,n)と表す。最初の値Dに対する例外に注意せよ。
D(0,n)=Y(0,n) (1.0)
D(1,n)=Y(1,n)−Y(0,n) (1.1)
D(T,n)=Y(T,n)−Y(T−1,n) (1.2)
Yは必ずしも単調なものではないので、Dに含まれるデータは、正負両方の数値を持つ。差分の符号を保存するために、別のパラメータSを利用する。
S(t,n)=sign(D(t,n)) (1.3)
符号情報が保存されるので、Dの絶対値を取ることができ、したがって、負の数について2の補数を記憶する必要がなくなる。このステップの結果として、Dの値の比較的高位のビットにおいてゼロが存在し、その結果として、図2および表1〜5に関連して上述した処理を用いて高度に圧縮可能となるデータが得られる。
D(t,n)=abs(D(t,n)) (1.4)
D(1,1:n)は、図2および表1〜5に関連して上述した処理の最初の説明に基づいて、時刻tでの各観測について圧縮される。例外は、符号情報を圧縮データに含めなければならないということである。これは、次の表6に示すように、符号情報をRLLとUDデータとの間に記憶することによって実現される:
表6は実質的に表5(上述)と同一である。この例では、ランレングス(RLL)は最大32バイトになり得る。図6に示される、残りの非圧縮データ(UD)。
D(0,n)=Y(0,n) (1.0)
D(1,n)=Y(1,n)−Y(0,n) (1.1)
D(T,n)=Y(T,n)−Y(T−1,n) (1.2)
Yは必ずしも単調なものではないので、Dに含まれるデータは、正負両方の数値を持つ。差分の符号を保存するために、別のパラメータSを利用する。
S(t,n)=sign(D(t,n)) (1.3)
符号情報が保存されるので、Dの絶対値を取ることができ、したがって、負の数について2の補数を記憶する必要がなくなる。このステップの結果として、Dの値の比較的高位のビットにおいてゼロが存在し、その結果として、図2および表1〜5に関連して上述した処理を用いて高度に圧縮可能となるデータが得られる。
D(t,n)=abs(D(t,n)) (1.4)
D(1,1:n)は、図2および表1〜5に関連して上述した処理の最初の説明に基づいて、時刻tでの各観測について圧縮される。例外は、符号情報を圧縮データに含めなければならないということである。これは、次の表6に示すように、符号情報をRLLとUDデータとの間に記憶することによって実現される:
SD欄を介して各差分の符号情報を記憶するために、以下が用いられる:
RLL−ランレングスは、この例では最大32バイトになり得る。
SD−各ビットは、位置nでの差分の符号を表す。これは、16要素のサブ配列を用いる例に基づき、16ビットの数値として記憶される。
UD−は、次の表7に示す残りの非圧縮データである:
t=0の時には、実際には差分が発生していないので、すべての符号ビットがゼロになるということに注意すべきである。
RLL−ランレングスは、この例では最大32バイトになり得る。
SD−各ビットは、位置nでの差分の符号を表す。これは、16要素のサブ配列を用いる例に基づき、16ビットの数値として記憶される。
UD−は、次の表7に示す残りの非圧縮データである:
サブ配列の解凍は、表1〜5および図1,2に関連して上述したように、RLL欄およびUD欄を用いて行われる。しかしながら、時刻tにおけるデータが、各データ点nに対するt−1におけるデータの和であるのか、または差であるのかを判定するために用いることができるように、SD欄は保存しなければならない。たとえば:
D(0,n)の解凍はY(0,n)を生じる。
D(1,n)を解凍する際に、以下の方程式によってY(1,n)の値が得られる:
SD(1,n)が0である時には、Y(1,n)=Y(0,n)+D(1,n)
SD(1,n)が1である時には、Y(1,n)=Y(0,n)−D(1,n)
D(0,n)の解凍はY(0,n)を生じる。
D(1,n)を解凍する際に、以下の方程式によってY(1,n)の値が得られる:
SD(1,n)が0である時には、Y(1,n)=Y(0,n)+D(1,n)
SD(1,n)が1である時には、Y(1,n)=Y(0,n)−D(1,n)
上述の処理/アルゴリズムは、複数次元における圧縮性を同時に活用するロスレスデータ圧縮を提供する。第1の次元はデータの空間的次元であり、結果として、データの多くが同様の強度(intensity)にあるという事実が得られる。第2の次元は、時間におけるデータがほとんど変化しないという事実を活用する。これら2つの方法を組み合わせた結果として、50%を超えるデータ圧縮が得られた。
表1〜5および図1,2に関連して上述したように、データ形式は16ビットのサイズには限定されない。同様に、表6および7に関連して説明した処理は、最初の1×Nデータセットにも、T回観測される1×Nデータセット(すなわちサイズT×Nのデータセット)にも限定されない。本発明の処理は、サイズM×Nのデータセット(画像等)や、サイズM×N×Tのデータセット(ビデオ等)に適用可能である。
上述のように、本開示の処理は、広汎な装置に関連して利用可能である。そのような装置は、上述の処理を利用して圧縮可能なデジタルデータストリームを生成するアナログ・デジタルコンバータを含み得る。圧縮および/またはデータ処理に続いて、画面にデータ表示を提供するためにデータが利用されてもよい。たとえば、データは、データ取得システム/装置を有する分析装置の画面上に、ラップトップコンピュータの画面上に、または、他の適切な装置上に、グラフィック形式で表示されてもよい。
本明細書に記載された方法は、上述のアルゴリズム26Aおよび/または26Bの命令を実行する処理装置24によって実行されてもよい。これらの命令は、メモリ28のような、過渡的でないコンピュータ可読媒体に記憶されてもよい。
また、データは最初にデータ取得システム/装置のFPGAまたはGPU等の装置を利用して圧縮されてもよく、データは後にFPGAまたはGPUによって解凍されてもよく、データはラップトップコンピュータまたは他の適切な装置を利用して解凍されてもよいということが理解される。
Claims (20)
- 測定された変数の大きさに対応するサイズnのN個の数値を含むデジタルデータストリームを生成するよう構成されるデータ取得システムを含む分析装置を含むシステムの動作を改良する方法であって、
前記数値の少なくともいくつかは、少なくとも1個のゼロを含み、
前記システムは、前記データ取得システムに動作可能に接続された処理装置を含み、
前記方法は、
前記処理装置に、前記データ取得システムからの元のデジタルデータストリームを提供することと、
少なくとも1つの区分データ配列を形成するために、前記データストリームの少なくとも一部を前記処理装置に区分させることと、
少なくとも1つの転置データ配列を形成するために、前記少なくとも1つの区分データ配列を前記処理装置に転置させることと、
少なくとも1つのインタリーブデータ配列を形成するために、前記少なくとも1つの転置データ配列を前記処理装置に分割させることと、
前記データを記憶するのに必要なメモリ量を低減するための圧縮データを形成するために、各前記数値の先頭部分のゼロを前記処理装置にランレングス符号化させることと、
メモリに前記圧縮データを記憶することと
を備える、方法。 - 前記データストリームの前記少なくとも一部を、前記処理装置に区分させて、少なくとも1つの、サイズn×nの区分配列にすることを含む、請求項1に記載の方法。
- 前記処理装置に、前記少なくとも1つの区分データ配列を、少なくとも1つの、サイズ(2n)×(n/2)のインタリーブデータ配列に、変換させることを含む、請求項2に記載の方法。
- 前記転置データ配列を前記処理装置に逆転させることを含む、請求項1〜3のいずれか一項に記載の方法。
- 前記圧縮データを解凍するよう構成されるプロセッサを有するコンピュータに、前記記憶された圧縮データを転送することを含む、請求項1〜4のいずれか一項に記載の方法。
- 前記コンピュータの前記プロセッサは、
少なくとも1つのインタリーブデータ配列を形成するために、前記圧縮データを逆ランレングス符号化するステップと、
前記少なくとも1つのインタリーブデータ配列を、少なくとも1つの転置データ配列に変換するステップと、
少なくとも1つの区分データ配列を形成するために、前記少なくとも1つの転置データ配列を転置するステップと
を実行することにより、前記圧縮データを解凍するよう構成される、請求項5に記載の方法。 - 前記元のデジタルデータストリームと実質的に同一のデータストリームを形成するために、前記コンピュータの前記プロセッサは、複数の区分データ配列をアセンブルするよう構成される、請求項6に記載の方法。
- 前記処理装置に前記元のデジタルデータストリームを提供するために、
グロー放電原子発光分光計、熱重量分析装置、灰の溶融測定装置、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、および、オーディオ装置
からなる群のうちから選択されるデータ取得システムを利用することを含む、請求項1〜7のいずれか一項に記載の方法。 - 前記処理装置は、フィールドプログラマブルゲートアレイおよび画像処理ユニットのうち少なくとも1つを備える、請求項1〜8のいずれか一項に記載の方法。
- パーソナルコンピュータを準備することと、
圧縮データを前記データ取得システムから前記パーソナルコンピュータに転送することと
を含む、請求項1〜9のいずれか一項に記載の方法。 - 前記処理装置に、最初のデータ位置がゼロであるか否かを判定させ、前記最初のデータ位置がゼロである場合にのみ、前記少なくとも1つの区分データ配列を転置させることを含む、請求項1〜10のいずれか一項に記載の方法。
- メモリに記憶される圧縮データおよび非圧縮データを含むデータストリームを、前記処理装置に生成させることを含む、請求項11に記載の方法。
- 前記元のデジタルデータストリームは、離散時間インターバルで取得される測定データを含むN個の数値を含み、各数値は測定される変数の大きさを含む、請求項1〜12のいずれか一項に記載の方法。
- 前記処理装置に、
1)時間および位置における2つのデータセットの間の差分を決定させ、
2)符号パラメータを用いて差分の符号を保存させ、
3)前記差分の絶対値を決定させ、
4)前記差分を圧縮させ、
5)圧縮された前記差分および前記符号パラメータを記憶させる
ことを含む、請求項1〜13のいずれか一項に記載の方法。 - データ取得システムを含む分析装置であって、
前記データ取得システムは、測定された変数の大きさに対応するサイズnのN個の数値を含むデジタルデータストリームを生成するよう構成され、
前記数値の少なくともいくつかは、少なくとも1個のゼロを含み、
前記システムは処理装置を含み、前記処理装置は、前記データ取得システムからデータストリームを受信するよう構成され、
前記処理装置は、
少なくとも1つの区分データ配列を形成するために、前記データストリームの少なくとも一部を前記処理装置に区分させ、
少なくとも1つの転置データ配列を形成するために、前記少なくとも1つの区分データ配列を前記処理装置に転置させ、
少なくとも1つのインタリーブデータ配列を形成するために、前記少なくとも1つの転置データ配列を前記処理装置に分割させ、
前記データを記憶するのに必要なメモリ量を低減するための圧縮データを形成するために、各前記数値の先頭部分のゼロを前記処理装置にランレングス符号化させ、
メモリに前記圧縮データを記憶する
ように構成される、分析装置。 - 前記処理装置は、前記転置データ配列を逆転させるよう構成される、請求項15に記載の分析装置。
- 前記処理装置は、前記データストリームの前記少なくとも一部を区分して、少なくとも1つの、サイズn×nの区分配列にするよう構成される、請求項15または16に記載の分析装置。
- 前記処理装置は、前記少なくとも1つの区分配列を、サイズ(2n)×(n/2)のインタリーブ配列に変換するよう構成される、請求項17に記載の分析装置。
- 前記分析装置は少なくとも1つのメモリ記憶ユニットを含み、前記メモリ記憶ユニットは、ハードディスクおよび/またはソリッドステートメモリを備え、前記処理装置は、前記メモリ記憶ユニットに圧縮データを記憶するよう構成される、請求項15〜18のいずれか一項に記載の分析装置。
- 前記分析装置は、
グロー放電原子発光分光計、熱重量分析装置、灰の溶融測定装置、熱量計、元素分析装置、デジタル顕微鏡、質量分析装置、および、オーディオ装置
からなる群のうちから選択される、請求項15〜19のいずれか一項に記載の分析装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562218279P | 2015-09-14 | 2015-09-14 | |
US62/218,279 | 2015-09-14 | ||
US15/264,073 US9748972B2 (en) | 2015-09-14 | 2016-09-13 | Lossless data compression |
US15/264,073 | 2016-09-13 | ||
PCT/US2016/051588 WO2017048753A1 (en) | 2015-09-14 | 2016-09-14 | Lossless data compression |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018534811A true JP2018534811A (ja) | 2018-11-22 |
Family
ID=58237357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018513544A Pending JP2018534811A (ja) | 2015-09-14 | 2016-09-14 | ロスレスデータ圧縮 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9748972B2 (ja) |
JP (1) | JP2018534811A (ja) |
DE (1) | DE112016004165T5 (ja) |
GB (1) | GB2562897B (ja) |
WO (1) | WO2017048753A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10069511B2 (en) * | 2016-12-12 | 2018-09-04 | Texas Instruments Incorporated | Lossless data compression |
CN108832935B (zh) * | 2018-05-31 | 2022-05-10 | 郑州云海信息技术有限公司 | 一种rle算法实现方法、系统、设备及计算机存储介质 |
JP7024866B2 (ja) * | 2018-06-01 | 2022-02-24 | 株式会社島津製作所 | 機器分析用データ処理方法及び装置 |
CN108803542B (zh) * | 2018-08-01 | 2020-09-18 | 武汉索雅信息技术有限公司 | 工业生产数据管理系统 |
GB2579399B (en) * | 2018-11-30 | 2020-12-16 | Imagination Tech Ltd | Data compression and storage |
JP7172537B2 (ja) * | 2018-12-11 | 2022-11-16 | 株式会社島津製作所 | イメージング分析装置 |
CN111431539B (zh) * | 2020-03-04 | 2023-12-08 | 嘉楠明芯(北京)科技有限公司 | 一种神经网络数据的压缩方法、装置及计算机可读存储介质 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5007100A (en) * | 1989-10-10 | 1991-04-09 | Unisys Corporation | Diagnostic system for a parallel pipelined image processing system |
US5287416A (en) * | 1989-10-10 | 1994-02-15 | Unisys Corporation | Parallel pipelined image processor |
US5473326A (en) * | 1990-12-14 | 1995-12-05 | Ceram Incorporated | High speed lossless data compression method and apparatus using side-by-side sliding window dictionary and byte-matching adaptive dictionary |
US5678043A (en) | 1994-09-23 | 1997-10-14 | The Regents Of The University Of Michigan | Data compression and encryption system and method representing records as differences between sorted domain ordinals that represent field values |
US5815421A (en) | 1995-12-18 | 1998-09-29 | Intel Corporation | Method for transposing a two-dimensional array |
DE19720651C2 (de) * | 1997-05-16 | 2001-07-12 | Siemens Audiologische Technik | Hörgerät mit verschiedenen Baugruppen zur Aufnahme, Weiterverarbeitung sowie Anpassung eines Schallsignals an das Hörvermögen eines Schwerhörigen |
US5955976A (en) * | 1997-12-02 | 1999-09-21 | Hughes Electronics Corporation | Data compression for use with a communications channel |
US6292115B1 (en) * | 1997-12-02 | 2001-09-18 | Hughes Electronics Corporation | Data compression for use with a communications channel |
US6489902B2 (en) * | 1997-12-02 | 2002-12-03 | Hughes Electronics Corporation | Data compression for use with a communications channel |
US6023330A (en) | 1998-12-21 | 2000-02-08 | Leco Corporation | Centered sphere spectrometer |
US6601104B1 (en) | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
JP3913004B2 (ja) * | 2001-05-28 | 2007-05-09 | キヤノン株式会社 | データ圧縮方法及び装置及びコンピュータプログラム及び記憶媒体 |
US20030084081A1 (en) | 2001-10-27 | 2003-05-01 | Bedros Hanounik | Method and apparatus for transposing a two dimensional array |
US7385187B2 (en) | 2003-06-21 | 2008-06-10 | Leco Corporation | Multi-reflecting time-of-flight mass spectrometer and method of use |
CN101131708A (zh) | 2006-08-25 | 2008-02-27 | 鸿富锦精密工业(深圳)有限公司 | 信号线参考平面检查系统及方法 |
AU2006204634B2 (en) * | 2006-08-31 | 2009-10-29 | Canon Kabushiki Kaisha | Runlength encoding of leading ones and zeros |
JP5628165B2 (ja) | 2008-07-16 | 2014-11-19 | レコ コーポレイションLeco Corporation | 疑似平面多重反射飛行時間型質量分析計 |
US8542136B1 (en) * | 2009-04-02 | 2013-09-24 | Comtech Ef Data Corp. | Data compression system and related methods |
US8594197B2 (en) | 2010-02-02 | 2013-11-26 | Nice Systems Ltd. | System and method for relative storage of video data |
GB2478300A (en) | 2010-03-02 | 2011-09-07 | Anatoly Verenchikov | A planar multi-reflection time-of-flight mass spectrometer |
GB201007210D0 (en) | 2010-04-30 | 2010-06-16 | Verenchikov Anatoly | Time-of-flight mass spectrometer with improved duty cycle |
JP5792306B2 (ja) | 2010-08-19 | 2015-10-07 | レコ コーポレイションLeco Corporation | 蓄積式電子衝撃イオン源を有する飛行時間型質量分析計 |
US9077965B2 (en) | 2012-10-12 | 2015-07-07 | Mediatek Inc. | Method and apparatus for performing lossy image compression through source quantization and lossless compression kernel, and related method and apparatus for image decompression |
GB2507838B (en) * | 2013-05-09 | 2014-09-24 | Imagination Tech Ltd | Vertex parameter data compression |
US9946723B2 (en) * | 2014-06-02 | 2018-04-17 | Intel Corporation | Data embedding in run length encoded streams |
-
2016
- 2016-09-13 US US15/264,073 patent/US9748972B2/en active Active
- 2016-09-14 DE DE112016004165.9T patent/DE112016004165T5/de active Pending
- 2016-09-14 JP JP2018513544A patent/JP2018534811A/ja active Pending
- 2016-09-14 WO PCT/US2016/051588 patent/WO2017048753A1/en active Application Filing
- 2016-09-14 GB GB1805964.2A patent/GB2562897B/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20170077949A1 (en) | 2017-03-16 |
DE112016004165T5 (de) | 2018-06-21 |
GB201805964D0 (en) | 2018-05-23 |
WO2017048753A1 (en) | 2017-03-23 |
US9748972B2 (en) | 2017-08-29 |
GB2562897B (en) | 2021-05-19 |
GB2562897A (en) | 2018-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018534811A (ja) | ロスレスデータ圧縮 | |
US9860561B2 (en) | Data compression using spatial decorrelation | |
JP4049793B2 (ja) | 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体 | |
Ratanaworabhan et al. | Fast lossless compression of scientific floating-point data | |
US20160087647A1 (en) | Data Compression Using Entropy Encoding | |
US20130007076A1 (en) | Computationally efficient compression of floating-point data | |
JP2013251895A (ja) | 信号データの圧縮および圧縮解除のための方法および装置(信号データの圧縮および圧縮解除) | |
US9661321B2 (en) | Remote viewing of large image files | |
EP3267587B1 (en) | Compression encoding device, compression encoding method, decoding device, decoding method and program | |
JP6073506B2 (ja) | エントロピー変更器及び方法 | |
TWI626843B (zh) | 解碼器、編碼器及其使用方法 | |
CN112449191B (zh) | 压缩多个图像的方法、解压缩图像的方法和装置 | |
Fute et al. | An approach to data compression and aggregation in wireless sensor networks | |
US7733249B2 (en) | Method and system of compressing and decompressing data | |
US12015790B2 (en) | Encoder, decoder and method employing palette compression | |
JP5762151B2 (ja) | 数値データの圧縮システム及び方法 | |
Ali et al. | Speeding up audio fractal compression | |
JP3791793B2 (ja) | ディジタル信号符号化方法、復号化方法、符号器、復号器、符号化プログラム、及び復号化プログラム | |
Mohamed | Wireless Communication Systems: Compression and Decompression Algorithms | |
CN116208168A (zh) | 一种数据压缩方法、数据解压方法及装置 | |
Milenkovic et al. | ChIPWig: a random access-enabling lossless and lossy compression method for ChIP-seq data. | |
JPH07264075A (ja) | データ圧縮装置 | |
JPH06164944A (ja) | 画像データの圧縮方法およびその装置ならびに画像データの復元方法およびその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20180830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180830 |