(57)【特許請求の範囲】
【請求項１】
データ点列の補間を行うために補間次数と補間区間を算出する装置において、
データの次数を検出するために予め作成した複数の次数のウェーブレット関数から、入力されたデータに適用する次数のウェーブレット関数を選択する選択手段と、
前記選択手段によって選択された次数のウェーブレット関数を順次補間区間ごとに移動および伸縮して、入力されたデータとの積和演算を行った演算結果をそれぞれ求める変換計算手段と、
前記演算結果の絶対値が最小となる次数のウェーブレット関数を補間次数とし、その区間を補間区間として選択する手段と
を備えたことを特徴とする補間次数と補間区間を算出する装置。
【請求項２】
上記移動は、上記ウェーブレット関数を上記データに対して順次補間区間ごとに移動させることを特徴とする請求項１記載の補間次数と補間区間を算出する装置。
【請求項３】
上記伸縮および移動は、上記ウェーブレット関数を順次伸縮した後のものを上記データに対して順次補間区間ごとに移動させることを特徴とする請求項１記載の補間次数と補間区間を算出する装置。
【請求項４】
上記データを一次元のデータあるいは複数次元のデータとしたことを特徴とする請求項１ないし請求項３記載のいずれかの補間次数と補間区間を算出する装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ点列について補間する補間次数と補間区間を算出する装置に関するものである。
【０００２】
【従来の技術】
従来、入力されたデータを補間する場合、指定した一意の次数の関数を使って補間するようにしていた。
【０００３】
【発明が解決しようとする課題】
従来は上述したように指定した一意の次数の関数を使ってデータの補間を行っていたため、必ずしも最適な次数の関数で補間されないという問題があった。
【０００４】
また、最適な次数の関数を利用者が選択あるいは複数の次数の関数によって補間してその誤差が小さい次数の関数を選択することも考えられるが、各区間毎に最適な次数の関数によって補間し得ないという問題があった。
【０００５】
本発明は、これらの問題を解決するため、データに対して複数の次数のウェーブレット関数を移動・伸縮して適用し最小誤差となる区間毎の関数の次数を算出することを目的としている。
【０００６】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
図１において、入力データ１は、データの補間次数および補間区間を算出する対象のデータである。
【０００７】
ウェーブレット関数２は、予め作成した複数の次数のウェーブレット関数である。
変換計算手段５は、  入力データ１に対してウェーブレット関数２を移動および伸縮して演算して演算結果である展開係数６を生成するものである。
【０００８】
選択手段７は、展開係数６をもとに誤差が最小となる関数の次数および区間を選択するものである。
次に、動作を説明する。
【０００９】
変換計算手段５が入力データ１に対してウェーブレット関数２を移動および伸縮して演算し演算結果である展開係数６を生成し、選択手段７がこれら展開係数６をもとに誤差が最小となる関数の次数および区間を選択するようにしている。
【００１０】
この際、変換計算手段５がウェーブレット関数２を入力データ１に対して順次区間を移動して演算を行い、展開係数６を生成するようにしている。
また、変換計算手段５がウェーブレット関数２を順次伸縮した後のものを入力データ１に順次区間を移動して演算を行い、展開係数６を生成するようにしている。
【００１１】
また、入力データ１を一次元のデータあるいは複数次元のデータとし、誤差が最小となる関数の次数および区間を算出するようにしている。
従って、入力データ１に対して複数の次数のウェーブレット関数２を移動・伸縮して適用し最小誤差となる区間毎の関数の次数を算出することが可能となる。
【００１２】
【発明の実施の形態】
次に、図１から図８を用いて本発明の実施の形態および動作を順次詳細に説明する。
【００１３】
図１は、本発明のブロック図を示す。
図１において、入力データ１は、データの補間次数および補間区間を算出する対象のデータであって、例えば後述する図３の（ａ）に示すように、２10＝１０２４個の時系列のデータである。
【００１４】
ウェーブレット関数２は、予め作成した複数の次数のウェーブレット関数である。本発明では、自然数Ｎ（≧１）をパラメタとするコンパクトサポートのウェーブレット関数のファミリΦN（ｘ）が０からＮ−１次までのモーメントを０にする、即ち、
∫ｘnΦN（ｘ）ｄｘ＝０                                      （式１）
ｎ＝０，１，・・・，（Ｎ−１）
であるという性質を利用し、ウェーブレット関数の移動および伸縮を行って入力データを補間するときに区間毎に最適な関数の次数を決定するようにしている（ΦN（ｘ）をＮ次のウェーブレット関数と呼ぶ）。
【００１５】
今、多項式関数をｆ（ｘ）とし、ΦN（ｘ）をｘ軸方向に移動・伸縮すると下記（式２）のように表現できる。
∫ｆ（ｘ）ΦN（（ｘ−ｂ）／ａ）ｄｘ＝Ｖ（ａ、ｂ）          （式２）
ここで、ｆ（ｘ）の多項式関数の次数が一致したときにはその移動・伸縮（ａは移動量を表し、ｂは伸縮率を表す）した区間でＶ（ａ、ｂ）の値が零（他の次数のΦN（（ｘ−ｂ）／ａ）の展開階数の値と比較して最小）となる。
【００１６】
選択手段３は、ウェーブレット関数２のうちから入力データ１に適用するウェーブレット関数を選択するものである。
指示手段４は、外部からいずれのウェーブレット関数を入力データに適用するかを指示するものである。
【００１７】
変換計算手段５は、選択手段３によって選択された次数のウェーブレット関数について移動・伸縮して入力データ１に適用し、上述した（式２）の左辺の積和演算を行い、演算結果として展開係数Ｖ（ａ、ｂ）の値を生成するものである。
【００１８】
展開係数６は、変換計算手段５によって移動および伸縮して演算して求めた展開係数のセットである。例えば後述する図３の（ｂ）から（ｄ）に示すように、横軸にウェーブレット関数の移動を取り、縦軸にウェーブレット関数の伸縮を取って２次元表示したデータのセットである。
【００１９】
選択手段７は、展開係数６をもとに、予め設定したＶ（ａ、ｂ）の許容誤差ε以下であって０により近い展開係数のウェーブレット関数の次数およびその区間を選択するものである。
【００２０】
結果データ８は、選択手段７によって選択されたより０に近い区間毎のウェーブレット関数の次数である。
次に、図２の（ａ）のフローチャートに示す順序に従い、図１の構成の動作を詳細に説明する。
【００２１】
図２は、本発明の実施の形態説明図を示す。
図２の（ａ）は、フローチャートを示す。
図２の（ａ）において、Ｓ１は、データを入力する。ここでは、２n個のデータ、例えば図３の（ａ）の２10個＝１０２４個のデータを入力する。
【００２２】
Ｓ２は、許容範囲（ε＞０）を入力する。
Ｓ３は、適用関数の選択する。これは、図１の選択手段３がウェーブレット関数２から入力データ１に適用しようとするウェーブレット関数を選択して取り出す。例えば後述する図３の（ｂ）、（ｃ）、（ｄ）の１次、２次、２次のウェーブレット関数を選択して取り出す。
【００２３】
Ｓ４は、ウェーブレット変換計算する。これは、Ｓ３で選択して取り出した各次数のウェーブレット関数について、それぞれ移動および伸縮を行って入力データとの積和演算を行い、展開係数を求める。例えば右下の（ｂ）のデータ列（２10個）に対して、（ｃ）の展開係数に示すように、ウェーブレット関数をｘ方向に移動させつつ、およびｙ方向に伸縮させつつ（式２）の積和演算して展開係数をそれぞれ求める。
【００２４】
Ｓ５は、絶対値がε以下の展開係数Ｖ（ａ、ｂ）を選出する。これは、Ｓ４で移動・伸縮して積和演算して求めた展開係数Ｖ（ａ、ｂ）の絶対値がＳ２で入力した許容範囲ε以下を選出する。
【００２５】
Ｓ６は、同一区間において、低次の関数の展開係数より絶対値が小なら置き換える。これにより、各区間毎に展開係数Ｖ（ａ、ｂ）の絶対値が一番小さい次数の関数が選択されることとなる。
【００２６】
Ｓ７は、適用関数終わりか判別する。ＹＥＳの場合には、Ｓ９で展開係数Ｖ（ａ、ｂ）の絶対値が最小となった各区間における次数を表示し、終了する。一方、ＮＯの場合には、Ｓ８で次に次数の高い関数を使用し、Ｓ４以降を繰り返す。
【００２７】
以上によって、入力データに対して選択された次数のウェーブレット関数を移動・伸縮してそのときの各区間毎の展開係数Ｖ（ａ、ｂ）を求め、各区間毎に展開係数の絶対値が最小となる次数を選出する。これにより、入力データの各区間毎に展開係数の絶対値が最小となる次数をそれぞれ選出することが可能となる。
【００２８】
図２の（ｂ）は、入力データのデータ列の例を示す。ここでは、例えば２10個＝１０２４個のデータ列の一部を図示のように示す。
図２の（ｃ）は、図２の（ｂ）のデータ列に対して、ウェーブレット関数を移動および伸縮しつつ適用して展開係数を区間毎に算出する様子を示す。今、斜線を引いた区間に着目し、この区間の展開係数が前回に求めた展開係数の絶対値よりも小さいときに、現在の次数を選出する。以下同様にして、各区間毎に展開係数の絶対値が最小となったときの次数を選出する。
【００２９】
図３は、本発明の具体例（その１）を示す。これは、図３の（ａ）のデータに対して、図３の（ｂ）、（ｃ）、（ｄ）で１次、２次、３次のウェーブレット関数（図５の（ａ）、（ｂ）、（ｃ）のウェーブレット関数）を適用したときの実験結果である。
【００３０】
図３の（ａ）は、入力データの例を示す。このデータは、２10個＝１０２４個のデータであって、図示のように時間と共に変化する波形である。
図３の（ｂ）は、１次のウェーブレット関数を適用し、既述した移動・伸縮して積和演算して求めた展開係数の例を示す。ここで、横軸が移動量を表し、縦軸が伸縮量を表し、黒い部分が展開係数が０に近い（許容値ε以下）区間を示す。
【００３１】
図３の（ｃ）、（ｄ）は、２次、３次のウェーブレット関数を適応し、既述した移動・伸縮して積和演算して求めた展開係数の例をそれぞれ示す。ここで、横軸が移動量を表し、縦軸が伸縮量を表し、黒い部分が展開係数が０に近い（許容値ε以下）区間を示す。
【００３２】
以上の図３の（ｂ）ないし（ｄ）から各ウェーブレット関数が（Ｎ−１）次の部分を検出していることが判明する。
図４は、本発明の具体例（その２）を示す。これは、図４の（ａ）のデータに対して、図４の（ｂ）、（ｃ）、（ｄ）で１次、６次、１０次のウェーブレット関数を適用したときの実験結果である。
【００３３】
図４の（ａ）は、入力データの例を示す。このデータは、図示のように時間と共に変化する波形である。
図４の（ｂ）は、１次のウェーブレット関数を適用し、既述した移動・伸縮して積和演算して求めた展開係数の例を示す。ここで、横軸が移動量を表し、縦軸が伸縮量を表し、黒い部分が展開係数が０に近い（許容値ε以下）区間を示す。
【００３４】
図４の（ｃ）、（ｄ）は、６次、１０次のウェーブレット関数を適応し、既述した移動・伸縮して積和演算して求めた展開係数の例をそれぞれ示す。ここで、横軸が移動量を表し、縦軸が伸縮量を表し、黒い部分が展開係数が０に近い（許容値ε以下）区間を示す。
【００３５】
以上の図４の（ｂ）ないし（ｄ）は、Ｎ＝１、６、１０の次数のウェーブレット関数を用いており、入力関数ｆ（ｘ）を２倍毎の区間で分割したときに区間毎に近似可能な次数を求めることができる。
【００３６】
図５は、本発明のウェーブレット関数例を示す。
図５の（ａ）ないし（ｆ）は、１次から６次のウェーブレット関数の例をそれぞれ示す。このウェーブレット関数は、実際に計算によって求めたものである。
【００３７】
図６は、本発明の展開係数の選択説明図を示す。
図６の（ａ）は、展開係数（関数Ａ）の様子を示す。これは、データに対して、関数Ａ（ウェーブレット関数Ａ、例えば１次のウェーブレット関数）をｘ方向に移動およびＹ方向に伸縮してそれぞれ積和演算を行い展開係数を求め、求めた展開係数が許容値ε以下のときの区間を斜線で引いたものである。
【００３８】
図６の（ａ）は、展開係数（関数Ｂ）の様子を示す。これは、データに対して、関数Ｂ（ウェーブレット関数Ｂ、例えば２次のウェーブレット関数）をｘ方向に移動およびＹ方向に伸縮してそれぞれ積和演算を行い展開係数を求め、求めた展開係数が許容値ε以下のときの区間が、図６の（ａ）と同一の場合、より０に近い方を採用、ここでは、関数Ｂの展開係数がより０の近いので、当該展開係数Ｂでこの区間を置き換える。以下同様に、他の次数の関数について繰り返し、展開係数がより０に近いときの次数の関数で置き換える。これにより、各区間で展開係数が最も０に近い次数を求めることが可能となる。
【００３９】
図７は、本発明の１次元データ適用説明図を示す。
（ａ）  １次元データとしてデータベクトルＣ０（要素は２n個）とする。
（ｂ）  ウェーブレット関数としてウェーブレット変換行列Ｍ（要素は２n×２n個）とする。
【００４０】
このウェーブレット変換行列Ｍは、図示の（式３）として表される。
（ｃ）  変換は、図示の（式４）の行列式によってＭＣ０を求める（展開係数を求める）。
【００４１】
ここで、ＭＣ０の計算結果からｄｉ（ｉ＝１、２・・・２n／２）と、ｅｉを分離し、２個のベクトルｄ１、ｅ１を作る（それぞれ２n-1個の要素）。ｄ１を新しいデータベクトルＣ１とみなしてＭＣ１を計算（Ｍは２n-1×２n-1）する。以下同様に、ｅ１、ｅ２・・・が変換係数になる（Ｃ０−Ｃ１が伸縮に対応する）。
【００４２】
図８は、本発明の２次元データ適用説明図を示す。
（ａ）  ２n×２nのデータ行列Ｃ０に対して、各行毎に１次元変換を（ａ−１）から（ａ−２）に示すように行う。
【００４３】
（ｂ）  ＊Ｃ０の各列毎に１次元変換を行う（＊Ｃ０→＊＊Ｃ０）。
（ｃ）  （ａ）、（ｂ）で１回の２次元変換が終了する。
（ｄ）  ＊＊Ｃ０の（式５）の小行列（４分割した左上の行列）を、新しいデータ行列Ｃ１とみなして変換計算を繰り返す。以下同様に行う。
【００４４】
尚、以上説明したと同様に、３次元、４次元・・・データについても適用できるものである。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、データに対してウェーブレット関数を移動および伸縮して演算して演算結果（展開係数）の誤差が最小となる次数および区間を選出する構成を採用しているため、入力データの各区間毎に最適な補間する関数の次数を求めることができる。
【図面の簡単な説明】
【図１】本発明のブロック図である。
【図２】本発明の実施の形態説明図である。
【図３】本発明の具体例（その１）である。
【図４】本発明の具体例（その２）である。
【図５】本発明のウェーブレット関数例である。
【図６】本発明の展開係数の選択説明図である。
【図７】本発明の１次元データ適用説明図である。
【図８】本発明の２次元データ適用説明図である。
【符号の説明】
１：入力データ
２：ウェーブレット関数
３：選択手段
４：指示手段
５：変換計算手段
６：展開係数
７：選択手段
８：結果データ
【図１】
0003696665.tif 000002
【図２】
0003696665.tif 000003
【図３】
0003696665.tif 000004
【図４】
0003696665.tif 000005
【図５】
0003696665.tif 000006
【図６】
0003696665.tif 000007
【図７】
0003696665.tif 000008
【図８】
0003696665.tif 000009