(57)【特許請求の範囲】
【請求項１】
数値データシーケンスの中から、データを間引くか否かの判定に使用される閾値に基づいてデータを間引くことによって、非可逆にデータを圧縮するデータ圧縮装置が実行するデータ圧縮方法であって、
所定数の数値データと、データの圧縮に用いる特定の圧縮アルゴリズムに対応する圧縮率の期待値と前記閾値との関係を用いて、目標圧縮率に対応する前記閾値を設定する第１の工程と、
設定されている前記閾値を用いて前記圧縮アルゴリズムによって数値データを圧縮する第２の工程と
を含むことを特徴とするデータ圧縮方法。
【請求項２】
数値データシーケンスの中から、データを間引くか否かの判定に使用される閾値に基づいてデータを間引くことによって、非可逆にデータを圧縮するデータ圧縮装置が実行するデータ圧縮方法であって、
所定数の数値データと、データの圧縮に用いる特定の圧縮アルゴリズムに対応する圧縮率の期待値と前記閾値との関係を用いて、目標圧縮率に対応する前記閾値を初期設定する第１の工程と、
設定されている前記閾値を用いて前記圧縮アルゴリズムによって数値データを圧縮するとともに、前記所定数ごとの数値データの実際の圧縮率を算出する第２の工程と、
算出した前記実際の圧縮率と前記目標圧縮率とに基づいて前記閾値の再設定が必要か不要かを判定する第３の工程と、
直近の所定数の数値データと前記圧縮率の期待値と前記閾値との関係を用いて、目標圧縮率に対応する前記閾値を再設定する第４の工程と
を含むことを特徴とするデータ圧縮方法。
【請求項３】
請求項２に記載のデータ圧縮方法において、
前記第３の工程における前記閾値の再設定が必要か不要かの判定は、前記実際の圧縮率と前記目標圧縮率との乖離が所定の範囲を超える回数と超えない回数との比率が第１の所定値以上になったときに再設定が必要と判定され、前記比率が第２の所定値以下になったときに再設定が不要と判定される
ことを特徴とするデータ圧縮方法。
【請求項４】
請求項１から請求項３のいずれか一項に記載のデータ圧縮方法において、
前記特定の圧縮アルゴリズムは、
最後にデータが抽出された抽出点のデータ値とその次のデータ値との偏差が継続するものとして推定される値と、前記抽出点の２つ先のデータ以降の実際のデータ値との偏差の絶対値の累積値が、前記閾値以上となったときに、前記閾値以上となったデータの１つ前のデータを次の抽出点として抽出し、前記次の抽出点までの間のデータを間引いて廃棄するものである
ことを特徴とするデータ圧縮方法。
【請求項５】
請求項４に記載のデータ圧縮方法において、
前記圧縮率の期待値と前記閾値との関係は、前記数値データシーケンスの隣接データ間の二階差分値の絶対値の平均値と前記閾値と前記目標圧縮率との関係を表す式または相関データによって表される
ことを特徴とするデータ圧縮方法。
【請求項６】
請求項１から請求項３のいずれか一項に記載のデータ圧縮方法において、
前記特定の圧縮アルゴリズムは、
Ｂｏｘ  Ｃａｒアルゴリズム、Ｂａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズム、またはＳｗｉｎｇｉｎｇ  Ｄｏｏｒアルゴリズムである
ことを特徴とするデータ圧縮方法。
【請求項７】
請求項６に記載のデータ圧縮方法において、
前記圧縮率の期待値と前記閾値との関係は、前記数値データシーケンスの隣接データ間の一階差分値の平均値をその標準偏差で正規化した値と、前記閾値と前記目標圧縮率との関係を表す式または相関データによって表される
ことを特徴とするデータ圧縮方法。
【請求項８】
請求項１から請求項３のいずれか一項に記載のデータ圧縮方法において、
前記データ圧縮装置は、前記数値データシーケンスから隣接データ間の一階差分値または二階差分値の分布を求め、求めた分布にしたがって生成した複数の擬似時系列データを前記閾値を適宜設定して前記圧縮アルゴリズムで圧縮することによって当該閾値に対する圧縮率を測定し、それら測定した圧縮率の平均値を前記目標圧縮率として前記相関データを生成する
ことを特徴とするデータ圧縮方法。
【請求項９】
数値データシーケンスの中から、データを間引くか否かの判定に使用される閾値に基づいてデータを間引くことによって、非可逆にデータを圧縮するデータ圧縮装置であって、
所定数の数値データと、データの圧縮に用いる特定の圧縮アルゴリズムに対応する圧縮率の期待値と前記閾値との関係を用いて、目標圧縮率に対応する前記閾値を算出する閾値設定手段と、
設定されている前記閾値を用いて前記圧縮アルゴリズムによって数値データを圧縮するデータ圧縮手段と
を備えることを特徴とするデータ圧縮装置。
【請求項１０】
請求項９に記載のデータ圧縮装置において、
前記データ圧縮手段は、さらに、
前記所定数ごとの数値データの実際の圧縮率を算出し、算出した前記実際の圧縮率と前記目標圧縮率とに基づいて前記閾値の再設定が必要か不要かを判定して前記閾値設定手段に前記閾値を再算出させる
ことを特徴とするデータ圧縮装置。
【請求項１１】
請求項１０に記載のデータ圧縮装置において、
前記データ圧縮手段による前記閾値の再設定が必要か不要かの判定は、前記実際の圧縮率と前記目標圧縮率との乖離が所定の範囲を超える回数と超えない回数との比率が第１の所定値以上になったときに再設定が必要と判定され、前記比率が第２の所定値以下になったときに再設定が不要と判定される
ことを特徴とするデータ圧縮装置。
【請求項１２】
請求項９から請求項１１のいずれか一項に記載のデータ圧縮装置において、
前記特定の圧縮アルゴリズムは、
最後にデータが抽出された抽出点のデータ値とその次のデータ値との偏差が継続するものとして推定される値と、前記抽出点の２つ先のデータ以降の実際のデータ値との偏差の絶対値の累積値が、前記閾値以上となったときに、前記閾値以上となったデータの１つ前のデータを次の抽出点として抽出し、前記次の抽出点までの間のデータを間引いて廃棄するものである
ことを特徴とするデータ圧縮装置。
【請求項１３】
請求項１２に記載のデータ圧縮装置において、
前記圧縮率の期待値と前記閾値との関係は、前記数値データシーケンスの隣接データ間の二階差分値の絶対値の平均値と前記閾値と前記目標圧縮率との関係を表す式または相関データによって表される
ことを特徴とするデータ圧縮装置。
【請求項１４】
請求項９から請求項１１のいずれか一項に記載のデータ圧縮装置において、
前記特定の圧縮アルゴリズムは、
Ｂｏｘ  Ｃａｒアルゴリズム、Ｂａｃｋｗａｒｄ Ｓｌｏｐｅアルゴリズム、またはＳｗｉｎｇｉｎｇ  Ｄｏｏｒアルゴリズムである
ことを特徴とするデータ圧縮装置。
【請求項１５】
請求項１４に記載のデータ圧縮装置において、
前記圧縮率の期待値と前記閾値との関係は、前記数値データシーケンスの隣接データ間の一階差分値の平均値をその標準偏差で正規化した値と、前記閾値と前記目標圧縮率との関係を表す式または相関データによって表される
ことを特徴とするデータ圧縮装置。
【請求項１６】
請求項９から請求項１１のいずれか一項に記載のデータ圧縮装置において、
前記数値データシーケンスから隣接データ間の一階差分値または二階差分値の分布を求め、求めた分布にしたがって生成した複数の擬似時系列データを前記閾値を適宜設定して前記圧縮アルゴリズムで圧縮することによって当該閾値に対する圧縮率を測定し、それら測定した圧縮率の平均値を前記目標圧縮率として前記相関データを生成する相関データ生成手段
を備えることを特徴とするデータ圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業分野などで用いられる情報制御システムの運転実績を管理するプロセス情報管理システムに係り、特に大量の時系列データを圧縮して蓄積するための技術に関する。
【背景技術】
【０００２】
産業分野などの情報制御システムの運転実績を管理するために収集されるデータ、いわゆるプロセスデータは、例えば１秒などの周期で連続的に計測されるため、これらを時系列データとして長期保存する場合は、膨大な記憶容量が必要となる。特に、データを利用しやすくする観点から、ＣＳＶ（Comma Separated Values：カンマセパレートバリュー）形式のようなテキスト形式で保存する場合、この点は大きな問題となる。
【０００３】
このようなことから、従来のプロセス分野の情報制御システムでは、非特許文献１のｃｈａｐｔｅｒ−４に紹介されているように、各サンプル点（以下、プロセス分野の制御システムの表現に倣い、「タグ」と呼ぶ。）毎に予めシステム構築時に設定される閾値に基づいて、タグの入力データ値から計算した評価値が閾値よりも小さい場合に、データを廃棄する（間引く）ことでデータを圧縮する方法が採用されている。そのような圧縮方法としては、Ｂｏｘ  Ｃａｒアルゴリズム、Ｂａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズム、Ｓｗｉｎｇｉｎｇ  Ｄｏｏrアルゴリズムなどが用いられる。また、特許文献１には、誤差が予め設定された閾値以下となるように、折れ線グラフで近似することでデータを間引くアルゴリズムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６７３２９号公報
【非特許文献】
【０００５】
【非特許文献１】Ali Ahammad Shoukat Choudhury, et al., Diagnosis of Process Nonlinearities and Valve Stiction: Data Driven Approaches, chapter-4, Springer, 2008.
【非特許文献２】Frank Alsmeyer, Automatic adjustment of data compression in process information management systems，16th European Symposium on Computer Aided Process Engineering and 9th International Symposium on Process Systems Engineering, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
これらの公知技術では、各タグに対応する入力データを、予め設定された評価指標と閾値とを用いて評価することによって取捨選択するが、データの精度と圧縮率とを決める要因となるこの閾値は、各タグの入力データを予め収集して分析することによって適切に決定する必要があり、数万点にも及ぶことがある各種のタグに対して、閾値を適切に調整することは難しいという課題があった。
【０００７】
閾値の自動調整に関しては、非特許文献２に開示されているような技術があり、この文献には、センサによる測定誤差やノイズを取り除くことを目的とした閾値の調整方法が記載されているが、目標とする圧縮率を得るためのアルゴリズムは開示されていない。
【０００８】
一方、情報制御システムを構築するにあたっては、予め保存すべきプロセスデータのデータ量を見積もって、必要な容量の記憶装置を準備しなければならない。したがって、データの圧縮率が想定できない従来の自動圧縮アルゴリズムは適用が難しいという課題があった。
【０００９】
本発明は、前記の課題を解決するためになされたものであり、情報制御システムの各タグの時系列データなどの数値データシーケンスを間引いて圧縮する際に、目標とする圧縮率との偏差が小さくなるように前記閾値を自動的に設定することを目的とする。
【課題を解決するための手段】
【００１０】
前記の目的を達成するために、本発明は、数値データシーケンスの中から、データを間引くか否かの判定に使用される閾値に基づいてデータを間引くことによって、非可逆にデータを圧縮するデータ圧縮装置が実行するデータ圧縮方法であって、所定数の数値データと、データの圧縮に用いる特定の圧縮アルゴリズムに対応する圧縮率の期待値と前記閾値との関係を用いて、目標圧縮率に対応する前記閾値を設定する第１の工程と、設定されている前記閾値を用いて前記圧縮アルゴリズムによって数値データを圧縮する第２の工程とを含むことを特徴とする。
【００１１】
タグの値から計算した値をチェックし、これが閾値よりも小さい場合にデータを間引いて廃棄する圧縮アルゴリズムでは、タグの値から計算した値をｙとし、抽出した値をｙ（０）、次のデータ値をｙ（１）のように表すものとすると、一般に、この値ｙ（ｉ）と閾値と圧縮率の期待値との関係は数１の式によって表すことができる。この確率モデルを特定するパラメータの値は、圧縮アルゴリズムと平均値や分散などの統計的なデータ特性とによって決定できる。本発明のデータ圧縮装置は、各データの統計的なデータ特性の計算または数値シミュレーションを行うことによって、データ圧縮演算の確率モデルの係数を決定し、この係数で特定されるモデルに基づいて、圧縮のための閾値を決定することを主な特徴とする。
【００１２】
【数１】
0005458056.tif 000002
【発明の効果】
【００１３】
本発明によれば、情報制御システムの各タグの時系列データなどの数値データシーケンスを間引いて圧縮する際に、目標とする圧縮率との偏差が小さくなるように前記閾値を自動的に設定することができる。
【図面の簡単な説明】
【００１４】
【図１】第一実施形態に係るデータ圧縮装置の構成例を示すブロック図である。
【図２】第一実施形態に係るデータ圧縮処理の例を示すフローチャートである。
【図３】第一実施形態に係る圧縮アルゴリズムの具体例についての説明図である。
【図４】第一実施形態に係る圧縮アルゴリズムの圧縮率（の期待値）とΔ／ｅとの関係を示すグラフである。
【図５】データ値の変化が大きい部分が偏在している数値データシーケンスの一例を示すグラフである。
【図６】有意なデータの比率αの値の算出方法の例を説明するためのグラフである。
【図７】有意なデータの比率αの値を算出するための処理方法の例を示すフローチャートである。
【図８】第二実施形態に係るデータ圧縮装置の構成例を示すブロック図である。
【図９】第二実施形態に係るデータ圧縮処理の例を示すフローチャートである。
【図１０】Ｂｏｘ  Ｃａｒアルゴリズムについての説明図である。
【図１１】Ｂｏｘ  Ｃａｒアルゴリズムにおいて最新抽出点からｉ番目の点が次の抽出点となる確率分布の例を示す図である。
【図１２】一階差分値の分布のモデル化についての説明図である。
【図１３】Ｂｏｘ  Ｃａｒアルゴリズムにおける圧縮率と閾値との相関を示すグラフである。
【図１４】Ｂａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズムについての説明図である。
【図１５】Ｓｗｉｎｇｉｎｇ  Ｄｏｏｒアルゴリズムについての説明図である。
【図１６】Ｓｗｉｎｇｉｎｇ  Ｄｏｏｒアルゴリズムにおける圧縮率と閾値との相関を示すグラフである。
【図１７】第六実施形態に係るデータ圧縮装置の構成例を示すブロック図である。
【図１８】第六実施形態に係る相関データ生成処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態を、適宜図面を参照しながら説明する。なお、本明細書における「圧縮率」は、非特許文献１に記されている「Compression Factor」を意味するものとする。したがって、例えば１００個のデータから２５個のデータを抽出して圧縮する場合の圧縮率は４であり、１００個のデータから１０個のデータを抽出して圧縮する場合の圧縮率は１０である。
【００１６】
［第一実施形態］
図１は、本発明の第一実施形態に係るデータ圧縮装置の構成例を示すブロック図である。図１に示すように、データ圧縮装置１０は、サンプリング手段１１、バッファリング手段１２、スイッチ１６、データ圧縮手段１３、履歴データ管理手段１４、閾値設定手段１５、履歴データ表示手段１７を有して成る。
【００１７】
サンプリング手段１１は、例えば、ＤＣＳ（Distributed Control System）やＳＣＡＤＡ（Supervisory Control And Data Acquisition System）などであり、多数のタグのプロセスデータを特定の周期で（例えば５秒毎に）サンプリングし、タイムスタンプを付けてバッファリング手段１２に引き渡す。バッファリング手段１２は、サンプリング手段１１から引き渡されたプロセスデータ（サンプルデータ）を所定数になるまで順次蓄積する。各タグのサンプルデータは時刻と値、ならびに状態などの属性を持つデータとしてバッファリング手段１２に順次蓄積される。
【００１８】
各々のタグに関して、バッファリング手段１２に所定数のサンプルデータが溜まると、図１の太実線矢印にて示すように、スイッチ１６を介してそれらのデータがまとめてデータ圧縮手段１３に送られ、データ圧縮手段１３によって圧縮された結果のデータが、履歴データ管理手段１４に送られて保存・管理される。履歴データ管理手段１４は、履歴データ表示手段１７などからの参照要求に応じて、圧縮された結果のデータから元の時系列データの値を推定する復元処理を行い、復元した時系列データを要求元に提供する。
【００１９】
また、データ圧縮手段１３は、自身が圧縮したデータの実際の圧縮率が目標とする圧縮率に達していない状況が続くと、図１の破線矢印にて示すように、スイッチ１６からの出力経路を閾値設定手段１５側に切り換えることによって、データ圧縮に用いるパラメータであるデータ圧縮用閾値の再設定を促す。それにより、バッファリング手段１２に溜まった所定数のサンプルデータは、スイッチ１６を介して閾値設定手段１５に送られる。続いて、閾値設定手段１５は、受け取ったサンプルデータを用いてデータ圧縮用閾値の再計算を実行し、求めた新たなデータ圧縮用閾値を、データ圧縮手段１３に引き渡したのち、データ圧縮用閾値の再計算に用いたサンプルデータをデータ圧縮手段１３に送付する。以後、データ圧縮手段１３は、閾値設定手段１５から引き渡された新たなデータ圧縮用閾値を用いてサンプルデータの圧縮を行う。
【００２０】
図２は、データ圧縮装置１０が備える不図示のＣＰＵによって不図示の記憶部から読み出されるプログラムによって実行されるデータ圧縮処理の例を示すフローチャートである。以下、図２のフローチャートに沿ってデータ圧縮処理の流れを詳しく説明する。
【００２１】
まず始めに、ステップＳ２１にて、サンプリング手段１１から所定の周期で（例えば５秒ごとに）送られてくるサンプルデータを待ち、サンプルデータが送られてきたら、ステップＳ２２にて、送られたサンプルデータをバッファリング手段１２に格納する。
【００２２】
次に、ステップＳ２３にて、バッファリング手段１２に溜まったサンプルデータの数（格納データ数）が所定数に達したか否かを判定する。所定数に達していなければ（ステップＳ２３で「ｙｅｓ」）、ステップＳ２１に処理を戻して次のサンプルデータを取得し、所定数に達した場合は（ステップＳ２３で「ｎｏ」）、ステップＳ２４に処理を進める。
【００２３】
ステップＳ２４では、データ圧縮用閾値を再計算する必要があるときに値が真となる閾値再設定フラグが真か否かを判定する。閾値再設定フラグが真の場合（ステップＳ２４で「ｙｅｓ」）、図１のスイッチ１６を破線矢印の向きに切り換えて、サンプルデータを閾値設定手段１５に供給する。閾値設定手段１５は、ステップＳ２５にて、受け取ったサンプルデータを用いてデータ圧縮用閾値の再計算を行い、次にステップＳ２６にて、再計算して求めた新たな値をデータ圧縮手段１３に送付してデータ圧縮用閾値を変更させたのち、ステップＳ２７にて、パラメータの再計算に用いたサンプルデータをデータ圧縮手段１３に供給し、ステップＳ２９に処理を進める。
【００２４】
他方、ステップＳ２４で閾値再設定フラグが偽の場合（ステップＳ２４で「ｎｏ」）、
図１のスイッチ１６を太実線矢印の向きに設定して、ステップＳ２８にて、バッファリング手段１２に溜まったサンプルデータをデータ圧縮手段１３に供給し、ステップＳ２９に処理を進める。
【００２５】
ステップＳ２９では、データ圧縮手段１３は、バッファリング手段１２もしくは閾値設定手段１５から供給されたサンプルデータの圧縮を実行し、次に、ステップＳ３０にて、圧縮結果のデータを履歴データ管理手段１４に引き渡して格納させる。
【００２６】
次に、ステップＳ３１にて、データ圧縮手段１３は、直前に実行したデータ圧縮についての実際のデータ圧縮率が、所定の下限値と上限値との範囲内にあるか否かを判定し、その判定結果にしたがってそれぞれ圧縮良回数と圧縮不良回数のいずれかをカウントアップする（ステップＳ３２、ステップＳ３３）。
【００２７】
次に、ステップＳ３４以下にて、データ圧縮手段１３は、データ圧縮用閾値の再設定が必要か不要かを判定し、その結果に基づいて閾値再設定フラグの値を設定する。具体的には、まずステップＳ３４にて、現在の閾値再設定フラグが偽（再設定不要）であるか否かを判定し、閾値再設定フラグが偽の場合（ステップＳ３４で「ｙｅｓ」）、ステップＳ３５にて、圧縮良回数に対する圧縮不良回数の比率が第１の所定値（所定値１）を超えているか否かを判定し、所定値１を超えている場合は（ステップＳ３５で「ｙｅｓ」）、データ圧縮用閾値の再設定が必要と判定して閾値再設定フラグの値を真に設定する（ステップＳ３６）。また、ステップＳ３４にて閾値再設定フラグが真（再設定要）の場合（ステップＳ３４で「ｎｏ」）、ステップＳ３７にて、圧縮良回数に対する圧縮不良回数の比率が第２の所定値（所定値２）を下回っているか否かを判定し、所定値２を下回っている場合は（ステップＳ３７で「ｙｅｓ」）、データ圧縮用閾値の再設定は不要と判定して閾値再設定フラグの値を偽に設定する（ステップＳ３８）。
【００２８】
以降は、再び、サンプリング手段１１からサンプルデータが送られるのを待つステップＳ２１に戻って前記の処理を繰り返す。なお、新規にサンプリングするタグの閾値再設定フラグの値を真としておくことにより、ステップＳ２５においてデータ圧縮用閾値の初期化が行われる。
【００２９】
以上のような処理により、サンプルデータの実際のデータ圧縮率が所定の下限値と上限値の範囲内に収まる圧縮良回数と、実際のデータ圧縮率がそれ以外となる圧縮不良回数との比率が、所定の範囲内に保たれるように自動的にデータ圧縮用閾値の更新が行われるので、各タグの時系列データ全体の圧縮率と目標とする圧縮率との偏差を小さくすることができる。
【００３０】
次に、図３を用いて、本発明の第一実施形態におけるデータ圧縮手段１３が行う圧縮処理の具体例について説明する。図３に示した圧縮アルゴリズムは、誤差が予め設定された閾値以下となるように折れ線グラフで近似することでデータを間引く、新たなアルゴリズムである。
【００３１】
図３において、縦軸はサンプルデータの値を、横軸はサンプリング時刻を表しており、太いプラス記号は、最後にデータが抽出された抽出点を示すものとする。第ｋ−１番目のサンプルデータである抽出点とその次のサンプルデータＶ（ｋ）とを結ぶ直線を延長した破線は、抽出点とその次の点とから推定可能なデータ列の傾きを表しており、この破線から推定される値と実際のサンプルデータとの偏差の絶対値の累積値であるｙ（ｉ）の値が、初めて所定の閾値以上となったときに、第ｉ−１番目のサンプルデータを次の抽出点とする。ここで、ｋを直近の抽出点の次のサンプル点のサンプリングインデックスとすると、数１の式におけるｙ（ｉ）は数２の式によって表される。
【００３２】
【数２】
0005458056.tif 000003
【００３３】
一方、数１の式におけるｙ（ｉ）で初めて閾値を超える確率、つまり、第ｉサンプル目で初めてｙ（ｉ）が閾値を超える確率は、１サンプル進めた場合のｙ（ｉ）の増加量である（ｙ（ｉ）-ｙ（ｉ-１））の期待値ｅとその分布が分かれば計算することができる。
【００３４】
ｙ（ｉ）の増加量の分布を増加量ｘｉの関数Ｎ（ｘｉ）と表すものとすると、ｙ（１）が閾値を超える確率Ｐ１は、閾値Δの関数となり、数３の式で表すことができる。また、ｙ（２）で初めて閾値を超える確率Ｐ２は数４の式で表すことができる。これを一般化して、ｙ（ｉ）で初めて閾値を超える確率Ｐｉは数５の式で表される。
【００３５】
【数３】
0005458056.tif 000004
【数４】
0005458056.tif 000005
【数５】
0005458056.tif 000006
【００３６】
Ｎ（ｘｉ）を正規分布と仮定してＰ１からＰ６までの値を計算し、数１の式に基づいて圧縮率（の期待値）とΔ／ｅとの関係を求めた結果を図４に示す。この結果に示されるように、圧縮率が１以上４以下の範囲においては、圧縮率と閾値Δとｙ（ｉ）の増加量の期待値ｅとの関係は、およそ数６の式で近似することができる。
【００３７】
【数６】
0005458056.tif 000007
【００３８】
本発明の第一実施形態における閾値設定手段１５は、この数６の式を用いて、目標圧縮率に対応した閾値Δを算出する。そのためには、ｙ（ｉ）の増加量の期待値であるｅの値を求める必要があるが、これは、直近のサンプルデータのｙ（ｉ）の増加量の平均値であるｅ’で代用する。このｅ’は、数７および数８の式によって求めることができる。
【００３９】
【数７】
0005458056.tif 000008
【数８】
0005458056.tif 000009
【００４０】
ところで、図５の例に示すように、サンプルデータＶ（ｊ）の値の変化が大きい部分が偏在している場合、数７および数８の式によって求めたｅ’の値は、変化が大きく圧縮しないで残しておきたい部分のｅ値に比べ小さな値となる。そのため、求めたｅ’の値を数６の式のｅに代入して閾値Δを算出すると、相対的に小さな閾値を設定することになり、目標圧縮率を下回る可能性が高くなる。したがって、ｅ’の値には、数７の式によって求められるサンプルデータ全体の二階差分値ｆ（ｊ）の平均値ではなく、連続してｆ（ｊ）の値が小さくなる部分を除いた残りの有意なデータの平均値を用いるのが好ましい。
【００４１】
ここで、このようなケースの極端な例として、有意なデータの比率をαとし、増加量ｆ（ｊ）の値が、全サンプル数Ｎの内、（１−α）・Ｎサンプル（１＞α）で連続して０となっているようなデータについて考える。この場合、全体のｆ（ｊ）の値の平均値をμとすると、連続して０となっているデータを除いた残りの部分のｆ（ｊ）の値の平均値はμ／αとなる。また、連続してｆ（ｊ）＝０となる（１−α）・Ｎ点がすべて間引かれるものとすると、それらを除いた残りのα・Ｎ点の圧縮率は、全体の圧縮率のα倍となる。このことから、数９の式を導くことができる。この数９の式は、ｆ（ｊ）の値が０ではなく他のデータに比べて十分に小さいときの近似式としても用いることができる。
【００４２】
【数９】
0005458056.tif 000010
【００４３】
次に、この有意なデータの比率αの算出方法について説明する。図６は、図５に示したサンプルデータＶ（ｊ）の二階差分値ｆ（ｊ）の累積値Σｆ（ｊ）をトータルの累積値で正規化し、サンプリングインデックスｊとの関係をプロットしたグラフである。データの変化が均質であれば、グラフは原点と右上の頂点ｐ５とを結ぶ対角線に近くなるが、データの変化が大きい部分が偏在していると、図６のグラフのように階段状になる。例えば、原点と点ｐ１との間、点ｐ２と点ｐ３との間、および点ｐ４と点ｐ５との間は、データの変化が小さい部分であると考えられる。そこで、図６のようなグラフを生成し、例えば、連続した１０点以上から成る区間の傾きが、原点と右上の頂点ｐ５とを結ぶ対角線の傾きの１０分の１以下であれば、全体のデータ数からその区間のデータ数を減じる等の方法によって、データの変化が小さい部分を除いた残りのデータ数を求める。このデータの変化が小さい部分を除いた残りの部分の全体に占める割合がαであるので、求めたデータ数を全体のデータ数で割ることによりαの値を算出することができる。
【００４４】
また、図７は、有意なデータの比率αの値を算出するための他の処理方法の例を示すフローチャートである。まず始めに、ステップＳ７１では、カウンタＣを初期化する。次に、ステップＳ７２でサンプルデータＶ（ｊ）の二階差分データＶ２（ｊ）を生成し、ステップＳ７３では、その絶対値の移動平均値Ｖ３（ｋ）を生成する。次に、ステップＳ７４では、Ｖ３（ｋ）の平均値μ３を計算し、ステップＳ７５では、ステップＳ７６の判定処理を繰り返す。ステップＳ７６では、ステップＳ７３で生成したＶ３（ｋ）の値が、ステップＳ７４で計算したμ３の値の所定比率（例えば５％）未満であるか否かを判定し、所定比率未満であれば、ステップＳ７７にて、ステップＳ７１で初期化したカウンタＣの値をインクリメントする。最後に、ステップＳ７８では、サンプルデータ数Ｎと移動平均の計算に使ったサンプル数ＭとカウンタＣとからαを求める計算を行い、αの値をを算出する。
【００４５】
なお、数１の式に基づく確率モデルにおいて、ここでは正規分布を仮定したが、代わりに、一様分布などの他の分布を仮定し、これをモンテカルロ法などの数値シミュレーションによって解析して圧縮率と閾値との関係のモデルを特定し、これを数８や数９の式に代えて使用するようにしてもよい。
【００４６】
［第二実施形態］
図８は、本発明の第二実施形態に係るデータ圧縮装置の構成例を示すブロック図である。図８に示すように、データ圧縮装置１０Ａは、サンプリング手段１１、バッファリング手段１２、データ圧縮手段１３、履歴データ管理手段１４、閾値設定手段１５、履歴データ表示手段１７を有して成る。
【００４７】
この第二実施形態においては、サンプリング手段１１がサンプリングした各サンプルデータは、その都度データ圧縮手段１３とバッファリング手段１２との双方に引き渡される。データ圧縮手段１３は、その時点で保持しているデータ圧縮用閾値に基づいて逐次データの圧縮を行い、履歴データ管理手段１４に圧縮結果のデータを引き渡す。
【００４８】
一方、バッファリング手段１２は、サンプリング手段１１から引き渡されるサンプルデータを蓄積し、所定数のサンプルデータが溜まる都度、それらのデータをまとめて閾値設定手段１５に供給する。閾値設定手段１５は、それらのサンプルデータを用いてデータ圧縮用閾値の再計算を行い、再計算して求めた新たなデータ圧縮用閾値をデータ圧縮手段１３に通知して保持させる。
【００４９】
これにより、データ圧縮手段１３は、閾値設定手段１５から所定の周期で通知される最新のデータ圧縮用閾値を用いてデータ圧縮を行う。
【００５０】
図９は、データ圧縮装置１０Ａが備える不図示のＣＰＵによって不図示の記憶部から読み出されるプログラムによって実行されるデータ圧縮処理の例を示すフローチャートである。以下、図９のフローチャートに沿ってデータ圧縮処理の流れを詳しく説明する。
【００５１】
まず始めに、ステップＳ９１にて、サンプリング手段１１から所定の周期で（例えば５秒ごとに）送られてくるサンプルデータを待ち、サンプルデータが送られてきたら、ステップＳ９２にて、データ圧縮手段１３は当該データを抽出して残すか否かの取捨判定を行い、抽出対象とする場合は（ステップＳ９３で「ｙｅｓ」）、ステップＳ９４にて、履歴データ管理手段１４に当該データとそのサンプリングインデックスとの組を引き渡して格納させる。
【００５２】
また、ステップＳ９５では、サンプリング手段１１から送られたサンプルデータをバッファリング手段１２に格納し、次に、ステップＳ９６にて、バッファリング手段１２に溜まったサンプルデータの数（格納データ数）が所定数に達したか否かを判定する。所定数に達していなければ（ステップＳ９６で「ｙｅｓ」）、ステップＳ９１に処理を戻して次のサンプルデータを取得し、所定数に達した場合は（ステップＳ９６で「ｎｏ」）、ステップＳ９７に処理を進める。
【００５３】
ステップＳ９７では、閾値設定手段１５は、バッファリング手段１２に溜まった所定数のサンプルデータを取得し、それらのサンプルデータを用いてデータ圧縮用閾値の再計算を行う。次にステップＳ９８にて、再計算して求めた新たな値をデータ圧縮手段１３に送付してデータ圧縮用閾値を変更させたのち、ステップＳ９１に処理を戻す。それにより、次のサンプルデータからは変更後のデータ圧縮用閾値を用いて圧縮処理が実行される。
【００５４】
なお、ここでは、所定数のサンプルデータが溜まる都度、データ圧縮用閾値を再計算するものとしたが、所定数のサンプルデータが溜まってから新たなサンプルデータが送られる都度、それまでに溜まったサンプルデータと合わせて用いることでデータ圧縮用閾値の再計算を行うようにしてもよい。また、再計算の結果を直接データ圧縮手段１３に送付して変更させるのではなく、複数回の再計算結果の移動平均の値を送付するようにしてもよい。このような移動平均の値を用いることで、例えばセンサのレンジオーバーなどで生じるデータ特性の一時的変化などの影響によって、データ圧縮用閾値が急激に変動する現象を抑止することができる。また、データ圧縮手段１３が図２のステップＳ３１〜Ｓ３８と同様な手順でデータ圧縮用閾値の再設定の要否を判定し、閾値再設定フラグが真のときだけに、バッファリング手段１２から閾値設定手段１５にサンプルデータを供給して、データ圧縮用閾値の再設定を行わせるようにしてもよい。
【００５５】
［第三実施形態］
本発明の第三実施形態として、非特許文献１に記載のＢｏｘ  Ｃａｒアルゴリズムを用いてデータを圧縮する場合を説明する。Ｂｏｘ  Ｃａｒアルゴリズムとは、図１０に示すように、太いプラス記号で示す最新の抽出点からのデータの変化量が閾値Δを超える点の直前の点（黒丸印）を次の抽出点とするアルゴリズムである。
【００５６】
最新の抽出点のサンプリングインデックスがｋであったとし、サンプリングインデックスを変数ｊで表すと、ｊ＝ｋ＋１の点が抽出されるのは、｜Ｖ（ｋ＋１）-Ｖ（ｋ）｜≦Δ  であり、かつ  ｜Ｖ（ｋ＋２）-Ｖ（ｋ）｜＞Δ  となる場合である。同様に、ｊ＝ｋ＋ｉの点が抽出されるのは、０＜ｌ＜ｉ＋１であるすべてのｌに対して、｜Ｖ（ｋ＋ｌ）−Ｖ（ｋ）｜≦Δ  であり、かつ  ｜Ｖ（ｋ＋ｉ＋１）−Ｖ（ｋ）｜＞Δ  となる場合である。ここで、一階差分ｘｉ（＝Ｖ（ｋ＋ｉ＋１）−Ｖ（ｋ＋ｉ））の分布関数（確率密度関数）をＮ（ｘｉ）と表すものとすると、ｋから第ｉサンプル目が抽出される確率Ｐｉ（ｉ≧１）は、数１０の式で表すことができる。
【００５７】
【数１０】
0005458056.tif 000011
【００５８】
一方、｜Ｖ（ｋ＋１）−Ｖ（ｋ）｜＞Δ  の場合には、定義によれば、ｊ＝ｋの点を再度抽出しなくてはならなくなるため、この場合に限り、ｊ＝ｋ＋１の点を抽出するものとし、このようにｋの次のサンプルが抽出される確率をＰ０と表すことにすると、Ｐ０は数１１の式で表すことができる。また、圧縮率（の期待値）Ｆは、これらのＰｉを用いて、数１２の式で表すことができる。
【００５９】
【数１１】
0005458056.tif 000012
【数１２】
0005458056.tif 000013
【００６０】
この確率密度関数Ｎ（ｘｉ）を例えば平均値ゼロのガウス分布と仮定できるとすれば、標準正規分布を用いて、適当な閾値Δに対して、前記Ｐｉのｉの値を１，２，・・・に設定して、予め数１０〜数１２の式を解いておくことにより、圧縮率Ｆの近似値を求めることができる。なお、このような式を解くためには、例えばＭａｐｌｅ（登録商標）などの市販ソフトウェアを使うことができる。図１１には、Ｎ（ｘｉ）を標準正規分布とし、Δ＝１．８としたときのＰ０〜Ｐ４までを、数１０，数１１の式に基づいてＭａｐｌｅにより解いた結果を実線で示した。また、Ｎ（ｘｉ）が標準正規分布となるように乱数を生成して得た時系列データに対して、前記のＢｏｘ  ＣａｒアルゴリズムのルールをΔ＝１．８に設定して適用することで実際にデータを抽出して統計的にＰｉの値を算出する、という数値シミュレーション処理を多数回実施し、その結果を平均して得た分布を破線で示した。
【００６１】
このようにして得た閾値Δに対するＰｉと数１２の式とを用いれば、標準偏差で正規化したときの圧縮率Ｆと閾値Δとの関係を求めることができるので、この両者の関係を表す相関データを生成して予め閾値設定手段１５に組み込んでおく。そして、実際の時系列データから、その一階差分ｘｉの標準偏差σを求め、標準正規分布に対して得た閾値Δと圧縮率Ｆとの関係を表す相関データを参照して決定した目標圧縮率に対応する閾値Δの値に標準偏差σを乗ずることで、実際の時系列データに対応したデータ圧縮用閾値を決定することができる。
【００６２】
なお、平均値がゼロと仮定できない場合は、確率密度関数Ｎ（ｘｉ）のモデルとした標準正規分布の代わりに、例えば分散が１で、平均値μを標準偏差に対して正規化した複数の正規分布を適宜決定し、その確率密度関数のもとで、数１０〜数１２の式を解くことにより、前記の例と同様に、正規化した複数の平均値μについて、閾値Δと圧縮率Ｆとの関係をそれぞれ求め、それらの関係を表す相関データを生成して予め閾値設定手段１５に組み込んでおく。そして、実際の時系列データから、その一階差分ｘｉの標準偏差σと平均値ｍとを求め、この平均値ｍを標準偏差σで除することによって得られる正規化した平均値μの値に対応する相関データを参照して閾値Δの値を決定し、その値に標準偏差σを乗ずることで、実際の時系列データに対応したデータ圧縮用閾値を決定することができる。
【００６３】
さらに、このような方法は、確率密度関数のモデルをガウス分布に限定する必要はなく、実際に時系列データの一階差分に対して期待される分布関数の形を予め予測できる場合には、適用することが可能である。例えば、図１２（ｂ）に示すように、Ｎ（ｘｉ）が所定の範囲で一様な確率密度を持つような分布と考えられる場合には、図１２（ａ）に示すように、予め値域をμ±０．５のような形でモデル化して複数のμの値に対応する圧縮率Ｆと閾値Δとの関係を求めておき、実際の時系列データから、その一階差分ｘｉの値域δと平均値ｍとを求め、ｍ＝μδとなるμの値に対応する相関データを参照することで、値域μ±０．５のモデルから圧縮率Ｆに対応する閾値Δの値を決定し、その値に値域δを乗ずることで、実際の時系列データに対応したデータ圧縮用閾値を決定することができる。
【００６４】
なお、図１１に破線で示した数値実験（数値シミュレーション）の結果と実線で示した計算結果（理論値）とは非常によく一致しており、数値実験を用いて閾値Δと圧縮率Ｆとの関係を求めても、理論式に基づく場合と同様の効果が期待できる。このことから、あらかじめ想定したｘｉの分布に対して、数値実験によりＰｉの分布を求めておき、これに基づいて閾値Δと圧縮率Ｆとの関係を表す相関データを生成するようにしてもよい。このようにすれば、処理時間の短縮を図りつつ、データ圧縮用閾値の設定ついては理論値を使用した場合と同様の効果を得ることができる。また、ｘｉが正規分布以外の多様な分布にしたがう場合であっても圧縮用閾値Δと圧縮率Ｆとの関係を表す相関データを生成することができ、それを参照して同様に実際の時系列データに対応したデータ圧縮用閾値を決定することができる。
【００６５】
図１３は、複数の平均値μに対するＢｏｘ  Ｃａｒアルゴリズムにおける圧縮用閾値Δと圧縮率Ｆとの相関を示すグラフである。なお、横軸の圧縮用閾値Δは、一階差分ｘｉの標準偏差σで正規化した値を示している。このような相関を表す相関データを例えばテーブル化して、前記の数６や数９の式の代わりに、閾値設定手段１５に組み込んでおくことにより、Ｂｏｘ  Ｃａｒアルゴリズムを用いてデータを圧縮する場合にも本発明を適用することができる。
【００６６】
［第四実施形態］
本発明の第四実施形態として、非特許文献１に記載のＢａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズムを用いてデータを圧縮する場合を説明する。Ｂａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズムとは、図１４に示すように、太いプラス記号で示した最新の抽出点と、太い×印で示した更にその一つ前の抽出点とを結んでできる直線を、閾値Δ分、上下に平行移動した二直線に挟まれる範囲からデータが外れる直前の点を次の抽出点（黒丸印）とするアルゴリズムである。前記のＢｏｘ  Ｃａｒアルゴリズムは、言い換えると、最新の抽出点を挟んで時間軸に平行な二直線に挟まれる範囲からデータが外れる直前の点を抽出するものである。これに対して、Ｂａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズムは、一様な傾きで変化するデータを極力廃棄することで、圧縮効率を高めようとするものである。これは、一階差分ｘｉの平均値がゼロに見えるようにＢｏｘ  Ｃａｒアルゴリズムを改良したものと考えることができる。
【００６７】
したがって、閾値設定手段１５において、一階差分ｘｉの分散や平均値などの統計量を求める処理では、平均的な変化率の影響を考慮する必要があるが、それ以外はＢｏｘ  Ｃａｒアルゴリズムにおける平均値μ＝０のケースだけを考慮した閾値Δと圧縮率Ｆとの関係を使って、目標圧縮率に対するデータ圧縮用閾値を決定すればよい。
【００６８】
例えば、閾値設定手段１５において、時系列データの統計量を算出する処理では、一階差分ｘｉの平均値の影響を取り除くために、目標圧縮率と同程度のオーダーの移動平均を算出し、これを除いたデータに対して、一階差分ｘｉを求め、その分散を用いるなどすれば、Ｂａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズムを用いたデータ圧縮手段１３に対しても、同様に目標圧縮率に対応したデータ圧縮用閾値を自動的に決定することができる。
【００６９】
［第五実施形態］
本発明の第五実施形態として、非特許文献１に記載のＳｗｉｎｇｉｎｇ  Ｄｏｏｒアルゴリズムを用いてデータを圧縮する場合を説明する。Ｓｗｉｎｇｉｎｇ  Ｄｏｏｒアルゴリズムの計算モデルは数１３の式によって表される。
【００７０】
【数１３】
0005458056.tif 000014
【００７１】
Ｓｗｉｎｇｉｎｇ  Ｄｏｏｒアルゴリズムとは、図１５に示すように、太いプラス記号で示した最新の抽出点（インデックス＝ｋ）からｉ＋１サンプル読み進めた時点で、閾値Δの大きさを有し、それらのサンプル点をすべて挟み込むＤｏｏｒの上枠の傾きＵ（ｊ）（ここでｊ＝ｋ＋１〜ｋ＋ｉ＋１）の最小値とＤｏｏｒの下枠の傾きＬ（ｊ）の最大値との差が初めて正になったとき、すなわち、Ｄｏｏｒの上枠と下枠とが時刻が増大する方向で初めて交わらなくなったときに、直前のｉサンプル目（黒丸印）を抽出するアルゴリズムである。
【００７２】
ここで、ｉサンプル目が抽出される確率をＰｉと表すことにすると、Ｐｉは数１４〜数２２の式で表される。ここで、Ｎｉ（ｘｉ）は、抽出点からｉサンプル先でのデータＶ（ｋ＋ｉ）とＶ（ｋ）の差、すなわちＶ（ｋ＋ｉ）−Ｖ（ｋ）であるｘｉがとる値の確率密度を表す関数とする。またＶ（ｋ＋ｉ）−Ｖ（ｋ＋ｉ−１）をｙｉとしたとき、ｙｉは一階差分であるため、データの性質が時間的に変化しないものと仮定すれば、ｙｉがとる値の分布はｋ＋ｉによらず一定の分布にしたがうものと考えることができるので、ｙｉの確率密度を表す関数をＮ（ｙｉ）とした。Δは閾値である。
【００７３】
【数１４】
0005458056.tif 000015
【数１５】
0005458056.tif 000016
【数１６】
0005458056.tif 000017
【数１７】
0005458056.tif 000018
【数１８】
0005458056.tif 000019
【数１９】
0005458056.tif 000020
【数２０】
0005458056.tif 000021
【数２１】
0005458056.tif 000022
【数２２】
0005458056.tif 000023
【００７４】
このＰｉを用いて、圧縮率Ｆは数２３の式によって求めることができる。
【００７５】
【数２３】
0005458056.tif 000024
【００７６】
例えば、データがブラウン運動の場合、一階差分値の分散をσ２とすれば、Ｎ（ｙｉ）は分散σ２の正規分布で、Ｎｉ（ｘｉ）は分散がｉ倍の正規分布と考えることができ、これを用いて数１４〜数２２の式を数式処理ソフトなどで解くことにより、ｉサンプル目が抽出される確率Ｐｉと閾値Δとの関係を求め、さらに数２３の式から圧縮率の期待値Ｆと閾値Δとの関係を求めることができる。
【００７７】
一方、ＢｏｘＣａｒアルゴリズムと同様にして正規化された閾値と圧縮率との関係を図１１で結果を示したのと同様な数値実験により求めてもよい。このようにして得た結果を図１６に示す。なお、横軸の圧縮閾値Δは一階差分値の標準偏差σで正規化した値を示す。
【００７８】
このように、図１３や図１６のようなモデルの相関データを閾値設定手段１５に組み込んでおき、実際のデータから得た平均値μや標準偏差σから、目的とする圧縮率に対応した閾値を求め、この値を実データの平均値と分散とで補正することで、ＢｏｘＣａｒ  アルゴリズムやＢａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズム、Ｓｗｉｎｇｉｎｇ  Ｄｏｏｒアルゴリズムを用いたデータ圧縮手段１３に対しても、目標圧縮率に対応したデータ圧縮用閾値を自動的に決定することができる。
【００７９】
［第六実施形態］
図１７は、本発明の第六実施形態に係るデータ圧縮装置の構成例を示すブロック図である。図１７に示すように、データ圧縮装置１０Ｂは、サンプリング手段１１、差分値分布計算手段１４０１、擬似時系列生成手段１４０２、擬似データ圧縮手段１３Ｂ、閾値−圧縮率相関生成手段１４０３、閾値設定手段１５Ｂ、データ圧縮手段１３、履歴データ管理手段１４、履歴データ表示手段１７を有して成る。前記の第一実施形態から第五実施形態では、タグデータの一階差分値や二階差分値の分布を予め想定し、数式モデルやモンテカルロシミュレーションなどを行って圧縮率の期待値と閾値との関係を求めたが、この第六実施形態では、閾値と圧縮率の期待値との関係を実データからモデル化して相関データを生成し、当該相関データによって閾値設定手段１５Ｂに閾値を設定させる。
【００８０】
この第六実施形態においては、サンプリング手段１１がデータをサンプリングする都度、データ圧縮手段１３を用いて圧縮を行い、結果を履歴データ管理手段１４に格納するとともに、入ってきたデータをバッファリング手段１２にも送信してデータを蓄え、所定数のデータが溜まった時点で、差分値分布計算手段１４０１により、データの一階差分値または二階差分値の分布を計算する。擬似時系列生成手段１４０２では、このようにして得た一階差分値または二階差分値の分布を用いて擬似時系列データを発生する。閾値−圧縮率相関生成手段１４０３は、適宜閾値を設定して、この擬似時系列データを擬似データ圧縮手段１３Ｂにより圧縮させ、閾値と圧縮率との関係を表す相関データの更新を行う。最後に閾値−圧縮率相関生成手段１４０３は、得られた閾値と圧縮率との関係を表す相関データを閾値設定手段１５Ｂに設定する。これにより、閾値設定手段１５Ｂは、これまでの実施形態とは違い、実データの統計的特性を仮定したモデルではなく、実データを模擬して実際に圧縮を行うことによって得た相関データに基づいて、データ圧縮手段１３にデータ圧縮用閾値を設定する。
【００８１】
なお、擬似データ圧縮手段１３Ｂには、実データに対する圧縮を行うデータ圧縮手段１３と同一の圧縮アルゴリズムを実装しておく。差分値分布計算手段１４０１において一階差分値を用いるか二階差分値を用いるかは、データ圧縮手段１３および擬似データ圧縮手段１３Ｂに実装する圧縮アルゴリズムに依存するが、例えば、図３を用いて説明したアルゴリズムの場合は、二階差分値を、Ｓｗｉｎｇｉｎｇ  ＤｏｏｒアルゴリズムやＢｏｘ  Ｃａｒアルゴリズム、Ｂａｃｋｗａｒｄ  Ｓｌｏｐｅアルゴリズムの場合は、一階差分値を用いる。
【００８２】
図１８は、データ圧縮装置１０Ｂが備える不図示のＣＰＵによって不図示の記憶部から読み出されるプログラムによって実行される相関データ生成処理の例を示すフローチャートである。以下、図１８のフローチャートに沿って相関データ生成処理の流れを詳しく説明する。
【００８３】
ステップＳ１５１により、ステップＳ１５２からステップＳ１５７までの処理は、所定回数繰り返し実行され、その繰り返しで得た結果をステップＳ１５８により平均化して、ステップＳ１５９にて閾値設定手段１５Ｂに設定する。
【００８４】
ステップＳ１５１での繰り返し処理は、ステップＳ１５２〜ステップＳ１５４により構成される。始めに、ステップＳ１５２にて、予め一定期間に亘って取得した実データの一階または二階差分値のヒストグラムデータと乱数とを用いて、擬似的な一階または二階差分値のデータを所定個数生成する。次に、ステップＳ１５３にて、これら生成した差分値のデータを用いて所定長の擬似時系列データを生成する。生成したこの擬似時系列データに対して、ステップＳ１５４での繰り返し処理を通じて、複数の閾値と圧縮率との関係を求める。
【００８５】
ステップＳ１５４での繰り返し処理では、実データの一階または二階差分値の平均値を基準として、その所定値（例えば、０．１，０．２，・・・，１，２，・・・，１０）倍の値を閾値に設定し、各閾値に対してステップＳ１５５〜ステップＳ１５７を実行する。ステップＳ１５５では、擬似データ圧縮手段１３Ｂが設定された閾値を用いて擬似時系列データの圧縮を行い、閾値−圧縮率相関生成手段１４０３が、ステップＳ１５６にて、元の擬似時系列データと圧縮結果との圧縮前後のデータ数から圧縮率を計算したのち、ステップＳ１５７にて、閾値と圧縮率とのペアをリストに追加して保持しておく。
【００８６】
このような処理を所定回数繰り返すことにより、閾値−圧縮率相関生成手段１４０３は、各閾値についての閾値と圧縮率とのペアを、繰り返した所定回数に等しい数だけ得ることができる。十分に長い周期の擬似乱数で十分な数の繰り返しを行ったのちに、閾値−圧縮率相関生成手段１４０３は、ステップＳ１５８にて、リスト中の閾値と圧縮率とのペアのうち、同じ閾値のペアについて、圧縮率の平均値を算出し、ステップＳ１５９にて、算出した平均値を圧縮率の期待値とみなして、閾値と圧縮率の期待値との関係を表す相関データを生成して、当該相関データを閾値設定手段１５Ｂに設定する。
【００８７】
このようにすることで、一階差分あるいは二階差分値の分布関数が不明な場合であっても、それらの分布関数を予め仮定することから生じる目標圧縮率と実際の圧縮率との誤差を回避して、高精度に圧縮率の制御を行うことができる。
【００８８】
また、本実施形態では、サンプリング手段１１が取得したデータをデータ圧縮手段１３とバッファリング手段１２とに同時に流して閾値の設定に用いる相関データを更新し、更新された相関データを用いて閾値設定手段１５Ｂがデータ圧縮用閾値を再設定するものとしたが、データ圧縮手段１３が図２のステップＳ３１〜Ｓ３８と同様な手順でデータ圧縮用閾値の再設定の要否を判定し、閾値再設定フラグが真のときだけに、閾値設定手段１５Ｂにデータ圧縮用閾値の再設定を行わせるようにしてもよい。
【００８９】
以上にて本発明を実施するための形態の説明を終えるが、本発明の実施の態様はこれらに限られるものではなく、本発明の趣旨を逸脱しない範囲内で各種の変更が可能である。
【符号の説明】
【００９０】
１０，１０Ａ，１０Ｂ  データ圧縮装置
１１  サンプリング手段
１２  バッファリング手段
１３  データ圧縮手段
１３Ｂ  擬似データ圧縮手段
１４  履歴データ管理手段
１４０１  差分値分布計算手段
１４０２  擬似時系列生成手段
１４０３  閾値−圧縮率相関生成手段（相関データ生成手段）
１５，１５Ｂ  閾値設定手段
１６  スイッチ
１７  履歴データ表示手段
【図１】
0005458056.tif 000025
【図２】
0005458056.tif 000026
【図３】
0005458056.tif 000027
【図４】
0005458056.tif 000028
【図５】
0005458056.tif 000029
【図６】
0005458056.tif 000030
【図７】
0005458056.tif 000031
【図８】
0005458056.tif 000032
【図９】
0005458056.tif 000033
【図１０】
0005458056.tif 000034
【図１１】
0005458056.tif 000035
【図１２】
0005458056.tif 000036
【図１３】
0005458056.tif 000037
【図１４】
0005458056.tif 000038
【図１５】
0005458056.tif 000039
【図１６】
0005458056.tif 000040
【図１７】
0005458056.tif 000041
【図１８】
0005458056.tif 000042