"入力信号の信号波形から、参照波形との類似部分の探索を行う波形解析装置であって、前記信号波形をサンプリングして得られる時刻と該信号波形の該時刻での値との組とを有するデータ組列を取得する信号波形取得部と、時刻と該時刻での値との組を変数とする論理関数である特性関数を、前記データ組列に基づいて生成して二分決定図での表現である第二関数に変換する変換部と、前記参照波形の複数の特徴点の各々について、該特徴点によって特定される時間情報と前記信号波形において該時間情報に対応する値との間の関係に対する制約を表している制約条件を、該特徴点における前記参照波形の値と該参照波形の値に対して与えられる所定の許容誤差とに基づき獲得する制約条件獲得部と、前記第二関数に対して前記複数の特徴点の各々の前記制約条件を適用して該複数の特徴点全ての制約条件を充足する時刻の範囲を求め、該時刻の範囲を示す情報を前記探索の結果として出力する探索部と、を備えることを特徴とする波形解析装置。前記探索部は、前記複数の特徴点の各々について、まず、該特徴点によって特定される時刻についての、前記参照波形について予め設定されている基準時刻に対する時刻差に相当する変数置換演算を、前記第二関数に対して行ってから、その後に、該変数置換演算後の特性関数に対して、該特徴点について獲得されている前記制約条件を適用することで、該特徴点についての該制約条件を充足する時刻の範囲を求めることを特徴とする請求項1に記載の波形解析装置。前記探索部は、前記複数の特徴点の各々について、まず、該特徴点について獲得されている前記制約条件を前記第二関数に対して適用して該特徴点についての該制約条件を充足する時刻の範囲を求めてから、その後に、該特徴点によって特定される時刻についての、前記参照波形について予め設定されている基準時刻に対する時刻差に相当する変数置換演算を、該制約条件を充足する時刻の範囲に対して行うことを特徴とする請求項1に記載の波形解析装置。前記変換部は、前記特性関数として、前記データの組の各要素をバイナリで表現したときの各桁の値を変数とし、前記データ組列に含まれる値が該変数の値である場合には値1を返し、前記データ組列に含まれない値が該変数の値である場合には値0を返す関数を生成することを特徴とする請求項1から3のうちのいずれか一項に記載の波形解析装置。前記制約条件獲得部は、前記制約条件を表現している二分決定図を、前記特徴点における前記参照波形の値と前記所定の許容誤差とに基づいて生成し、前記探索部は、前記第二関数と前記制約条件を表現している二分決定図との論理積演算を行うことによって、該特性関数に対する該制約条件の適用を行う、ことを特徴とする請求項1から4のうちのいずれか一項に記載の波形解析装置。入力信号の信号波形から、参照波形との類似部分の探索を行う波形解析方法であって、前記信号波形をサンプリングして得られる時刻と該信号波形の該時刻での値との組を有するデータ組列に基づいて、時刻と該時刻での値との組を変数とする論理関数である特性関数を生成して二分決定図での表現である第二関数に変換し、前記参照波形の複数の特徴点の各々について、該特徴点によって特定される時間情報と前記信号波形において該時間情報に対応する値との間の関係に対する制約を表している制約条件を、該特徴点における該参照波形の値と該参照波形の値に対して与えられる所定の許容誤差とに基づき獲得し、変換された前記第二関数に対して前記制約条件を適用して前記複数の特徴点全ての制約条件を充足する時刻の範囲を求め、該時刻の範囲を示す情報を前記探索の結果として獲得する、ことを特徴とする波形解析方法。入力信号の信号波形から、参照波形との類似部分を探索する処理をコンピュータに実行させるプログラムであって、前記信号波形をサンプリングして得られる時刻と該信号波形の該時刻での値との組を有するデータ組列に基づいて、時刻と該時刻での値との組を変数とする論理関数である特性関数を生成して二分決定図での表現である第二関数に変換し、前記参照波形の複数の特徴点の各々について、該特徴点によって特定される時間情報と前記信号波形において該時間情報に対応する値との間の関係に対する制約を表している制約条件を、該特徴点における該参照波形の値と該参照波形の値に対して与えられる所定の許容誤差とに基づき獲得し、変換された前記第二関数に対して前記制約条件を適用して前記複数の特徴点全ての制約条件を充足する時刻の範囲を求め、該時刻の範囲を示す情報を前記探索の結果として獲得する、処理をコンピュータに実行させることを特徴とするプログラム。前述したいずれのパターンマッチングの技術でも、数値軸方向データ値方向に行われる波形データの検索を時系列に逐次的に行うようにしている。このような数値軸方向に行うデータの検索は、一般的に柔軟性が乏しく、また、処理効率が著しく低いことが多い。また、参照パターンを幾つも変更しながらパターンマッチングを繰り返し行うような場合には、その繰り返しの度に波形データの読み直しを行う必要があるため、演算の効率の点においても、また、処理の実行に必要なメモリの容量の点においても、処理効率が低い。1つの側面では、本発明は、波形解析装置は、処理効率の高いパターンマッチングを提供することを目的とする。1つの案では波形解析装置は、入力信号の信号波形から、参照波形との類似部分の探索を行うものである。この波形解析装置のひとつに、信号波形取得部と、変換部と、特徴点取得部と、制約条件獲得部と、探索部と、を備えるというものがある。ここで、信号波形取得部は、上記の信号波形を表現しており、当該信号波形をサンプリングして得られる時刻と当該信号波形の当該時刻での値との組からなるデータ組列を取得する。変換部は、上記の信号波形を表現しており時刻と当該時刻での値との組を変数とする論理関数である特性関数を、当該データ組列に基づいて生成して二分決定図での表現に変換して出力する。特徴点取得部は、上記の参照波形上に設定される複数の特徴点についての設定指示を取得する。制約条件獲得部は、この複数の特徴点の各々について、当該特徴点によって特定される時間情報と上記の信号波形において当該時間情報に対応する値との間の関係に対する制約を表している制約条件を獲得する。なお、制約条件獲得部は、この制約条件を、当該特徴点における上記の参照波形の値と当該参照波形の値に対して与えられる所定の許容誤差とに基づき獲得する。探索部は、二分決定図で表現されている上記の特性関数に対して前述の複数の特徴点の各々の制約条件を適用して当該複数の特徴点全ての制約条件を充足する時刻の範囲を求める。そして、探索部は、この時刻の範囲を示す情報を、波形解析装置での探索の結果として出力する。1つの態様よれば、波形解析装置は、高い処理効率でのパターンマッチングを行うことができる。まず図2、図3、及び図4について説明する。図2は、波形解析装置を備える心電図分析システムの機能ブロック図である。また、図3は、この心電図分析システムの機能の説明図であり、図4は心電図分析システムが備えている波形解析装置の動作の概要の説明図である。心電図分析システム1は、観測された心電図データと予め与えられていた拍動リファレンス波形とのパターンマッチングを行って、当該心電図データから、当該拍動リファレンス波形との類似部分の探索を行うシステムである。図3の例では、心電図データに付した破線の円で囲まれているA、B、及びCの計3つの部分が、拍動リファレンス波形との類似部分として心電図分析システム1により抽出される。図2に図解されているように、心電図分析システム1は、波形解析装置10、心電図センサ20、及びA/D変換器30を備えている。波形解析装置10は、入力信号の信号波形から、参照波形との類似部分の探索を行う。図4に図解するように、波形解析装置10は、入力信号の信号波形から、参照波形に許容誤差を付加したものに含まれる部分を探索して、その部分の当該信号波形上の位置を特定する時刻の情報を出力する。心電図センサ20は、心筋の活動電位を計測して心電図信号を出力するセンサである。A/D変換器30は、心電図センサ20から出力される心電図信号をサンプリングして、心電図波形を表現している、時刻と当該時刻における心電図信号の値とのデータの組からなるデータ組列を出力するアナログ-デジタル変換器である。このA/D変換器30から出力されるデータ組列が波形解析装置10に入力される。なお、図2においては、A/D変換器30は波形解析装置10及び心電図センサ20のどちらとも別体のものとして描かれているが、A/D変換器30は波形解析装置10が備えていてもよく、また、心電図センサ20が備えていてもよい。次に、波形解析装置10が備えている機能ブロックについて説明する。波形解析装置10は、信号波形取得部11、変換部12、特徴点取得部13、制約条件獲得部14、及び探索部15を備えている。更に、波形解析装置10には、参照波形データ16と許容誤差情報17とが予め格納されている。参照波形データ16は、参照波形を表現している波形データであり、図2においては、前述した拍動リファレンス波形の波形データである。許容誤差情報17は、入力信号の信号波形からの参照波形との類似部分の探索において、両波形が類似しているとの判定結果を下す場合の許容範囲についての情報である。なお、本実施例においては、参照波形データ16及び許容誤差情報17は波形解析装置10に予め格納されているが、波形解析装置10に記憶部を備えて、外部から入力されるこれらのデータを当該記憶部で記憶しておいて使用するようにしてもよい。信号波形取得部11は、信号波形をサンプリングして得られる時刻と当該信号波形の当該時刻での値とのデータの組を有するデータ組列を取得する。図2の構成においては、信号波形取得部11は、A/D変換器30から出力される、心電図波形を表現している前述のデータ組列を取得する。変換部12は、時刻と当該時刻における値とのデータの組を変数とする論理関数である特性関数CharacteristicFunctionを、上述のデータ組列に基づいて生成して、前述の二分決定図BDDでの表現である第二関数に変換して出力する。図2の構成においては、変換部12は、前述の心電図波形を表現しており時刻と当該時刻における値とのデータの組を変数とする特性関数を、信号波形取得部11が取得したデータ組列に基づいて生成してBDDでの表現である第二関数に変換して出力する。特徴点取得部13は、参照波形データ16で表現されている参照波形上に設定される複数の特徴点についての設定指示を取得する。制約条件獲得部14は、特徴点取得部13が取得した複数の特徴点の各々について、当該特徴点によって特定される時間情報と前述の信号波形において当該時間情報に対応する値との関係に対する制約を表している制約条件を獲得する。制約条件獲得部14は、特徴点における参照波形の値と、当該参照波形の値に対して与えられる所定の許容誤差とに基づき、この制約条件を獲得する。探索部15は、まず、前述の変換された第二関数BDDで表現されている特性関数に対し、複数の特徴点の各々について制約条件獲得部14が獲得した制約条件を適用して当該複数の特徴点全ての制約条件を充足する時刻の範囲を求める。そして、探索部15は、当該時刻の範囲を示す情報を、波形解析装置10による探索の結果として出力する。詳細は後述するが、以上のように構成されている波形解析装置10では、入力信号の信号波形をBDDで表現するので、その表現に必要なデータ量が少なくなり、波形解析のために必要なメモリの容量の削減に寄与する。また、入力信号の信号波形と参照波形とのパターンマッチングをBDD上での演算により実行するので、演算の効率が良好である。このように、図2の波形解析装置10によって、処理効率の高いパターンマッチングが提供される。なお、図2の探索部15は、例えば、以下のようにして、前述の複数の特徴点の各々についての制約条件を充足する時刻を求めるようにしてもよい。すなわち、探索部15は、この複数の特徴点の各々について、まず、当該特徴点によって特定される時刻についての、参照波形について予め設定されている基準時刻に対する時刻差に相当する変数置換演算を、前述の第二関数に対して行う。そして、その後に、探索部15は、当該変数置換演算後の特性関数に対して、当該特徴点について獲得されている前述の制約条件を適用して、当該特徴点についての当該制約条件を充足する時刻の範囲を求める。あるいは、図2の探索部15は、例えば、以下のようにして、前述の複数の特徴点の各々についての制約条件を充足する時刻を求めるようにしてもよい。すなわち、探索部15は、前述の複数の特徴点の各々について、まず、当該特徴点について獲得されている制約条件を、前述の第二関数に対して適用する。そして、その後に、探索部15は、当該特徴点によって特定される時刻についての、参照波形について予め設定されている基準時刻に対する時刻差に相当する変数置換演算を、当該制約条件を充足する時刻の範囲に対して行う。このようにして、BDDで表現されている特性関数への制約条件の適用を、時刻差に相当する変数置換演算の前に行うと、当該適用によってBDDのサイズが小さくなるので、その後の変数置換演算の演算量の削減が期待できる。また、図2の変換部12は、特性関数として、例えば以下のような関数を生成する。すなわち、変換部12は、前述のデータの組の各要素をバイナリで表現したときの各桁の値を変数とする関数を生成する。ここで、この関数は、前述のデータ組列に含まれる値が当該変数の値である場合には値1を返し、当該データ組列に含まれない値が該変数の値である場合には値0を返す関数とする。詳しくは後述するが、このような関数を特性関数として生成すると、当該特性関数をBDDでの表現に変換することができる。また、図2の制約条件獲得部14は、例えば、制約条件を表現しているBDDを、特徴点における参照波形の値と所定の許容誤差とに基づいて生成するようにしてもよい。このとき、探索部15は、前述の第二関数と制約条件を表現しているBDDとの論理積演算を行うことによって、当該特性関数に対する当該制約条件の適用を行う。このようにして、制約条件をBDDで表現すると、特性関数に対する制約条件の適用をBDDの論理演算で実行することができるので、当該適用のための演算の効率が向上し、結果として、パターンマッチングのための処理効率が更に向上する。なお、このときの制約条件としては、例えば、特徴点によって特定される時刻を中心とした所定の期間内においての信号波形の値の最大値に対する制約を表すものでもよい。また、このときの制約条件としては、例えば、特徴点によって特定される時刻を中心とした所定の期間内においての信号波形の値の最小値に対する制約を表すものでもよい。更には、このときの制約条件としては、例えば、特徴点によって特定される時刻を中心とした所定の期間内においての信号波形の値の平均値に対する制約を表すものでもよい。次に、波形解析装置10が備えている各機能ブロックが提供する幾つかの機能について、更に詳細に説明する。まず、変換部12による、信号波形取得部11が取得したデータ組列に基づく特性関数の生成の手法、及び、生成した特性関数のBDDでの表現への変換の手法について説明する。まず、変換部12は、時刻tと時刻tにおける値xとの組を変数とする特性関数fを定義する。この関数fは、の組が信号波形取得部11から受け取った値の組であるとき、すなわち、入力信号本実施例では心電図信号の信号波形上の点を表しているときには値1を返し、その他の場合には値0を返す関数として定義される。関数fをこのように定義することにより、f=1を満たす組の集合が、入力信号の信号波形を表現していると見ることができる。また、このとき、変換部12は、特性関数fの変数である時刻tと値xとをバイナリ2進数で表現し、その各桁の値を変数とするブール関数として、この特性関数fを生成する。すなわち、変換部12は、下記の[数1]式で表現するように、まず、時刻tをn桁のバイナリで表現してnビットのブール変数とし、値xをm桁のバイナリで表現してmビットのブール変数とするブール関数fを生成する。入力信号の信号波形をこのような特性関数として表現すると、この特性関数をBDDでの表現に変換することができる。この特性関数のBDDでの表現への変換について、図5A、図5B、及び図5Cを用いて説明する。図5Aに例示した信号波形例は、x=tの波形である。この信号波形をサンプリングして、時刻tと値xとの組として、={}の各組が得られたものとする。この組は、時刻tと値xとをバイナリ2進数で表現すると、=,,,となる。特性関数fは、これらのいずれかが変数である場合にのみ値1を返し、その他の場合には値0を返す。この特性関数を表現した有向グラフで表したものが図5Bである。なお、有向グラフの構造は、例えば節点データや節点テーブルを用いて表現することができる。節点データは、節点に割り付けた変数若しくは定数を識別するラベルの情報と、当該節点が有している0枝及び1枝の各々が向かう他の節点についての節点データを指すポインタの情報とを備えているデータである。また、節点テーブルは、節点毎に、割り付けられている変数の情報と、当該節点が有している0枝及び1枝の各々が向かう他の節点を特定する情報とが対応付けられているテーブルである。次に、この図5Bの有向グラフに対して既約化を行う。この既約化では、以下の[1]及び[2]の2つのルールを適用する。[1]冗長節点の削除図5Bのグラフにおいて、破線で囲まれているA、B、C、及びDの変数節点は、節点自身が有している0枝と1枝とのどちらが選択されても、その到達先の節点は同一ここでは定数0の節点である。既約化によって、このような変数節点冗長節点などと称される。は削除される。[2]等価な変数節点の共有化図5Bのグラフにおいて、一点鎖線で囲まれている変数節点Eと変数節点Fとは、0枝が選択されたときの到達先の節点が同一ここでは定数1の節点であり、また、1枝が選択されたときの到達先の節点も同一ここでは定数0の節点である。既約化によって、このような変数節点等価な変数節点などと称される。E及びFは1つに纏められて共有化される。なお、図5Bのグラフにおいては、二点鎖線で囲まれている変数節点Gと変数節点Hも等価な変数節点であるので、この2つの変数節点G及びHも既約化によって1つの変数節点に纏められる。図5Cのグラフは、上述の2つのルールを適用する既約化を図5Bのグラフに対して行って得られた、特性関数fのBDDでの表現である。このようにしてBDDで表現された特性関数fは、その表現がコンパクトであることが分かる。なお、以上の説明では、まず、図5Bに例示したような、特性関数の有向グラフを完成させ、その後に、この有向グラフに対して既約化を行って図5Cに例示したような特性関数のBDD表現を得るという手法を説明した。但し、実用的には、特性関数の有向グラフの作成とその既約化とを並行して行うようにしてもよい。すなわち、前述の例で説明すると、特性関数fのデータを、作成中の有向グラフに1つ追加する度に、そのデータが追加された有向グラフに対して既約化を行うようにしてもよい。このようにすると、特性関数についての有向グラフを表すデータを一時的に保持しておくために必要となる記憶領域の容量が節約される。変換部12は、以上のようにして、信号波形取得部11が取得したデータ組列に基づく特性関数の生成と、生成した特性関数のBDDでの表現すなわち、前述の第二関数への変換とを行う。次に、制約条件獲得部14による制約条件の獲得の手法について、図6を用いて説明する。まず、図2の心電図分析システム1の操作者は、参照波形すなわち、前述した拍動リファレンス波形上に、複数の特徴点の設定を行う。この設定においては、例えば、図6の左側の参照波形上に設定されている特徴点P0、P1、P2、及びP3のように、参照波形の形状の特徴を表している、波形の始点、極大点、極小点、終点等が特徴点として選択される。なお、参照波形を表現している参照波形データ16の全てを特徴点としてもよい。特徴点取得部13は、操作者によって以上のようにして参照波形上に設定された複数の特徴点についての設定指示を取得して、制約条件獲得部14に渡す。このときに渡された複数の特徴点を、Pii=0、1、...、k-1とする。制約条件獲得部14は、特徴点Piを受け取ると、Piの各々について、参照波形の開始時刻Tから特徴点Piの時刻までの経過時間aiと、そのPiにおける参照波形の値biとを求める。図6の右側の波形は、左側の参照波形について設定した特徴点P0、P1、P2、及びP3の各々についての、経過時間aiと参照波形の値biとを示したものである。なお、ここでは特徴点P0を参照波形の始点に設定していることから、経過時間a0=0であるので、図6の右側の波形にはa0が示されていない。次に、制約条件獲得部14は、各特徴点Piにおける参照波形の値biに許容誤差情報17を許容することで制約条件Miを獲得する。つまり、許容誤差情報17の値をΔとすると、制約条件獲得部14は、特徴点Piの各々について、参照波形の開始時刻Tからの経過時間がaiであるときのbi±Δの値の範囲を、制約条件Miとして獲得する。次に、探索部15による、BDDで表現されている特性関数すなわち、前述の第二関数に対する制約条件の適用の手法について説明する。探索部15は、特徴点Piの各々について制約条件獲得部14が獲得した制約条件Miを、BDDで表現されている特性関数に対して1つずつ適用し、制約条件Miを全て充足する時刻の範囲を求める。より具体的には、探索部15は、図7に図解した[1]、[2]、及び[3]の各処理をこの手順で行って、探索結果を得る。[1]まず、特徴点Piについて求めた前述の経過時間aiを用いて、BDDで表現されている特性関数fを変換して、当該関数における時刻の変数tをtaiで置換した関数f’=fを獲得する。なお、このようにして時刻変数を置換した関数f’によって表現されている波形は、元の入力信号の信号波形を時間軸方向に-aiだけ移動させたものになる。[2]次に、このf’に制約条件Miを適用して、変数xがbi±Δの範囲内の値をとるときの、時刻の変数tのとり得る値の範囲f’=1となる時刻tの集合を求める。[3]特徴点Piのひとつひとつについて上記[1]及び[2]の処理を行い、それらの処理結果から、制約条件Miを全て満たす時刻の変数tの範囲を求め、得られた時刻tの範囲を、波形解析装置10による探索の結果として出力する。なお、上記の[1]、[2]、及び[3]の各処理をコンピュータで行わせるためのプログラムは、広く公開されている各種の汎用BDDパッケージを利用することで簡単に作成することができる。このようなプログラムの一例として、米国のコロラド大学により公開されているBDDパッケージである、CUDDColoradoUniversityDecisionDiagramPackageを利用してC作成した、上記の処理についてのプログラムを図8に例示する。このプログラムの説明については、図8に示したプログラム中に、注釈以降に記載されているコメントとして記載されている。なお、CUDDパッケージは、インターネット上で下記のURLで公開されている。URL:httpvlsicoloradoedufabioCUDD波形解析装置10が備えている各機能ブロックは、各機能の提供を以上のようにして行う。なお、図2の波形解析装置10を、標準的な構成のコンピュータを用いて構成することができる。ここで図9について説明する。図9には、波形解析装置10として機能させることのできるコンピュータのハードウェア構成例が図解されている。このコンピュータ40は、MPU41、ROM42、RAM43、ハードディスク装置44、入力装置45、表示装置46、インタフェース装置47、及び記録媒体駆動装置48を備えている。なお、これらの構成要素はバスライン49を介して接続されており、MPU41の管理の下で各種のデータを相互に授受することができる。MPUMicroProcessingUnit41は、このコンピュータ40全体の動作を制御する演算処理装置である。ROMReadOnlyMemory42は、所定の基本制御プログラムが予め記録されている読み出し専用半導体メモリである。MPU41は、この基本制御プログラムをコンピュータ50の起動時に読み出して実行することにより、このコンピュータ40の各構成要素の動作制御が可能になる。RAMRandomAccessMemory43は、MPU41が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。ハードディスク装置44は、MPU41によって実行される各種の制御プログラムや各種のデータを記憶しておく記憶装置である。MPU41は、ハードディスク装置44に記憶されている所定の制御プログラムを読み出して実行することにより、各種の制御処理を行えるようになる。入力装置45は、例えばキーボード装置やマウス装置であり、例えば波形解析装置10の操作者により操作されると、その操作内容に対応付けられている操作者からの各種情報の入力を取得し、取得した入力情報をMPU41に送付する。表示装置46は例えば液晶ディスプレイであり、MPU41から送付される表示データに応じて各種のテキストや画像を表示する。インタフェース装置47は、このコンピュータ40に接続される各種機器との間での各種情報の授受の管理を行う。記録媒体駆動装置48は、可搬型記録媒体50に記録されている各種の制御プログラムやデータの読み出しを行う装置である。MPU41は、可搬型記録媒体50に記録されている所定の制御プログラムを、記録媒体駆動装置48を介して読み出して実行することによって、後述する各種の制御処理を行うようにすることもできる。なお、可搬型記録媒体50としては、例えばCD-ROMCompactDiscReadOnlyMemoryやDVD-ROMDigitalVersatileDiscReadOnlyMemory、USBUniversalSerialBus規格のコネクタが備えられているフラッシュメモリなどがある。このようなコンピュータ40を波形解析装置10として機能させるには、例えば、次に説明する各種の制御処理をMPU41に行わせるための制御プログラムを作成する。作成された制御プログラムはハードディスク装置44若しくは可搬型記録媒体50に予め格納しておく。なお、ハードディスク装置44には、参照波形データ16及び許容誤差情報17を予め記憶させておくようにする。また、コンピュータ40のインタフェース装置47には、A/D変換器30を接続し、心電図センサ20から出力される心電図信号の波形のサンプリングデータ列をコンピュータ40に取り込めるようにしておく。そして、MPU41に所定の指示を与えてこの制御プログラムを読み出させて実行させる。こうすることで、波形解析装置10が備えている各機能ブロックが各々有している機能のコンピュータ40での提供が可能となる。また、端末装置と、当該端末装置との間で各種データの授受を行うことのできるサーバ装置とからなるコンピュータシステムを用いて波形解析装置10を構成してもよい。このコンピュータシステムを波形解析装置10として機能させる場合には、心電図センサ20及びA/D変換器30を端末装置に接続すると共に、サーバ装置には、例えば図9のコンピュータ40の構成を備える。但し、インタフェース装置47には、端末装置が備えている通信装置との間でのデータ通信を管理する通信装置を備える。そして、端末装置は、心電図信号の波形のサンプリングデータ列をサーバ装置に送付する。一方、サーバ装置では、端末装置から受け取ったサンプリングデータ列に基づいて後述する制御処理を行い、この制御処理によって得られる探索結果を端末装置に送付する。このようにすることで、波形解析装置10を上述のコンピュータシステムにより構成することができる。次に、図2の波形解析装置10で行われる各種の制御処理について説明する。まず図10について説明する。図10は、波形解析処理の処理内容を図解したフローチャートである。この処理は、波形解析装置10の操作者から与えられる所定の実行開始指示が波形解析装置10で検知されると開始される。図10において、まず、S101では、信号波形取得処理を信号波形取得部11が行う。この処理は、入力信号の信号波形を表現しており当該信号波形をサンプリングして得られる時刻と、当該信号波形の当該時刻での値とのデータの組からなるデータ組列を取得する処理である。本実施例では、この処理により、A/D変換器30から出力される、心電図波形を表現している前述のデータ組列が取得される。次に、S102において変換処理を変換部12が行う。この処理は、上述の信号波形を表現しており時刻と当該時刻における値とのデータの組を変数とする特性関数を、上述のデータ組列に基づいて生成してBDDでの表現である第二関数に変換して出力する処理である。この変換処理の詳細は後述する。次に、S103において特徴点取得処理を特徴点取得部13が行う。この処理は、参照波形データ16で表現されている参照波形上に設定される、複数の特徴点についての設定指示を取得する処理である。次に、S104において制約条件獲得処理を制約条件獲得部14が行う。この処理は、S103の特徴点取得処理によって取得された複数の特徴点の各々について、当該特徴点によって特定される時間情報と、前述の信号波形において当該時間情報に対応する値との間の関係に対する制約条件を獲得する処理である。この制約条件獲得処理の詳細についても後述する。次に、S105において探索処理を探索部15が行う。この処理は、BDDで表現されている特性関数第二関数に対し、S104の制約条件獲得処理により獲得された制約条件を適用して、前述の複数の特徴点全ての制約条件を充足する時刻の範囲を求める処理である。この探索処理の詳細についても後述する。次に、S106において探索結果出力処理を探索部15が行う。この処理は、S105の探索処理により求められた時刻の範囲を、波形解析装置10による探索の結果として出力する処理である。このS106の処理を終えると図10の波形解析処理が終了する。以上までの処理が波形解析処理である。次に図11について説明する。図11は、図10のS102の処理である、変換処理の処理内容を図解したフローチャートである。変換部12は、まず、S111において、ブール関数である特性関数を、図10のS101の信号波形取得処理により取得したデータ組列から生成する処理を行う。この処理では、まず、時刻tと時刻tにおける値xとをそれぞれn桁及びm桁のバイナリ2進数で表現し、その各桁の値を変数とするブール関数fを生成する処理が行われる。そして、次に、図10のS101の信号波形取得処理により取得したデータ組列に含まれる時刻tと値xとの組が、生成したブール関数の変数の値であるときには値1を返し、その他の場合には値0を返すものとするように定義する処理が行われる。この結果、入力信号の信号波形を表現している特性関数が生成される。次に、変換部12は、S112において、S111の処理で生成された特性関数を表現している有向グラフを生成する処理を行う。次に、変換部12は、S113において、S112の処理で生成された有向グラフに対して前述の既約化を行って、入力信号の信号波形を表現している、BDDで表現された特性関数を獲得する処理を行う。このS113の処理を終えると図11の変換処理が終了し、その後は図10の波形解析処理に処理が戻る。以上までの処理が変換処理である。なお、変換部12によって行われるS111、S112、及びS113の各処理の詳細は、前述した通りである。ここで、変換部12は、S112の有向グラフの生成処理とS113の既約化の処理とを前述のように並行して実行するようにして、特性関数のデータを作成中の有向グラフに1つ追加する度に、データ追加後の有向グラフに対して既約化を行うようにしてもよい。次に図12について説明する。図12は、図10のS104の処理である、制約条件獲得処理の処理内容を図解したフローチャートである。なお、この処理では、処理の前提として、図10のS103の特徴点取得処理において、全部でk個の特徴点Pii=0,1,...,k-1の設定指示を取得していたものとする。制約条件獲得部14は、まず、S121において、変数iに初期値0を代入する処理を行う。次に、制約条件獲得部14は、S122において、参照波形データ16で表現されている参照波形の開示時刻Tから、図10のS103の特徴点取得処理により取得された特徴点Piの時刻tiまでの経過時間を算出して変数aiに代入する処理を行う。次に、制約条件獲得部14は、S123において、図10のS103の特徴点取得処理により取得された特徴点Piにおける参照波形の値を参照波形データ16から取得して変数biに代入する処理を行う。次に、制約条件獲得部14は、S124において、誤差許容情報17を取得し、この情報で示されている許容誤差の値を変数Δに代入する処理を行う。次に、制約条件獲得部14は、S125において、変数biの現在の値に対して±変数Δの範囲を示す情報を、制約条件を表す変数Miに代入する処理を行う。次に、制約条件獲得部14は、S126において、変数iの現在の値に1を加算して変数iの値を更新する処理を行う。次に、制約条件獲得部14は、S127において、変数iの現在の値が、図10のS103の特徴点取得処理において取得した特徴点の総数kに達したか否かを判定する処理を行う。ここで、変数iの値が総数kに達したと判定されたとき判定結果がYesのときには、この制約条件獲得処理が終了し、その後は図10の波形解析処理に処理が戻る。一方、変数iの値が総数kに未だ達していないと判定されたとき判定結果がNoのときには、制約条件獲得部14はS122に処理を戻し、S126の処理による値の更新後の変数iについて、前述した処理を実行する。以上までの処理が制約条件獲得処理である。なお、制約条件獲得部14によって行われるS122からS125にかけての各処理の詳細は、前述した通りである。次に図13について説明する。図13は、図10のS105の処理である、探索処理の処理内容の第一の例を図解したフローチャートである。探索部15は、まず、S131において、変数iに初期値0を代入する処理を行う。次に、S132において、探索部15は、図10のS102の処理により得た、BDDで表現されている特性関数を、特徴点Piについて求めた前述の経過時間aiを用いて変換して、当該関数における時刻の変数tをtaiで置換した関数を獲得する処理を行う。次に、探索部15は、S133において、S132の処理によって変数tの置換処理を施した特性関数に制約条件Miを適用して、変数xがbi±Δの範囲内の値をとるときの時刻の変数tのとり得る値の範囲を獲得する処理を行う。次に、探索部15は、S134において、変数iの現在の値に1を加算して変数iの値を更新する処理を行う。次に、探索部15は、S135において、変数iの現在の値が、図10のS103の特徴点取得処理において取得した特徴点の総数kに達したか否かを判定する処理を行う。ここで、変数iの値が総数kに達したと判定されたとき判定結果がYesのときには、探索部15はS136に処理を進める。一方、変数iの値が総数kに未だ達していないと判定されたとき判定結果がNoのときには、探索部15はS132に処理を戻し、S134の処理による値の更新後の変数iについて、前述した処理を実行する。次に、探索部15は、S136において、制約条件Miを全て満たす時刻の変数tの範囲、すなわち、S133の処理を繰り返す度に得た、時刻の変数tのとり得る値の範囲に全て含まれる時刻の範囲を獲得する処理を行う。このS136の処理を終えると図13の探索処理が終了し、その後は図10の波形解析処理に処理が戻る。すると、S136の処理で獲得された時刻の範囲が、波形解析装置10による探索の結果として、S106の探索結果出力処理によって出力される。以上までの処理が探索処理である。以上のような各種の制御処理が図2の波形解析装置10において行われることによって、入力信号の信号波形からの参照波形との類似部分の探索が波形解析装置10によって可能になる。なお、以上までに説明した波形解析装置10の動作を、これより説明するように、様々に変形してもよい。例えば、図13に図解した探索処理では、まず、S132の処理により、特徴点によって特定される時刻についての、参照波形について予め設定されている基準時刻に対する時刻差に相当する変数置換演算が、BDDで表現されている特性関数に対して行われる。そして、その後に、S133の処理により、当該変数置換演算後の特性関数に対して、当該特徴点について獲得されている制約条件を適用することで、当該特徴点についての当該制約条件を充足する時刻の獲得が行われる。ここで、この順序を入れ替えてもよい。図14について説明する。図14は、図10のS105の処理である、探索処理の処理内容の第二の例を図解したフローチャートである。この図14に図解した処理は、図13に図解した処理のうちのS132及びS133の処理を、S141及びS142の処理に置き換えたものである。そこで、ここでは、このS141及びS142の処理についてのみ説明する。S131の処理に続くS141において、探索部15は、図10のS102の処理により得た、BDDで表現されている特性関数に制約条件Miを適用して、変数xがbi±Δの範囲内の値をとるときの、時刻の変数tのとり得る値の範囲を獲得する処理を行う。次に、S142において、探索部15は、S141の処理で獲得された時刻の変数tのとり得る値の範囲を、特徴点Piについて求めた前述の経過時間aiを用いて、taiで置換し、置換後のtのとり得る値の範囲を獲得する処理を行う。この処理を終えた後には、探索部15はS134に処理を進める。このように、図14に図解した処理では、探索部15は、複数の特徴点の各々について、まず、当該特徴点について獲得されている制約条件を、BDDで表現されている特性関数に対して適用する。そして、その後に、探索部15は、当該特徴点によって特定される時刻についての、参照波形について予め設定されている基準時刻に対する時刻差に相当する変数置換演算を、当該制約条件を充足する時刻の範囲に対して行う。このようにして、BDDで表現されている特性関数への制約条件の適用を、時刻差に相当する変数置換演算の前に行うと、当該適用によってBDDのサイズ節点の数が小さくなるので、その後の変数置換演算の演算量の削減が期待できる。また、例えば、図12に図解した制約条件獲得処理において、制約条件MiをBDDでの表現に変換し、図13に図解した探索処理では、BDDで表現されている制約条件Miを、同じくBDDで表現されている特性関数に適用するようにしてもよい。ここで図15A及び図15Bについて説明する。図15Aは図12のフローチャートの変形例であり、図15Bは図13のフローチャートの第一変形例である。これらは、上述した動作を制約条件獲得部14及び探索部15にそれぞれ行わせるためのものである。まず、図15AのS151の処理は、図12のS125の処理とS126の処理との間に行われる処理である。制約条件獲得部14は、このS151において、図12のS125の処理により獲得されている制約条件Miを、BDDでの表現に変換する処理を行い、その後は図12のS126に処理を進める。ここで、制約条件をBDDで表現する手法について、図16を用いて説明する。図16の例は、特徴点Piにおける参照波形の値biが4であり、許容誤差Δが1であるときの制約条件MiをBDDで表現したものである。この場合、変数xについての制約条件Miはxが4±1の範囲内であることであり、これはすなわち、xの値が3≦x≦5であることと等価である。ここで、変数xを3桁のバイナリで表現すると、この制約条件Miは、が、、のいずれかの場合にのみ値1を返し、その他の場合には値0を返す特性関数fで表現することができる。この特性関数を表現した有向グラフを作成し、作成した有向グラフに対して既約化を行うことで、図16に例示したBDDが得られる。なお、この場合にも、制約条件Miを表現している特性関数の有向グラフの作成とその既約化とを、前述のようにして並行して行うようにしてもよい。一方、図15BのS152の処理は、図13のS133の処理の代わりに行われる処理である。探索部15は、このS152において、まず、図13のS132の処理によって変数tの置換処理を施した特性関数と、図15AのS151の処理で得られた、BDDで表現されている制約条件Miとの論理積演算処理を行う。そして、次に、この論理積演算で得られた特性関数f’から、時刻の変数tのとり得る値の範囲f’=1となる時刻tの集合を獲得する処理を行い、その後は図13のS134に処理を進める。以上のように、図15Aの処理により、制約条件獲得部14は、制約条件を表現しているBDDを、特徴点における参照波形の値と所定の許容誤差とに基づいて生成する。そして、図15Bの処理により、探索部15は、BDDで表現されている特性関数と制約条件を表現しているBDDとの論理積演算を行うことによって、当該特性関数に対する当該制約条件の適用を行う。このようにして、制約条件をBDDで表現すると、特性関数に対する制約条件の適用をBDDの論理演算で実行することができるので、当該適用のための演算の効率が向上し、結果として、パターンマッチングのための処理効率が更に向上する。また、例えば、制約条件獲得部14が獲得する各制約条件Miは、特徴点Piによって特定される時刻tを中心とした所定の期間t±Δt内においての、入力信号の信号波形の値の最大値、最小値、若しくは平均値に対する制約を表すものでもよい。ここで図17について説明する。図17は図13のフローチャートの第二変形例である。この変形例は、制約条件Miが、上述した最大値、最小値、若しくは平均値に対する制約を表している場合に、探索部15に行わせるためのものである。図17のS161の処理は、図13の探索処理の最初に行われる処理である。このS161では、探索部15は、図10のS102の処理により得た、BDDで表現されている特性関数を、制約条件Miの定義内容に従って変換する処理を行い、その後は図13のS131に処理を進める。なお、このS161の処理において、制約条件Miが、上述した最大値、最小値、若しくは平均値に対する制約を表すものである場合には、BDDで表現されている特性関数fを、それぞれ、下記の[数2]式で表現されているf’に変換する。なお、BDDで表現されている特性関数fから[数2]式で表現されているf’への変換は、BDDの演算を適用することで容易に実現することができる。なお、以上までに説明した実施形態に関し、更に以下の付記を開示する。付記1入力信号の信号波形から、参照波形との類似部分の探索を行う波形解析装置であって、前記信号波形をサンプリングして得られる時刻と該信号波形の該時刻での値との組を有するデータ組列を取得する信号波形取得部と、時刻と該時刻での値との組を変数とする論理関数である特性関数を、前記データ組列に基づいて生成して二分決定図での表現である第二関数に変換する変換部と、前記参照波形の複数の特徴点の各々について、該特徴点によって特定される時間情報と前記信号波形において該時間情報に対応する値との間の関係に対する制約を表している制約条件を、該特徴点における前記参照波形の値と該参照波形の値に対して与えられる所定の許容誤差とに基づき獲得する制約条件獲得部と、変換された前記第二関数に対して前記複数の特徴点の各々の前記制約条件を適用して該複数の特徴点全ての制約条件を充足する時刻の範囲を求め、該時刻の範囲を示す情報を前記探索の結果として出力する探索部と、を備えることを特徴とする波形解析装置。付記2前記探索部は、前記複数の特徴点の各々について、まず、該特徴点によって特定される時刻についての、前記参照波形について予め設定されている基準時刻に対する時刻差に相当する変数置換演算を、前記第二関数に対して行ってから、その後に、該変数置換演算後の特性関数に対して、該特徴点について獲得されている前記制約条件を適用することで、該特徴点についての該制約条件を充足する時刻の範囲を求めることを特徴とする付記1に記載の波形解析装置。付記3前記探索部は、前記複数の特徴点の各々について、まず、該特徴点について獲得されている前記制約条件を前記第二関数に対して適用して該特徴点についての該制約条件を充足する時刻の範囲を求めてから、その後に、該特徴点によって特定される時刻についての、前記参照波形について予め設定されている基準時刻に対する時刻差に相当する変数置換演算を、該制約条件を充足する時刻の範囲に対して行うことを特徴とする付記1に記載の波形解析装置。付記4前記変換部は、前記特性関数として、前記データの組の各要素をバイナリで表現したときの各桁の値を変数とし、前記データ組列に含まれる値が該変数の値である場合には値1を返し、前記データ組列に含まれない値が該変数の値である場合には値0を返す関数を生成することを特徴とする付記1から3のうちのいずれか一項に記載の波形解析装置。付記5前記制約条件獲得部は、前記制約条件を表現している二分決定図を、前記特徴点における前記参照波形の値と前記所定の許容誤差とに基づいて生成し、前記探索部は、前記第二関数と前記制約条件を表現している二分決定図との論理積演算を行うことによって、該特性関数に対する該制約条件の適用を行う、ことを特徴とする付記1から4のうちのいずれか一項に記載の波形解析装置。付記6前記制約条件は、前記特徴点によって特定される時刻を中心とした所定の期間内においての前記信号波形の値の最大値に対する制約を表すものであることを特徴とする付記1から5のうちのいずれか一項に記載の波形解析装置。付記7前記制約条件は、前記特徴点によって特定される時刻を中心とした所定の期間内においての前記信号波形の値の最小値に対する制約を表すものであることを特徴とする付記1から5のうちのいずれか一項に記載の波形解析装置。付記8前記制約条件は、前記特徴点によって特定される時刻を中心とした所定の期間内においての前記信号波形の値の平均値に対する制約を表すものであることを特徴とする付記1から5のうちのいずれか一項に記載の波形解析装置。付記9入力信号の信号波形から、参照波形との類似部分の探索を行う波形解析方法であって、前記信号波形をサンプリングして得られる時刻と該信号波形の該時刻での値との組を有するデータ組列に基づいて、時刻と該時刻での値との組を変数とする論理関数である特性関数を生成して二分決定図での表現である第二関数に変換し、前記参照波形の複数の特徴点の各々について、該特徴点によって特定される時間情報と前記信号波形において該時間情報に対応する値との間の関係に対する制約を表している制約条件を、該特徴点における該参照波形の値と該参照波形の値に対して与えられる所定の許容誤差とに基づき獲得し、変換された前記第二関数に対して前記制約条件を適用して前記複数の特徴点全ての制約条件を充足する時刻の範囲を求め、該時刻の範囲を示す情報を前記探索の結果として獲得する、ことを特徴とする波形解析方法。付記10入力信号の信号波形から、参照波形との類似部分を探索する処理をコンピュータに実行させるプログラムであって、前記信号波形をサンプリングして得られる時刻と該信号波形の該時刻での値との組を有するデータ組列に基づいて、時刻と該時刻での値との組を変数とする論理関数である特性関数を生成して二分決定図での表現である第二関数に変換し、前記参照波形の複数の特徴点の各々について、該特徴点によって特定される時間情報と前記信号波形において該時間情報に対応する値との間の関係に対する制約を表している制約条件を、該特徴点における該参照波形の値と該参照波形の値に対して与えられる所定の許容誤差とに基づき獲得し、変換された前記第二関数に対して前記制約条件を適用して前記複数の特徴点全ての制約条件を充足する時刻の範囲を求め、該時刻の範囲を示す情報を前記探索の結果として獲得する、処理をコンピュータに実行させることを特徴とするプログラム。"