(57)【特許請求の範囲】
【請求項１】
データ点の流れを圧縮し、バスを介して通信結合された複数個のプロセス制御装置を備えるプロセス制御ネットワーク内で使用するためのデータ圧縮システムにおいて、
複数のプロセス制御装置のうちの第１のものであって、該第１のプロセス制御装置は、
連続した方法でデータ点を受信するデータ受信器と、
受信したデータ点から圧縮ツリーを決定する圧縮ツリー計算装置を備えて、
決定された圧縮ツリーはデータ点流れに等しいゼロレベル層内の係数と、該ゼロレベル層内の係数から決定される１又は２以上の高レベル層内の係数を含む、第１のプロセス制御装置と、
圧縮ツリーの決定された係数を記憶するメモリと、
決定された係数のサブセットを選択し、受信したデータ点に対応した圧縮データのセットを生成する圧縮データ発生器と、
伝送装置とを備えて、
圧縮ツリー計算装置は、データ受信器が第１のデータ点の１つを受信した後であってデータ受信器が第２のデータ点の１つを受信する前に、１つの高レベル層の１つの係数を決定し、
圧縮データを圧縮解除してデバイスデータに対応した圧縮解除データを生成するデータ圧縮解除ユニットを含む複数のプロセス制御装置のうちの第２のものを備え、前記伝送装置はバスを介して圧縮データを複数のプロセス制御装置のうちの第２のものに伝送する、データ圧縮システム。
【請求項２】
請求項１に記載のデータ圧縮システムにおいて、前記複数のプロセス制御装置のさらなるものが、圧縮データを記憶することが可能なメモリを備えたデータヒストリアンであり、前記伝送装置が、バスを介して、前記データヒストリアンに圧縮データを伝送することを特徴とする、データ圧縮システム。
【請求項３】
請求項１に記載のデータ圧縮システムにおいて、前記複数のプロセス制御装置のうちの第２のものが、圧縮解除されたデータを表示するユーザインタフェース装置であることを特徴とする、データ圧縮システム。
【請求項４】
請求項１に記載のデータ圧縮システムにおいて、前記複数個のプロセス制御装置のうちの第２のものがプロセスコントローラであることを特徴とする、データ圧縮システム。
【請求項５】
請求項１に記載のデータ圧縮システムにおいて、圧縮データ発生器は、圧縮ツリー内の全ての圧縮ツリーの係数を有するセットを含むように圧縮データを選択して、全ての圧縮ツリーの係数は圧縮ツリーに加えられるべき更なる係数であって、圧縮ツリーの高レベルの係数を直接計算するのに必要であるが、セット内の他の係数から十分に計算され得る係数を含まない、データ圧縮システム。
【請求項６】
請求項１に記載のデータ圧縮システムにおいて、前記複数個のプロセス制御装置のうちの第２のものは、圧縮データを処理することが可能なプロセッサを備えることを特徴とする、データ圧縮システム。
【請求項７】
請求項１に記載のデータ圧縮システムにおいて、前記装置データがビデオデータである、データ圧縮システム。
【請求項８】
プロセス制御ネットワークにて用いるデータ点の流れを圧縮するデータ圧縮システムにおいて、
複数のプロセス制御装置であって、各装置は、
連続した方法でデータ点を受信するデータ受信器と、
受信したデータ点から圧縮ツリーを決定する圧縮ツリー計算装置を備え、
決定された圧縮ツリーはデータ点流れに等しいゼロレベル層内の係数、及びゼロレベル層から決定される１又は２以上の高レベル層内の係数を含み、
圧縮ツリーの決定された係数を記憶するメモリと、
決定された係数のサブセットを選択し、受信したデータ点に対応した圧縮データのセットを生成する圧縮データ発生器と、
伝送装置とを備えて、
圧縮ツリー計算装置は、データ受信器が第１のデータ点の１つを受信した後であってデータ受信器が第２のデータ点の１つを受信する前に、１つの高レベル層の１つの係数を決定し、
その内部に圧縮データを圧縮解除して圧縮解除されたデータを生成するデータ圧縮解除ユニットを含むホスト装置を備え、前記伝送装置はバスを介して圧縮データをホスト装置に伝送することを特徴とする、データ圧縮システム。
【請求項９】
請求項８に記載のデータ圧縮システムにおいて、前記ホスト装置に設けられ、バスを介して前記ホスト装置に伝送された圧縮データを記憶するメモリを有するデータヒストリアンをさらに備えることを特徴とする、データ圧縮システム。
【請求項１０】
請求項８に記載のデータ圧縮システムにおいて、前記ホスト装置に設けられ、圧縮解除されたデータを用いてプロセスの制御を行うプロセスコントローラをさらに備えることを特徴とする、データ圧縮システム。
【請求項１１】
請求項８に記載のデータ圧縮システムにおいて、前記圧縮データ発生器の各々が、圧縮ツリー内の全ての圧縮ツリーの係数を有するセットを含むように圧縮データを選択して、全ての圧縮ツリーの係数は圧縮ツリーに加えられるべき更なる係数であって、圧縮ツリーの高レベルの係数を直接計算するのに必要であるが、セット内の他の係数から十分に計算され得る係数を含まない、データ圧縮システム。
【請求項１２】
請求項８に記載のデータ圧縮システムにおいて、前記複数個のフィールド装置のうちの１個に関連する装置データがビデオデータであることを特徴とする、データ圧縮システム。
【請求項１３】
バスによって通信相互接続された複数個のプロセス制御装置を有するプロセス制御ネットワーク内でデータを転送する方法において、
多数のプロセス制御装置においてデータ点を連続した方法で発生する工程と、
前記多数のプロセス制御装置の各々において発生されたデータを圧縮ツリー計算装置を介して圧縮し、該圧縮ツリー計算装置は受信したデータ点から圧縮ツリーを決定し、決定された圧縮ツリーはデータ点流れに等しいゼロレベル層内の係数と、該ゼロレベル層内の係数から決定される１又は２以上の高レベル層内の係数を含み、圧縮ツリー計算装置は、データ受信器が第１のデータ点の１つを受信した後であってデータ受信器が第２のデータ点の１つを受信する前に、１つの高レベル層の１つの係数を決定する工程と、
前記多数のプロセス制御装置の各々から前記複数個のプロセス制御装置の他のものにバスを介して圧縮データを送信する工程と、
さらなるプロセス制御装置において前記多数のプロセス制御装置のうちの少なくとも１個から圧縮データの一部を受信する工程と、
受信された圧縮データを前記さらなる装置において圧縮解除する工程とを備える、データを転送する方法。
【請求項１４】
請求項１３に記載の方法において、前記受信工程が、前記さらなるプロセス制御装置において前記多数のプロセス制御装置の各々から圧縮データを受信する工程と、前記さらなるプロセス制御装置におけるメモリに受信された圧縮データを記憶する工程とを備えることを特徴とする、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ圧縮システムおよびデータ圧縮方法に関する。
【背景技術】
【０００２】
化学製油所や製薬工場等のプロセスプラントは、一般に、プロセスにおける様々な位置でパラメータまたは変数を制御し、測定する多数のフィールド装置を備えている。フィールド装置は、制御装置（例えば流量弁コントローラ）、測定装置（例えば温度計、圧力計、流量計等）およびプロセスに関する値または他のデータに影響を及ぼし、それを表示し、記憶し、もしくは決定する装置のいずれであってもよい。過去十年位までは、フィールド装置は、手動または電子的に制御され、その後ユーザオーバワイヤに、または付加ゲージを経て通信される１個またはせいぜい２個の電気的読み取り機構を生じる、かなり簡単な装置であった。一般的に、これらの装置は、アナログ信号のみを用いて、それによって行われる読み取りまたは測定に関する限定情報を伝送していた。
【０００３】
より最近では、いわゆる「高性能」フィールド装置が開発されている。高性能フィールド装置は、ホスト、コントローラ、およびプロセスに関連する管理システムまたはそのいずれかと通信して、獲得または記憶された詳細な情報を与えることが可能な装置である。例えば、ある高性能フィールド装置は、装置に関連するプロセス値（例えば測定値）を示すアナログ信号およびディジタル信号またはそのいずれかを送信することも可能であり、また校正、構成、診断、保守およびプロセス情報またはそのいずれか等の詳細な装置特定情報を示すディジタル信号を記憶し且つ送信することも可能である。高性能装置は、例えば、その装置が測定しているユニット、装置の最大範囲、装置が正常に作動しているかどうかについて、装置に関する障害追跡情報、装置を校正する方法および時期等を記憶して転送することも可能である。さらに、高性能装置は、それ自体に関する動作、例えば自己検査および自己校正ルーチンを行うことも可能である。例示した高性能装置は、ＨＡＲＴ（登録商標、ハイウェイ・アドレッサブル・リモート・トランスジューザ）プロトコル（ＨＡＲＴ装置）、ＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスプロトコル（フィールドバス装置）、ＰＲＯＦＩＢＵＳ（登録商標）プロトコル、ＷＯＲＬＤＦＩＰ（登録商標）プロトコル、装置・ネット（登録商標）プロトコル、およびＣＡＮプロトコルに従う装置を含む。しかし、他の高性能装置プロトコルは、異なる型式の高性能装置を支持するために、現在存在しているか、または将来開発される可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
標準プロセス制御ネットワーク内で、コントローラ、データ記憶装置、ユーザインタフェース装置等であってもよい高性能装置は、ホスト装置等の他の形態のフィールド装置と同様に、各装置に関連する専用回線を介して、あるいは装置の全てまたは少なくとも一部分を相互接続するバスを介してプロセスコントローラに接続されてもよい。いわゆる分散型プロセス制御ネットワーク（ここではプロセス制御ネットワークを通じて拡大された多数の制御エレメントによって制御機能が果たされる）等の他のプロセス制御ネットワークは、プロセス制御を行うのに必要な装置を相互接続する１個以上のバスを備えることも可能である。上記のような多くの通信プロトコルがプロセス制御通信ネットワークのために開発されているが、これらの制御ネットワークは、一般に全ての通信アクティビティのための１個（またはかなり限定された数）のバスに依存する。大抵のシステム、特に大型のシステムでは、バスを最適使用するかどうかが重視される。実際、バスに接続された装置や、バスに接続された装置によってバス上に送られる情報またはデータが多くなればなるほど、バスにボトルネックが生じる可能性がますます高くなる。これらのボトルネックにより、データが失われたり、プロセス制御ネットワークの性能が低下したりする可能性がある。さらに、プロセス制御ネットワークのデータ伝送能力が高くなると、データライブラリ（データヒストリアン）等のデータ記憶装置がバス上に送られるデータを収集し、記憶する能力に負担をかけることがよくある。プロセス制御バスを使用して、プロセスネットワーク内のある位置のビデオカメラによってとられたビデオ画像を送るための産業上の最近の手段は、プロセスバス上のデータトラフィックにかなりの負荷をかけており、問題を悪化させている。
【０００５】
所定量のバス帯域幅を使用してできるだけ多くのデータを伝送することが可能なプロセス制御システム（または他のいずれかの通信ネットワーク）を構成するのが望ましいことは明らかである。同様に、例えばプロセス制御ネットワークにおいてできるだけ少ないメモリを用いて、できるだけ多くのデータを記憶することが望ましい。これらの目標に到達するために、従来のプロセス制御システムは、記憶装置に記憶されているデータを圧縮するデータ圧縮技術を用いている。しかし、プロセス制御システムで使用される従来のデータ圧縮技術の殆どは、所定量のデータを記憶するのに必要な記憶空間の量を削減する際にあまり満足いくものではなかった。さらに、従来のプロセス制御ネットワークは、バスを介して圧縮されたデータを伝送することが不可能であったため、バス上で所定量のデータを伝送するのに必要なバス帯域幅を低減することができなかった。
【０００６】
一般に、データ記憶のためにデータを圧縮している従来のプロセス制御ネットワークは、ボックスカー圧縮技術および逆方向スロープ補間技術のような相互動作圧縮技術を用いている。補間圧縮技術は、一般にゼロ位補間（例えばボックスカー方式）または一次補間（例えば逆方向スロープ方式）等の下位補間を現在点と最後に記録された幾つかの点において使用し、その現在点を記憶するのに有用であるかどうかを決定する。これらの方法は高速であるため、オンラインまたは実時間で使用して入力データを圧縮して記憶することが可能であるが、これらの方法によってなされた決定は、幾つかの点のみを基準とするため、これらの方法によって性能が比較的劣化する。
【０００７】
一方、ウェイブレットデータ圧縮技術は、平均、２乗誤差、局部点誤差、経験的変換関数率および累積スケール誤差等の様々な基準に関して補間圧縮技術よりもうまく実施するように示されている。その理由は、主として、ウェイブレットデータ圧縮技術が、データを圧縮する際に、より多くのデータ点を考慮するためである。しかし、ウェイブレットデータ圧縮方法は、特定のビデオ画像もしくは他の物理的エンティティまたは論理装置に対応する全てのデータ等のデータの大集合またはウィンドウが、圧縮開始可能となる前にメモリ内で利用可能となることが要求される。その結果、従来のデータ圧縮システムにおいて適用されている既知のウェイブレットデータ圧縮技術は比較的低速であり且つ非効率的である。その理由は、データのウィンドウ全体を収集する期間は非活動状態のままであり、その後、高速データ処理速度で動作して、ウェイブレットデータ圧縮を行うのに必要なウェイブレット係数を計算しなければならないからである。同様に、ウェイブレットデータ圧縮技術は、圧縮プロセスの間、圧縮されていないデータのために比較的大量の記憶空間を取っておく必要がある。これら両方の要因によって、従来のウェイブレットデータ圧縮技術は実時間またはオンラインデータ圧縮での使用に適さず、圧縮されていない最小量のデータ点のみを記憶しながら入力データを効率良く実時間で圧縮するのが望ましい。
【課題を解決するための手段】
【０００８】
本発明は、既知のウェイブレットデータ圧縮技術の最小記憶品質および正確度または性能品質を維持しながら既知の補間圧縮技術の速度、効率およびオンライン実現可能性を有する実時間またはオンラインデータ圧縮技術を提供する。本発明の圧縮技術は、プロセス制御ネットワーク等の通信システムにおいて使用され、データライブラリに圧縮データを記憶する（それによってネットワークのメモリ要件を減じる）ことも可能であり、また実時間データ圧縮を今まで通り提供しながら圧縮データをバス上で伝送する（それによってバスの帯域幅要件を減じる）ためにも使用可能である。
【０００９】
本発明によれば、多数のプロセス制御装置がバスを介して通信接続されたプロセス制御システムは、データをバスに配置する前に圧縮し、圧縮されたデータをバス上で、例えばデータライブラリ等のメモリ装置に送り、圧縮されたデータを圧縮形式でメモリ装置に記憶する。このようなシステムは、伝送されたデータに関連する帯域幅を低減し、それによって、より多くのデータをバス上に送り、より多くのプロセス制御装置がバスに接続される、またはそのいずれかを可能にする。
【００１０】
また、本発明によれば、再帰的オンラインウェイブレットデータ圧縮技術は、大量の圧縮されていないデータ、例えばビデオ画像全体に関連する全てのデータを記憶する必要がなく（例えばデータが到達するか、または発生されると）オンラインまたは実時間でデータを圧縮する。一般に、本発明によるデータ点の流れを圧縮するデータ圧縮システムは、データ点を順次受信するデータ受信器と、受信されたデータ点から多層圧縮ツリーを決定する圧縮ツリー計算装置とを備える。決定された圧縮ツリーは、データ点の流れに等しいゼロレベル層における係数と、低レベル層における係数から決定される１個以上の高レベル層における係数とを備えるウェイブレット圧縮ツリーであってもよい。データ圧縮システム内のメモリは、圧縮ツリーの決定された係数を記憶し、圧縮データ発生器は、決定された係数のサブセットを選択して、受信されたデータ点に対応する一組の圧縮データを作成する。圧縮ツリー計算装置は、データ受信器が第一のデータ点を受信した後であるが、データ受信器が第２のデータ点を受信し、それによってオンラインまたは実時間データ圧縮を行う前に、高レベル層の１つの係数を決定する。
【００１１】
圧縮ツリー計算装置は、データ点の各々を受信した後、圧縮ツリーの記憶された係数から計算可能な圧縮ツリーの高レベル層の係数全てを計算する圧縮ツリー係数計算器を備えるのが好ましい。データ除去装置は、圧縮ツリーのより高いレベルの層における係数を直接計算するのに必要ない係数をメモリから除去し、それによってデータ圧縮システムのメモリ要件を最小限にすることも可能である。
【００１２】
一実施の形態では、データ圧縮システムのメモリは、マルチレベル圧縮ツリーの各レベルに関連する別個のスタックを備えるスタックメモリである。各スタックメモリは、Ｎ個の記憶場所を有し、Ｎが圧縮ツリーを計算するために使用されるウェイブレットフィルタのサイズであるのが好ましい。メモリは、多層圧縮ツリーの各層内で初期ツリー係数を計算するのに使用されるパディングデータ点を記憶するパディングスタックを備えてもよい。このパディングスタックは、対称的パディングを行い、Ｎー２個の記憶場所を備えるように設計されてもよい。
【００１３】
圧縮データ発生器は、圧縮ツリーに付加されるさらなる係数であり、圧縮ツリーの高レベル係数を直接計算するために必要な圧縮ツリー内の圧縮ツリー係数を全て有する組を含むが、その組における他の係数から完全に計算することが可能ないかなる係数も含まないように圧縮データを選択することも可能である。圧縮データ発生器は、どの係数が圧縮データとして圧縮データ発生器によって選択されたかを特定するインデックスを発生するインデックス発生器をさらに備えることも可能である。インデックス発生器は、圧縮データの一部として圧縮データ発生器によって選択され、圧縮ツリー計算装置によって最後に決定された係数の圧縮ツリーにおける場所に対応するインデックスを発生するのが好ましい。
【００１４】
データ圧縮システムは、決定された係数をしきい値と比較する比較器を備えることも可能であり、圧縮データ発生器は、決定された係数のうちの１つがしきい値よりも大きいことを比較器が決定すると、圧縮されたデータを選択する、すなわち圧縮ツリーの構成を停止することが可能である。比較器は、ゼロレベル層よりも大きい圧縮ツリーの各層に対する所定のしきい値を記憶し、圧縮ツリーの特定レベルに対する係数を特定レベルに関連する記憶されたしきい値と比較することも可能である。あるいは、比較器は、累積２乗平均平方根誤差および局部点誤差またはそのいずれかを計算し、これらの値をユーザによって指定されたしきい値と比較し、圧縮ツリーの構成がツリー内の特定の点で停止されるべきかどうかを決定する適応比較器であってもよい。
【００１５】
望ましい場合には、圧縮ツリー計算装置は、ゼロレベル層よりも高いレベルの圧縮ツリーにおける点の各々に対して近似係数および詳細係数を計算することにより、ウェイブレット圧縮ツリーを再帰的に計算することも可能である。この場合、メモリは各点に対する近似係数を記憶し、一方、比較器は各点に対する詳細係数をしきい値と比較することも可能である。
【００１６】
本発明のデータ圧縮システムは、圧縮されたデータを受信する受信器と、受信された圧縮データを記憶するメモリと、圧縮されたデータ点の各々が受信されると、記憶された圧縮データから圧縮ツリー内の点を計算し、それによってデータ圧縮器に送られるデータ点の最初の流れの近似値を回復する逆圧縮ツリー発生器とを有するデータ圧縮解除装置を備えることも可能である。
【００１７】
また、本発明によると、連続するデータ点を圧縮する際に使用するためのコンピュータ読み取り可能な記憶媒体に記憶されたコンピュータ実現可能データ圧縮ルーチンが連続するデータ点を受信し、連続するデータ点の各々を受信した後、（１）受信されたデータ点およびマルチレベル圧縮ツリーの事前に記憶された点から決定可能なマルチレベル圧縮ツリー内の各点を決定し、（２）決定された点をメモリに記憶し、（３）しきい値を前記決定された点のうちの１個に関連する値と比較することによってマルチレベル圧縮ツリーの構成が停止されるべきかどうかを決定する。ルーチンは、マルチレベル圧縮ツリーの構成を停止するべきだと決定すると、記憶された点から１組の圧縮データを開発する。
【００１８】
また、本発明によると、バスを介して通信結合された複数個のプロセス制御装置を備えるプロセス制御ネットワークにおいて使用するためのデータ圧縮システムは、複数個のプロセス制御装置のうちの１個によって発生されたビデオデータ等の装置データを圧縮し、それによって圧縮されたデータを生成するデータ圧縮器を複数個のプロセス制御装置のうちの少なくとも１個に備える。複数個のプロセス制御装置のうちの１個における伝送装置は、バスを介して複数個のプロセス制御装置の第２のものに圧縮データを伝送し、複数個のプロセス制御装置の第２のものに配置された圧縮解除装置は、圧縮データを圧縮解除し、装置データに対応して圧縮解除されたデータを作成する。
【００１９】
複数個のプロセス制御装置のさらなるものは、圧縮されたデータを記憶することが可能なメモリか、圧縮解除されたデータを表示するユーザインタフェース装置か、または圧縮されたデータから開発されたデータを使用してプロセスを制御するプロセスコントローラを備えるデータヒストリアンであってもよい。
【００２０】
望ましい場合には、データ圧縮器は、再帰的ウェイブレットデータ圧縮技術を用いて装置データを圧縮する再帰的ウェイブレットデータ圧縮器であってもよい。このようなシステムでは、再帰的ウェイブレットデータ圧縮器は、様々なレベルのウェイブレット圧縮ツリーを再帰的に構成し、圧縮されたデータをウェイブレット圧縮ツリーから発生する。
【００２１】
さらに、本発明によると、バスによって複数個のプロセス制御装置が通信相互接続されたプロセス制御ネットワーク内でデータを転送する方法は、多数のプロセス制御装置においてデータを発生する工程と、その多数のプロセス制御装置の各々において発生されたデータを圧縮する工程と、バス上で多数のプロセス制御装置の各々から他のプロセス制御装置に圧縮データを転送する工程とを備える。多数のプロセス制御装置のうちの少なくとも１個からの圧縮データの一部は、さらに他のプロセス制御装置で受信され、受信された圧縮データは、さらに他の装置で圧縮解除される。
【００２２】
また、さらに本発明によると、データ処理ルーチンにおいて使用するためのデータを適応して２値化するための方法またはコンピュータ実現可能ルーチンは、連続する順次データ点を収集する工程と、その連続する順次データ点の各々を収集した後、収集された連続する順次データ点内でデータ点に基づいて集合体誤差変数を決定する工程とを備える。集合体誤差変数は、その後しきい値と比較される。集合体誤差変数を決定する工程と、集合体誤差変数をしきい値と比較する工程とは、連続する順次データ点における第１のデータ点を受信した後であり且つその連続する順次データ点における第１のデータ点のすぐ後に続く第２のデータ点を受信する前に行うのが好ましい。集合体誤差変数は、再帰的に決定することも可能であり、局部点誤差変数、２乗平均平方根誤差変数および合計２乗誤差変数のうちの１つまたはそれ以上を備えることも可能である。望ましい場合には、集合体誤差変数をゼロに設定してもよく、その集合体誤差変数がしきい値よりも大きくなるように決定されると、新たな連続する、例えば３個以上の順次データ点を収集することも可能である。
【発明の効果】
【００２３】
以上説明したように、本発明によると、ウェイブレットデータ圧縮技術の最小記憶品質および正確度または性能品質を維持しながら既知の補間圧縮技術の速度、効率およびオンライン実現可能性を有する実時間またはオンラインデータ圧縮技術を提供できるという効果を奏する。また、本発明によると、実時間データ圧縮を提供しつつ圧縮データをバス上で伝送することもできる。そして、伝送されたデータに関連する帯域幅を低減し、より多くのデータをバス上に送り、より多くのプロセス制御装置をバスに接続できるという効果も奏する。
【発明を実施するための最良の形態】
【００２４】
図１を参照すると、プロセス制御ネットワーク１０は、コントローラ１２と、ホスト１４と、データヒストリアンまたはデータライブラリ１６と、全てバス２０を介して相互接続されている多数の他のフィールド装置１８とを備えている。コントローラ１２は、例えば分散化制御システムコントローラ、または例えばスタンドアロンパーソナルコンピュータもしくはネットワークコンピュータにおいて実現される他の形態のコントローラであってもよい。ホスト装置１４は、例えば、ユーザまたはオペレータがいずれかの既知の方法でプロセス制御システム１０とインタフェースすることが可能なパーソナルコンピュータまたは他の装置であってもよい。望ましい場合には、ホスト１４はデータヒストリアン、ユーザインタフェース、コントローラ等のための記憶装置を備えることも可能である。データヒストリアン１６は、（コンパクトディスク、ディジタルビデオディスク、レーザディスク等を用いる）ディジタルディスク記憶装置、ＲＡＭ記憶装置、磁気ディスク記憶装置等を備えるが、それらに限定されないいずれかの形態の既知のメモリまたは記憶装置であってもよい。フィールド装置１８の各々は、例えばセンサ、コントローラ、調節弁、ポジショナ、ファン、ビデオカメラ、マイクロホン等を備えるプロセス制御ネットワーク１０において使用されるいずれかの形態のフィールド装置であればよい。当然のことながら、バス２０には他の装置を接続することも可能であり、さらに、装置１２、１４、１６および１８は、バス２０を介して望ましい構成で相互接続することも可能である。同様に、ＦＩＥＬＤＢＵＳプロトコル、ＨＡＲＴプロトコル等の望ましい通信プロトコルを使用するいずれかの形態のものでよいバス２０は、望ましい方法で構成することが可能である。例えば、バス２０は、幾つかのセグメントまたはブランチを有することも可能であり、幾つかの装置を相互接続して、その間で通信することも可能である。
【００２５】
図１に示すように、プロセス制御ネットワーク１０内の装置１２、１４、１６および１８の各々は、圧縮／通信ネットワーク２５を備える。圧縮ネットワーク２５の各々は、関連の装置によって開発されるか、またはそこに記憶されたデータを圧縮することが可能であり、この圧縮されたデータをバス２０上で他の装置、例えばデータヒストリアン１６、コントローラ１２またはホスト１４に送る伝送装置を備える。同様に、必要ならば、圧縮ネットワーク２５の各々は、バス２０を介して受信された圧縮データを圧縮解除することが可能である。いずれかの特定の装置に対する圧縮ネットワーク２５は、装置に関連するメモリ内に記憶され、装置に関連するコンピュータまたは他のプロセッサ（例えばマイクロプロセッサ）上で実行されるソフトウェアにおいて実現可能である。当然のことながら、装置は、圧縮ネットワーク２５を実現する別個のコンピュータを備えてもよいが、一般に、装置は、それに関連する他のタスクを実行することに加えて圧縮ネットワークを実現するコンピュータを備える。あるいは、圧縮ネットワーク２５は、ハードウェア、ファームウェア、または他の標準化された、もしくは専門の計算装置において実現してもよい。
【００２６】
一般に、圧縮ネットワーク２５は、バス２０に接続された装置内に既に存在する伝送装置を用いて、プロセス制御ネットワーク１０に関連する通信プロトコル内で動作し、これによって、圧縮されていないデータがバス２０上で転送されるのと同様に、圧縮されたデータがバス２０上で転送可能となる。しかし、圧縮されたデータは、バス２０上で転送されているため、バス上のトラヒックの流れが低減され、それによって、より多くの装置がバス２０に接続可能となる。当然のことながら、例えば、周知の開放形システム相互接続（ＯＳＩ）階層通信モデルによって一般に構成されているＨＡＲＴ、ＦＩＥＬＤＢＵＳ等のデータ伝送装置を備える、いかなる形態のデータ伝送装置を使用してもよい。
【００２７】
圧縮ネットワーク２５は、バス２０上で伝送されるデータを圧縮するいずれかの望ましい圧縮技術を実現可能であるが、圧縮ネットワーク２５の各々は、バス２０上で転送されたデータを圧縮（且つ圧縮解除）するための以下で開示する再帰的オンライン圧縮（および圧縮解除またはそのいずれか）の技術を実現するのが好ましい。また、バス２０に接続された装置の各々が圧縮および圧縮解除の両方を実行し、その結果バス２０上のデータ伝送装置の全てまたは大部分が圧縮データを用いて実行されるデータ圧縮ネットワーク２５を有するのが好ましいが、必ずしもそうである必要はない。このように、特定の装置は、（装置がバス２０上でデータを伝送する必要がないかもしれないため）入力データを圧縮解除するのみか、または（装置がバス２０上でデータを受信する必要がないかもしれないため）出力または転送データのみを圧縮する圧縮ネットワークを備えることも可能である。バス２０に接続された１個以上の装置は、データ圧縮ネットワーク２５を備える必要がない場合もある。例えば、データヒストリアン１６は、単に圧縮データを受信し、その圧縮データをメモリに記憶し、コマンドを受け取ってその圧縮データを検索してバス２０上で要求装置に転送するため、データ圧縮ネットワークを必要としないかもしれない。同様に、望ましい場合には、プロセス制御ネットワーク１０内のいくつかの装置が圧縮されていないデータを転送し、他の装置が圧縮されたデータを転送することも可能である。しかし、この技術は、より複雑であり、あまり好ましいものではない。さらに、圧縮ネットワーク２５は、バス２０上で転送された情報の全てまたは選択されたサブセットのみを圧縮することも可能である。このように、例えば、バス２０上の通信情報の全て（装置データならびに通信オーバヘッド、例えばコマンド、要求等を含む）は、バス２０上で圧縮形式で転送することも可能である。しかし、この構成は一般に必要ない。その理由は、標準通信コマンド、リクエスト等は、バス２０に接続された装置によって収集または生成されたデータと比較して、あまり多量のバス帯域幅を一般には必要としていないからである。このように、一般にバス２０上で転送されたデータを圧縮（且つ圧縮解除）する必要があるのみである。
【００２８】
ここで述べる圧縮データ通信ネットワークは、大量のデータをフィールド装置に転送するか、または大量のデータ、特にビデオ撮像データ、音声通信データ等の高帯域幅データをフィールド装置から収集するプロセス制御システムにおいて特に有用である。このように一実施の形態では、プロセス制御ネットワーク１０の１個以上のフィールド装置１８は、例えばコントローラ１２またはホスト１４に通信接続されて、プロセスプラント内の異なる位置間でのビデオおよび音声またはそのいずれかの通信を可能にするビデオ表示装置、ビデオカメラ、マイクロホン、スピーカ等であってもよい。この構成を用いて、例えばホスト装置１４に位置するオペレータは、プロセスプラント内のどこか他の場所に位置するビデオカメラの出力を実時間で実際に見て、プロセス制御ネットワーク１０に既に接続されているハードウェアのみを用いてプラント内の遠隔位置にある個体に話しかける（または聞く）ことが可能である。しかし、望ましい場合には、コントローラ１２等の他の装置は、圧縮データを受信し、そのデータを圧縮解除し、その圧縮解除されたデータを用いてプロセスを制御することも可能である。
【００２９】
さらに、本発明は、ここで述べる再帰的ウェイブレットデータ圧縮技術を使用するのが好ましいため、今まで通り実時間通信に備えながら、他の圧縮技術よりも少ない性能損失を与える。同様に、ここで述べる再帰的ウェイブレットデータ圧縮技術は、標準ウェイブレットデータ圧縮技術によって必要とされるように、データ圧縮ルーチンの間、圧縮されていないデータを記憶するための大型メモリを使用する必要がない。
【００３０】
一般に、標準ウェイブレットデータ圧縮技術は、各レベルに関連する連続点を有する、図２に示すようなマルチレベル圧縮ツリーを作ることによって動作する。圧縮ツリーの各点は、１組のデータの平均の近似値を表す関連の近似係数と、高周波数情報を表す関連の詳細係数とを有する。標準ウェイブレットデータ圧縮技術は、長さｎの近似フィルタを１組のデータに適用して近似係数を生成し、近似フィルタの出力と実際のデータとの差に基づいて得られる対応する詳細フィルタを適用して、圧縮ツリーの各点における詳細係数を生成するものと考えられる。当然のことながら、関連の近似係数および詳細係数を用いて、最初のデータを再構成することも可能である。図２を参照すると、ツリー内の特定の点に対する近似係数は、ａj,k(j)で示され、ここではｊがツリーレベルを表し、k(j)がツリーのレベルｊにある点の時間値を表す。同様に、ツリー内の特定の点に対する詳細係数は、ｂj,k(j)で示される。図２において、実際の生データを表すゼロ位レベル（最も小さいスケール）はｊ＝０で示され、ｊが増加するにつれて、スケールはますます大きくなる。時間インデックスk(j)は、あらゆるスケールまたはレベルｊに対して常にk(j)＝１で始まる。これらの表記法を用いると、以下の式は、ウェイブレット圧縮データの作成、すなわち既知のウェイブレットデータ圧縮技術のウェイブレット圧縮ツリーの点を要約する。
【００３１】
【数１】
0004875041.tif 000002
【００３２】
ここでは以下の通りである。
【００３３】
ａj,k(j) ＝ 圧縮ツリーの（レベルｊに対応する）時間インデックスk(j)に対するレベルｊの近似係数、
ｎ ＝ 圧縮ツリーを作成するのに使用するフィルタ長さ、
ｈ(i) ＝ ウェイブレットフィルタに対するｉ番目の係数（これは、例えばｎ＝２である場合のＨＡＡＲ圧縮フィルタであってもよい）。
【００３４】
【数２】
0004875041.tif 000003
【００３５】
ここでは以下の通りである。
【００３６】
ｂj,k(j) ＝ 圧縮ツリーの（レベルｊに対応する）時間インデックスk(j)およびレベルｊに対する詳細係数、
ｎ ＝ 圧縮ツリーを作成するのに使用するフィルタ長さ、
ｈ(i) ＝ ウェイブレットフィルタに対するｉ番目の係数（ｉ＝０，１，…ｎ−１）。
【００３７】
このように一般に、長さｎの１組のデータに対して式（１）および式（２）を連続的に適用して圧縮ツリーの異なるレベルｊの近似係数ａj,k(j)および詳細係数ｂj,k(j)を開発して、図２に示すような圧縮ツリーを生成する。圧縮ツリーが完成すると、所定しきい値を超える近似係数および詳細係数全てが生データの組（すなわち、レベルｊ＝０のデータ）に対応する圧縮データとして転送または記憶される。通常、詳細係数が最小である、すなわち特定のしきい値よりも小さい場合には、最高レベルに対する近似係数のみが記憶される。しかし、最高レベルに対する近似係数とすべてのツリー点に対する詳細係数との両方が、生データの完全回復を可能にするように記憶されてもよい。
【００３８】
図２の圧縮ツリーは８個の生データ点（ｊ＝０）を用いて構成され、４個のレベル、すなわちレベル０ないし３を有することが理解されるであろう。上記のように、最低レベル（ｊ＝０）は生データ点に対応し、この生データ点は、図１のバス２０上で転送されるか、または図１のデータライブラリ１６等のデータヒストリアンに記憶されるように装置によって開発される実際のデータであってもよい。図２の圧縮ツリーは、２のフィルタ長さ（ｎ＝２）を用いてウェイブレット圧縮ルーチンに対して開発されており、それによって圧縮ツリーにおけるいずれかの特定の点の近似係数が直接下のレベルにある点の２個の近似係数から開発される。例えば、近似係数ａ1,1はａ0,1およびａ0,2近似係数（すなわち生データ点）から開発されており、実線によって、これらの点に接続されたものとして図２に示されている。同様に、第２のレベルの近似係数ａ2,1はａ1,1およびａ1,2近似係数等から開発されている。図２に点線で示すように、いずれかの点に対する詳細係数は、直前のレベルにおけるｎ個（図２ではｎ＝２）の点の近似係数から開発される。このように、ｂ1,2詳細係数は、ａ0,1およびａ0,2近似係数から開発される。注目されるように、圧縮ツリーの第１のレベル（ｊ＝０）は、このレベルの近似係数が生データ点の値に等しいため、（すなわちゼロ値の）詳細係数を備えていない。
【００３９】
図２の圧縮ツリーから明らかなように、第１のレベル（ｊ＝０）の８個のデータ点は、ウェイブレット圧縮を用いて圧縮され、１個の第３のレベルデータ近似係数ａ3,1、また必要ならば１個の詳細係数ｂ3,1を開発することも可能である。圧縮ツリー全体が一旦計算されるかまたは決定されると（これは生データの全体の組を受信した後にのみ生じる）、圧縮ツリーは、所定しきい値を超える詳細係数の全てと共に、ツリー（ａ3,1）の最高レベルの近似係数を記憶するか、または伝送することによって圧縮形式で記憶または伝送可能である。これらの点から、生データ点（またはその近似値）を開発することができる。当然のことながら、実際の生データ点は、一般には実際的ではないが、全ての詳細係数が記憶または伝送された場合には、圧縮されたデータから決定されるのみであってもよい。
【００４０】
しかし、上記のように、圧縮ツリーのより高いレベルの近似係数および詳細係数の計算を開始する前に、全ての生データ点、すなわちａ0,1ないしａ0,8を利用可能にすることが一般的に必要である。同様に、圧縮解除システムでは、生データ点の再構成を開始する前に、圧縮されたツリーに関連する近似係数および詳細係数の全てを受信することが必要である。さらに、圧縮システム（または圧縮解除システム）がいくつの点を受信するべきか、またはツリーに対応する圧縮データの組が事前にいかに大きくなるかを知らないために（これは、所定しきい値よりも大きい全ての詳細係数が一般に転送されるため）、圧縮データの各点がデータ点によって表されているツリー内の位置を示した状態でインデックスを送るか、または記憶することが必要である。例えば、近似係数ａ1,3を送るか、または記憶すると、圧縮システムもまた、どの形態のデータ点（例えば、近似係数または詳細係数）が送られているか、またその点にどのツリーレベルおよび時間値が関連するかを示すインデックスを送信または記憶しなければならない。
【００４１】
標準ウェイブレットデータ圧縮技術を用いてデータを圧縮するために、ツリーに関連する生データ点の全てをまず受信して記憶し、そのツリーがいかに大きくなるかを決定しなければならないことが理解されるであろう。次に、ツリーはその近似および詳細係数の全てを計算することによって開発されなければならない。その後、望ましい近似係数および詳細係数（ならびに各々に関連するインデックス）は、圧縮データとして記憶または伝送されなければならない。上記のように、この技術は、圧縮処理が開始可能となる前に大きいグループの生データを収集し、記憶することを必要とする。これによって、この技術は、生のビデオデータをバス上で送るようなオンライン圧縮アプリケーションに最適とは言えない。その理由は、（システムが全ての生データの受信を待っている時）低い処理需要の時間と、（システムが受信され且つ記憶されたデータのグループに対する圧縮ツリーを計算しなければならない時）高い処理需要の時間とを生成するからである。さらに、この技術は、圧縮ツリーの計算より前に、大型メモリが、受信データ点を記憶することを必要とする。
【００４２】
本発明の再帰的ウェイブレットデータ圧縮技術は、例えば、生データが生成されるか、または圧縮装置に送られて、再帰的方法でウェイブレット圧縮ツリーを計算することにより、これらの問題を克服する。この結果、この技術は、大きい組またはウィンドウのデータが、生データに関連する圧縮データを開発する前に到達するのを待つ必要がなく、それによって処理負荷を拡大し、圧縮されていないデータに必要な記憶量をかなり減じる。さらに、圧縮されたデータは、かなり頻繁に転送または記憶可能であり、それによって、多数の圧縮データを一度に転送する必要性を制限する。一般に、本発明による再帰的ウェイブレットデータ圧縮技術は、圧縮ツリーの異なるレベルの各々における各点の計算に必要なデータが利用可能になると、その計算を行うという点で、標準ウェイブレット圧縮技術とは異なる。
【００４３】
特に、本発明の再帰的ウェイブレットデータ圧縮技術は、動作中、生データ点を受け取り、より高いレベルの圧縮ツリーにおける点が計算可能であるかどうかを決定する。もし計算可能であるならば、圧縮技術は、より高い点（すなわち、その点に対する近似係数および詳細係数）を計算し、他のより高いレベル点も計算可能であるかどうかを決定する。生データ点の受信に基づいて、これ以上高いレベル点を計算することが不可能な場合、圧縮技術は、次の生データ点を受け取ってプロセスを繰り返し、それによって生データ点の受信に従ってツリーを作成する。
【００４４】
このプロセスは図３に示されており、この図３は、本発明によるウェイブレットデータ圧縮技術を用いて、それを構成する間の異なる段階で（２のフィルタ長さを用いて構成された）圧縮ツリーを示す。段階（ａ）では、第１のデータ点（ａ0,1）が受信され、圧縮ツリーに配置される。段階（ｂ）では、次のデータ点（ａ0,2）が受信され、圧縮ツリーに配置される。このとき、より高いレベルの係数ａ1,1およびｂ1,1が式（１）および式（２）からそれぞれ計算され（現在、可能であるため）、圧縮ツリーに配置される。さらに高いレベルの係数を計算することが不可能であるため、プロセスは段階（ｃ）に移動し、次のデータ点（ａ0,3）が受信され、圧縮ツリーに配置される。段階（ｄ）では、データ点（ａ0,4）が受信され、圧縮ツリーに配置される。第１のレベル係数ａ1,2およびｂ1,2がその後計算され（そのための十分なデータが現在利用可能であるため）、圧縮ツリーに配置される。その後、再度十分な低レベル係数を利用可能であるため、第２のレベル係数ａ2,1およびｂ2,1が計算され、圧縮ツリーに配置される。圧縮ツリーのゼロレベル層における生データ点を追加して、可能な高レベル係数の全てをそこから計算するプロセスが繰り返されて、再帰的方法で、すなわちそのツリーを作るのに使用されるデータが利用可能になると、圧縮ツリーを作成する。
【００４５】
ツリー内の点に対する近似および詳細係数が決定される度に、詳細係数が、ツリーの異なるレベルに対して異なる可能性があるしきい値と比較される。詳細係数の大きさがしきい値より大きい場合には、圧縮解除中に生データを回復する際に情報をあまり失わないように、その圧縮ツリーの計算が停止される。その後、ツリーに追加された「最後の」近似係数（簿記情報）のレベルおよび時間インデックスに加えて、現存するツリー内の最小組の近似係数が、受信された生データに関連する圧縮データとして転送または記憶される。その後、圧縮装置によって受信された次の生データ点で始まる新たなツリーが構成される。
【００４６】
この再帰的技術を用いる圧縮システムは、一般に、生データが到着すると、各々が異なる大きさであってもよい連続する異なる圧縮ツリーを順次開発するものであると言える。圧縮システムは、その後、圧縮ツリーのさらなる構成が、圧縮解除中にかなりのデータ損、すなわちかなりの誤差をもたらす可能性があることが決定されると、各圧縮ツリーに関連する最小組の近似係数を圧縮データとして転送または記憶する。所定の大きさの圧縮ツリーに対して、同じ組の近似係数が常に圧縮データとして転送または記憶されることに注目するべきである。この結果、ツリーに関連するインデックスは、ツリーがいかに大きいか（すなわち、その構造がどの段階で停止されたか）を特定することのみ必要である。なぜならば、その情報を用いて、圧縮解除システムが、ツリーから開発された圧縮データにいくつのデータ点が関連するか、またこれらのデータ点がツリー内のどの点に対応するかを自動的に決定することが可能だからである。さらに、詳細係数が圧縮データの一部として転送または記憶されないため、圧縮ツリーを構成しながらこれらの値を保持または記憶する必要がない。
【００４７】
図４では、本発明の再帰的ウェイブレットデータ圧縮ルーチンを用いてデータを圧縮するルーチンまたは方法４０のフローチャートが示されている。当然のことながら、ルーチン４０は、プログラマブルコンピュータ（例えばマイクロプロセッサ）上で実行され、いずれかのコンピュータ読み取り可能媒体、例えばＲＡＭ、ＲＯＭ、レーザまたは磁気ディスク等に記憶されたソフトウェアにおいて実現することも可能である。あるいは、ルーチン４０は、当業者に周知のようにハードウェアまたはファームウェアにおいて実現することも可能である。
【００４８】
ルーチン４０では、ブロック４２は、ツリーパラメータの全てをリセットすることにより圧縮ツリーの構成を開始する。例えば、ブロック４２は、圧縮ツリーの全てのレベルにおける全ての近似（および詳細）係数をゼロに設定する。その後、ブロック４４は、例えば、フィールド装置によって開発されたディジタルデータ点であってもよい新たな生データ点を受信し、この点をツリー内のレベルゼロ近似係数として記憶する。ビデオデータが圧縮されている場合、受信された点は、ディジタルビデオ信号または画素を表す可能性がある。ブロック４６は、その後、圧縮ツリー内のより高いレベルの近似係数を計算することが可能であるかどうかを決定する。当然のことながら、近似係数がいずれかの特定時間に計算可能であるかどうかは、ツリーを構成するために使用するフィルタのサイズに依存する。例えば、サイズが２のフィルタを用いるツリーは、第１のレベルに対する近似係数が計算可能となる前に２個のゼロレベル近似係数（生データ点）が利用可能となる必要がある。当然のことながら、フィルタのサイズが４である場合、次に高いレベルの点が計算可能となる前に、４個の点がいずれかの特定レベルで利用可能でなければならない。
【００４９】
ブロック４６は、ツリー内のより高いレベルの点が計算可能であると決定すると、ブロック４８は、例えば上記式（１）および式（２）を用いて、より高いレベルの点（すなわち、近似係数および詳細係数）を計算する。その後、ブロック５０は、詳細係数（または他のいずれかの誤差値）の大きさが圧縮ツリーにおける計算された点に対して設定されたしきい値よりも大きいかどうかを決定する。このしきい値は、所定のものであってもよく、また詳細係数がどのレベルに関連するかによって設定することも可能であり、従って、圧縮ツリーの異なるレベルに対して異なってもよい。所定しきい値を用いて、このしきい値を設定するプロセスは、当業者に周知であり、ウェイブレット圧縮技術に精通しており、ここでさらに述べる必要はない。しかし、詳細係数に対するしきい値は、ツリーのより高いレベルにおいて、より大きい誤差（または詳細損）が許容できるため、一般に圧縮ツリーのより高いレベルが増加すると言える。あるいは、１個以上のしきい値が、特定の点における圧縮ツリーの１個以上の統計的パラメータ、例えば圧縮ツリーの２乗平均平方根誤差または局部点誤差と比較することも可能である。
【００５０】
ブロック５０は、詳細係数（または他の測度）の大きさがしきい値以下であると決定した場合には、ブロック５２がツリーのより低いレベルの不必要な係数（例えば近似係数）を捨てる。例えば、決定のためにこれらの係数を必要とするツリーの次に高いレベルの係数全てが既に計算されている時には、ツリー係数が不必要となる。このように、例えば、図３のツリーを作成する時、近似係数ａ1,1および詳細係数ｂ1,1が計算された後、生データ点ａ0,1およびａ0,2を（ステップ（ｃ）で）捨てることが可能である。同様に、近似係数ａ2,1および詳細係数ｂ2,1が計算されると、近似係数ａ1,1およびａ1,2を（ステップ（ｄ）で）捨てることができる。当然のことながら、捨てられた係数の数は、構成されている圧縮ツリーに関連するフィルタのサイズに依存することになる。
【００５１】
次に、ブロック５４は、計算された近似係数を圧縮ツリーの一部として記憶し、制御をブロック４６に戻し、他のより高いレベルの近似係数が、ブロック５４によって記憶された新たな近似係数の発生に基づいて計算可能であるかどうかを決定する。最後の生データ点の受信に基づいて、より高いレベルの近似係数を計算することが不可能であるとブロック４６が決定するまで、ブロック４６、４８、５０、５２および５４が繰り返す。この点で、制御がブロック４４に戻り、新たな生データ点を受け取る。
【００５２】
詳細係数（または他の値）の大きさがその関連のしきい値よりも大きいとブロック５０が決定するまで、ブロック４４、４６、４８、５０、５２および５４から構成されたループが繰り返し（それによって、生データ点が受信されると再帰的方法で圧縮ツリーを作成し、圧縮ツリー内の不必要な点を捨てる）。この点で、ブロック５９は、（一般にツリーのサイズを特定する）インデックスに加えて（現在、圧縮ツリー内の近似係数の全てである）構成されている圧縮ツリーに関連する１組の最小係数を、圧縮ツリーを作成するのに使用する生データに関連する圧縮データとして転送または記憶する。圧縮データの一部として転送または記憶される詳細係数はないが、これらの点は圧縮解除装置によってゼロであると仮定されることに注目するべきである。
【００５３】
その後、制御はブロック４２に戻され、ツリーパラメータをリセットして、新たな圧縮ツリーの構成を開始する。図４に示されたルーチン４０はこの方法で繰り返し、データが受信または発生されると、生のデータから変化するサイズの圧縮ツリーを連続的に作成し、そのツリーの構成が停止されると、各ツリーから開発された圧縮データを転送または記憶する。それによって、ルーチン４０は、データが圧縮装置内での最小処理および最小記憶のみで受信されると、データをオンライン、例えば実時間で圧縮することが可能である。
【００５４】
ルーチン４０（または本発明の再帰的ウェイブレットデータ圧縮技術を実現する他のいずれかのルーチン）が、多数のステップを実現し、圧縮ツリーを作成して、圧縮データとして転送または記憶される最小組の近似係数を維持することが理解されるであろう。まず第一に、ルーチンは、新たなデータ点（ａ0,k(0)）を受け取り、この点を、レベルゼロの近似値における葉ノードとしてツリーに追加する。その後、ルーチンは、２個の組ＣおよびＢを以下のように更新する。
【００５５】
【数３】
0004875041.tif 000004
【００５６】
ここで
Ｃ ＝ 所定時間での最小組の近似係数、
ｋ(j) ＝ レベルｊでの時間インデックス、
ａ0,k(0) ＝ レベルゼロおよび時間ｋ(0)での近似係数、
'Ｕ' ＝ ２組の和を示す。
【００５７】
【数４】
0004875041.tif 000005
【００５８】
ここで
Ｂ ＝ Ｃに追加された最後の係数のレベルおよび時間インデックス、
（j, k(j)）＝ レベルｊおよび時間ｋ(j)における近似係数を示すインデックス。
【００５９】
可能な場合には常に、ルーチンが、より高いレベル（ｂj,k(j)）に対する詳細係数を計算し、この詳細係数の大きさをしきい値ｔjと比較する。詳細係数の大きさがしきい値未満である場合には、ルーチンは、ツリーのより低いレベルの必要な記憶近似係数を用いて、そのレベルに対する近似係数および時間値（例えばａ1,k(1)）を計算する。ＣおよびＢの組は、その後、フィルタ長さを２と仮定して、以下のように更新される。
【００６０】
【数５】
0004875041.tif 000006
【００６１】
【数６】
0004875041.tif 000007
【００６２】
その後、ルーチンは、新たな、より高い詳細および近似係数が計算可能であるかどうかを決定し、もし可能であるならば、詳細および近似係数を計算し、詳細係数の大きさをしきい値と比較し、ＣおよびＢの組を更新するステップを繰り返す。詳細係数（例えばｂ1,k(1)）の大きさが対応するしきい値（例えばｔ1）よりも大きい場合、この値を無視してはならない。なぜならば、ツリーが正確度の範囲を超えており、ＣおよびＢの組が圧縮データとして発送されるからである。その後、ツリーはリセットされ、次のツリーの構成が始まる。しかし、必ずしもＢの組全体が、インデックスとして圧縮データに転送または記憶される必要がないことに注目されたい。代わりに、唯一のインデックス、例えば、最小係数Ｃの組に追加された最後の近似係数のインデックスをインデックスとして圧縮データに転送する必要がある。これは、Ｂの組のインデックスの残余のものが、ここで述べるように、この１個のインデックスから決定可能なためである。
【００６３】
圧縮ツリーを作成する際、ツリーの各レベルの始めに人為値を与え、より高いレベルの近似係数を計算する境界効果を低減することが必要か、または望ましいかもしれない。例えば、４以上のフィルタ長さを用いて構成されたツリーの１つまたはより高いレベルの係数を計算するために、圧縮ルーチンは、各レベルの負の時間値係数の存在を必要とする。当然のことながら、これらの負の時間値は存在しないため、人為的に値を挿入しなければならない。この概念は、一般にパディングと呼ばれる。図５は、ゼロおよび第１のレベルに対する負の時間インデックス位置に挿入された４個のパディング点（斜線で示されている点）を有する６のフィルタ長さを使用する圧縮ツリーを示している。簡単に表記するために、図５のツリーにおける各点の時間インデックスは、数字（１、２、３等）で示され、ツリーのレベルは基本表記法で示される。このように、表記２’は、ツリーの第１のレベルの第２の時間値を示し、表記１”は、ツリーの第２のレベルの第１の時間値を示す。図５に示すように、点１’における近似および詳細係数の計算には、ツリーのゼロレベルにおける４個のパディング値および２個の実際の値を使用する必要がある。同様に、点２’における近似および詳細係数の計算には、圧縮ツリーのゼロレベルにおける２個のパディング値および４個の実際の値を使用する必要がある。
【００６４】
例えば、ゼロパディングと、対称パディングと、平滑化パディングとを含む圧縮ツリーの構造に使用可能な多数の形態のパディングがある。ゼロパディングでは、負の時間インデックス点（係数）が全てゼロに設定される。この形態のパディングは、境界において明らかに不連続となり、境界近くで高い詳細係数を生成することが見出されており、これは望ましくない。対称パディングでは、負の時間インデックス点が、対応する正の時間インデックス点に等しくなるように設定される。このように、例えば、近似係数の値、−１、−２、−３および−４が近似係数１、２、３および４にそれぞれに等しくなるように設定される。図５に示されるこの形態のパディングは多数の処理オーバヘッドがない状態で（境界で平滑さを保存しているため）境界で低い詳細係数を生成することが見出されている。従って、これは、好ましい形態のパディングであると考えられる。平滑化パディングでは、パディングされた点が境界で関数の最初の微分係数（データ点）を用いて拡張され、それによって平滑化が完了する。このパディング方法は境界で最高度の平滑さを提供するが、有意処理オーバヘッドを必要とし、処理オーバヘッドが最小限度維持されなければならないオンラインアプリケーションでは、あまり有用ではないと考えられる。当然のことながら、いかなる他のパディング形態もさらに使用可能である。
【００６５】
対称パディングを用いてレベルｊ＋１の第１の時間インデックス係数を計算するのにツリーのレベルｊで必要となる近似係数の数は、ｎ−２であり、ここではｎが圧縮ツリーを構成するのに使用されるフィルタサイズである（ｎ＞２）ことが理解されるであろう。さらに、レベルｊの第１の（ｎ−２）個の係数が一旦利用可能になると計算することができるレベルｊ＋１の近似係数の数はｎ／２−１である。
【００６６】
図６では、ここで述べる再帰的オンラインウェイブレットデータ圧縮技術を実現するのに使用可能な圧縮システム６０がブロック図形式で示されている。圧縮システム６０は、希望に応じて、コンピュータ内のソフトウェアまたはハードウェア、ファームウェア等として実現可能である。当然のことながら、圧縮システム６０は、図１の圧縮ネットワーク２５の各々の一部として実現することも可能である。
【００６７】
図６に示すように、圧縮システム６０は、受信器６２を備えており、この受信機６２は、圧縮されるべきデータ点の流れを受信し、これらのデータ点を圧縮ツリー計算装置６４に与える。受信器６２は、例えば、プロセッサの入力ポート、受信器／復調器、スタック、装置またはバスからデータを得るためのプロセッサ内のソフトウェア等を含むいかなる形態のデータ受信器であってもよい。
【００６８】
プロセッサ内のソフトウェア、ハードウェアまたはファームウェア等において実現可能な圧縮ツリー計算装置６４は、受信器６２によって受信されたデータから、近似係数および詳細係数等の係数を計算または決定する。圧縮ツリー計算装置６４は、メモリ６６に近似係数等の計算された係数を記憶し、メモリ６６に記憶されている計算された係数のうちのいくつかまたは全てを使用して、圧縮ツリーのより高いレベルの層における点を決定することも可能である。同様に、圧縮ツリー計算装置６４は、詳細係数（または他の点）を比較器６８に与え、この比較器６８は、これらの係数（またはその大きさ）を１個以上のしきい値と比較し、現在の圧縮ツリーの構成が停止されるべきかどうかを決定する。望ましい場合には、比較器６８は、１個のしきい値、多数の異なるしきい値、例えば圧縮ツリーの各々の異なるレベルで使用されるしきい値を記憶することも可能であり、また累積誤差測定値を適応して計算し、ここで述べるようにそれをしきい値と比較することも可能である。
【００６９】
いずれにしても、比較器６８が現在の圧縮ツリーの構成が停止されるべきであると決定すると、メモリ６６に記憶された係数を使用する圧縮データ発生器７０に１組の圧縮データを発生するように通知する。インデックス発生器７２は、圧縮データの組に対するインデックスを発生し、圧縮データ発生器７０によって選択された係数およびインデックス発生器７２によって発生されたインデックスの両方は、受信器６２によって受信された生データに対応する１組の圧縮データとして送り出される。
【００７０】
望ましい場合には、圧縮ツリー計算装置６４は、各圧縮ツリーに対するパディングデータを作成するパディングデータ発生器７４と、現在の圧縮ツリー内の高レベル点（係数）を直接計算するのに近似係数等のデータが必要ない時、そのデータをメモリ６６から除去するデータ除去装置７６とを備えることも可能である。データ除去装置７６によって、圧縮ツリーを作成する必要がない時、またはそれが圧縮データとして必要ない時、メモリ６６からデータを除去することによってメモリ６６のサイズを最小限に維持することが可能となる。
【００７１】
当然のことながら、比較器６８と、圧縮データ発生器７０と、インデックス発生器７２とは（図６の他の構成要素と同様に）望ましい方法で、ソフトウェア、ハードウェア、ファームウェア等において実現することも可能である。
【００７２】
図７では、データ圧縮解除システム７７が、図６の受信器６２と同様であってもよい圧縮データ受信器７８と、メモリ８０と、逆圧縮ツリー発生器８２と、生データ抽出装置８４とを備えて示されている。受信器７８は、共に送信されるインデックスを含む圧縮データを受信し、その圧縮データを逆圧縮ツリー発生器８２に送る。逆圧縮ツリー発生器８２（または受信器７８）は、受信したインデックスを用いて、圧縮データに関連する圧縮ツリーのサイズを決定し、且つどの圧縮ツリー係数、またいくつの圧縮ツリー係数が特定の圧縮ツリーに期待されるかを決定する。特定の組の圧縮データ（これは一般にメモリ８０に記憶されている）に関連する各々の新たなデータ点を受信した後、逆圧縮ツリー発生器８２は、受信したデータ点を用いて決定することが可能な低い方の圧縮ツリー近似係数の全てとメモリ８０に記憶された圧縮ツリー係数とを開発し、その後、これらの開発された係数をメモリ８０に記憶する。圧縮ツリーにおける低い方の点を計算するために、逆圧縮ツリー発生器８２は、以下の式を用いることも可能である。
【００７３】
【数７】
0004875041.tif 000008
【００７４】
【数８】
0004875041.tif 000009
【００７５】
ここでは、
ａj,k ＝ 圧縮ツリーの（レベルｊに対応する）時間インデックスｋに対するレベルｊの近似係数、
ｎ ＝ 圧縮ツリーを作成するために使用するフィルタ長さ、
ｈ(i) ＝ ウェイブレットフィルタのｉ番目の係数（ｉ＝０，１，… ｎ−１）
である。
【００７６】
当然のことながら、詳細係数（ｂj,k ）はゼロに設定されているため、式（７）および（８）の各々の右辺の合計が常にゼロになり、これらの式の計算をより簡単にする。
【００７７】
これら、または同様の式を用いて、逆圧縮ツリー発生器８２は、図６のデータ圧縮システム６０によって使用される生データに対応する生データを順次開発し、圧縮ツリーを作成する。生データ抽出装置８４は、各々の生データ点（例えば、再構成された圧縮ツリーのゼロレベル層）を認識し、これらのデータ点を圧縮解除されたデータとして送る。望ましい場合には、開発されている圧縮ツリーにおけるいずれかの低レベル点を決定するのにこれらの係数が必要ない時、逆圧縮ツリー発生器８２がメモリ８０から係数を除去することも可能である。
【００７８】
当然のことながら、受信器７８、逆圧縮ツリー発生器８２および生データ抽出装置８４のいずれか、または全てが、コンピュータ読み取り可能媒体に記憶され、望ましいか、または既知の方法でコンピュータ上で実行されるソフトウェアによって実現可能である。これらのエレメントもまた、専用のハードウェア、ファームウェア等において希望通りに実現可能である。
【００７９】
一実施の形態では、本発明の圧縮技術が、最小メモリおよび処理オーバヘッドのみを用いる方法で実現される。本実施の形態では、１組のスタックが操作され、圧縮ツリーを作成し、同時に、使用する最小組の近似係数を１組の受信生データに対応する圧縮データとして維持する。圧縮ツリー（関連するフィルタの長さがＮ＝４である）を作成するためのスタック操作の利用は、図８に示す連続ステップを参照してここで述べるが、図８に関連するシステムによって開発される圧縮データから生データを再生する（すなわちデータを圧縮解除する）ためのスタック操作は、図９に示す連続ステップを参照してここで述べる。
【００８０】
一般に、連続スタックを用いる本発明の再帰的ウェイブレットデータ圧縮技術を実現するために、圧縮システムは、（ｎ−２）個のメモリ位置を有するパディングスタックに加えて、圧縮ツリーの各レベルに関連するｎ個のメモリ位置を有するスタックを備える。図８に示す各ステップは、各々が４個の（ここではｎ＝４のため）メモリ位置を有するゼロレベルスタック９０と、第１レベルスタック９１と、第２レベルスタック９２とを備えるメモリ８８を示す。当然のことながら、より高いレベルに対するさらなるスタックを、希望通りに、または必要に応じて追加することも可能である。図８の各ステップに示されたメモリ８８は、２個（すなわちｎ−２）のメモリ位置を有するパディングスタック９５も備える。
【００８１】
図８においては、生データ、すなわち圧縮される受信データが、それに関連する時間インデックスを円内に有するものとして示されている。図５と同様に、（メモリ８８に記憶された係数のみである）圧縮ツリーの近似係数は、スタック９０、９１、９２および９５に記憶されているものとして示されており、素数を有する係数の数値時間インデックスは、係数が関連するツリーのレベルを示す。このように、２’は、圧縮ツリーの第１のレベルにおける第２の時間インデックスに対する近似係数である。同様に、４は圧縮ツリーのゼロレベルにおける第４の時間インデックスに対する近似係数（生データ）である。
【００８２】
図８で使用する圧縮システムは、近似係数が利用可能になるか、または発生されると、適当なスタックに入るように形成されている。スタック９０、９１、９２または９５が一杯になり、それによって、より高いレベルの近似（および詳細）係数が計算可能となることが示されると、例えば、式（１）および（２）を用いてより高いレベルの係数が決定され、メモリ８８内の適当な位置に近似係数が記憶される。パディングスタック９５を用いて、ツリーのより高いレベルに対する第１の時間インデックス近似係数が決定されるまで、圧縮ツリーの各レベルに対する近似係数を最初に受信し且つ記憶し、その時、パディングスタック９５がその内容を適当な低いレベルのスタックに押しつけ、圧縮ツリーのより高いレベルに対する近似係数を記憶し始める。さらに、高レベル近似係数が計算されてメモリ８８に記憶されると、さらなる高レベル係数を決定するのにもはや必要ない低レベル近似係数が、そのレベルに対するスタックの底部からダンプされる。これらの動作は、以下の説明からより明らかとなるであろう。
【００８３】
図８のステップ（ａ）では、第１の生データ点が受信され、パディングスタック９５に入力される。ステップ（ｂ）では、第２の生データ点が受信され、パディングスタック９５に入力され、それによってパディングスタック９５が満たされる。この例では対称パディングが使用されるため、ツリー（１’）の第１のレベルに対する第１の時間インデックス近似係数を計算するのに十分なデータが利用可能である。ステップ（ｃ）では、１’値近似係数に関連する詳細係数の大きさが決定され、しきい値と比較され、ツリーの構成が停止されるべきかどうかを決定する。ツリーの構成を継続するべき場合には、１’近似係数が計算され、その内容をゼロレベルスタック９０に最初に押しつけるパディングスタック９５に記憶される。（詳細係数を計算するステップまたはツリーの構成を継続するべきかどうかを決定する際に使用する他の方法は以下で述べないが、ツリーのレベル１以上に対する各近似係数が決定されると行われるものと仮定するべきである。この例を目的とするため、計算された詳細係数の大きさが全て、図８のステップ（１）において１''' 詳細係数が計算されるまで、そのそれぞれのしきい値よりも小さいと仮定される。
【００８４】
ステップ（ｄ）では、生データ点３および４はゼロレベルスタック９０に入力される（なぜならば、パディングスタック９５が、現在、第１のレベル係数に対して使用されているからである）。この動作は、ゼロレベルスタック９０を満たし、第１のレベル近似係数、ここでは２’を計算するのに十分なデータが存在することを意味する。ステップ（ｅ）では、２’係数が計算され、パディングスタック９５に配置され、一方、いずれかの高レベル係数を計算するのにもはや必要ない１および２近似係数は、ゼロレベルスタック９０からドロップされる。パディングスタック９５は現在一杯であり、これは、レベル２の係数がそこの点から計算することが可能であることを意味する。ステップ（ｆ）では、ツリー（１''）の第２のレベルに対する第１の時間インデックス係数が（パディングスタック９５における値を用いて）計算される。１''近似係数は、パディングスタック９５に配置され、その内容を第１レベルスタック９１に最初に押しつける。スタック９０、９１、９２、９５のいずれも一杯ではないため、新たなデータを受信しないで高レベル係数を計算することはできない。
【００８５】
ステップ（ｇ）では、５個および６個のデータ点が受信され、ゼロレベルスタック９０に配置され、このスタックが満たされる。ステップ（ｈ）では、圧縮システムが３’係数を計算し、より低い２個の値をゼロレベルスタック９０からドロップする。ステップ（ｉ）では、圧縮システムが７個および８個の生データ値を受信し、これらの値をゼロレベルスタック９０に配置し、このスタックが再度、満たされる。ステップ（ｊ）では、ゼロレベルスタック９０における係数から４’係数が計算され、第１レベルスタック９１に配置される。ゼロレベルスタック９０の低い方の２個の値がドロップされる。ステップ（ｋ）では第１のオーダスタックが現在一杯であるため、圧縮システムが次のレベル２の係数、すなわち２”を計算し、この係数をパディングスタック９５に配置する。この動作はパディングスタック９５を満たし、これは１'''点が決定可能であることを意味する。ここでは、１'''点に対する詳細係数の大きさがその関連のしきい値よりも大きいため、１'''近似係数が計算または記憶されないが、代わりに、ステップ（ｋ）の後、圧縮ツリーにおける係数、すなわちステップ（ｋ）におけるメモリ８８内の係数に基づいて圧縮データが開発されるものと仮定される。しかしながら、完全にするために、図８のステップ（ｌ）は、１'''近似係数の計算を示しており、ツリーの構成がステップ（ｋ）の後に停止されないと仮定する。このように、ステップ（ｌ）では、圧縮システムが、圧縮ツリー（１'''）の第３レベルの第１の時間インデックス係数を計算する。この係数はパディングスタック９５に配置され、このパディングスタック９５は、その内容を第２レベルスタック９２に最初に押しつける。
【００８６】
生データを再構成するのに必要な（且つ圧縮データとして使用可能な）最小係数の組が、ゼロ、第１，第２等のレベルのスタック９０、９１および９２に記憶された全ての近似係数（およびパディングスタック９５が一杯である場合にはパディングスタック９５の値）として存在することが理解されるであろう。このように、ステップ（ｋ）の後、生データ点１−８を再構成するのに必要な最小係数の組は、１”、２”、３’、４’、７および８である。ステップ（ｌ）においては、最小係数の組が同じであるが、ステップ（ｉ）の後、最小係数の組が、３’、２’、１’、８、７、６および５である。一般に、ある特定の時間の最小組の係数は、圧縮ツリーにおける１組の近似係数であるが、この近似係数は、圧縮ツリーに追加されるさらなる近似係数であったが、圧縮ツリーの高レベル係数を直接計算するのに必要であるが、その組における他の係数から完璧に計算することができる係数を含む必要はない。
【００８７】
上記のような最小係数の組は、圧縮データとして転送または記憶することが可能であるが、圧縮ツリーのサイズまたは停止点の指示を転送または記憶して、圧縮解除装置が最小組の係数を適当に検索して復号することが可能であることも必要である。これは、圧縮解除装置が事前にツリーのサイズを知らないため（ツリーのサイズがツリー毎に変化することに因る）、いくつの、またはどの係数が圧縮データとして転送または記憶されているかを知らないため、要求される。しかし、圧縮ツリーの構成が停止された点を指示することによって、圧縮解除装置は、いくつの圧縮データ点が圧縮ツリーから開発されたか（すなわち、いくつのデータ点が特定のツリーに関連するか）またこれらのデータ点がどの近似係数に関連するかの両方を知ることになる。その理由は、圧縮ツリーの構成が停止される点にこれらの変数が一意に関連するためである。所定時間におけるツリーのサイズを最良に指示するものとして、ツリーの構成が停止される前に（最小近似係数の組における）どの近似係数が最後にツリーに追加されたかを指示することが挙げられる。このように、例えば、図８のステップ（ｋ）の後、ツリーの構成が停止される前に圧縮ツリーに追加された最小係数の最後のものは、２”係数であった。従ってこの点のインデックス、すなわち（２，２）は、最小係数と共に送られるインデックスとして使用可能であり、圧縮解除装置が生データ点１ないし８を回復できるようにする。
【００８８】
以下の表１は、圧縮ツリーに追加された係数、生データを回復するのに必要な最小組の係数、および１から８までの生データ点を受信した後に停止された圧縮ツリーに対する関連の最小インデックスを記載したものである。２、４、６および８などの一定の生データ点を受信した後、２個以上の係数を圧縮ツリーに追加することができるため、多数の可能な停止点が存在することに注目されたい。
【００８９】
【表１】
0004875041.tif 000010
【００９０】
１’、１”、１'''等の点は、現在最小組の係数内にある点から、今まで通り十分に決定可能であるため、これらの点をツリーに追加することによって、最小組の係数に直接追加することにはならないことが理解されるであろう。これは、対称パディングを人為的に利用するものである。
【００９１】
当然のことながら、他の形態のインデックスもさらに利用可能であり、本発明は特定のインデックスルーチンまたはここで述べる特定のスタック操作ルーチンに限定されない。さらに理解されるように、スタック操作ルーチンおよび表１における情報は、より大きいツリー、すなわち９個以上のデータ点から構成されたツリーに拡張することができる。
【００９２】
図９では、図８で生成された記憶または転送された圧縮データから生データ点１ないし８を再構成する圧縮解除システムにおいて使用するためのスタック構成が示されている。圧縮システムと同様に、圧縮解除システムは、最小メモリを割り当て、生データを再構成することのみを必要とする。このメモリは、（圧縮データと共に転送または記憶されたインデックスによって決定可能である）ツリーの各レベルに対して（ｎ−２）個のメモリ位置のスタックの形をとることも可能である（ｎはウェイブレット圧縮技術に関連するフィルタ長さである）。このように、図９に示すように、圧縮ツリーに関連するインデックスを受信した後、圧縮解除システムはゼロ、第１および第２のレベル近似係数の各々に対する２メモリスタックを割り当てることも可能である。図９のステップの各々はゼロレベルスタック１００を例示しているが、これらのステップのうちのいくつかは、第１レベルスタック１０１および第２レベルスタック１０２を示す。
【００９３】
圧縮解除システムは、最初に、ツリーに対するインデックスを受信し、そこから、いくつの、またどの近似係数が圧縮データとして記憶または転送されているかを決定する。望ましい場合には、圧縮解除システムは、表１と同じ表を記憶する（係数を識別する欄は追加されない）が、より多くのデータ点から構成されたツリーを備えるように拡張することが可能であり、この表を用いて入力データを解釈することも可能である。当然のことながら、圧縮解除システムは、他のインデックス形態（例えば、いくつのデータ点を用いてツリーを作成したかに基づくインデックス等）を使用することも可能であり、また入力データを他の方法で復号することも可能である。
【００９４】
圧縮解除装置が図８の例で生成されたインデックス（２，２）を受信するものと仮定すると、１”、２”、３’、４’、７および８近似係数をこの順で受信して、８個の生データ点を再生することを期待するべきであることが表１から決定される。図９のステップ（ａ）で、圧縮解除システムは、１”係数を受信して、第２レベルスタック１０２にそれを配置する。ステップ（ｂ）で、圧縮解除システムは、２”係数を受信し、この値を第２レベルスタック１０２に配置し、それによって、このスタックは満たされる。この結果、低レベル係数は、上記式（７）および（８）を用いて計算することが可能である。ステップ（ｃ）では、低レベル近似係数２’および１’が計算され、第１レベルスタック１０１に配置され、これによって、このスタックは満たされる。この時、第２レベルスタック１０２の低い方の値は、いかなる低レベル係数を計算するのにも必要ないため、捨てられる。また、第１レベルスタック１０１は満たされているため、圧縮解除システムは、ステップ（ｄ）において、（再構成された生データ点１および２である）ゼロレベル係数１および２を計算する。第１レベルスタック１０１の低い方の値は、捨てられる。当然のことながら、圧縮解除システムは、再構成されたデータとして通常の方法でデータ値１および２を使用して、ゼロレベルスタック１００を空にする。
【００９５】
ステップ（ｅ）において、圧縮解除システムは、３’係数を受信し、それを第１レベルスタック１０１に配置し、それによって、このスタックが満たされる。このシステムは、ステップ（ｆ）において、３および４ゼロレベル近似係数を計算し、これらの値を再構成されたデータとして用いる。また、第１レベルスタック１０１の低い方の値が捨てられる。ステップ（ｇ）では、次の最小係数（４’）が受信され、第１レベルスタック１０１に配置され、これによって、このスタックが満たされる。ステップ（ｈ）は、第１レベルスタック１０１内の値から５および６近似係数を計算し、第１レベルスタック１０１における低い方の値を捨て、ゼロレベル係数を再構成されたデータ点５および６として用いる。ステップ（ｉ）では、最小係数７および８が受信され、ゼロレベルスタック１００に配置され、その後、再構成されたデータ点７および８として使用される。その後、圧縮解除システムは、次のインデックスを受信し、異なるサイズの圧縮ツリーに関連する可能性のある、次の組の圧縮データに基づいてデータを再構成し始めることも可能である。
【００９６】
図８および図９に示された、データを圧縮し且つ圧縮解除するためのスタック構成を用いると、圧縮データを発生しながら、または圧縮データから生データを再構成しながら最小量のメモリのみが必要となることが理解されるであろう。この特徴によって、圧縮および圧縮解除システム（例えば、図１のシステム２５）は小型で、しかも費用がかからず、またバスに装着されたフィールド装置等の装置に比較的導入し易くなる。さらに、生データまたは圧縮データが受信されると、処理が完了し、それによって、時間的にデータ処理要件を均等にし、より低速の、すなわちあまり高価ではないプロセッサを圧縮および圧縮解除システム内で使用可能にする。
【００９７】
当然のことながら、本発明の一実施の形態は、スタック動作を利用して、データを圧縮し且つ圧縮解除するのに必要なメモリの量を低減するものとして述べられているが、他の形態のコンピュータソフトウェアおよびシステムは、ここで述べた原理による再帰的オンライン方法で圧縮ツリーを計算または決定するように設計され且つプログラミングされるか、またはそのいずれかが可能である。
【００９８】
上記のように、各詳細係数の大きさを、例えば圧縮ツリーの各レベルに対して決定された異なるしきい値と比較する代わりに、再帰的ウェイブレットデータ圧縮ルーチンが、圧縮ツリーの所定点に関連する１個以上の統計的誤差値を計算し、これらの統計的値をしきい値と比較し、圧縮ツリーの構成が停止されるべきかどうかを決定することが可能である。この方法は、ユーザが各々の統計的誤差測定値に対して１個のしきい値を特定するのみであり、このしきい値がツリー内の各点で適用されるという点でより使い易いという利点がある。さらに、典型的な場合では、ユーザが圧縮ツリーの各レベルに適当なしきい値を決定しようとするよりも、２乗平均平方根誤差または局部点誤差等の適当な統計的誤差測定値に基づくしきい値をより容易に設定する。これには、ウェイブレットデータ圧縮の技術をより認識し、理解することが必要である。
【００９９】
一般に、ここで述べた２値化技術は、２個の統計的誤差測定値、２乗平均平方根誤差（ＲＭＳＥ）および局部点誤差（ＬＰＥ）に基づくものであり、これらの測定値のいずれかが指定されたしきい値よりも大きくなる時、ツリーの構成が停止される。しかし、他の数および形態の誤差測定値が２値化を行うことも可能であることが理解されるであろう。
【０１００】
一般に知られているように、生信号ｘ＝（x0, x1, …, ｘN-1）および再構成された信号ｘ!＝（ｘ!0，ｘ!1，…，ｘ!N-1）であるならば、２乗平均平方根誤差ｅRは以下のように定められる。
【０１０１】
【数９】
0004875041.tif 000011
【０１０２】
また、局部点誤差ｅLは以下のように定められる。
【０１０３】
【数１０】
0004875041.tif 000012
【０１０４】
ここでは、
Ｎ ＝ 誤差測定値を計算するのに使用する生点の数、
│ｘ│ ＝ ｘの絶対値、
である。
【０１０５】
処理を簡単にするために、各点における２乗平均平方根誤差を計算する代わりに、合計平方根誤差ｅSを再帰的に計算し、その後、合計平方根誤差ｅSから２乗平均平方根誤差を計算することが可能である。周知のように、合計平方根誤差ｅSは以下のように定められる。
【０１０６】
【数１１】
0004875041.tif 000013
【０１０７】
ウェイブレット圧縮ツリーのレベルｊおよびｊ−１におけるｅSおよびｅLに対する再帰的関係は、一般に以下のように表すことが可能である。
【０１０８】
【数１２】
0004875041.tif 000014
【０１０９】
【数１３】
0004875041.tif 000015
【０１１０】
ここでは、
ａj,k ＝ 圧縮ツリーの第ｊ番目のレベルおよび第ｋ番目の時間点に対する近似係数、  
ｆ ＝ 関数、
を示す。
【０１１１】
ＨＡＡＲウェイブレット圧縮ツリーにおける点の合計平方根誤差ｅSに対する特定の再帰的関係は、以下のように表される。
【０１１２】
【数１４】
0004875041.tif 000016
【０１１３】
ウェイブレット圧縮ツリーにおける点の局部点誤差ｅLに対する再帰的関係は、以下のように、正の局部点誤差ｅL+および負の局部点誤差ｅL-によって表される。
【０１１４】
【数１５】
0004875041.tif 000017
【０１１５】
正の局部点誤差および負の局部点誤差は、それぞれ正の方向および負の方向の最大局部点誤差として定められる。ｅL+およびｅL-は、以下の式で表される。
【０１１６】
【数１６】
0004875041.tif 000018
【０１１７】
【数１７】
0004875041.tif 000019
【０１１８】
ここでは、βはレベルｊおよび時間ｋにおける圧縮ツリー内の点の詳細係数に比例する値であり、以下のように定めることができる。
【０１１９】
【数１８】
0004875041.tif 000020
【０１２０】
上記のように、累積局部点誤差および累積合計平方根誤差（すなわち累積２乗平均平方根誤差）を、以下の式を用いて、圧縮ツリーが大きくなると圧縮ツリーの２個のブランチが組み合わされる点で、（すなわち、より高いレベルで）計算することが可能である。
【０１２１】
【数１９】
0004875041.tif 000021
【０１２２】
ここでは、
ｅST ＝ 現在の合計（累積）平方根誤差、
ｅ-ST ＝ 新たに計算された点における新たな合計（累積）平方根誤差、
ｅSj,k ＝ レベルｊおよび時間値ｋにおける点に関連する合計平方根誤差、
である。
【０１２３】
同様に、２個のブランチツリーを組み合わせる点における（すなわち、より高いレベルの）累積局部点誤差は、以下のように表される。
【０１２４】
【数２０】
0004875041.tif 000022
【０１２５】
ここでは、
ｅLT ＝ 現在の合計（累積）局部点誤差、
ｅ-LT ＝ 新たに計算された点における新たな合計（累積）局部点誤差、
ｅLj,k ＝ レベルｊおよび時間値ｋにおける点に関連する局部点誤差、
である。
【０１２６】
当然のことながら、累積２乗平均平方根誤差は以下のように計算可能である。
【０１２７】
【数２１】
0004875041.tif 000023
【０１２８】
ここでは、
ｅ-RT ＝ 新たな合計（累積）２乗平均平方根誤差、
Ｎ ＝ ツリーの構成が開始された後、到達した生データ点の数
である。
【０１２９】
本質的には、統計的誤差測定値を用いて２値化を行う圧縮ルーチンが、上記再帰的式（１４）および（１５）を用いて各点におけるｅSおよびｅL値を計算し、式（１９）および（２０）を用いて累積合計平方根誤差ｅ-Sおよび累積局部点誤差ｅ-Lを計算し、式（２１）を用いて累積２乗平均平方根誤差値ｅ-Rを計算し、累積２乗平均平方根誤差値ｅ-Rおよび累積局部点誤差値ｅ-Lを（２乗平均平方根誤差に対する）しきい値ΘRおよび局部点誤差に対する）ΘLと比較する。しきい値ΘRもしくはΘL、またはその両方が計算されたｅ-Rおよびｅ-L値よりもそれぞれ小さい場合、圧縮ツリーに新たな点を追加することなく圧縮ツリーの構成が停止される。
【０１３０】
以下の部分は、本発明の再帰的ウェイブレットデータ圧縮ルーチンにおける上記適応２値化を使用するルーチンをステップ毎に説明する。この説明においては、以下の通りである。
【０１３１】
ｊ ＝ 圧縮ツリーのレベル、
ｋ(j) ＝ 次に満たされるべきレベルｊに対する時間インデックス、 
Ｃ ＝ 最小係数の組、 
（Ｂ(r)，Ｂ(t)）： ＝ 形式（ｊ，ｋ(j)）の簿記インデックスの対、
ΘR ＝ 最大許容２乗平均平方根誤差、
ΘL ＝ 最大許容局部点誤差、 
ｅST ＝ 合計累積平方根誤差、 
ｅLT ＝ 合計累積局部点誤差、 
ｅSj,k ＝ ノードａj,kに根付いたツリーの合計平方根誤差、 
ｅLj,k ＝ ノードａj,kに根付いたツリーの局部点誤差、 
ＥS ＝ 合計平方根誤差項ｅSj,kを含む組、 
ＥL ＝ 局部点誤差項ｅLj,kを含む組。
【０１３２】
ステップ１ ： 値を初期設定する。
ｋ(j) ＝ ｊ＝０，１…，Ｊ−１，Ｊ全てに対して０、 
Ｃ ＝ ｛｝、すなわち空集合、 
（Ｂ(r)，Ｂ(t)）＝ （−１，−１）（すなわち、いずれかの無効値）
ＥS ＝ ｛｝
ＥL ＝ ｛｝
【０１３３】
ステップ２ ： 次の点ａj,k(j) を受け取り、
（ａ） 以下のようにＣおよびＢの組を更新する。
【０１３４】
【数２２】
0004875041.tif 000024
【０１３５】
【数２３】
0004875041.tif 000025
【０１３６】
（ｂ） ＥSおよびＥLを更新する。
【０１３７】
【数２４】
0004875041.tif 000026
【０１３８】
【数２５】
0004875041.tif 000027
【０１３９】
ステップ３ ： レベルｊ＝１から開始して、可能な限りツリ−を更新する。
【０１４０】
このように、k(j)−１が２で割り切れる間、以下の計算を行う。
【０１４１】
（ａ） 以下の式を用いて、近似係数ａj,k(j)を計算する。
【０１４２】
【数２６】
0004875041.tif 000028
【０１４３】
（ｂ） 式（１４）および（１５）を用いて誤差推定ｅSj,k(j)およびｅLj,k(j),を計算する。
【０１４４】
（ｃ） ツリーがこの点で大きくなる場合には、式（１９）、（２０）および（２１）を用いて、推定合計２乗平均平方根誤差ｅ-RTおよび合計局部点誤差ｅ-LTを計算する。
【０１４５】
（ｄ） ｅ-RTがΘRより小さく、ｅ-LTがΘLより小さい場合には、以下のステップを実行することにより、ツリーを発展させる。
【０１４６】
（１） 以下のようにＣおよびＢの組を更新する。
【０１４７】
【数２７】
0004875041.tif 000029
【０１４８】
【数２８】
0004875041.tif 000030
【０１４９】
（２） 以下のようにＥSおよびＥLの組を更新する。
【０１５０】
【数２９】
0004875041.tif 000031
【０１５１】
【数３０】
0004875041.tif 000032
【０１５２】
（３） 合計累積誤差ｅSTおよびｅLTを更新する。
【０１５３】
（４）  ｋ（ｊ）＝ｋ（ｊ）＋１を設定する（レベルｊのインデックスを増分する）。
【０１５４】
（５）  ｊ＝ｊ＋１を設定する（次のより低い分解に移動する）。
（ｅ）その他
（１） ＣおよびＢの組を圧縮データとして転送する。
（２） ステップ１に進む（新たなツリーを開始する）。
【０１５５】
ステップ４ ： ｋ(0)＝ｋ(0)＋１であれば、ステップ２に進む。
【０１５６】
ここで述べた圧縮技術は、例えば、ビデオ圧縮技術を実施し、且つ圧縮されたビデオデータを処理することが可能なインテルの新たなビデオプロセッサチップを使用する一定のシステムにおいて特に有用である。一般に、ここ述べたウェイブレット圧縮技術は、測定値がコントローラまたはフィールド装置等で最初に取られ、入力データを圧縮するプロセス制御システム（または他の通信システム）における点で適用される。システムを通じて分散されたコントローラ、マルチプレクサおよび他の測定装置は、圧縮データをアーカイブすることが可能なデータヒストリアンやインタフェースステーションに圧縮データを直接転送する。インタフェースステーションは、例えば、インテルチップ上に既にあるビデオ処理ルーチンを用いて、短期または長期傾向を表示するか、表示に対するデータを圧縮解除するか、またはチップ上のソフトウェアによって与えられる他の機能を果たすことが可能である。さらに、データヒストリアンは、データを最初に圧縮解除する必要なく、圧縮データを直接使用するように設計することが可能である。さらに、ウェイブレット倍率および振幅対時間情報を表示する場合等では、圧縮されたウェイブレットデータを、圧縮解除することなく処理分析に直接使用することが可能である。
【０１５７】
ここで述べたウェイブレットデータ圧縮技術は、いずれかの長さのウェイブレット基準に適用することも可能であり、例えば、コントローラにおいて圧縮を実現するために必要なメモリ要件を最小限にし、所定時間におけるプロセッサローディングを最小限にし、また圧縮されたデータを伝送するのに必要な帯域幅を最小限にするという利点があることも理解されるであろう。当然のことながら、ここで述べる圧縮技術は、ＨＡＡＲウェイブレットフィルタの利用に限定されず、他の形態の既知のウェイブレットフィルタまたは将来開発されるフィルタに適用可能である。さらに、ウェイブレットデータ圧縮技術は、プロセス制御システムに関連してここで述べたが、この技術は、通信システム、例えば、いずれかのアプリケーションのために使用するビデオ、オーディオおよびデータ伝送システムまたはそのいずれかに使用することも可能である。
【０１５８】
上記適応２値化ルーチンはウェイブレットデータ圧縮技術において特に有用であるとしてここで述べたが、この適応２値化ルーチンは、一般にハードまたはソフト２値化技術を使用する他のオンライン処理アプリケーションに使用することも可能であり、実際に、２値化を必要とするオンラインプロセスに使用することも可能であることに注目するべきである。例として、ここで述べた適応２値化ルーチンは、他のオンラインデータ圧縮技術、例えばボックスカー、バックワードスロープ等の補間技術や、オンライン単一変量および多変量データ圧縮、画像圧縮、ビデオ圧縮、音声（オーディオ）圧縮技術ならびにスキャナ、ファックス、プリンタ、ウェブベースマルチメディアアプリケーション等で使用するアプリケーションベースデータ圧縮技術において使用することも可能である。さらに、ここで述べる適応２値化技術は、ノイズ除去、センサ検査、故障検出、多変量故障検出、プロセス識別、システム識別およびパターン認識アプリケーションならびに他の統計的処理または２値化を使用するデータ処理アプリケーションにおいても使用可能である。
【０１５９】
図１０のフローチャート１２０は、ここで述べる適応２値化技術が他の処理技術において実現可能である方法を例示する際に有用となる。一般に、フローチャート１２０によって例示されたルーチンは、データを順次受信する根元的処理ルーチンの内部で、またはその一部として、すなわち連続する順次データ点として実現される。従来、これらのルーチンは、２個の受信データ点（一般には最後に受信されたデータ点および最初のデータ点）の差に基づくしきい値を計算し、その後、その誤差値を事前設定されたしきい値と比較した。一方、フローチャート１２０は、全ての受信データ点、または少なくとも受信データ点のうちの３個以上の順次サブセットに基づいて１個以上の集合体誤差変数をオンラインで決定し、その後、これらの１個以上の集合体誤差変数をしきい値と比較する。上記のように、集合体誤差２値化技術の利用によって、より正確な結果が生まれ、ユーザが根元的プロセス計算の複雑性を全て理解する必要なく適当なしきい値を選択することが可能となる。
【０１６０】
図１０では、ディスク、ハードドライブ等のコンピュータ読み取り可能媒体に記憶することも可能であり、且つコンピュータ装置で実現可能なルーチンはブロック１２２を含み、このブロック１２２は、一般に１個以上の集合体誤差変数をゼロに設定することによりそれらを初期設定する。ブロック１２４内では、例えば、上で識別されたいずれのルーチンであってもよい根元的処理ルーチンが、データ点（Ｘ0，Ｘ1，…）を収集または受信するステップと、このデータ点の受信に基づく必要な計算を行うステップとを実行する。当然のことながら、ブロック１２４内の根元的処理ルーチンによって実行される計算またはステップは、実現されるルーチンの形態に依存し、根元的処理ルーチンによって計算される１個以上のプロセス変数を用いて集合体誤差変数を決定するという事実以外、ここで述べた誤差２値化技術にとって重要ではない。集合体誤差計算に使用される特定のプロセス変数は、当然のことながら、根元的プロセスに依存し、実現される特定の根元的プロセスの当業者には容易に理解されるであろう。
【０１６１】
次に、ブロック１２６は、ブロック１２４によって受信されたデータ点および決定されたプロセス変数またはそのいずれかから集合体誤差変数を計算または更新する。好ましい実施の形態では、集合体誤差変数は、累積局部点誤差および累積２乗平均平方根誤差であり、その両方の計算は、根元的プロセスの当業者によって理解されるであろう。しかしながら、一般に、これらの変数は、特定のデータ点を受信した後、局部点誤差および２乗平均平方根誤差を決定するために式（９）および（１０）と同様の式を用い、その後、上記式（２０）および（２１）と同様の式を用いて決定することが可能である。当然のことながら、累積２乗平均平方根誤差は、上記合計平方根誤差を用いて再帰的に決定することも可能である。フローチャート１２０は、累積局部点誤差および累積２乗平均平方根誤差の両方を用いるものとして述べているが、ここで述べた適応２値化技術はこれらの誤差のうちの１個のみを使用することも可能であり、またその代わりに、またはそれに加えて他の１個以上の集合体誤差変数（すなわち、３個以上の順次データ点のシーケンスから決定されたもの）を使用することも可能である。
【０１６２】
集合体誤差変数を計算すると、ブロック１２８は、これらの値を対応する事前設定されたしきい値と比較する。集合体誤差変数の各々が、対応するしきい値よりも小さい場合、ルーチンは、次のデータ値を受信するためにブロック１２４に戻る。データ点を受信するステップと、データ点に基づく１個以上の集合体誤差値を更新するステップと、１個以上の集合体誤差値を事前設定されたしきい値と比較するステップとは、集合体誤差変数のうちの１個が対応する事前設定されたしきい値よりも大きくなるまで繰り返される。この点で、ブロック１３０は、しきい値を超えると、根元的プロセスの前のソフトまたはハード２値化実現において通常実行されるいかなるステップも取り入れる。例えば、データ圧縮ルーチンにおいては、データ点が必要な圧縮データ点の１つとして記憶される。他のルーチンにおいては、実現される根元的処理ルーチンに依存して、他の値を記憶するか、またはステップを取り入れることが可能である。その後、制御はブロック１２２に戻り、集合体誤差値をリセットし、２値化プロセスが、順次データの次のサブセットにおいて再度開始する。
【０１６３】
本発明は、例示するためのものであり、発明を限定することを意図していない特定の例を参照して述べたが、発明の精神および範囲を逸脱することなく開示された実施の形態に変更、追加および削除またはそのいずれかを行ってもよいことが当業者には明らかであろう。
【図面の簡単な説明】
【０１６４】
【図１】圧縮されたデータを記憶してバス上で転送する本発明のプロセス制御ネットワークを示すブロック図である。
【図２】ウェイブレットデータ圧縮技術に関連する標準ウェイブレットデータ圧縮ツリーを示す樹形図である。
【図３】本発明の再帰的ウェイブレットデータ圧縮技術を用いて圧縮ツリーの構成の異なる段階を示す４つで１組の樹形図である。
【図４】図１のプロセス制御ネットワークにおいて使用可能な本発明の再帰的ウェイブレットデータ圧縮技術を示すフローチャートである。
【図５】本発明の再帰的ウェイブレットデータ圧縮技術によって開発することが可能な６単位の長さのウェイブレットフィルタに関連するパディングされたウェイブレットデータ圧縮ツリーを示す樹形図である。
【図６】本発明の再帰的ウェイブレットデータ圧縮技術を実施することが可能なシステムのブロック図である。
【図７】本発明のデータ圧縮解除を実行することが可能なシステムのブロック図である。
【図８】本発明による再帰的ウェイブレットデータ圧縮技術を実現するスタック操作手順の動作を示す流れ図である。
【図９】本発明の圧縮技術により圧縮されたデータを再構成するためのスタック操作手順の動作を示す流れ図である。
【図１０】本発明による２値化ルーチンを示す流れ図である。
【符号の説明】
【０１６５】
１０  プロセス制御ネットワーク
１２  コントローラ
１４  ホスト
１６  データヒストリアン
１８  フィールド装置
２０  バス
２５  圧縮／通信ネットワーク
６０  圧縮システム
６２  受信器
６４  圧縮ツリー計算装置
６６，８０，８８  メモリ
６８  比較器
７０  圧縮データ発生器
７２  インデックス発生器
７４  バディングデータ発生器
７６  データ除去装置
７７  データ圧縮解除システム
７８  圧縮データ受信器
８２  逆圧縮ツリー発生器
８４  生データ抽出装置
９０，９１，９２，９５  スタック
【図１】
0004875041.tif 000033
【図２】
0004875041.tif 000034
【図３】
0004875041.tif 000035
【図４】
0004875041.tif 000036
【図５】
0004875041.tif 000037
【図６】
0004875041.tif 000038
【図７】
0004875041.tif 000039
【図８】
0004875041.tif 000040
【図９】
0004875041.tif 000041
【図１０】
0004875041.tif 000042