(57)【要約】【課題】受信したデータ数が閾値ｎ以上であっても、所定の誤差範囲内で解析値（ウェーブレット係数）の近似値を求めることができる近似計算処理装置、近似ウェーブレット係数計算処理装置、及び近似ウェーブレット係数計算処理方法が望まれていた。【解決手段】並列計算開始位置監視部２０１は、受信されたデータ列のデータ数が、整数ｌを超える度に、圧縮受信データ列を求めるデータの開始位置を指定し、受信データ変換部１１０は、指定された各開始位置以降のデータからなるデータ列毎に、それぞれランダムプロジェクションにより次元圧縮して圧縮受信データ列を生成し、ウェーブレット計算対象切替部２０３は、ウェーブレット処理対象列データに変換されたデータ列のデータ数が整数ｎ個に達したとき、複数の圧縮受信データ列のうち何れか１つを、ウェーブレット処理対象列データとしてウェーブレット係数の近似値を算出させるものである。【選択図】図１
2010213230.tif 000002
【特許請求の範囲】
【請求項１】
データ行列をランダムプロジェクションにより次元圧縮して圧縮データを生成するデータ行列生成部と、
解析値の近似値を求めるデータを逐次受信するデータ受信部と、
受信されたデータ列を、ランダムプロジェクションにより次元圧縮して処理対象列データを生成し、前記データが新たに受信される度に、前記処理対象列データを更新する受信データ変換部と、
前記処理対象列データが更新される度に、該処理対象列データと、前記圧縮データとに基づき、解析値の近似値を算出する解析値近似計算部と、
並列計算開始位置監視部と、
計算対象切替部と
を備え、
前記並列計算開始位置監視部は、
前記受信されたデータ列のデータ数が、予め設定された整数ｌを超える度に、圧縮受信データ列を求めるデータの開始位置を指定し、
前記受信データ変換部は、
前記並列計算開始位置監視部により指定された各開始位置以降のデータからなるデータ列ごとに、それぞれランダムプロジェクションにより次元圧縮して圧縮受信データ列を生成し、
前記計算対象切替部は、
前記処理対象列データに変換されたデータ列のデータ数が、前記整数ｌより大きい整数ｎ個に達したとき、前記複数の圧縮受信データ列のうち何れか１つを、前記処理対象列データとして前記解析値の近似値を算出させる
ことを特徴とする近似計算処理装置。
【請求項２】
前記解析値は、ウェーブレット係数であり、
前記データ行列は、各解析レベルのウェーブレットを表す行列である
ことを特徴とする請求項１記載の近似計算処理装置。
【請求項３】
前記整数ｎは、前記ウェーブレット係数の近似値を所定の誤差範囲内で算出するための最大データ列長である
ことを特徴とする請求項２記載の近似計算処理装置。
【請求項４】
予め設定された整数ｋ個の乱数を、任意の組数生成する乱数生成部と、
前記乱数生成部で生成された乱数から、予め設定された整数ｎを最大行数とするｎ行ｋ列の乱数行列を生成する機能を有する乱数行列生成部と、
前記乱数行列生成部で生成された乱数行列を記憶する乱数行列記憶部と、
前記乱数行列記憶部に格納された乱数行列から１行以上の任意の行を選択する機能を有する乱数行列選択部と、
ウェーブレット係数の近似値を求めるデータを逐次受信するデータ受信部と、
前記データ受信部で受信されたデータのうち、ウェーブレット係数の近似値を求める対象となるデータ列のデータ数をカウントするデータ数カウント部と、
前記データ数カウント部でカウントされたデータ数を記憶するデータ数記憶部と、
入力された行列から行列内積を計算する行列内積計算部と、
入力された２つの列データの各要素を加算するデータ加算部と、
ウェーブレット係数の近似値を求める対象となる長さ１以上のデータ列と、前記乱数行列記憶部に記憶された乱数行列とを前記行列内積計算部に入力して、前記データ列をｋ個固定のウェーブレット変換処理対象列データに変換し、
前記データ受信部により新たにデータが受信される度に、当該新たに受信されたデータと、前記乱数行列選択部によりデータ数に応じて選択された前記乱数行列とを前記行列内積計算部に入力して、前記新たに受信されたデータをｋ個固定の列データに変換し、
該列データと前記ウェーブレット変換処理対象列データとを前記データ加算部に入力して、前記ウェーブレット変換処理対象列データを更新する受信データ変換部と、
前記受信データ変換部で求められた前記ウェーブレット変換処理対象列データを記憶するウェーブレット変換処理対象列データ記憶部と、
ウェーブレットデータ行列と、前記乱数行列記憶部に記憶された乱数行列とを前記行列内積計算部に入力して、ウェーブレット圧縮データ列を生成させるウェーブレットデータ行列生成部と、
前記ウェーブレットデータ行列生成部で生成されたウェーブレット圧縮データをウェーブレットのレベルごとに記憶するウェーブレット圧縮データ記憶部と、
前記ウェーブレット変換処理対象列データ記憶部に記憶されたウェーブレット変換処理対象列データと、前記ウェーブレット行列記憶部に記憶されたウェーブレット行列とに基づき、ウェーブレット係数の近似値を算出するウェーブレット係数近似計算部と、
前記ウェーブレット係数近似計算部で算出した各ウェーブレット係数の近似値を記憶するウェーブレット係数記憶部と、
並列計算開始位置監視部と、
圧縮受信データ記憶部と、
ウェーブレット計算対象切替部と
を備え、
前記並列計算開始位置監視部は、前記データ数カウント部でカウントされたデータ数が、予め設定された整数ｌを超える度に、その時点から新たに受信したデータ列を、圧縮受信データ列を求める対象となるデータとして指定し、
前記受信データ変換部は、前記並列計算開始位置監視部により指定された圧縮受信データ列を求める対象となるデータ列と、前記乱数行列記憶部に記憶された乱数行列とを前記行列内積計算部に入力して、前記データ列をｋ個固定の圧縮受信データ列に変換し、
前記圧縮受信データ記憶部は、前記受信データ変換部で変換された圧縮受信データ列を記憶し、
前記データ数記憶部は、前記圧縮受信データ列のデータ数を記憶し、
前記データ数カウント部は、前記圧縮受信データ列に変換されたデータ列のデータ数をカウントし、
前記ウェーブレット計算対象切替部は、前記データ数記憶部に記憶された、前記ウェーブレット変換処理対象列データに変換されたデータ列のデータ数が、予め設定されたデータ数ｎに達したとき、
前記圧縮受信データ記憶部に記憶された前記圧縮受信データ列のうち、記憶された時間が最も古い圧縮受信データ列を、前記ウェーブレット変換処理対象列データとして、前記ウェーブレット処理対象列データ記憶部に記憶させ、
当該圧縮受信データ列のデータ数を、前記ウェーブレット変換処理対象列データに変換されたデータ列のデータ数として、前記データ数記憶部に記憶させる
ことを特徴とする近似ウェーブレット係数計算処理装置。
【請求項５】
ウェーブレット係数管理部を更に備え、
前記ウェーブレット係数記憶部は、
算出されたウェーブレット係数の近似値が、前記ウェーブレットデータ行列の各レベルごとに算出された順に格納され、
前記ウェーブレット係数管理部は、
前記ウェーブレット係数記憶部に格納された各レベルでのウェーブレット係数の近似値の数が、予め設定された個数より多くなったとき、
前記予め設定された個数に収まるように、最も過去に記憶されたウェーブレット係数の近似値を削除する
ことを特徴とする請求項４記載の近似ウェーブレット係数計算処理装置。
【請求項６】
前記整数ｋ，ｎ，及びｌは、ｋ≦ｌ＜ｎの関係を満たす
ことを特徴とする請求項４又は５記載の近似ウェーブレット係数計算処理装置。
【請求項７】
前記整数ｎは、前記ウェーブレット係数の近似値を所定の誤差範囲内で算出するための最大データ列長である
ことを特徴とする請求項４〜６の何れかに記載の近似ウェーブレット係数計算処理装置。
【請求項８】
ウェーブレットデータ行列をランダムプロジェクションにより次元圧縮してウェーブレット圧縮データを生成する工程と、
ウェーブレット係数の近似値を求めるデータを逐次受信する工程と、
受信されたデータ列を、ランダムプロジェクションにより次元圧縮してウェーブレット処理対象列データを生成する工程と、
前記データが新たに受信される度に、前記ウェーブレット処理対象列データを更新する工程と、
前記受信されたデータ列のデータ数が、予め設定された整数ｌを超える度に、圧縮受信データ列を求めるデータの開始位置を指定する工程と、
前記指定された各開始位置以降のデータからなるデータ列ごとに、それぞれランダムプロジェクションにより次元圧縮して圧縮受信データ列を生成する工程と、
前記ウェーブレット処理対象列データに変換されたデータ列のデータ数が、前記整数ｌより大きい整数ｎ個に達したとき、前記複数の圧縮受信データ列のうち何れか１つを、前記ウェーブレット処理対象列データとする工程と、
前記ウェーブレット処理対象列データと、前記ウェーブレット圧縮データとに基づき、ウェーブレット係数の近似値を算出する工程と
を有することを特徴とする近似ウェーブレット係数計算処理方法。
【請求項９】
予め設定された整数ｋ個の乱数を、任意の組数生成する乱数生成工程と、
前記乱数生成工程で生成された乱数から、予め設定された整数ｎを最大行数とし、指定された行数の乱数行列を生成する乱数行列生成工程と、
前記乱数行列生成工程で生成された乱数行列を記憶する乱数行列記憶工程と、
前記乱数行列記憶工程で記憶された乱数行列から１行以上の任意の行を選択する乱数行列選択工程と、
ウェーブレット係数の近似値を求めるデータを逐次受信するデータ受信工程と、
前記データ受信工程で受信されたデータのうち、ウェーブレット係数の近似値を求める対象となるデータ列のデータ数をカウントするデータ数カウント工程と、
前記データ数カウント工程でカウントされたデータ数を記憶するデータ数記憶工程と、
ウェーブレット係数の近似値を求める対象となる長さ１以上のデータ列と、前記乱数行列記憶工程で記憶された乱数行列との行列内積を計算し、前記データ列をｋ個固定のウェーブレット変換処理対象列データに変換し、前記データ受信工程により新たにデータが受信される度に、当該新たに受信されたデータと、前記乱数行列選択工程によりデータ数に応じて選択された前記乱数行列との行列内積を計算し、前記新たに受信されたデータをｋ個固定の列データに変換し、該列データと前記ウェーブレット変換処理対象列データとの各要素を加算して、前記ウェーブレット変換処理対象列データを更新する受信データ変換工程と、
前記受信データ変換工程で求められた前記ウェーブレット変換処理対象列データを記憶するウェーブレット変換処理対象列データ記憶工程と、
ウェーブレットデータ行列と前記乱数行列記憶工程で記憶された乱数行列との行列内積を計算し、ウェーブレット圧縮データ列を生成するウェーブレットデータ行列生成工程と、
前記ウェーブレットデータ行列生成工程で生成されたウェーブレット圧縮データをウェーブレットのレベルごとに記憶するウェーブレット圧縮データ記憶工程と、
前記データ数カウント工程でカウントされたデータ数が、予め設定された整数ｌを超える度に、その時点から新たに受信したデータ列を、圧縮受信データ列を求める対象となるデータとして指定する並列計算開始位置監視工程と、
前記並列計算開始位置監視工程により指定された圧縮受信データ列を求める対象となるデータ列と、前記乱数行列記憶工程で記憶された乱数行列との行列内積を計算し、前記データ列をｋ個固定の圧縮受信データ列に変換する圧縮受信データ列変換工程と、
前記圧縮受信データ列変換工程で変換された圧縮受信データ列を記憶する圧縮受信データ記憶工程と、
前記圧縮受信データ列に変換されたデータ列のデータ数をカウントする圧縮受信データ数カウント工程と、
圧縮受信データ数カウント工程でカウントされたデータ数を記憶する圧縮受信データ数記憶工程と、
前記データ数記憶工程で記憶された、前記ウェーブレット変換処理対象列データに変換されたデータ列のデータ数が、予め設定されたデータ数ｎに達したとき、
前記圧縮受信データ記憶工程で記憶された前記圧縮受信データ列のうち、記憶された時間が最も古い圧縮受信データ列を、前記ウェーブレット変換処理対象列データとして記憶し、当該圧縮受信データ列のデータ数を、前記ウェーブレット変換処理対象列データに変換されたデータ列のデータ数として記憶するウェーブレット計算対象切替工程と、
前記ウェーブレット計算対象切替工程で記憶された前記ウェーブレット変換処理対象列データと、前記ウェーブレット行列記憶工程で記憶されたウェーブレット行列とに基づき、ウェーブレット係数の近似値を算出するウェーブレット係数近似計算工程と、
前記ウェーブレット係数近似計算工程で算出した各ウェーブレット係数の近似値を記憶するウェーブレット係数記憶工程と
を有することを特徴とする近似ウェーブレット係数計算処理方法。
【請求項１０】
前記整数ｋ，ｎ，及びｌは、ｋ≦ｌ＜ｎの関係を満たす
ことを特徴とする請求項９記載の近似ウェーブレット係数計算処理方法。
【請求項１１】
前記整数ｎは、前記ウェーブレット係数の近似値を所定の誤差範囲内で算出するための最大データ列長である
ことを特徴とする請求項８〜１０の何れかに記載の近似ウェーブレット係数計算処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、逐次的に受信する時系列データの解析値の近似値を求める近似計算処理装置、近似ウェーブレット係数計算処理装置、及び近似ウェーブレット係数計算処理方法に関する。
【背景技術】
【０００２】
ウェーブレット解析は、時系列データから時間領域を考慮した周波数解析として様々な特徴を見つけ出す一手法として近年注目されている。例えば、画像や音声データなどの圧縮をはじめ、医療イメージに対する画像処理、音声や音楽の特徴近似データの検索、地震波データによる揺れ解析や予知など多くの領域で応用されている。
【０００３】
一般的にウェーブレット変換の計算は、静的な時系列データに対して処理されるものであり、時系列といえども時系列データならではのデータが次々と届くといったリアルタイムにおいて計算処理をするには困難であった。
【０００４】
そこで、ウェーブレット変換によるウェーブレット係数の算出を近似的に行うことによって、逐次的に到着するデータに対して、少ない計算量で行える方法が提案されている（例えば、非特許文献１〜３参照）。
【０００５】
この方法は、ランダムプロジェクションと呼ばれる次元圧縮を用い、その圧縮されたデータ領域においてある保証された誤差でウェーブレット係数を算出するものである。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】“Surfing wavelets on streams: One-pass summaries for approximate aggregate queries",Proceeding VLDB,2001,pp.79-88
【非特許文献２】「ランダムプロジェクションによる次元圧縮」，電子情報通信学会技術研究報告，COMP,Vol.101,No.707,pp.73-79
【非特許文献３】“Database-Friendly Random Projections",Proceeding PODS,2001,pp.13-22
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記非特許文献１〜３に記載の技術では、到着する（受信する）データ数が、所定の誤差範囲内で解析値（ウェーブレット係数）の近似値を求めるための最大データ列長（以下「近似精度保証最大データ数」ともいう。）である閾値ｎを超えると、計算結果が予め設定した誤差より大きくなってしまうため、データがｎ以上届くと近似計算ができなくなる、という問題点があった。
【０００８】
このため受信したデータ数が閾値ｎ以上であっても、所定の誤差範囲内で解析値（ウェーブレット係数）の近似値を求めることができる近似計算処理装置、近似ウェーブレット係数計算処理装置、及び近似ウェーブレット係数計算処理方法が望まれていた。
【課題を解決するための手段】
【０００９】
この発明に係る近似計算処理装置は、
データ行列をランダムプロジェクションにより次元圧縮して圧縮データを生成するデータ行列生成部と、
解析値の近似値を求めるデータを逐次受信するデータ受信部と、
受信されたデータ列を、ランダムプロジェクションにより次元圧縮して処理対象列データを生成し、前記データが新たに受信される度に、前記処理対象列データを更新する受信データ変換部と、
前記処理対象列データが更新される度に、該処理対象列データと、前記圧縮データとに基づき、解析値の近似値を算出する解析値近似計算部と、
並列計算開始位置監視部と、
計算対象切替部と
を備え、
前記並列計算開始位置監視部は、
前記受信されたデータ列のデータ数が、予め設定された整数ｌを超える度に、圧縮受信データ列を求めるデータの開始位置を指定し、
前記受信データ変換部は、
前記並列計算開始位置監視部により指定された各開始位置以降のデータからなるデータ列ごとに、それぞれランダムプロジェクションにより次元圧縮して圧縮受信データ列を生成し、
前記計算対象切替部は、
前記処理対象列データに変換されたデータ列のデータ数が、前記整数ｌより大きい整数ｎ個に達したとき、前記複数の圧縮受信データ列のうち何れか１つを、前記処理対象列データとして前記解析値の近似値を算出させるものである。
【００１０】
この発明に係る近似ウェーブレット係数計算処理装置は、
予め設定された整数ｋ個の乱数を、任意の組数生成する乱数生成部と、
前記乱数生成部で生成された乱数から、予め設定された整数ｎを最大行数とするｎ行ｋ列の乱数行列を生成する機能を有する乱数行列生成部と、
前記乱数行列生成部で生成された乱数行列を記憶する乱数行列記憶部と、
前記乱数行列記憶部に格納された乱数行列から１行以上の任意の行を選択する機能を有する乱数行列選択部と、
ウェーブレット係数の近似値を求めるデータを逐次受信するデータ受信部と、
前記データ受信部で受信されたデータのうち、ウェーブレット係数の近似値を求める対象となるデータ列のデータ数をカウントするデータ数カウント部と、
前記データ数カウント部でカウントされたデータ数を記憶するデータ数記憶部と、
入力された行列から行列内積を計算する行列内積計算部と、
入力された２つの列データの各要素を加算するデータ加算部と、
ウェーブレット係数の近似値を求める対象となる長さ１以上のデータ列と、前記乱数行列記憶部に記憶された乱数行列とを前記行列内積計算部に入力して、前記データ列をｋ個固定のウェーブレット変換処理対象列データに変換し、
前記データ受信部により新たにデータが受信される度に、当該新たに受信されたデータと、前記乱数行列選択部によりデータ数に応じて選択された前記乱数行列とを前記行列内積計算部に入力して、前記新たに受信されたデータをｋ個固定の列データに変換し、
該列データと前記ウェーブレット変換処理対象列データとを前記データ加算部に入力して、前記ウェーブレット変換処理対象列データを更新する受信データ変換部と、
前記受信データ変換部で求められた前記ウェーブレット変換処理対象列データを記憶するウェーブレット変換処理対象列データ記憶部と、
ウェーブレットデータ行列と、前記乱数行列記憶部に記憶された乱数行列とを前記行列内積計算部に入力して、ウェーブレット圧縮データ列を生成させるウェーブレットデータ行列生成部と、
前記ウェーブレットデータ行列生成部で生成されたウェーブレット圧縮データをウェーブレットのレベルごとに記憶するウェーブレット圧縮データ記憶部と、
前記ウェーブレット変換処理対象列データ記憶部に記憶されたウェーブレット変換処理対象列データと、前記ウェーブレット行列記憶部に記憶されたウェーブレット行列とに基づき、ウェーブレット係数の近似値を算出するウェーブレット係数近似計算部と、
前記ウェーブレット係数近似計算部で算出した各ウェーブレット係数の近似値を記憶するウェーブレット係数記憶部と、
並列計算開始位置監視部と、
圧縮受信データ記憶部と、
ウェーブレット計算対象切替部と
を備え、
前記並列計算開始位置監視部は、前記データ数カウント部でカウントされたデータ数が、予め設定された整数ｌを超える度に、その時点から新たに受信したデータ列を、圧縮受信データ列を求める対象となるデータとして指定し、
前記受信データ変換部は、前記並列計算開始位置監視部により指定された圧縮受信データ列を求める対象となるデータ列と、前記乱数行列記憶部に記憶された乱数行列とを前記行列内積計算部に入力して、前記データ列をｋ個固定の圧縮受信データ列に変換し、
前記圧縮受信データ記憶部は、前記受信データ変換部で変換された圧縮受信データ列を記憶し、
前記データ数記憶部は、前記圧縮受信データ列のデータ数を記憶し、
前記データ数カウント部は、前記圧縮受信データ列に変換されたデータ列のデータ数をカウントし、
前記ウェーブレット計算対象切替部は、前記データ数記憶部に記憶された、前記ウェーブレット変換処理対象列データに変換されたデータ列のデータ数が、予め設定されたデータ数ｎに達したとき、
前記圧縮受信データ記憶部に記憶された前記圧縮受信データ列のうち、記憶された時間が最も古い圧縮受信データ列を、前記ウェーブレット変換処理対象列データとして、前記ウェーブレット処理対象列データ記憶部に記憶させ、
当該圧縮受信データ列のデータ数を、前記ウェーブレット変換処理対象列データに変換されたデータ列のデータ数として、前記データ数記憶部に記憶させるものである。
【００１１】
この発明に係る近似ウェーブレット係数計算処理方法は、
ウェーブレットデータ行列をランダムプロジェクションにより次元圧縮してウェーブレット圧縮データを生成する工程と、
ウェーブレット係数の近似値を求めるデータを逐次受信する工程と、
受信されたデータ列を、ランダムプロジェクションにより次元圧縮してウェーブレット処理対象列データを生成する工程と、
前記データが新たに受信される度に、前記ウェーブレット処理対象列データを更新する工程と、
前記受信されたデータ列のデータ数が、予め設定された整数ｌを超える度に、圧縮受信データ列を求めるデータの開始位置を指定する工程と、
前記指定された各開始位置以降のデータからなるデータ列ごとに、それぞれランダムプロジェクションにより次元圧縮して圧縮受信データ列を生成する工程と、
前記ウェーブレット処理対象列データに変換されたデータ列のデータ数が、前記整数ｌより大きい整数ｎ個に達したとき、前記複数の圧縮受信データ列のうち何れか１つを、前記ウェーブレット処理対象列データとする工程と、
前記ウェーブレット処理対象列データと、前記ウェーブレット圧縮データとに基づき、ウェーブレット係数の近似値を算出する工程と
を有するものである。
【発明の効果】
【００１２】
この発明は、受信したデータ列のデータ数が整数ｌを超える度に圧縮受信データ列を求め、処理対象列データに変換したデータ列のデータ数が、整数ｌより大きい整数ｎ個に達したとき、複数の圧縮受信データ列のうち何れか１つを、処理対象列データとして解析値の近似値を算出する。
このため、受信したデータ数が閾値ｎ以上であっても、所定の誤差範囲内で解析値の近似値を求めることができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る近似ウェーブレット係数計算処理装置のブロック構成図である。
【図２】実施の形態１に係るデータ数記憶部１０７の格納内容例を示す図である。
【図３】実施の形態１に係る乱数行列の行追加処理を示す図である。
【図４】実施の形態１に係る各レベルのHaarのマザーウェーブレットを示す図である。
【図５】実施の形態１に係るウェーブレット圧縮データ記憶部１１３の格納内容例を示す図である。
【図６】実施の形態１に係るウェーブレット係数記憶部１１５の格納内容例を示す図である。
【図７】実施の形態１に係る並列計算開始位置監視工程の処理概念図である。
【図８】実施の形態１に係る圧縮受信データ記憶部２０２の格納内容例を示す図である。
【図９】実施の形態１に係るウェーブレット計算対象切替工程の処理概念図である。
【発明を実施するための形態】
【００１４】
実施の形態１．
本発明による近似ウェーブレット係数計算処理装置の実施の形態を、図を参照しながら詳述する。
なお、本実施の形態におけるウェーブレット係数は、本発明の「解析値」に相当する。
なお、近似ウェーブレット係数計算処理装置は、本発明の「解析値」としてのウェーブレット係数を算出する「近似計算処理装置」に相当する。
【００１５】
（構成）
図１は実施の形態１に係る近似ウェーブレット係数計算処理装置のブロック構成図である。
図１に示すように、本実施の形態における近似ウェーブレット係数計算処理装置は、データ受信部１０１、乱数生成部１０２、乱数行列生成部１０３、乱数行列記憶部１０４、乱数行列選択部１０５、データ数カウント部１０６、データ数記憶部１０７、行列内積計算部１０８、データ加算部１０９、受信データ変換部１１０、ウェーブレット処理対象列データ記憶部１１１、ウェーブレットデータ行列生成部１１２、ウェーブレット圧縮データ記憶部１１３、ウェーブレット係数近似計算部１１４、ウェーブレット係数記憶部１１５、並列計算開始位置監視部２０１、圧縮受信データ記憶部２０２、ウェーブレット計算対象切替部２０３を備えている。
【００１６】
なお、ウェーブレットデータ行列生成部１１２は、本発明における「データ行列生成部」に相当する。
なお、ウェーブレット係数近似計算部１１４は、本発明における「解析値近似計算部」に相当する。
なお、ウェーブレット計算対象切替部２０３は、本発明における「計算対象切替部」に相当する。
【００１７】
データ受信部１０１は、時系列データを受信する部分である。
【００１８】
乱数生成部１０２は、指定された個数ｋ個の組の乱数を発生させる部分である。
乱数発生方法としては、任意の手法を用いることができる。例えば、Mersenneの手法を用いることができる。
【００１９】
乱数行列生成部１０３は、乱数生成部１０２により生成されたｋ個組になっている乱数を並べてｌ行×ｋ列の乱数行列を生成する部分である。生成動作については後述する。
【００２０】
乱数行列記憶部１０４は、乱数行列生成部１０３により生成された乱数行列を記憶する部分である。
【００２１】
乱数行列選択部１０５は、乱数行列記憶部１０４に格納された乱数行列から、指定された任意の行列データを取得する部分である。複数にわたる行列の選択もできる。
【００２２】
データ数カウント部１０６は、データ受信部１０１によりデータが受信される度に、当該データ数を加算し計数する部分である。
また、データ数カウント部１０６は、並列計算開始位置監視部２０１により指示された時点以後に受信されたデータ数を計数する。詳細は後述する。
【００２３】
データ数記憶部１０７は、データ数カウント部１０６が計数しているデータ数を保持する部分である。
また、データ数記憶部１０７は、データ数カウント部１０６により計数された複数のデータ数を、各データごとに保持する領域が設けられる。詳細は後述する。
【００２４】
行列内積計算部１０８は、入力された行列に対し行列内積演算を行い結果を出力する部分である。
【００２５】
データ加算部１０９は、入力された２つ列データに対し、１つ目列データの各列成分の値に、２つ目の列データの各列成分をそれぞれ足し合わせる演算をする部分である。
例えば、１つ目の列データとして長さ５の(-3.8,2,4.3,2.4,3)とし、２つ目の列データとして(1.3,-1.2,-2.8,-2.4,1.2)としたとき、この部分での処理結果は、(-3.8+1.3,2+(-1.2),4.3+(-2.8),2.4+(-2.4),3+1.2)=(2.5,0.8,1.5,0,4.2)となる。
【００２６】
受信データ変換部１１０は、乱数行列記憶部１０４に格納された乱数行列を用いてランダムプロジェクションを行い、受信データを長さｋのデータ列（以下「ウェーブレット処理対象列データ」という。）に次元圧縮する処理をする部分である。計算処理の動作は後述する。
【００２７】
なお、ウェーブレット処理対象列データは、本発明における「処理対象列データ」に相当する。
【００２８】
ウェーブレット処理対象列データ記憶部１１１は、受信データ変換部１１０で算出したウェーブレット処理対象列データを格納する部分である。
【００２９】
ウェーブレットデータ行列生成部１１２は、任意の長さのウェーブレット列データを生成する部分である。
また、ウェーブレットデータ行列生成部１１２は、乱数行列記憶部１０４に格納された乱数行列を用いてランダムプロジェクションを行い、生成したウェーブレット列データを長さｋのデータ列（以下「ウェーブレット圧縮データ」という。）に次元圧縮する処理をする部分である。
【００３０】
なお、ウェーブレット圧縮データは、本発明における「圧縮データ」に相当する。
【００３１】
ウェーブレット列データとは、離散ウェーブレット信号を各列の成分値としてもつデータ列である。
例えば長さ８で、レベル１でのHaarのウェーブレット列データは、(-1,1,0,0,0,0,0,0),(0,0,-1,1,0,0,0,0),(0,0,0,0,-1,1,0,0),(0,0,0,0,0,0,-1,1)である。
【００３２】
ウェーブレット圧縮データ記憶部１１３は、ウェーブレットデータ行列生成部１１２で計算した各ウェーブレット列データと乱数行列とのランダムプロジェクションの結果であるウェーブレット圧縮データを格納しておく部分である。
【００３３】
ウェーブレット係数近似計算部１１４は、ウェーブレット処理対象列データ記憶部１１１に格納したウェーブレット処理対象列データと、ウェーブレット圧縮データ記憶部１１３に格納したウェーブレット圧縮データとを用いて、ウェーブレット係数の近似値を計算する部分である。詳細は後述する。
【００３４】
ウェーブレット係数記憶部１１５は、ウェーブレット係数近似計算部１１４で算出されたウェーブレット係数の近似値を格納する部分である。
【００３５】
並列計算開始位置監視部２０１は、データ数カウント部１０６によって計数されたカウンタの値が、予め定めた値ｌ（整数）になったときに、次のウェーブレット処理対象列データ生成を並列的に行うように受信データ変換部１１０やデータ数カウント部１０６に命令する部分である。
【００３６】
ウェーブレット計算対象切替部２０３は、現在のウェーブレット処理対象列データのデータ数カウント部１０６におけるデータカウント数が、予め定めた数ｎ（整数）を超えたときに、並列計算開始位置監視部２０１の指示により、受信データ変換部１１０で並列的に生成されたｌ＋１以降の、次のウェーブレット処理対象列データを、現在のウェーブレット処理対象列データと置き換える処理をする部分である。
【００３７】
上述した、乱数生成部１０２、乱数行列生成部１０３、乱数行列選択部１０５、データ数カウント部１０６、行列内積計算部１０８、データ加算部１０９、受信データ変換部１１０、ウェーブレットデータ行列生成部１１２、ウェーブレット係数近似計算部１１４、並列計算開始位置監視部２０１、ウェーブレット計算対象切替部２０３は、これらの機能を実現する回路デバイスなどのハードウェアで実現することもできるし、マイコンやＣＰＵなどの演算装置上で実行されるソフトウェアとして実現することもできる。
【００３８】
上述した、乱数行列記憶部１０４、データ数記憶部１０７、ウェーブレット処理対象列データ記憶部１１１、ウェーブレット圧縮データ記憶部１１３、ウェーブレット係数記憶部１１５、圧縮受信データ記憶部２０２は、ＲＡＭ（Random Access Memory）やフラッシュメモリなどの記憶装置で構成することができる。
【００３９】
上述した、データ受信部１０１は、当該データの仕様に応じた構成を適宜備える。
【００４０】
なお、各部の情報の出力に必要なインターフェースを適宜備えるようにしても良い。
【００４１】
以上、近似ウェーブレット係数計算処理装置の構成について説明した。
次に、近似ウェーブレット係数計算処理装置の動作について説明する。
【００４２】
（ウェーブレット処理対象列データの生成）
まず、受信したデータをランダムプロジェクションにより次元圧縮して、ウェーブレット処理対象列データを生成する動作について説明する。
【００４３】
まず、ユーザーは、予め、乱数行列生成部１０３に、乱数行列の列数ｋ（整数）と最大行ｎ（整数）を設定する。
また、ユーザーは、予め、並列計算開始位置監視部２０１に、整数ｌを設定する。
また、ユーザーは、予め、ウェーブレット計算対象切替部２０３に、整数ｎを設定する。
【００４４】
整数ｋ，ｎ，及びｌは、ｋ≦ｌ＜ｎの関係を満たすように設定される。
【００４５】
ここで、整数ｎは、ウェーブレット係数の算出結果（後述）に対する誤差量に応じて決まる値である。
例えば、上記非特許文献２にあるように、ランダムプロジェクションの近似精度保証最大データ数以下の数を指定する。
【００４６】
現在、データ受信部１０１より長さｔのデータ列ｄ＝（ｄ1，ｄ2，．．．，ｄt）を受信したとする。
【００４７】
データ数カウント部１０６は、現在のデータ数ｔを計数する。
そして、データ数記憶部１０７にデータ数ｔを格納する。
【００４８】
図２は実施の形態１に係るデータ数記憶部１０７の格納内容例を示す図である。
図２において、データ識別子「ウェーブレット処理対象列データ」の項の数値「102432」が現在カウントされたデータ数を表している。
なお、図２では、後述する「圧縮受信データＡ」のデータ数も図示している。詳細は後述する。
【００４９】
次に、受信データ変換部１１０は、乱数行列生成部１０３にｔ×ｋの乱数行列を生成することを依頼する。
【００５０】
乱数行列生成部１０３は、受信データ変換部１１０からの依頼を受け、乱数生成部１０２にｋ個の乱数をｔ組生成するように依頼する。
【００５１】
乱数生成部１０２は、ｋ個の乱数をｔ組生成する。
【００５２】
乱数行列生成部１０３は、乱数生成部１０２により生成された乱数列を、ｔ×ｋの乱数行列に構成する。
そして、乱数行列生成部１０３は、ｔ×ｋの乱数行列を乱数行列記憶部１０４に格納する。
【００５３】
ここで、乱数行列の要件は様々なものがあるが、例えば、非特許文献３にあるように、乱数行列の各要素ｒi,jは、以下の式（１）の条件を満たす乱数で構成されていれば良い。
【００５４】
【数１】
2010213230.tif 000003
【００５５】
次に、受信データ変換部１１０は、データ受信部１０１により受信された長さｔの受信データ列ｄと、乱数行列記憶部１０４に格納されたｔ×ｋの乱数行列Ｒkとを、行列内積計算部１０８に入力する。
【００５６】
なお、上記説明では、データ数ｔに応じて、乱数行列生成部１０３にｔ×ｋの乱数行列を生成させたが、本発明はこれに限るものではない。
例えば、予め任意の行数ｊ（＞ｔ）からなるｊ×ｋの乱数行列を生成して乱数行列記憶部１０４に格納し、乱数行列選択部１０５により、乱数行列の１行目からｔ行目までを取り出し、行列内積計算部１０８に入力するようにしても良い。
【００５７】
行列内積計算部１０８は、入力されたｄと、Ｒktとの内積ｄr＝ｄ・Ｒkを計算する。
これにより、受信データ列ｄを、ランダムプロジェクションにより次元圧縮し、ウェーブレット処理対象列データｄrを生成する。
【００５８】
なお、例えば非特許文献２にあるように、構成した乱数行列ごとにそれぞれ適した係数を更に掛けることにより、より正確なランダムプロジェクションを行うようにしても良い。
【００５９】
そして、受信データ変換部１１０は、生成したウェーブレット処理対象列データｄrを、ウェーブレット処理対象列データ記憶部１１１に格納する。
【００６０】
（ウェーブレット処理対象列データの更新）
次に、新しくデータが届いたときのウェーブレット処理対象列データｄrの更新方法についてその動作を説明する。
【００６１】
データ受信部１０１により、長さｔのデータ列ｄの次に、１つのデータを受信したとする。つまり、ｔ＋１個目のデータｄt+1を受信したとする。
【００６２】
データ数カウント部１０６は、データ数記憶部１０７に格納されたデータ数を１つ増加させ、ｔ＋１と計数する。
【００６３】
次に、受信データ変換部１１０は、乱数行列生成部１０３にｔ＋１×ｋの乱数列を生成することを依頼する。
また、受信データ変換部１１０は、乱数行列選択部１０５に、ｔ＋１×ｋの乱数列のうち、ｔ＋１行目を返すことを依頼する。
【００６４】
乱数行列生成部１０３は、受信データ変換部１１０からの依頼を受け、乱数行列記憶部１０４に格納された乱数行列を確認する。
乱数行列生成部１０３は、既に乱数行列記憶部１０４にｔ×ｋの乱数行列があることを確認すると、乱数生成部１０２にｋ個の乱数を１組生成するように依頼する。
【００６５】
乱数生成部１０２は、ｋ個の乱数を１組生成する。
【００６６】
そして、乱数行列生成部１０３は、乱数生成部１０２が生成した乱数列を、ｔ×ｋの乱数行列の最後の行として付け足し、ｔ＋１×ｋの乱数行列に構成して乱数行列記憶部１０４に格納する。
【００６７】
図３は実施の形態１に係る乱数行列の行追加処理を示す図である。
図３の左上側の行列は、乱数行列記憶部１０４に格納されていた乱数行列を示している。
また、図３の左下側の１行の数値列は、新たに生成した乱数列を示している。
そして、図３の右側に示すように、新たに生成した乱数列を、乱数行列の最後の行として付け足して、新たな乱数行列が生成される。
【００６８】
乱数行列選択部１０５は、乱数行列記憶部１０４に格納されたｔ＋１×ｋの乱数行列のうち、新たに追加されたｔ＋１行目を選択し、受信データ変換部１１０に返す。
【００６９】
次に、受信データ変換部１１０は、受信データｄt+1の値と、乱数行列選択部１０５からのｔ＋１行目の乱数行列Ｒkt+1とを、行列内積計算部１０８に入力する。
【００７０】
行列内積計算部１０８は、入力されたｄt+1とＲkt+1との積ｄrt+1＝ｄt+1・Ｒkt+1を計算する。
【００７１】
そして、受信データ変換部１１０は、ウェーブレット処理対象列データ記憶部１１１に格納された最新のウェーブレット処理対象列データｄrを取り出し、データ加算部１０９にこのｄrと、行列内積計算部１０８により計算されたｄrt+1とを入力する。
【００７２】
データ加算部１０９は、入力されたｄrの各要素にｄrt+1の各要素の値を加える。
【００７３】
そして、受信データ変換部１１０は、データ加算部１０９による計算結果を、新たなウェーブレット処理対象列データｄrとしてウェーブレット処理対象列データ記憶部１１１に格納する。
【００７４】
以上の動作を、データ受信部１０１がデータを受信する度に繰り返すことでｄrを更新していく。
【００７５】
（ウェーブレット圧縮データの生成）
次に、ウェーブレットデータ行列をランダムプロジェクションにより次元圧縮してウェーブレット圧縮データを生成する動作について説明する。
【００７６】
なお、ウェーブレットデータ行列は、本発明における「データ行列」に相当する。
【００７７】
ウェーブレットデータ行列生成部１１２は、任意の長さのウェーブレット列データを生成する。
【００７８】
図４は実施の形態１に係る各レベルのHaarのマザーウェーブレットを示す図である。
ウェーブレット行列は、例えば図４に示すようなHaarのウェーブレットの場合、ある区間の間だけ−１と１となるデータ列になる。
【００７９】
例えばレベル１の長さ８のウェーブレット行列は、(-1,1,0,0,0,0,0,0),(0,0,-1,1,0,0,0,0),(0,0,0,0,-1,1,0,0),(0,0,0,0,0,0,-1,1)となる。
なお、このウェーブレット行列を、以下の式（２）のように１つにまとめても良い。
【００８０】
【数２】
2010213230.tif 000004
【００８１】
次に、ウェーブレットデータ行列生成部１１２は、上記ウェーブレット処理対象列データの処理と同様に、乱数行列記憶部１０４に格納された乱数行列を用いて、ウェーブレット列データをランダムプロジェクションにより次元圧縮してウェーブレット圧縮データを生成する。
【００８２】
つまり、ウェーブレットデータ行列生成部１１２は、乱数行列記憶部１０４に保存された乱数行列を取り出し、当該乱数行列とウェーブレット列データとを行列内積計算部１０８に入力する。
行列内積計算部１０８は、入力されたウェーブレット列データと、乱数行列との内積を計算する。
【００８３】
ウェーブレットデータ行列生成部１１２は、生成したウェーブレット圧縮データを、元々のウェーブレットのレベルがわかるようにウェーブレット圧縮データ記憶部１１３に格納する。
【００８４】
図５は実施の形態１に係るウェーブレット圧縮データ記憶部１１３の格納内容例を示す図である。
図５に示すように、各レベルごとに計算結果の行列が格納される。
なお、レベル１での行の添え字がｉであり、レベル２での行の添え字がｉ／２、レベル３での行の添え字がｉ／４であるのは、レベルが上がるごとにウェーブレットの幅が２倍になり、かつ時間方向へのウェーブレットのスライドが２データ分であるためである。
【００８５】
（ウェーブレット係数の近似値の算出）
次に、ウェーブレット係数の近似値を算出する動作を説明する。
【００８６】
ウェーブレット係数近似計算部１１４は、ウェーブレット処理対象列データ記憶部１１１に格納されたウェーブレット処理対象列データと、ウェーブレット圧縮データ記憶部１１３に格納されたウェーブレット圧縮データとを取り出し、以下の式（３）に代入することで各ウェーブレット係数の近似値を算出する。
【００８７】
なお、得られたウェーブレット係数がある誤差で近似されたものであることの説明は、非特許文献２に詳しい。
【００８８】
【数３】
2010213230.tif 000005
【００８９】
ここで、ｗは、ウェーブレット係数である。
また、ａは、ウェーブレット処理対象列データである。
また、ｂは、ウェーブレット圧縮データである。
【００９０】
ウェーブレット係数近似計算部１１４は、算出したウェーブレット係数を、どのレベルのどのウェーブレットから得られたものかを区別するインデックスを付けてウェーブレット係数記憶部１１５に格納する。
【００９１】
図６は実施の形態１に係るウェーブレット係数記憶部１１５の格納内容例を示す図である。
図６では、上記インデックスの一例として、ウェーブレット係数をｗi,jという形で表記した。
これは、ｉがレベルを表し、ｊが時間軸方向での場所を表すための添え字で、ｊが大きくなると、最新のデータにウェーブレットを掛けたことから得られた係数であることを表す。
【００９２】
なお、以前に算出したウェーブレット係数が既にウェーブレット係数記憶部１１５に格納されていれば、それに対応するウェーブレット圧縮データを取得して算出する処理は省略することができる。
【００９３】
この処理をデータが届く度に繰り返すことで、逐次的にウェーブレット係数の近似値を計算し続けることができる。
【００９４】
ここで、非特許文献１にあるように、受信したデータ数がある閾値ｎを超えると、算出したウェーブレット係数の近似値の誤差が大きくなる。このため、データがｎ以上届くと近似計算ができなくなる。
【００９５】
そこで、本実施の形態における受信データ変換部１１０は、並列計算開始位置監視部２０１により指定された各開始位置以降のデータからなるデータ列ごとに、それぞれランダムプロジェクションにより次元圧縮して圧縮受信データ列を生成する。
そして、ウェーブレット計算対象切替部２０３は、ウェーブレット処理対象列データに変換されたデータ列のデータ数が整数ｎ個に達したとき、圧縮受信データ列を、ウェーブレット処理対象列データとする。
これにより、受信したデータ数がｎ以上となった場合であっても、所定の誤差範囲内でウェーブレット係数の近似値を算出する。
以下、このような動作の詳細を説明する。
【００９６】
（圧縮受信データ列を生成）
まず、並列計算開始位置監視部２０１は、データ数カウント部１０６で計数され、データ数記憶部１０７に格納された、ウェーブレット処理対象列データに変換されているデータ列のデータ数を監視する。
【００９７】
そして、このデータ数が、予め設定された整数ｌになったとき、新たにその時点から受信したデータ列を、ウェーブレット係数の近似を求める処理対象として、並列に前記受信データ変換部１１０に入力して、圧縮受信データ列を求めるように制御する。
つまり、並列計算開始位置監視部２０１は、受信されたデータ列のデータ数が、予め設定された整数ｌを超える度に、圧縮受信データ列を求めるデータの開始位置を指定する。
【００９８】
図７は実施の形態１に係る並列計算開始位置監視工程の処理概念図である。
図７を用いて、予め設定された整数ｌがｔの場合について説明する。
図７に示すように、データがｔ−１個届いたとき、受信データ変換部１１０は、データ列（7,3,11,...1）を乱数行列でランダムプロジェクションを行いウェーブレット処理対象列データに変換する。
【００９９】
次に、データがｔ個届いたとき、受信データ変換部１１０は、同様に、データ列（7,3,11,...1,13）を乱数行列でランダムプロジェクションを行いウェーブレット処理対象列データに変換する。
【０１００】
そして、データがｔ＋１個届いたとき、受信データ変換部１１０は、同様に、データ列（7,3,11,...1,13,9）を乱数行列でランダムプロジェクションを行いウェーブレット処理対象列データに変換する。
このとき、並列計算開始位置監視部２０１は、データ数が予め設定されたｔを超えたと判断して、当該ｔ＋１を、圧縮受信データ列を求めるデータの開始位置として指定する。
【０１０１】
これにより、受信データ変換部１１０は、ｔ＋１を開始位置とするデータ列（9,...,6）を、乱数行列でランダムプロジェクションを行い、圧縮受信データ列に変換する。
【０１０２】
このように、受信データ変換部１１０は、データ列（7,3,11,...1,13,9）のランダムプロジェクションと並行して、ｔ＋１を開始位置とするデータ列（9,...,6）のランダムプロジェクションを行う。
【０１０３】
以降、並列計算開始位置監視部２０１は、ｔ個データが届く度に、即ち、データ列のデータ数が、予め設定された整数ｌを超える度に、同様に並行してデータ列を処理して圧縮受信データ列を生成することになる。
【０１０４】
受信データ変換部１１０は、生成したウェーブレット処理対象列データを前記ウェーブレット処理対象列データ記憶部１１１に格納する。
また、受信データ変換部１１０は、生成された各受信データ列を圧縮受信データ記憶部２０２に格納する。
【０１０５】
また、並列計算開始位置監視部２０１は、ウェーブレット処理対象列データに変換したデータ列のデータ数とは別に、新たに並列に処理を始めたデータ列のデータ数をデータ数カウント部１０６によってカウントするよう指示する。
【０１０６】
そして、データ数記憶部１０７は、新たに並列に処理を始めたデータ列のデータ数を格納する。
並列計算開始位置監視部２０１は、新たに並列に処理を始めたデータ列のデータ数を監視する。
つまり、図２における「圧縮受信データＡ」の項のカウント数を追加し、その値を監視することになる。
【０１０７】
そして、当該データ数が予め設定された整数ｌを超える度に、上記の並列処理動作を繰り返す。
【０１０８】
図８は実施の形態１に係る圧縮受信データ記憶部２０２の格納内容例を示す図である。
図８において、「圧縮受信データ列Ａ」、「圧縮受信データ列Ｂ」、「圧縮受信データ列Ｃ」は、それぞれ、データ数がｌに達する度に、新たにデータ列のランダムプロジェクション処理を並列に実行した結果を示している。
つまり、図８では、現在、ウェーブレット処理対象列データを生成する動作の他、３つの圧縮受信データ列を生成する動作が、並列して処理されていることを表している。
【０１０９】
なお、図８では、便宜上「圧縮受信データ列Ａ」、「圧縮受信データ列Ｂ」、「圧縮受信データ列Ｃ」と記しているが、データが記録された順番がわかるような識別子を付するようにしても良い。
なお、ここではＡ、Ｂ、Ｃの順に記録されたものとする。
【０１１０】
（ウェーブレット計算対象の切替）
一方、ウェーブレット計算対象切替部２０３は、データ数カウント部１０６で計数され、データ数記憶部１０７に格納された、ウェーブレット処理対象列データに変換されているデータ列のデータ数を、常に監視する。
【０１１１】
そして、ウェーブレット計算対象切替部２０３は、このデータ数が、予め設定された整数ｎに達したとき、ウェーブレット処理対象列データ記憶部１１１に格納されている現在のウェーブレット処理対象列データをここから消去する。
【０１１２】
次に、ウェーブレット計算対象切替部２０３は、受信データ変換部１１０の並列処理によって生成された１又は複数の圧縮受信データ列のうち、圧縮受信データ記憶部２０２に記憶された時間が最も古いものを選択する。
図８の例では、「圧縮受信データ列Ａ」の項が選択されることになる。
【０１１３】
なお、上記説明では、複数の圧縮データ列のうち、記憶された時間が最も古いものを選択したが、本発明はこれに限るものではなく、複数の圧縮受信データ列のうち何れか１つを、ウェーブレット処理対象列データとして選択するようにしても良い。
【０１１４】
そして、ウェーブレット計算対象切替部２０３は、選択した圧縮受信データ列を、新たなウェーブレット処理対象列データとしてウェーブレット処理対象列データ記憶部１１１に格納する。
【０１１５】
また、このときウェーブレット計算対象切替部２０３は、データ数記憶部１０７に格納されている古いウェーブレット処理対象列データのカウント数を消去し、監視対象を新しいウェーブレット処理対象列データのカウント数に変更する。
【０１１６】
図９は実施の形態１に係るウェーブレット計算対象切替工程の処理概念図である。
図９に示すように、ウェーブレット処理対象列データである図中の上部のデータ列(7,3,11,…1,13,9,...6,5,17)をランダムプロジェクションしたものを、下部に示した、ｔ＋１以降のデータ列(9,...,6,5,17)をランダムプロジェクションしたものに置き換えて処理を続ける。
これにより、置き換えたデータ列は、ｎ−ｔと短くなるので、データ数が誤差量が保てなくなる閾値ｎ以上になることがない。
【０１１７】
（効果）
以上のように本実施の形態においては、受信したデータ列のデータ数が整数ｌを超える度に圧縮受信データ列を求め、ウェーブレット処理対象列データに変換したデータ列のデータ数が、整数ｌより大きい整数ｎ個に達したとき、圧縮受信データ列をウェーブレット処理対象列データとしてウェーブレット係数の近似値を算出する。
このため、受信したデータ数が閾値ｎ以上であっても、所定の誤差範囲内でウェーブレット係数の近似値を求めることができる。
【０１１８】
つまり、非特許文献２で示されたように、近似精度保証最大データ数の限界に達し、近似計算ができなくなる問題に対し、新たに並列計算開始位置監視部２０１を設け、受信データのランダムプロジェクション処理をデータの位置をずらした場合で並列的に行うことにより、現在のあるウェーブレット処理対象列データが近似精度保証最大データ数になる前に、ウェーブレット計算対象切替部２０３においてそれよりも短いデータ長でランダムプロジェクション処理を行った圧縮受信データ列を、次のウェーブレット処理対象列データとして切り替えていくことで、近似計算を続けていくことができるようになる。
【０１１９】
なお、本実施の形態では、ウェーブレット係数近似計算部１１４によって算出した全てのウェーブレット係数を、ウェーブレット係数記憶部１１５に格納する場合を説明した。
本発明はこれに限らず、予め設定された個数に収まるように、最も過去に記憶されたウェーブレット係数の近似値を削除するようにしても良い。
例えば、ウェーブレット係数管理部を新たに設け、ウェーブレット係数記憶部１１５に格納されているウェーブレット係数の近似値の数が、予め設定された個数より多くなったとき、予め設定された個数に収まるように、最も過去に記憶されたウェーブレット係数の近似値を削除するようにしても良い。
【符号の説明】
【０１２０】
１０１  データ受信部、１０２  乱数生成部、１０３  乱数行列生成部、１０４  乱数行列記憶部、１０５  乱数行列選択部、１０６  データ数カウント部、１０７  データ数記憶部、１０８  行列内積計算部、１０９  データ加算部、１１０  受信データ変換部、１１１  ウェーブレット処理対象列データ記憶部、１１２  ウェーブレットデータ行列生成部、１１３  ウェーブレット圧縮データ記憶部、１１４  ウェーブレット係数近似計算部、１１５  ウェーブレット係数記憶部、２０１  並列計算開始位置監視部、２０２  圧縮受信データ記憶部、２０３  ウェーブレット計算対象切替部。
【図１】
2010213230.tif 000006
【図２】
2010213230.tif 000007
【図３】
2010213230.tif 000008
【図４】
2010213230.tif 000009
【図５】
2010213230.tif 000010
【図６】
2010213230.tif 000011
【図７】
2010213230.tif 000012
【図８】
2010213230.tif 000013
【図９】
2010213230.tif 000014