JP2017022522A - Data compression program, data compression device, data compression method, and data recovery program - Google Patents
Data compression program, data compression device, data compression method, and data recovery program Download PDFInfo
- Publication number
- JP2017022522A JP2017022522A JP2015138022A JP2015138022A JP2017022522A JP 2017022522 A JP2017022522 A JP 2017022522A JP 2015138022 A JP2015138022 A JP 2015138022A JP 2015138022 A JP2015138022 A JP 2015138022A JP 2017022522 A JP2017022522 A JP 2017022522A
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- compression
- acquisition
- time
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、データ圧縮プログラム、データ圧縮装置、データ圧縮方法、及びデータ復元プログラムに関する。 The present invention relates to a data compression program, a data compression device, a data compression method, and a data restoration program.
近年、様々な種類のログデータが収集され、コンピュータにより処理されている。例えば、自動車のログデータには、エンジン回転数、速度等の数値データが含まれることがあり、身体のログデータには、体温、血圧、心拍数等の数値データが含まれることがある。自動車のログデータを分析することで、エンジン回転数又は速度の変化から、自動車が走行している道路又は運転者の状況を推定することができ、身体のログデータを分析することで、体温、血圧、又は心拍数の変化から、人間の健康状態を推定することができる。 In recent years, various types of log data have been collected and processed by computers. For example, automobile log data may include numerical data such as engine speed and speed, and body log data may include numerical data such as body temperature, blood pressure, and heart rate. By analyzing the log data of the car, it is possible to estimate the situation of the road or driver on which the car is running from the change in engine speed or speed, and by analyzing the log data of the body, Human health can be estimated from changes in blood pressure or heart rate.
このようなログデータを記録する場合、各項目の数値データとその数値データを取得した取得時刻とを対応付けて記録することが多い。ログデータの分析では、例えば、ある項目の数値データが所定値となる取得時刻を特定し、その時刻における他の項目の数値データ、又は他のログデータを参照することで、データ間の関係が分析される。 When recording such log data, the numerical data of each item and the acquisition time when the numerical data was acquired are often recorded in association with each other. In the analysis of log data, for example, by specifying the acquisition time when the numerical data of a certain item becomes a predetermined value, and referring to the numerical data of other items or other log data at that time, the relationship between the data is Be analyzed.
時系列データの正規化処理における効率化を実現するデータ処理装置も知られている(例えば、特許文献1を参照)。 There is also known a data processing device that realizes efficiency in time series data normalization processing (see, for example, Patent Document 1).
ログデータを効率よく格納するために、ログデータに含まれる取得時刻に着目したデータ圧縮方法は知られていない。 In order to store log data efficiently, there is no known data compression method that focuses on the acquisition time included in the log data.
1つの側面において、本発明は、データとそのデータを取得した取得時刻とを対応付けた情報の情報量を削減することを目的とする。 In one aspect, an object of the present invention is to reduce the amount of information associated with data and an acquisition time when the data is acquired.
1つの案では、データ圧縮プログラムは、以下の処理をコンピュータに実行させる。
(1)コンピュータは、取得開始時刻から所定のサンプリング間隔で取得される複数のデータと複数のデータそれぞれの取得時刻とを含む圧縮対象情報から、取得時刻の順に複数のデータを抽出する。
(2)コンピュータは、取得時刻の順に抽出した複数のデータと、取得開始時刻と、サンプリング間隔を示す間隔情報とを含む、圧縮情報を出力する。
In one plan, the data compression program causes the computer to execute the following processing.
(1) The computer extracts a plurality of data in the order of the acquisition time from the compression target information including the plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data.
(2) The computer outputs compressed information including a plurality of data extracted in order of acquisition time, acquisition start time, and interval information indicating a sampling interval.
1つの実施形態によれば、データとそのデータを取得した取得時刻とを対応付けた情報の情報量を削減することができる。 According to one embodiment, it is possible to reduce the amount of information associated with data and the acquisition time when the data was acquired.
以下、図面を参照しながら、実施形態を詳細に説明する。
ログデータの記録方法を、まとめて記録するデータの単位に基づいて分類すると、以下の2つの方法に大別できる。
Hereinafter, embodiments will be described in detail with reference to the drawings.
If log data recording methods are classified based on the unit of data to be collectively recorded, they can be roughly divided into the following two methods.
第1の記録方法は、各項目のデータを受け取った順に記録する方法である。第1の記録方法における1レコードは、取得時刻、複数の項目のうちいずれか1つを示す項目情報、及び項目情報が示す項目のデータを含む。 The first recording method is a method of recording the data of each item in the order received. One record in the first recording method includes acquisition time, item information indicating any one of a plurality of items, and item data indicated by the item information.
第2の記録方法は、記録対象のすべての項目のデータをまとめて記録する方法である。第2の記録方法における1レコードは、取得時刻及び複数の項目のデータを含む。 The second recording method is a method for recording data of all items to be recorded collectively. One record in the second recording method includes acquisition time and data of a plurality of items.
図1は、第1の記録方法の例を示している。図1の各レコードは、時刻、項目、及び数値を含む。時刻は、データを取得した時刻を表し、項目は、データの項目(体温、血圧、又は心拍数)を表し、数値は、取得されたデータを表す。例えば、1番目のレコードは、時刻“T”、項目“体温”、及び数値“BT1”を含み、2番目のレコードは、時刻“T”、項目“血圧”、及び数値“BP1”を含み、3番目のレコードは、時刻“T”、項目“心拍数”、及び数値“HR1”を含む。 FIG. 1 shows an example of the first recording method. Each record in FIG. 1 includes a time, an item, and a numerical value. The time represents the time when the data was acquired, the item represents the data item (body temperature, blood pressure, or heart rate), and the numerical value represents the acquired data. For example, the first record includes the time “T”, the item “body temperature”, and the numerical value “BT1”, and the second record includes the time “T”, the item “blood pressure”, and the numerical value “BP1”. The third record includes time “T”, item “heart rate”, and numerical value “HR1”.
この記録方法では、各レコードに時刻及び項目が含まれるため、同じ時刻又は項目の情報が重複して記録され、データ量が多くなる。 In this recording method, the time and the item are included in each record, so the information of the same time or item is recorded redundantly, and the amount of data increases.
図2は、第2の記録方法の例を示している。図2の各レコードは、時刻、体温、血圧、及び心拍数を含む。時刻は、データを取得した時刻を表し、体温、血圧、及び心拍数は、それぞれの項目について取得されたデータを表す。記号“−”は、空データを表し、データが取得されなかったことを示している。例えば、1番目のレコードは、時刻“T”、体温“BT1”、血圧“BP1”、及び心拍数“HR1”を含み、3番目のレコードは、時刻“T+2S”及び心拍数“HR2”を含む。3番目のレコードの体温及び血圧は空データである。 FIG. 2 shows an example of the second recording method. Each record in FIG. 2 includes time, body temperature, blood pressure, and heart rate. The time represents the time when the data was acquired, and the body temperature, blood pressure, and heart rate represent the data acquired for each item. The symbol “-” represents empty data, indicating that no data has been acquired. For example, the first record includes time “T”, body temperature “BT1”, blood pressure “BP1”, and heart rate “HR1”, and the third record includes time “T + 2S” and heart rate “HR2”. . The body temperature and blood pressure of the third record are empty data.
この記録方法では、すべての項目のデータがまとめて記録されるため、同じ時刻のレコードが繰り返されることはなく、項目毎にデータの記録領域が異なるため、データの項目を表す項目情報は不要になる。しかし、依然として、レコード毎にデータの取得時刻が記録される。 In this recording method, since data of all items is recorded together, records at the same time are not repeated, and the data recording area is different for each item, so item information representing data items is unnecessary. Become. However, the data acquisition time is still recorded for each record.
図3は、実施形態のデータ圧縮装置の機能的構成例を示している。図3のデータ圧縮装置301は、記憶部311、圧縮部312、及び出力部313を含む。
FIG. 3 shows a functional configuration example of the data compression apparatus according to the embodiment. 3 includes a
記憶部311は、取得開始時刻から所定のサンプリング間隔で取得される複数のデータと、それぞれのデータの取得時刻とを含む、圧縮対象情報321を記憶する。圧縮部312は、圧縮対象情報321から圧縮情報322を生成し、出力部313は、圧縮情報322を出力する。
The
図4は、図3のデータ圧縮装置301が行うデータ圧縮処理の例を示すフローチャートである。圧縮部312は、圧縮対象情報321から、取得時刻の順に複数のデータを抽出し、取得時刻の順に抽出した複数のデータと、取得開始時刻と、サンプリング間隔を示す間隔情報とを含む、圧縮情報322を生成する(ステップ401)。そして、出力部313は、圧縮情報322を出力する(ステップ402)。
FIG. 4 is a flowchart showing an example of data compression processing performed by the
図3のデータ圧縮装置301によれば、データとそのデータを取得した取得時刻とを対応付けた情報の情報量を削減することができる。
According to the
図5は、図3のデータ圧縮装置301の第1の具体例を示している。図5の圧縮部312は、データ処理部501及び時刻処理部502を含む。圧縮対象情報321は、K個の項目(Kは1以上の整数)のログデータに対応し、各項目について、数値データと取得時刻との組を複数個含んでいる。取得時刻は、例えば、32ビット又は64ビットのビット列で表現される。K個の項目のサンプリング間隔は同じであってもよく、それぞれ異なっていてもよい。
FIG. 5 shows a first specific example of the
データ処理部501は、項目毎に数値データを取得時刻の順に並べる。時刻処理部502は、項目毎に各数値データに対応する取得時刻を参照して、取得開始時刻、サンプリング間隔、及び取得終了時刻を求める。
The
図6は、図5のデータ圧縮装置301が行うデータ圧縮処理の具体例を示すフローチャートである。この例では、圧縮対象情報321に含まれる各項目の情報は、取得時刻と数値データの組を要素とする配列で表される。
FIG. 6 is a flowchart showing a specific example of data compression processing performed by the
まず、データ処理部501は、処理対象の項目を示す制御変数kに1を設定し(ステップ601)、k番目の項目の配列に含まれる要素を取得時刻の順に並べ替えて、配列X={(t1,x1),(t2,x2),...}を生成する(ステップ602)。配列Xのi番目の要素(ti,xi)(i=1,2,...)は、取得時刻tiとデータxiの組を表し、配列X内において、要素(ti,xi)は取得時刻tiの早い順に並んでいる。
First, the
次に、時刻処理部502は、配列Xの先頭の要素(t1,x1)の取得時刻t1を取得開始時刻Tsとして抽出し、配列Xの末尾の要素の取得時刻を取得終了時刻Teとして抽出する(ステップ603)。また、時刻処理部502は、配列X内の連続する2個の要素から取得時刻の差分を求め、取得時刻の差分に基づいてサンプリング間隔Sを求める。
Next, the
例えば、いくつかの取得時刻においてデータが取得されなかった場合、2個の要素の取得時刻の差分がサンプリング間隔Sよりも長くなることがある。このような場合に対処するために、時刻処理部502は、配列Xから求めた複数の差分のうち最も短い差分を、サンプリング間隔Sとして採用してもよい。
For example, if data is not acquired at some acquisition times, the difference between the acquisition times of the two elements may be longer than the sampling interval S. In order to deal with such a case, the
次に、時刻処理部502は、取得開始時刻Ts、取得終了時刻Te、及びサンプリング間隔Sを、k番目の項目の圧縮情報に記録する(ステップ604)。そして、データ処理部501は、配列Xから取得時刻の順に数値データxiを抽出して、データ列{x1,x2,...}をk番目の項目の圧縮情報に記録し、出力部313は、k番目の項目の圧縮情報を出力する。
Next, the
このとき、出力部313は、例えば、内部バスを介してハードディスクドライブ等の補助記憶装置へ圧縮情報を転送してもよく、通信ネットワークを介してデータ圧縮装置301の外部の装置へ圧縮情報を転送してもよい。
At this time, the
次に、データ処理部501は、kがKに達したか否かをチェックし(ステップ605)、kがKよりも小さい場合(ステップ605,NO)、kを1だけインクリメントして(ステップ606)、ステップ602以降の処理を繰り返す。そして、kがKに達した場合(ステップ605,YES)、データ圧縮装置301は、処理を終了する。
Next, the
ステップ603において、時刻処理部502は、取得終了時刻Teの代わりに、数値データのサンプリング数Nsを求めてもよい。サンプリング数Nsは、取得開始時刻Ts、取得終了時刻Te、及びサンプリング間隔Sを用いて、次式のように表される。
Ns=(Te−Ts)/S+1 (1)
In
Ns = (Te−Ts) / S + 1 (1)
このようなデータ圧縮処理によれば、配列Xの各要素の数値データのみが圧縮情報322として出力され、取得時刻が省略されるため、配列Xの情報量を削減することができる。また、項目毎に数値データをまとめて圧縮情報を生成することで、数値データ毎に項目情報を記録する必要がなくなる。これにより、ログデータを格納する補助記憶装置の容量を削減したり、ログデータの転送時間を短縮したりすることが可能になる。
According to such a data compression process, only the numerical data of each element of the array X is output as the
圧縮情報322から圧縮対象情報321を復元する際には、データ列{x1,x2,...}内における各数値データの位置に対応して、取得開始時刻Tsにサンプリング間隔Sの整数倍を加算することで、各数値データの取得時刻を復元することができる。
When restoring the
ところで、図6のステップ604において、特定の取得時刻における数値データが欠落している場合、それ以降の数値データについて、実際に取得された取得時刻と、圧縮情報322から復元される取得時刻との間にずれが生じることがある。そこで、このような数値データの欠落に対処するため、圧縮部312は、圧縮情報322内において特定の取得時刻に対応する位置に、データが存在しないことを示す情報を含めてもよい。
By the way, in
図7は、このような圧縮情報322を出力するデータ圧縮装置301の第2の具体例を示している。図7の圧縮部312は、図5の圧縮部312に欠落情報挿入部701を追加した構成を有する。欠落情報挿入部701は、データ処理部501が生成するデータ列{x1,x2,...}内の数値データが存在しない取得時刻に対応する位置に、データが欠落していることを示す欠落情報を挿入する。欠落情報は、空データであってもよい。図7のデータ圧縮装置301は、図6と同様のデータ圧縮処理を行う。
FIG. 7 shows a second specific example of the
図8は、図6のステップ604において、図7のデータ圧縮装置301が行う第1の圧縮情報出力処理の例を示すフローチャートである。まず、時刻処理部502は、取得開始時刻Ts、取得終了時刻Te、及びサンプリング間隔Sを、k番目の項目の圧縮情報に記録し、出力部313は、取得開始時刻Ts、取得終了時刻Te、及びサンプリング間隔Sを出力する(ステップ801)。
FIG. 8 is a flowchart showing an example of a first compression information output process performed by the
次に、欠落情報挿入部701は、配列X内の数値データの位置を示す制御変数iに1を設定し、サンプリング間隔Sにより隔てられた実際の取得時刻の順位を示す制御変数jに1を設定する(ステップ802)。そして、欠落情報挿入部701は、取得時刻tiとTs+(j−1)×Sの計算結果とを比較する(ステップ803)。
Next, the missing
tiがTs+(j−1)×Sと一致する場合(ステップ803,YES)、データ処理部501は、配列Xから取得時刻tiに対応する数値データxiを抽出して、k番目の項目の圧縮情報に記録し、出力部313は、数値データxiを出力する(ステップ804)。そして、欠落情報挿入部701は、i及びjを1だけインクリメントする(ステップ805)。
When ti matches Ts + (j−1) × S (
一方、tiがTs+(j−1)×Sと一致しない場合(ステップ803,NO)、欠落情報挿入部701は、欠落情報をk番目の項目の圧縮情報に挿入し、出力部313は、その欠落情報を出力する(ステップ807)。そして、欠落情報挿入部701は、jを1だけインクリメントする(ステップ808)。
On the other hand, when ti does not match Ts + (j−1) × S (
次に、欠落情報挿入部701は、iと配列X内の要素の個数とを比較し(ステップ806)、iが要素の個数以下である場合(ステップ806,NO)、ステップ803以降の処理を繰り返す。そして、iが要素の個数を超えた場合(ステップ806,YES)、欠落情報挿入部701は、処理を終了する。
Next, the missing
ステップ801において、時刻処理部502は、取得終了時刻Teの代わりにサンプリング数Nsを出力してもよい。
In
図9は、図1に示した複数のレコードを圧縮対象情報321として用いた場合に、図8の圧縮情報出力処理により出力される“体温”の圧縮情報の例を示している。図9の取得開始時刻TsはTであり、サンプリング間隔Sは10秒であり、サンプリング数NsはBT_Xである。
FIG. 9 shows an example of the compression information of “body temperature” output by the compression information output process of FIG. 8 when the plurality of records shown in FIG. 1 are used as the
また、図9のデータ列は、BT_X個の数値データを含み、空データ“−”は欠落情報に対応する。データ列には、配列X内の数値データが取得時刻の順に格納されており、数値データが欠落している位置には空データ“−”が格納される。このような圧縮情報出力処理によれば、データ列内のj番目の格納位置がj番目の実際の取得時刻に対応しているため、すべての数値データについて、その格納位置と取得開始時刻Tsとサンプリング間隔Sとから、実際の取得時刻を復元することが可能になる。 The data string in FIG. 9 includes BT_X pieces of numerical data, and empty data “−” corresponds to missing information. In the data string, numerical data in the array X is stored in the order of acquisition time, and empty data “-” is stored at a position where the numerical data is missing. According to such compressed information output processing, since the jth storage position in the data string corresponds to the jth actual acquisition time, the storage position, the acquisition start time Ts, From the sampling interval S, the actual acquisition time can be restored.
しかし、多数の数値データが欠落している場合、欠落情報の個数も多くなるため、圧縮効率が低下する可能性がある。例えば、項目毎にサンプリング間隔Sが異なっている場合、短いサンプリング間隔の項目に合わせて、長いサンプリング間隔の項目に欠落情報が挿入されるため、多くの欠落情報が発生する。 However, when a large number of numerical data is missing, the number of missing information also increases, which may reduce the compression efficiency. For example, when the sampling interval S is different for each item, missing information is inserted into the item with a long sampling interval in accordance with the item with a short sampling interval, so a lot of missing information is generated.
10秒間隔で取得される項目Aの数値データと1秒間隔で取得される項目Bの数値データとを100秒間に渡って記録する場合、項目Bの100個のデータに合わせて、項目Aの10個のデータと、項目Aの90個の欠落情報とが記録される。この場合、90個の欠落情報の情報量が大きくなるため、これらの欠落情報を省略することが望ましい。 When the numerical data of item A acquired at intervals of 10 seconds and the numerical data of item B acquired at intervals of 1 second are recorded for 100 seconds, the data of item A is matched to the 100 data items of item B. Ten pieces of data and 90 pieces of missing information of item A are recorded. In this case, since the information amount of 90 pieces of missing information becomes large, it is desirable to omit these missing information.
そこで、多数の数値データの欠落に対処するため、特定の取得時刻におけるデータが存在しない場合、圧縮部312は、圧縮情報322のデータ列内においてその取得時刻に対応する位置を示す情報を、圧縮情報322に含めることができる。これにより、欠落情報が不要になり、圧縮情報322の情報量をさらに削減することができる。
Therefore, in order to deal with the loss of a large number of numerical data, when there is no data at a specific acquisition time, the
図10は、このような圧縮情報322を出力するデータ圧縮装置301の第3の具体例を示している。図10の圧縮部312は、図5の圧縮部312に欠落位置生成部1001を追加した構成を有する。欠落位置生成部1001は、データ処理部501が生成するデータ列{x1,x2,...}内の数値データが存在しない取得時刻に対応する位置を示す欠落位置情報を生成する。図10のデータ圧縮装置301は、図6と同様のデータ圧縮処理を行う。
FIG. 10 shows a third specific example of the
図11は、図6のステップ604において、図10のデータ圧縮装置301が行う第2の圧縮情報出力処理の例を示すフローチャートである。まず、時刻処理部502は、取得開始時刻Ts、取得終了時刻Te、及びサンプリング間隔Sをk番目の項目の圧縮情報に記録する(ステップ1101)。また、データ処理部501は、配列Xから取得時刻の順に数値データxiを抽出して、データ列{x1,x2,...}をk番目の項目の圧縮情報に記録する。そして、出力部313は、取得開始時刻Ts、取得終了時刻Te、サンプリング間隔S、及びデータ列{x1,x2,...}を出力する。
FIG. 11 is a flowchart illustrating an example of the second compression information output process performed by the
次に、欠落位置生成部1001は、配列X内の数値データの位置を示す制御変数iに1を設定し、サンプリング間隔Sにより隔てられた実際の取得時刻の順位を示す制御変数jに1を設定する(ステップ1102)。そして、欠落位置生成部1001は、取得時刻tiとTs+(j−1)×Sの計算結果とを比較する(ステップ1103)。
Next, the missing
tiがTs+(j−1)×Sと一致する場合(ステップ1103,YES)、欠落位置生成部1001は、i及びjを1だけインクリメントする(ステップ1104)。
When ti matches Ts + (j−1) × S (
一方、tiがTs+(j−1)×Sと一致しない場合(ステップ1103,NO)、欠落位置生成部1001は、jの値を欠落位置情報としてk番目の項目の圧縮情報に記録し、出力部313は、その欠落位置情報を出力する(ステップ1106)。そして、欠落位置生成部1001は、jを1だけインクリメントする(ステップ1107)。
On the other hand, if ti does not match Ts + (j−1) × S (
次に、欠落位置生成部1001は、iと配列X内の要素の個数とを比較し(ステップ1105)、iが要素の個数以下である場合(ステップ1105,NO)、ステップ1103以降の処理を繰り返す。そして、iが要素の個数を超えた場合(ステップ1105,YES)、欠落位置生成部1001は、処理を終了する。
Next, the missing
ステップ1101において、時刻処理部502は、取得終了時刻Teの代わりにサンプリング数Nsを出力してもよい。
In
図12は、図1に示した複数のレコードを圧縮対象情報321として用いた場合に、図11の圧縮情報出力処理により出力される“血圧”の圧縮情報の例を示している。図12の取得開始時刻TsはTであり、サンプリング間隔Sは10秒であり、サンプリング数NsはBP_Xである。
FIG. 12 shows an example of the compression information of “blood pressure” output by the compression information output process of FIG. 11 when the plurality of records shown in FIG. 1 are used as the
また、図12のデータ列は、N1個の数値データを含む。数値データの個数N1は、サンプリング数BP_Xから欠落している数値データの個数を減算した個数であり、データ列には、配列X内の数値データが取得時刻の順に格納されている。 The data string in FIG. 12 includes N1 numerical data. The number N1 of numerical data is the number obtained by subtracting the number of missing numerical data from the sampling number BP_X, and the numerical data in the array X is stored in the order of acquisition time in the data string.
欠落位置情報1201は、データ列内に存在する数値データの位置ではなく、データ列内で欠落している数値データに対応する実際の取得時刻の順位を示している。例えば、実際の2番目の取得時刻において数値データが欠落している場合、y1=2となる。複数の数値データが欠落している場合、欠落位置情報1201として、複数の取得時刻の順位を表す配列{y1,y2,...}が用いられる。例えば、実際の2番目〜4番目の取得時刻において数値データが欠落している場合、欠落位置情報1201は{2,3,4}となる。
The
このような圧縮情報出力処理によれば、データ列内で欠落している数値データの実際の取得時刻に対応する欠落位置情報と、取得開始時刻Tsと、サンプリング間隔Sとから、それ以降の数値データの実際の取得時刻を復元することが可能になる。 According to such compression information output processing, from the missing position information corresponding to the actual acquisition time of the numerical data missing in the data string, the acquisition start time Ts, and the sampling interval S, the subsequent numerical values are obtained. It becomes possible to restore the actual acquisition time of data.
また、欠落位置情報を記録することで空データが不要になるため、圧縮情報322の情報量をさらに削減することができる。例えば、空データが32ビットのビット列で表現され、1箇所の欠落位置が16ビットのビット列で表現される場合、空データの代わりに欠落位置情報を用いることで、欠落位置の情報量が半分に削減される。
Moreover, since the empty data becomes unnecessary by recording the missing position information, the information amount of the
しかし、欠落している数値データの個数がさらに多くなると、欠落位置を示す欠落位置情報の情報量も増大する。そこで、圧縮部312は、欠落位置情報の代わりに、それぞれの取得時刻においてデータが存在するか否かを示す情報を、圧縮情報322に含めることができる。
However, as the number of missing numerical data further increases, the information amount of missing position information indicating the missing position also increases. Therefore, the
図13は、このような圧縮情報322を出力するデータ圧縮装置301の第4の具体例を示している。図13の圧縮部312は、図5の圧縮部312に有無情報生成部1301を追加した構成を有する。有無情報生成部1301は、それぞれの取得時刻について、データ処理部501が生成するデータ列{x1,x2,...}内に数値データが存在するか否かを示す有無情報を生成する。図13のデータ圧縮装置301は、図6と同様のデータ圧縮処理を行う。
FIG. 13 shows a fourth specific example of the
図14は、図6のステップ604において、図13のデータ圧縮装置301が行う第3の圧縮情報出力処理の例を示すフローチャートである。まず、時刻処理部502は、取得開始時刻Ts、取得終了時刻Te、及びサンプリング間隔Sをk番目の項目の圧縮情報に記録する(ステップ1101)。また、データ処理部501は、配列Xから取得時刻の順に数値データxiを抽出して、データ列{x1,x2,...}をk番目の項目の圧縮情報に記録する。そして、出力部313は、取得開始時刻Ts、取得終了時刻Te、サンプリング間隔S、及びデータ列{x1,x2,...}を出力する。
FIG. 14 is a flowchart illustrating an example of a third compression information output process performed by the
次に、有無情報生成部1301は、配列X内の数値データの位置を示す制御変数iに1を設定し、サンプリング間隔Sにより隔てられた実際の取得時刻の順位を示す制御変数jに1を設定する(ステップ1402)。そして、有無情報生成部1301は、取得時刻tiとTs+(j−1)×Sの計算結果とを比較する(ステップ1403)。
Next, the presence / absence
tiがTs+(j−1)×Sと一致する場合(ステップ1403,YES)、有無情報生成部1301は、論理“1”のビット値をj番目の有無情報としてk番目の項目の圧縮情報に記録し、出力部313は、そのビット値を出力する(ステップ1404)。そして、有無情報生成部1301は、i及びjを1だけインクリメントする(ステップ1405)。
When ti matches Ts + (j−1) × S (YES in step 1403), the presence / absence
一方、tiがTs+(j−1)×Sと一致しない場合(ステップ1403,NO)、有無情報生成部1301は、論理“0”のビット値をj番目の有無情報としてk番目の項目の圧縮情報に記録し、出力部313は、そのビット値を出力する(ステップ1407)。そして、有無情報生成部1301は、jを1だけインクリメントする(ステップ1408)。
On the other hand, if ti does not match Ts + (j−1) × S (
次に、有無情報生成部1301は、iと配列X内の要素の個数とを比較し(ステップ1406)、iが要素の個数以下である場合(ステップ1406,NO)、ステップ1403以降の処理を繰り返す。そして、iが要素の個数を超えた場合(ステップ1406,YES)、有無情報生成部1301は、処理を終了する。
Next, the presence / absence
ステップ1401において、時刻処理部502は、取得終了時刻Teの代わりにサンプリング数Nsを出力してもよい。
In
図15は、図1に示した複数のレコードを圧縮対象情報321として用いた場合に、図14の圧縮情報出力処理により出力される“心拍数”の圧縮情報の例を示している。図15の取得開始時刻TsはTであり、サンプリング間隔Sは1秒であり、サンプリング数NsはHR_Xである。
FIG. 15 shows an example of the compression information of “heart rate” output by the compression information output process of FIG. 14 when the plurality of records shown in FIG. 1 are used as the
また、図15のデータ列は、N2個の数値データを含む。数値データの個数N2は、サンプリング数HR_Xから欠落している数値データの個数を減算した個数であり、データ列には、配列X内の数値データが取得時刻の順に格納されている。有無情報1501は、サンプリング間隔Sにより隔てられたHR_X個の取得時刻それぞれについて、データ列内に数値データが存在するか否かを示している。例えば、1番目の取得時刻のビット値“1”は、データ列内に数値データが存在することを示しており、2番目の取得時刻のビット値“0”は、データ列内に数値データが存在しないことを示している。
Further, the data string in FIG. 15 includes N2 numerical data. The number N2 of numerical data is a number obtained by subtracting the number of missing numerical data from the sampling number HR_X, and the numerical data in the array X is stored in the order of acquisition time in the data string. Presence /
このような圧縮情報出力処理によれば、それぞれの取得時刻において数値データが存在するか否かを示す有無情報と、取得開始時刻Tsと、サンプリング間隔Sとから、データ列内の各数値データの実際の取得時刻を復元することが可能になる。 According to such compression information output processing, from the presence / absence information indicating whether or not numerical data exists at each acquisition time, the acquisition start time Ts, and the sampling interval S, each numerical data in the data string is It becomes possible to restore the actual acquisition time.
また、有無情報を記録することで空データ又は欠落位置情報が不要になるため、圧縮情報322の情報量をさらに削減することができる。例えば、32ビットのビット列で表現される空データを用いてM個の欠落位置を記録する場合、欠落位置の情報量は32Mビットとなる。また、16ビットのビット列で表現される欠落位置情報を用いてM個の欠落位置を記録する場合、欠落位置の情報量は16Mビットとなる。一方、Ns個の取得時刻に対する有無情報を記録する場合、有無情報の情報量はNsビットとなる。
Moreover, since the presence / absence information is recorded, empty data or missing position information becomes unnecessary, so that the information amount of the
この場合、32回に1回以上の欠落が発生する項目に対して、空データの代わりに有無情報を用いることで、欠落位置の情報量を削減することができる。また、16回に1回以上の欠落が発生する項目に対して、欠落位置情報の代わりに有無情報を用いることで、欠落位置の情報量をさらに削減することができる。 In this case, the information amount of the missing position can be reduced by using the presence / absence information instead of the empty data for the item in which the missing occurs once every 32 times. Further, by using presence / absence information instead of missing position information for items in which missing occurs once or more in 16 times, the information amount of missing positions can be further reduced.
圧縮対象情報321の情報量が大きい場合には、圧縮対象情報321に含まれる各項目の配列を複数のブロックに分割し、ブロック単位でデータ圧縮処理を行うことで、圧縮対象情報321を効率良く圧縮することが可能になる。
When the amount of information of the
図16は、ブロック単位でデータ圧縮処理を行うデータ圧縮装置301の第5の具体例を示している。図16の圧縮部312は、図5の圧縮部312に分割部1601を追加した構成を有する。分割部1601は、圧縮対象情報321に含まれる各項目の配列を複数のブロックに分割し、データ処理部501は、ブロック毎に取得時刻の順に複数のデータを抽出して、複数のブロック単位圧縮情報を生成する。図16のデータ圧縮装置301は、図6と同様のデータ圧縮処理を行う。
FIG. 16 shows a fifth specific example of the
図17は、図6のステップ604において、図16のデータ圧縮装置301が行う第4の圧縮情報出力処理の例を示すフローチャートである。この圧縮情報出力処理では、配列XがブロックサイズBLの複数のブロックに分割される。
FIG. 17 is a flowchart illustrating an example of the fourth compression information output process performed by the
まず、分割部1601は、ブロックの順位を示す制御変数bに1を設定し、配列X内の(BL×(b−1)+1)番目〜(BL×b)番目のBL個の要素を、b番目のブロックの要素として指定する(ステップ1701)。
First, the
次に、時刻処理部502は、配列X内の(BL×(b−1)+1)番目の要素の取得時刻t(BL×(b−1)+1)を、b番目のブロックの取得開始時刻Ts(b)として抽出する(ステップ1702)。また、時刻処理部502は、配列X内の(BL×b)番目の要素の取得時刻t(BL×b)を、b番目のブロックの取得終了時刻Te(b)として抽出する。そして、時刻処理部502は、取得開始時刻Ts(b)、取得終了時刻Te(b)、及びサンプリング間隔Sを、k番目の項目に対するb番目のブロックのブロック単位圧縮情報に記録する。
Next, the
また、データ処理部501は、配列Xから取得時刻の順に数値データx(BL×(b−1)+1)〜数値データx(BL×b)を抽出する。そして、データ処理部501は、データ列{x(BL×(b−1)+1),x(BL×(b−1)+2),...,x(BL×b)}を、k番目の項目に対するb番目のブロックのブロック単位圧縮情報に記録する。出力部313は、取得開始時刻Ts(b)、取得終了時刻Te(b)、サンプリング間隔S、及びデータ列{x(BL×(b−1)+1),x(BL×(b−1)+2),...,x(BL×b)}を出力する。
Further, the
次に、分割部1601は、bを1だけインクリメントして(ステップ1703)、(BL×(b−1)+1)と配列X内の要素の個数とを比較する(ステップ1704)。(BL×(b−1)+1)が要素の個数以下である場合(ステップ1704,NO)、データ圧縮装置301は、次のブロックについて、ステップ1702以降の処理を繰り返す。そして、(BL×(b−1)+1)が要素の個数を超えた場合(ステップ1704,YES)、分割部1601は、処理を終了する。
Next, the
ステップ1702において、b番目のブロックが配列Xの最後のブロックに対応し、残りの要素の個数がブロックサイズBLよりも小さい場合、時刻処理部502は、配列X内の最後の要素の取得時刻を、b番目のブロックの取得終了時刻Te(b)として抽出する。また、データ処理部501は、配列Xから数値データx(BL×(b−1)+1)〜最後の要素の数値データを抽出する。
In
このような圧縮情報出力処理によれば、大きなサイズの圧縮対象情報321を効率良く圧縮することが可能になる。図7、図10、及び図13のデータ圧縮装置301においても、図16のデータ圧縮装置301と同様に、圧縮部312に分割部1601を追加してブロック単位でデータ圧縮処理を行うことができる。
According to such compression information output processing, it is possible to efficiently compress the
図18は、実施形態のデータ復元装置の機能的構成例を示している。図18のデータ復元装置1801は、記憶部1811、復元部1812、及び出力部1813を含む。
FIG. 18 illustrates a functional configuration example of the data restoration apparatus according to the embodiment. The
記憶部1811は、図3のデータ圧縮装置301が出力する圧縮情報322を記憶する。復元部1812は、圧縮情報322から、所定のデータの取得時刻又は所定の取得時刻に取得されたデータを求め、出力部1813は、復元部1812が求めた取得時刻又はデータを出力する。
The
図19は、図18のデータ復元装置1801が行う時刻復元処理の例を示すフローチャートである。まず、復元部1812は、圧縮情報322から、圧縮対象情報321に含まれていた複数のデータのうち所定のデータを抽出する(ステップ1901)。次に、復元部1812は、抽出したデータの圧縮情報322内における位置と、圧縮情報322に含まれる、取得開始時刻とサンプリング間隔を示す間隔情報とに基づいて、そのデータの取得時刻を求める(ステップ1902)。そして、出力部1813は、復元部1812が求めた取得時刻を出力する(ステップ1903)。
FIG. 19 is a flowchart showing an example of time restoration processing performed by the
図19の時刻復元処理によれば、図3のデータ圧縮装置301が出力する圧縮情報322全体を復元しなくても、所望のデータの取得時刻のみを求めることができる。
According to the time restoration process of FIG. 19, only the acquisition time of desired data can be obtained without restoring the
図20は、図18のデータ復元装置1801が行うデータ抽出処理の例を示すフローチャートである。まず、復元部1812は、圧縮情報322に含まれる、取得開始時刻とサンプリング間隔を示す間隔情報とに基づいて、圧縮情報322に含まれる、所定の取得時刻に取得されたデータの位置を特定する(ステップ2001)。次に、復元部1812は、圧縮情報322内の特定した位置から、所定の取得時刻に取得されたデータを抽出する(ステップ2002)。そして、出力部1813は、復元部1812が抽出したデータを出力する(ステップ2003)。
FIG. 20 is a flowchart illustrating an example of data extraction processing performed by the
図20のデータ抽出処理によれば、図3のデータ圧縮装置301が出力する圧縮情報322全体を復元しなくても、所望の取得時刻に取得されたデータのみを抽出することができる。
According to the data extraction process of FIG. 20, it is possible to extract only data acquired at a desired acquisition time without restoring the
図21は、時刻復元処理を行うデータ復元装置1801の第1の具体例を示している。図21の復元部1812は、データ抽出部2101及び時刻復元部2102を含む。データ抽出部2101は、圧縮情報322から所定の数値データを抽出し、時刻復元部2102は、データ抽出部2101が抽出した数値データの取得時刻を求める。
FIG. 21 shows a first specific example of a
図22は、図21のデータ復元装置1801が行う時刻復元処理の第1の具体例を示すフローチャートである。この例では、圧縮情報322は、図7のデータ圧縮装置301から出力され、図9に示したように、データ列内の数値データが存在しない取得時刻に対応する位置には、欠落情報が挿入されている。
FIG. 22 is a flowchart showing a first specific example of time restoration processing performed by the
まず、データ抽出部2101は、オペレータによって入力される指定項目の数値Aを受け取り(ステップ2201)、圧縮情報322に含まれる指定項目の圧縮情報のデータ列内における、数値データの位置を示す制御変数jに1を設定する(ステップ2202)。そして、データ抽出部2101は、そのデータ列内のj番目の数値データxjと数値Aとを比較する(ステップ2203)。
First, the
xjが数値Aと一致しない場合(ステップ2203,NO)、データ抽出部2101は、jを1だけインクリメントして(ステップ2205)、ステップ2203以降の処理を繰り返す。例えば、xjが欠落情報である場合、xjは数値Aと一致しないため、データ抽出部2101は、jをインクリメントして、次のxjを数値Aと比較する。
If xj does not match the numerical value A (
そして、xjが数値Aと一致した場合(ステップ2203,YES)、時刻復元部2102は、指定項目の圧縮情報に含まれる取得開始時刻Ts及びサンプリング間隔Sを用いて、Ts+(j−1)×Sを計算する(ステップ2204)。出力部1813は、時刻復元部2102が計算した計算結果を出力する。この計算結果は、指定項目の数値データとして数値Aが取得された取得時刻を表している。
If xj matches the numerical value A (
図23は、図21のデータ復元装置1801が行う時刻復元処理の第2の具体例を示すフローチャートである。この例では、圧縮情報322は、図10のデータ圧縮装置301から出力され、図12に示したように、欠落位置情報を含んでいる。
FIG. 23 is a flowchart showing a second specific example of time restoration processing performed by the
まず、データ抽出部2101は、オペレータによって入力される指定項目の数値Aを受け取り(ステップ2301)、圧縮情報322に含まれる指定項目の圧縮情報のデータ列内における、数値データの位置を示す制御変数iに1を設定する(ステップ2302)。そして、データ抽出部2101は、そのデータ列内のi番目の数値データxiと数値Aとを比較する(ステップ2303)。
First, the
xiが数値Aと一致しない場合(ステップ2303,NO)、データ抽出部2101は、iを1だけインクリメントして(ステップ2307)、ステップ2303以降の処理を繰り返す。
When xi does not match the numerical value A (
そして、xiが数値Aと一致した場合(ステップ2303,YES)、時刻復元部2102は、指定項目の圧縮情報に含まれる欠落位置情報内の位置を示す制御変数pに1を設定する(ステップ2304)。そして、時刻復元部2102は、欠落位置情報内のp番目の情報ypとiとを比較する(ステップ2305)。
If xi matches the numerical value A (
ypがi以下である場合(ステップ2305,NO)、時刻復元部2102は、pを1だけインクリメントして(ステップ2308)、ステップ2305以降の処理を繰り返す。
When yp is equal to or smaller than i (
そして、ypがiを超えた場合(ステップ2305,YES)、時刻復元部2102は、指定項目の圧縮情報に含まれる取得開始時刻Ts及びサンプリング間隔Sを用いて、Ts+(p+i−2)×Sを計算する(ステップ2306)。出力部1813は、時刻復元部2102が計算した計算結果を出力する。この計算結果は、指定項目の数値データとして数値Aが取得された取得時刻を表している。
If yp exceeds i (
なお、ステップ2305において、pが欠落位置情報内の情報の総数を超えており、pに対応する情報ypが存在しない場合、時刻復元部2102は、ypがiを超えたものとみなして、ステップ2306の処理を行う。
In
図24は、図21のデータ復元装置1801が行う時刻復元処理の第3の具体例を示すフローチャートである。この例では、圧縮情報322は、図13のデータ圧縮装置301から出力され、図15に示したように、有無情報を含んでいる。
FIG. 24 is a flowchart showing a third specific example of the time restoration process performed by the
まず、データ抽出部2101は、オペレータによって入力される指定項目の数値Aを受け取り(ステップ2401)、圧縮情報322に含まれる指定項目の圧縮情報のデータ列内における、数値データの位置を示す制御変数iに1を設定する(ステップ2402)。そして、データ抽出部2101は、そのデータ列内のi番目の数値データxiと数値Aとを比較する(ステップ2403)。
First, the
xiが数値Aと一致しない場合(ステップ2403,NO)、データ抽出部2101は、iを1だけインクリメントして(ステップ2406)、ステップ2403以降の処理を繰り返す。
If xi does not match the numerical value A (
そして、xiが数値Aと一致した場合(ステップ2403,YES)、時刻復元部2102は、指定項目の圧縮情報に含まれる有無情報内のビット値を先頭から順にチェックして、i番目のビット値“1”が現れる位置jを求める(ステップ2404)。有無情報内のj番目のビット値zjが“1”であり、j個のビット値z1〜zjのうちi個のビット値が“1”であり、さらにz1〜zjのうち残りのビット値が“0”である場合、位置jがi番目のビット値“1”に対応する。
If xi matches the numerical value A (
次に、時刻復元部2102は、指定項目の圧縮情報に含まれる取得開始時刻Ts及びサンプリング間隔Sを用いて、Ts+(j−1)×Sを計算する(ステップ2405)。出力部1813は、時刻復元部2102が計算した計算結果を出力する。この計算結果は、指定項目の数値データとして数値Aが取得された取得時刻を表している。
Next, the
図25は、データ抽出処理を行うデータ復元装置1801の第2の具体例を示している。図25の復元部1812は、位置特定部2501及びデータ抽出部2502を含む。位置特定部2501は、圧縮情報322内において、所定の取得時刻に取得された数値データの位置を特定し、データ抽出部2502は、位置特定部2501が特定した位置からその数値データを抽出する。
FIG. 25 shows a second specific example of the
図26は、図25のデータ復元装置1801が行うデータ抽出処理の第1の具体例を示すフローチャートである。この例では、圧縮情報322は、図7のデータ圧縮装置301から出力され、図9に示したように、データ列内の数値データが存在しない取得時刻に対応する位置には、欠落情報が挿入されている。
FIG. 26 is a flowchart showing a first specific example of data extraction processing performed by the
まず、位置特定部2501は、オペレータによって入力される指定項目の時刻Bを受け取る(ステップ2701)。次に、位置特定部2501は、圧縮情報322に含まれる指定項目の圧縮情報の取得開始時刻Ts及びサンプリング間隔Sを用いて、時刻Bに対応する順位j=(B−Ts)/S+1を求める(ステップ2602)。この順位jは、指定項目の圧縮情報に含まれるデータ列内における数値データの位置を表している。
First, the
次に、データ抽出部2502は、そのデータ列内のj番目の数値データxjを抽出し、出力部1813は、xjを出力する(ステップ2603)。xjが欠落情報である場合、時刻Bの数値データが存在しないことを示すために、その欠落情報が出力される。
Next, the
図27は、図25のデータ復元装置1801が行うデータ抽出処理の第2の具体例を示すフローチャートである。この例では、圧縮情報322は、図10のデータ圧縮装置301から出力され、図12に示したように、欠落位置情報を含んでいる。
FIG. 27 is a flowchart showing a second specific example of the data extraction process performed by the
まず、位置特定部2501は、オペレータによって入力される指定項目の時刻Bを受け取る(ステップ2701)。次に、位置特定部2501は、圧縮情報322に含まれる指定項目の圧縮情報の取得開始時刻Ts及びサンプリング間隔Sを用いて、時刻Bに対応する順位j=(B−Ts)/S+1を求める(ステップ2702)。
First, the
次に、位置特定部2501は、指定項目の圧縮情報に含まれる欠落位置情報内の位置を示す制御変数pに1を設定する(ステップ2703)。そして、位置特定部2501は、欠落位置情報内のp番目の情報ypとjとを比較する(ステップ2704)。
Next, the
ypがjよりも小さい場合(ステップ2704,NO)、位置特定部2501は、pを1だけインクリメントして(ステップ2707)、ステップ2704以降の処理を繰り返す。そして、ypがj以上になった場合(ステップ2704,YES)、位置特定部2501は、ypがjと一致するか否かをチェックする(ステップ2705)。
When yp is smaller than j (
ypがjと一致しない場合(ステップ2705,NO)、位置特定部2501は、指定項目の圧縮情報に含まれるデータ列内において、時刻Bに取得された数値データの位置j−p+1を求める(ステップ2706)。そして、データ抽出部2502は、そのデータ列内の(j−p+1)番目の数値データx(j−p+1)を抽出し、出力部1813は、x(j−p+1)を出力する。
If yp does not match j (
一方、ypがjと一致する場合(ステップ2705,YES)、出力部1813は、時刻Bの数値データが存在しないことを示す情報を出力する(ステップ2708)。
On the other hand, if yp matches j (
なお、ステップ2704において、pが欠落位置情報内の情報の総数を超えており、pに対応する情報ypが存在しない場合、位置特定部2501は、ypがjを超えたものとみなして、ステップ2706の処理を行う。
In
図28は、図25のデータ復元装置1801が行うデータ抽出処理の第3の具体例を示すフローチャートである。この例では、圧縮情報322は、図13のデータ圧縮装置301から出力され、図15に示したように、有無情報を含んでいる。
FIG. 28 is a flowchart showing a third specific example of the data extraction process performed by the
まず、位置特定部2501は、オペレータによって入力される指定項目の時刻Bを受け取る(ステップ2801)。次に、位置特定部2501は、圧縮情報322に含まれる指定項目の圧縮情報の取得開始時刻Ts及びサンプリング間隔Sを用いて、時刻Bに対応する順位j=(B−Ts)/S+1を求める(ステップ2802)。
First, the
次に、位置特定部2501は、指定項目の圧縮情報に含まれる有無情報内のj番目のビット値zjが“0”であるか否かをチェックする(ステップ2803)。
Next, the
ビット値zjが“1”である場合(ステップ2803,NO)、位置特定部2501は、有無情報内のj個のビット値z1〜zjに含まれるビット値“1”の個数iを求める(ステップ2804)。この個数iは、指定項目の圧縮情報に含まれるデータ列内において、時刻Bに取得された数値データの位置を表している。そこで、データ抽出部2502は、そのデータ列内のi番目の数値データxiを抽出し、出力部1813は、xiを出力する(ステップ2805)。
When the bit value zj is “1” (
一方、ビット値zjが“0”である場合(ステップ2803,YES)、出力部1813は、時刻Bの数値データが存在しないことを示す情報を出力する(ステップ2806)。
On the other hand, when the bit value zj is “0” (
ところで、図3、図5、図7、図10、図13、及び図16のデータ圧縮装置301において、圧縮部312は、圧縮情報322に含まれる取得開始時刻Ts、取得終了時刻Te、サンプリング数Ns、サンプリング間隔S、及びデータ列を符号化してもよい。例えば、データ列内の数値データの最小値が50であり、最大値が177である場合、50〜177の数値データを0〜127にシフトすることで、各数値データを7ビット(2^7=128)で符号化することができる。これにより、圧縮情報322の情報量がさらに削減される。
By the way, in the
図3、図5、図7、図10、図13、及び図16のデータ圧縮装置301の構成は一例に過ぎず、データ圧縮装置301の用途や条件に応じて、一部の構成要素を省略又は変更してもよい。図18、図21、及び図25のデータ復元装置1801の構成は一例に過ぎず、データ復元装置1801の用途や条件に応じて、一部の構成要素を省略又は変更してもよい。
The configuration of the
図4、図6、図8、図11、図14、図17、図19、図20、図22〜図24、及び図26〜図28のフローチャートは一例に過ぎず、データ圧縮装置301及びデータ復元装置1801の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、圧縮対象情報321が1個の項目のログデータに対応する場合は、図6のステップ601、ステップ605、及びステップ606の処理を省略することができる。
4, 6, 8, 11, 14, 17, 19, 20, 22 to 24, and 26 to 28 are merely examples, and the
図22のステップ2203において、データ抽出部2101は、数値データxjと数値Aとの差分が所定の閾値より小さい場合に、xjが数値Aと一致すると判定してもよい。同様に、図23のステップ2303及び図24のステップ2403において、データ抽出部2101は、数値データxiと数値Aとの差分が所定の閾値より小さい場合に、xiが数値Aと一致すると判定してもよい。
In
図26のステップ2602、図27のステップ2702、及び図28のステップ2802において、位置特定部2501は、(B−Ts)/S+1の値が整数にならない場合、その値に近い整数を順位jとして用いてもよい。
In
図1及び図2のレコードと図9、図12、及び図15の圧縮情報は一例に過ぎず、データ圧縮装置301及びデータ復元装置1801の構成や条件に応じて一部の情報を省略又は変更してもよい。
The records in FIGS. 1 and 2 and the compression information in FIGS. 9, 12, and 15 are merely examples, and some information is omitted or changed depending on the configuration and conditions of the
例えば、体温、血圧、及び心拍数の代わりに、エンジン回転数、速度等の他の項目のログデータを用いてもよい。図9及び図12のサンプリング間隔Sとして10秒以外のサンプリング間隔を用いてもよく、図15のサンプリング間隔Sとして1秒以外のサンプリング間隔を用いてもよい。圧縮情報から、取得終了時刻Te又はサンプリング数Nsを省略しても構わない。 For example, instead of body temperature, blood pressure, and heart rate, log data of other items such as engine speed and speed may be used. A sampling interval other than 10 seconds may be used as the sampling interval S in FIGS. 9 and 12, and a sampling interval other than 1 second may be used as the sampling interval S in FIG. The acquisition end time Te or the sampling number Ns may be omitted from the compression information.
図29は、図3、図5、図7、図10、図13、及び図16のデータ圧縮装置301と図18、図21、及び図25のデータ復元装置1801を実現するための情報処理装置(コンピュータ)の構成例を示している。図29の情報処理装置は、CPU2901、メモリ2902、入力装置2903、出力装置2904、補助記憶装置2905、媒体駆動装置2906、及びネットワーク接続装置2907を備える。これらの構成要素はバス2908により互いに接続されている。
29 is an information processing apparatus for realizing the
メモリ2902は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ2902は、記憶部311又は記憶部1811として用いることができる。
The
情報処理装置がデータ圧縮装置301である場合、CPU2901(プロセッサ)は、例えば、メモリ2902を利用してプログラムを実行することにより、圧縮部312として動作する。CPU2901は、データ処理部501、時刻処理部502、欠落情報挿入部701、欠落位置生成部1001、有無情報生成部1301、及び分割部1601としても動作する。CPU2901がバス2908を介して補助記憶装置2905へ圧縮情報322を出力する場合、CPU2901は、出力部313としても動作する。
When the information processing apparatus is the
情報処理装置がデータ復元装置1801である場合、CPU2901は、例えば、メモリ2902を利用してプログラムを実行することにより、復元部1812として動作する。CPU2901は、データ抽出部2101、時刻復元部2102、位置特定部2501、及びデータ抽出部2502としても動作する。
When the information processing apparatus is the
入力装置2903は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示や情報の入力に用いられる。出力装置2904は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。情報処理装置がデータ復元装置1801である場合、出力装置2904は、出力部1813として用いることができ、処理結果は、復元部1812が求めた取得時刻又はデータであってもよい。
The
補助記憶装置2905は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置2905は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置2905にプログラム及びデータを格納しておき、それらをメモリ2902にロードして使用することができる。補助記憶装置2905は、記憶部311又は記憶部1811として用いることができる。
The
媒体駆動装置2906は、可搬型記録媒体2909を駆動し、その記録内容にアクセスする。可搬型記録媒体2909は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体2909は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体2909にプログラム及びデータを格納しておき、それらをメモリ2902にロードして使用することができる。
The
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ2902、補助記憶装置2905、又は可搬型記録媒体2909のような、物理的な(非一時的な)記録媒体である。
As described above, the computer-readable recording medium for storing the program and data used for processing is a physical (non-transitory) recording medium such as the
ネットワーク接続装置2907は、Local Area Network(LAN)、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置2907を介して受け取り、それらをメモリ2902にロードして使用することができる。ネットワーク接続装置2907は、出力部313又は出力部1813として用いることができる。
The
なお、情報処理装置が図29のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置とオペレータ又はユーザとの間のインタフェースが不要である場合は、入力装置2903及び出力装置2904を省略してもよい。また、可搬型記録媒体2909又は通信ネットワークを利用しない場合は、媒体駆動装置2906又はネットワーク接続装置2907を省略してもよい。
Note that the information processing apparatus does not have to include all the components shown in FIG. 29, and some of the components can be omitted depending on the application and conditions. For example, the
情報処理装置が通話機能を有するスマートフォン等の携帯端末装置である場合、マイク及びスピーカのような通話用の装置を含んでいてもよく、カメラのような撮像装置を含んでいてもよい。 When the information processing device is a mobile terminal device such as a smartphone having a call function, it may include a device for a call such as a microphone and a speaker, or may include an imaging device such as a camera.
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。 Although the disclosed embodiments and their advantages have been described in detail, those skilled in the art can make various modifications, additions and omissions without departing from the scope of the present invention as explicitly set forth in the claims. Let's go.
図1乃至図29を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
取得開始時刻から所定のサンプリング間隔で取得される複数のデータと前記複数のデータそれぞれの取得時刻とを含む圧縮対象情報から、前記取得時刻の順に前記複数のデータを抽出し、
前記取得時刻の順に抽出した前記複数のデータと、前記取得開始時刻と、前記サンプリング間隔を示す間隔情報とを含む、圧縮情報を出力する、
処理をコンピュータに実行させるデータ圧縮プログラム。
(付記2)
前記コンピュータは、特定の取得時刻におけるデータが存在しない場合、データが存在しないことを示す欠落情報を、前記圧縮情報内において前記特定の取得時刻に対応する位置に含めることを特徴とする付記1記載のデータ圧縮プログラム。
(付記3)
前記コンピュータは、特定の取得時刻におけるデータが存在しない場合、前記圧縮情報内において前記特定の取得時刻に対応する位置を示す欠落位置情報を、前記圧縮情報に含めることを特徴とする付記1記載のデータ圧縮プログラム。
(付記4)
前記コンピュータは、前記それぞれの取得時刻においてデータが存在するか否かを示す有無情報を、前記圧縮情報に含めることを特徴とする付記1記載のデータ圧縮プログラム。
(付記5)
前記圧縮対象情報は、複数の項目それぞれに対する複数の圧縮対象情報を含み、前記複数の圧縮対象情報それぞれのサンプリング間隔は異なっており、前記コンピュータは、前記複数の圧縮対象情報それぞれに対応する複数の圧縮情報を出力し、前記複数の圧縮情報の各々は、前記複数の圧縮対象情報の各々のサンプリング間隔を示す間隔情報を含むことを特徴とする付記1乃至4のいずれか1項に記載のデータ圧縮プログラム。
(付記6)
前記コンピュータは、前記圧縮対象情報を複数のブロックに分割し、ブロック毎に前記取得時刻の順に複数のデータを抽出し、前記圧縮情報は複数のブロック単位圧縮情報を含み、各ブロック単位圧縮情報は、ブロック毎に抽出された前記複数のデータと、ブロック毎の取得開始時刻と、前記間隔情報とを含むことを特徴とする付記1乃至4のいずれか1項に記載のデータ圧縮プログラム。
(付記7)
取得開始時刻から所定のサンプリング間隔で取得される複数のデータと前記複数のデータそれぞれの取得時刻とを含む圧縮対象情報から、前記取得時刻の順に前記複数のデータを抽出することで生成された圧縮情報に基づいて、前記複数のデータのうち所定のデータを抽出し、
前記圧縮情報内における前記所定のデータの位置と、前記圧縮情報に含まれる、前記取得開始時刻と前記サンプリング間隔を示す間隔情報とに基づいて、前記所定のデータの取得時刻を求め、
前記所定のデータの前記取得時刻を出力する、
処理をコンピュータに実行させるデータ復元プログラム。
(付記8)
取得開始時刻から所定のサンプリング間隔で取得される複数のデータと前記複数のデータそれぞれの取得時刻とを含む圧縮対象情報から、前記取得時刻の順に前記複数のデータを抽出することで生成された圧縮情報に含まれる、前記取得開始時刻と前記サンプリング間隔を示す間隔情報とに基づいて、前記圧縮情報に含まれる、所定の取得時刻に取得されたデータの位置を特定し、
前記圧縮情報内の特定した位置から、前記所定の取得時刻に取得された前記データを抽出し、
前記所定の取得時刻に取得された前記データを出力する、
処理をコンピュータに実行させるデータ復元プログラム。
(付記9)
取得開始時刻から所定のサンプリング間隔で取得される複数のデータと前記複数のデータそれぞれの取得時刻とを含む圧縮対象情報を記憶する記憶部と、
前記圧縮対象情報から、前記取得時刻の順に前記複数のデータを抽出し、前記取得時刻の順に抽出した前記複数のデータと、前記取得開始時刻と、前記サンプリング間隔を示す間隔情報とを含む、圧縮情報を生成する圧縮部と、
前記圧縮情報を出力する出力部と、
を備えることを特徴とするデータ圧縮装置。
(付記10)
前記圧縮部は、特定の取得時刻におけるデータが存在しない場合、データが存在しないことを示す欠落情報を、前記圧縮情報内において前記特定の取得時刻に対応する位置に含めることを特徴とする付記9記載のデータ圧縮装置。
(付記11)
前記圧縮部は、特定の取得時刻におけるデータが存在しない場合、前記圧縮情報内において前記特定の取得時刻に対応する位置を示す欠落位置情報を、前記圧縮情報に含めることを特徴とする付記9記載のデータ圧縮装置。
(付記12)
前記圧縮部は、前記それぞれの取得時刻においてデータが存在するか否かを示す有無情報を、前記圧縮情報に含めることを特徴とする付記9記載のデータ圧縮装置。
(付記13)
コンピュータが、
取得開始時刻から所定のサンプリング間隔で取得される複数のデータと前記複数のデータそれぞれの取得時刻とを含む圧縮対象情報から、前記取得時刻の順に前記複数のデータを抽出し、
前記取得時刻の順に抽出した前記複数のデータと、前記取得開始時刻と、前記サンプリング間隔を示す間隔情報とを含む、圧縮情報を出力する、
ことを特徴とするデータ圧縮方法。
(付記14)
前記コンピュータは、特定の取得時刻におけるデータが存在しない場合、データが存在しないことを示す欠落情報を、前記圧縮情報内において前記特定の取得時刻に対応する位置に含めることを特徴とする付記13記載のデータ圧縮方法。
(付記15)
前記コンピュータは、特定の取得時刻におけるデータが存在しない場合、前記圧縮情報内において前記特定の取得時刻に対応する位置を示す欠落位置情報を、前記圧縮情報に含めることを特徴とする付記13記載のデータ圧縮方法。
(付記16)
前記コンピュータは、前記それぞれの取得時刻においてデータが存在するか否かを示す有無情報を、前記圧縮情報に含めることを特徴とする付記13記載のデータ圧縮方法。
Regarding the embodiment described with reference to FIGS. 1 to 29, the following additional notes are disclosed.
(Appendix 1)
Extracting the plurality of data in the order of the acquisition time from the compression target information including a plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data,
Outputting compressed information including the plurality of data extracted in the order of the acquisition time, the acquisition start time, and interval information indicating the sampling interval;
A data compression program that causes a computer to execute processing.
(Appendix 2)
The computer according to
(Appendix 3)
The computer according to
(Appendix 4)
The data compression program according to
(Appendix 5)
The compression target information includes a plurality of pieces of compression target information for a plurality of items, the sampling intervals of the plurality of pieces of compression target information are different, and the computer includes a plurality of pieces of information corresponding to the plurality of pieces of compression target information. The data according to any one of
(Appendix 6)
The computer divides the compression target information into a plurality of blocks, extracts a plurality of data in order of the acquisition time for each block, the compression information includes a plurality of block unit compression information, and each block unit compression information is The data compression program according to any one of
(Appendix 7)
Compression generated by extracting the plurality of data in the order of the acquisition time from the compression target information including the plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data. Based on the information, extracting predetermined data from the plurality of data,
Obtaining the acquisition time of the predetermined data based on the position of the predetermined data in the compression information and the interval information indicating the acquisition start time and the sampling interval included in the compression information;
Outputting the acquisition time of the predetermined data;
A data restoration program that causes a computer to execute processing.
(Appendix 8)
Compression generated by extracting the plurality of data in the order of the acquisition time from the compression target information including the plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data. Based on the acquisition start time and the interval information indicating the sampling interval included in the information, the position of the data acquired at a predetermined acquisition time included in the compression information is specified,
Extracting the data acquired at the predetermined acquisition time from the specified position in the compression information,
Outputting the data acquired at the predetermined acquisition time;
A data restoration program that causes a computer to execute processing.
(Appendix 9)
A storage unit that stores compression target information including a plurality of data acquired at a predetermined sampling interval from an acquisition start time and an acquisition time of each of the plurality of data;
The plurality of data is extracted from the compression target information in the order of the acquisition time, and includes the plurality of data extracted in the order of the acquisition time, the acquisition start time, and interval information indicating the sampling interval. A compression unit for generating information;
An output unit for outputting the compression information;
A data compression apparatus comprising:
(Appendix 10)
Supplementary note 9 wherein when the data at a specific acquisition time does not exist, the compression unit includes missing information indicating that no data exists in a position corresponding to the specific acquisition time in the compression information. The data compression apparatus described.
(Appendix 11)
Item 9. The supplementary note 9, wherein when the data at a specific acquisition time does not exist, the compression unit includes, in the compression information, missing position information indicating a position corresponding to the specific acquisition time in the compression information. Data compression device.
(Appendix 12)
The data compression apparatus according to appendix 9, wherein the compression unit includes presence / absence information indicating whether or not data exists at each acquisition time in the compression information.
(Appendix 13)
Computer
Extracting the plurality of data in the order of the acquisition time from the compression target information including a plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data,
Outputting compressed information including the plurality of data extracted in the order of the acquisition time, the acquisition start time, and interval information indicating the sampling interval;
A data compression method.
(Appendix 14)
The computer 13 includes missing information indicating that data does not exist in a position corresponding to the specific acquisition time in the compressed information when there is no data at the specific acquisition time. Data compression method.
(Appendix 15)
The computer according to claim 13, wherein the computer includes missing position information indicating a position corresponding to the specific acquisition time in the compression information when the data at the specific acquisition time does not exist. Data compression method.
(Appendix 16)
14. The data compression method according to appendix 13, wherein the computer includes presence / absence information indicating whether or not data exists at each acquisition time in the compression information.
301 データ圧縮装置
311、1811 記憶部
312 圧縮部
313、1813 出力部
321 圧縮対象情報
322 圧縮情報
501 データ処理部
502 時刻処理部
701 欠落情報挿入部
1001 欠落位置生成部
1201 欠落位置情報
1301 有無情報生成部
1501 有無情報
1601 分割部
1801 データ復元装置
1812 復元部
2101、2502 データ抽出部
2102 時刻復元部
2501 位置特定部
2901 CPU
2902 メモリ
2903 入力装置
2904 出力装置
2905 補助記憶装置
2906 媒体駆動装置
2907 ネットワーク接続装置
2908 バス
2909 可搬型記録媒体
301
2902
Claims (10)
前記取得時刻の順に抽出した前記複数のデータと、前記取得開始時刻と、前記サンプリング間隔を示す間隔情報とを含む、圧縮情報を出力する、
処理をコンピュータに実行させるデータ圧縮プログラム。 Extracting the plurality of data in the order of the acquisition time from the compression target information including a plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data,
Outputting compressed information including the plurality of data extracted in the order of the acquisition time, the acquisition start time, and interval information indicating the sampling interval;
A data compression program that causes a computer to execute processing.
前記圧縮対象情報から、前記取得時刻の順に前記複数のデータを抽出し、前記取得時刻の順に抽出した前記複数のデータと、前記取得開始時刻と、前記サンプリング間隔を示す間隔情報とを含む、圧縮情報を生成する圧縮部と、
前記圧縮情報を出力する出力部と、
を備えることを特徴とするデータ圧縮装置。 A storage unit that stores compression target information including a plurality of data acquired at a predetermined sampling interval from an acquisition start time and an acquisition time of each of the plurality of data;
The plurality of data is extracted from the compression target information in the order of the acquisition time, and includes the plurality of data extracted in the order of the acquisition time, the acquisition start time, and interval information indicating the sampling interval. A compression unit for generating information;
An output unit for outputting the compression information;
A data compression apparatus comprising:
取得開始時刻から所定のサンプリング間隔で取得される複数のデータと前記複数のデータそれぞれの取得時刻とを含む圧縮対象情報から、前記取得時刻の順に前記複数のデータを抽出し、
前記取得時刻の順に抽出した前記複数のデータと、前記取得開始時刻と、前記サンプリング間隔を示す間隔情報とを含む、圧縮情報を出力する、
ことを特徴とするデータ圧縮方法。 Computer
Extracting the plurality of data in the order of the acquisition time from the compression target information including a plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data,
Outputting compressed information including the plurality of data extracted in the order of the acquisition time, the acquisition start time, and interval information indicating the sampling interval;
A data compression method.
前記圧縮情報内における前記所定のデータの位置と、前記圧縮情報に含まれる、前記取得開始時刻と前記サンプリング間隔を示す間隔情報とに基づいて、前記所定のデータの取得時刻を求め、
前記所定のデータの前記取得時刻を出力する、
処理をコンピュータに実行させるデータ復元プログラム。 Compression generated by extracting the plurality of data in the order of the acquisition time from the compression target information including the plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data. Based on the information, extracting predetermined data from the plurality of data,
Obtaining the acquisition time of the predetermined data based on the position of the predetermined data in the compression information and the interval information indicating the acquisition start time and the sampling interval included in the compression information;
Outputting the acquisition time of the predetermined data;
A data restoration program that causes a computer to execute processing.
前記圧縮情報内の特定した位置から、前記所定の取得時刻に取得された前記データを抽出し、
前記所定の取得時刻に取得された前記データを出力する、
処理をコンピュータに実行させるデータ復元プログラム。 Compression generated by extracting the plurality of data in the order of the acquisition time from the compression target information including the plurality of data acquired at a predetermined sampling interval from the acquisition start time and the acquisition time of each of the plurality of data. Based on the acquisition start time and the interval information indicating the sampling interval included in the information, the position of the data acquired at a predetermined acquisition time included in the compression information is specified,
Extracting the data acquired at the predetermined acquisition time from the specified position in the compression information,
Outputting the data acquired at the predetermined acquisition time;
A data restoration program that causes a computer to execute processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015138022A JP2017022522A (en) | 2015-07-09 | 2015-07-09 | Data compression program, data compression device, data compression method, and data recovery program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015138022A JP2017022522A (en) | 2015-07-09 | 2015-07-09 | Data compression program, data compression device, data compression method, and data recovery program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017022522A true JP2017022522A (en) | 2017-01-26 |
Family
ID=57888531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015138022A Pending JP2017022522A (en) | 2015-07-09 | 2015-07-09 | Data compression program, data compression device, data compression method, and data recovery program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017022522A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294054A (en) * | 2020-02-13 | 2020-06-16 | 北京天拓智领科技有限公司 | Compression method for collecting and storing industrial interconnection data |
JP6955127B1 (en) * | 2019-12-19 | 2021-10-27 | 株式会社トクヤマ | Hexagonal boron nitride powder and its manufacturing method |
-
2015
- 2015-07-09 JP JP2015138022A patent/JP2017022522A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6955127B1 (en) * | 2019-12-19 | 2021-10-27 | 株式会社トクヤマ | Hexagonal boron nitride powder and its manufacturing method |
CN111294054A (en) * | 2020-02-13 | 2020-06-16 | 北京天拓智领科技有限公司 | Compression method for collecting and storing industrial interconnection data |
CN111294054B (en) * | 2020-02-13 | 2023-05-23 | 北京天拓智领科技有限公司 | Compression method for industrial interconnection data acquisition and storage |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11675903B2 (en) | Apparatus for detecting variants of malicious code based on neural network learning, method therefor and computer readable recording medium storing program for performing the method | |
KR102486395B1 (en) | Neural network device for speaker recognition, and operation method of the same | |
US10970617B2 (en) | Deep convolutional neural network acceleration and compression method based on parameter quantification | |
GB2577017A (en) | Neural network classification | |
CN111326168B (en) | Voice separation method, device, electronic equipment and storage medium | |
JP2011028749A5 (en) | ||
JP2010079568A5 (en) | ||
JP2019502982A5 (en) | ||
JP2007172384A5 (en) | ||
US9747385B2 (en) | Compression of cascading style sheet files | |
EP4369333A1 (en) | Method and system for constructing training database by using voice personal-information protection technology | |
US8571255B2 (en) | Scalable media fingerprint extraction | |
Qiu et al. | A new approach to multimedia files carving | |
JP2022141914A5 (en) | ||
JP2017022522A (en) | Data compression program, data compression device, data compression method, and data recovery program | |
AU2017248412B2 (en) | Information processing apparatus, and data management method | |
US10923106B2 (en) | Method for audio synthesis adapted to video characteristics | |
JP2018156424A (en) | Information processing system, information processing device, information processing program, and information processing method | |
JP2018536212A5 (en) | ||
JP6192804B2 (en) | Data compression apparatus and data compression method | |
JP2019212034A5 (en) | ||
US20210256970A1 (en) | Speech feature extraction apparatus, speech feature extraction method, and computer-readable storage medium | |
US11600262B2 (en) | Recognition device, method and storage medium | |
US9135009B2 (en) | Apparatus and method for compressing instructions and a computer-readable storage media therefor | |
JP6805927B2 (en) | Index generator, data search program, index generator, data search device, index generation method, and data search method |