説明

信号処理装置、信号処理方法及びコンピュータプログラム

【課題】演算量と使用メモリ量がデジタルフィルタのタップ数に依存せず、フレキシブルな実装が可能な信号処理装置を提供する。
【解決手段】処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出部と、前記基底関数算出部が算出した前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算部と、処理対象のデータを、前記基底関数算出部が算出した前記基底関数と特徴ベクトルとの線形和に変換する変換部と、前記畳込み演算部により得られる前記新たな基底関数と、前記変換部の変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算部と、を備えることを特徴とする、信号処理装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理装置、信号処理方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
デジタルフィルタは、量子化および標本化してA/D変換した信号(離散時間信号)をデジタル信号処理することにより働くフィルタ回路である。デタルフィルタは、画像信号や音声信号からのノイズデータの除去などに広く用いられており(特許文献1〜4等参照)、デジタルフィルタは、IIR(Infinite Impulse Response;無限インパルス応答)フィルタとFIR(Finite Impulse Response;有限インパルス応答)フィルタとに大別される。
【0003】
FIRフィルタは、フィルタのインパルス応答に対して畳込み演算を実行することで実装され、その実装は、演算を実行するプログラムか、所定の回路を用いることでなされる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−123370号公報
【特許文献2】特表2003−526142号公報
【特許文献3】特開2008−233866号公報
【特許文献4】特開2006−238409号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来のFIRフィルタでは、タップ数に応じた乗算と加算、そしてタップ数分の遅延データを作るためのメモリが必要であった。そのため、従来のFIRフィルタでは、タップ数を上げて所望の周波数特性を得るためには、回路規模や計算時間が増加してしまうという問題があった。
【0006】
また近年は、製品の出荷後でも、性能を改善することが可能なシステムが高い注目度を集めている。しかし、従来のFIRフィルタでは、製品の出荷後ではタップ数の増減による周波数特性の改善は不可能であった。従来のFIRフィルタを演算により実装した場合、タップ数の上昇に伴う演算量や使用メモリ量の増加は、高いフレキシビリティを要求するアプリケーションでの応用に適さないものであった。
【0007】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、演算量と使用メモリ量がデジタルフィルタのタップ数に依存せず、フレキシブルな実装が可能な、新規かつ改良された信号処理装置、信号処理方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある観点によれば、処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出部と、前記基底関数算出部が算出した前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算部と、処理対象のデータを、前記基底関数算出部が算出した前記基底関数と特徴ベクトルとの線形和に変換する変換部と、前記畳込み演算部により得られる前記新たな基底関数と、前記変換部の変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算部と、を備えることを特徴とする、信号処理装置が提供される。
【0009】
前記変換部は、前記処理対象を前記所定のサイズに分割して所定の次元のベクトルの集合を作成する。
【0010】
前記畳込み演算部は、異なるインパルス応答との畳込み演算を実行して、異なる2以上の新たな基底関数を得る。
【0011】
前記処理対象は、画像データである。また、前記処理対象は、音声データである。
【0012】
また、上記課題を解決するために、本発明の別の観点によれば、処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出ステップと、前記基底関数算出ステップで算出された前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算ステップと、処理対象のデータを、前記基底関数算出ステップで算出された前記基底関数と特徴ベクトルとの線形和に変換する変換ステップと、前記畳込み演算ステップにより得られる前記新たな基底関数と、前記変換ステップの変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算ステップと、を備えることを特徴とする、信号処理方法が提供される。
【0013】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出ステップと、前記基底関数算出ステップで算出された前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算ステップと、処理対象のデータを、前記基底関数算出ステップで算出された前記基底関数と特徴ベクトルとの線形和に変換する変換ステップと、前記畳込み演算ステップにより得られる前記新たな基底関数と、前記変換ステップの変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算ステップと、を実行させることを特徴とする、コンピュータプログラムが提供される。
【発明の効果】
【0014】
以上説明したように本発明によれば、演算量と使用メモリ量がデジタルフィルタのタップ数に依存せず、フレキシブルな実装が可能な、新規かつ改良された信号処理装置、信号処理方法及びコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【0015】
【図1】一般的なFIRフィルタの構成を示す説明図である。
【図2】本発明の一実施形態にかかるデジタルスチルカメラの構成を示す説明図である。
【図3】本発明の一実施形態にかかるFIRフィルタ150の構成を示す説明図である。
【図4】本発明の一実施形態にかかるFIRフィルタ150の動作を示す流れ図である。
【発明を実施するための形態】
【0016】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0017】
<1.従来のFIRフィルタの実装>
まず、本発明の好適な実施の形態について詳細に説明する前に、従来のFIRフィルタの実装と、その問題点について説明する。
【0018】
従来のFIRフィルタの実装では、フィルタのインパルス応答h(k)に対して、以下の数式1のような畳込み演算が、プログラムか、図1に示すようなフィルタ回路1かを用いて計算される。
【0019】
【数1】

【0020】
図1に示したフィルタ回路1は、(m−1)個の1クロック遅延素子2と、m個の乗算器3と、(m−1)個の加算器4と、を含んで構成されるものである。
【0021】
プログラムでFIRフィルタを実装する場合は、掛け算がm回と足し算が(m−1)回、そして遅延データを読み出すために、メモリアクセスが(m−1)回必要となる。図1に示したようなフィルタ回路1で計算する場合は、上述したように、m個の乗算器3と(m−1)個の加算器4、そして(m−1)個の遅延データを作るメモリ素子(遅延素子2)が必要である。
【0022】
一般的に、タップ数を増やせば急峻な周波数特性が得られるが、その一方で、プログラムの演算量やフィルタ回路の回路規模の増大を伴うため、タップ数が大きいFIRフィルタは実装されるケースが少ない。また、近年では出荷後でも性能改善が可能なシステムを高く要求されており、従来の実装法では設計完了後のタップ数増加が不可能であった。
【0023】
そこで以下に説明する本発明の一実施形態では、演算量と使用メモリ量がデジタルフィルタのタップ数に依存せず、フレキシブルな実装を可能とするFIRフィルタ、および当該FIRフィルタが実装されるデジタルスチルカメラについて説明する。
【0024】
<2.本発明の一実施形態>
[2−1.デジタルスチルカメラの構成例]
以下の説明では、本発明の信号処理装置が実装される装置の一例としてデジタルスチルカメラを挙げて説明する。図2は、本発明の信号処理装置が実装される装置の一例である、デジタルスチルカメラ100の機能構成を示す説明図である。以下、図1を用いて、本発明の一実施形態にかかるデジタルスチルカメラ100の機能構成について説明する。
【0025】
図2に示したように、本発明の一実施形態にかかるデジタルスチルカメラ100は、ズームレンズ102と、絞り104と、フォーカスレンズ106と、CCD(Charge Coupled Devices)素子108と、アンプ一体型のCDS(Correlated Double Sampling)回路110と、A/D変換器112と、画像入力コントローラ114と、画像信号処理部116と、圧縮処理部120と、LCD(Liquid Crystal Display)ドライバ122と、LCD124と、タイミングジェネレータ126と、モータドライバ142a、142b、142cと、CPU(Central Processing Unit)128と、記憶部130と、操作部132と、メモリ134と、VRAM(Video Random Access Memory)136と、メディアコントローラ138と、記録メディア140とを含む。
【0026】
ズームレンズ102と、絞り104と、フォーカスレンズ106と、CCD素子108とで露光部を構成する。本実施形態ではCCD素子108を用いて露光部を構成しているが、本発明は係る例に限定されず、CCD素子の代わりにCMOS(Complementary Metal Oxide Semiconductor)素子を用いてもよい。CMOS素子は、CCD素子よりも高速に被写体の映像光を電気信号に変換できるので、被写体を撮影してから画像を記録するまでの時間を短縮することができる。
【0027】
ズームレンズ102は、光軸方向に前後して移動させることで焦点距離が連続的に変化するレンズであり、被写体の大きさを変化して撮影する。絞り104は、画像を撮影する際に、CCD素子108に入ってくる光量の調節を行う。フォーカスレンズ106は、光軸方向に前後して移動させることで被写体のピントを調節するものである。
【0028】
モータドライバ142a、142b、142cはズームレンズ102、絞り104およびフォーカスレンズ106を動作させるモータの制御を行う。モータドライバ142a、142b、142cを介してズームレンズ102、絞り104およびフォーカスレンズ106を動作させることで、被写体の大きさや光の量、ピントの調節を行う。
【0029】
CCD素子108は、ズームレンズ102、絞り104およびフォーカスレンズ106から入射された光を電気信号に変換するための素子である。本実施形態においては電子シャッタによって入射光を制御して、電気信号を取り出す時間を調節しているが、メカシャッタを用いて入射光を制御して、電気信号を取り出す時間を調節してもよい。
【0030】
CDS回路110は、CCD素子108から出力された電気信号の雑音を除去する、サンプリング回路の一種であるCDS回路と、雑音を除去した後に電気信号を増幅するアンプとが一体となった回路である。本実施形態ではCDS回路とアンプとが一体となった回路を用いてデジタルスチルカメラ100を構成しているが、CDS回路とアンプとを別々の回路で構成してもよい。
【0031】
A/D変換器112は、CCD素子108で生成された電気信号をデジタル信号に変換して、画像の生データを生成するものである。
【0032】
画像信号処理部116は、A/D変換器112で生成された画像の生データに対する各種信号処理を行う回路である。ここで、画像信号処理部116が実行する各種信号処置には、例えば、画像の生データに対するフィルタリング処理があり、このフィルタリング処理は、FIRフィルタを用いて行われる。
【0033】
圧縮処理部120は、画像信号処理部116で信号処理が施されたデータを、適切な形式の画像データに圧縮する圧縮処理を行う。画像の圧縮形式は可逆形式であっても非可逆形式であってもよい。適切な形式の例として、JPEG(Joint Photographic Experts Group)形式やJPEG2000形式に変換してもよい。
【0034】
LCD124は、撮影操作を行う前のライブビュー表示や、デジタルスチルカメラ100の各種設定画面や、撮影した画像の表示等を行う。画像データやデジタルスチルカメラ100の各種情報のLCD124への表示は、LCDドライバ122を介して行われる。
【0035】
タイミングジェネレータ126は、CCD素子108にタイミング信号を入力する。タイミングジェネレータ126からのタイミング信号によりシャッタ速度が決定される。つまり、タイミングジェネレータ126からのタイミング信号によりCCD素子108の駆動が制御され、CCD素子108が駆動する時間内に被写体からの映像光を入射することで、画像データの基となる電気信号が生成される。
【0036】
CPU128は、CCD素子108やCDS回路110などに対して信号系の命令を行ったり、操作部132の操作に対する操作系の命令を行ったりする。本実施形態においては、CPUを1つだけ含んでいるが、本発明においては、信号系の命令と操作系の命令とを別々のCPUやDSP(Digital Signal Processor)で行うようにしてもよい。
【0037】
記憶部130は、ROMやRAM等で構成され、デジタルスチルカメラ100の動作に必要なコンピュータプログラム、データ及び各種パラメータが記憶されている。
【0038】
操作部132は、デジタルスチルカメラ100の操作を行ったり、撮影時の各種の設定を行ったりするための部材が配置されている。操作部132に配置される部材には、電源ボタン、撮影モードや撮影ドライブモードの選択および効果パラメータの設定を行う十字キーおよび選択ボタン、撮影操作を開始するシャッタボタン等が配置される。
【0039】
メモリ134は、撮影した画像や画像信号処理部116で信号処理が施された画像を一時的に記憶するものである。メモリ134は、複数の画像を記憶できるだけの記憶容量を有している。メモリ134への画像の読み書きは画像入力コントローラ114によって制御される。
【0040】
VRAM136は、LCD124に表示する内容を保持するものであり、LCD124の解像度や最大発色数はVRAM136の容量に依存する。
【0041】
記録メディア140は、撮影した画像を記録するものである。記録メディア140への入出力は、メディアコントローラ138によって制御される。記録メディア140には、フラッシュメモリにデータを記録するカード型の記憶装置であるメモリカードを用いることができる。
【0042】
以上、図2を用いて、本発明の一実施形態にかかるデジタルスチルカメラ100の機能構成について説明した。次に、本発明の一実施形態にかかるデジタルスチルカメラ100の画像信号処理部116に設けられるFIRフィルタの構成について説明する。
【0043】
[2−2.FIRフィルタの構成]
図3は、本発明の一実施形態にかかるデジタルスチルカメラ100の画像信号処理部116に設けられる、FIRフィルタ150の構成を示す説明図である。以下、図3を用いて、本発明の一実施形態にかかるFIRフィルタ150の構成について説明する。
【0044】
図3に示したように、デジタルスチルカメラ100の画像信号処理部116に設けられるFIRフィルタ150は、独立成分分析実行部151と、畳込み演算部152と、分割部153と、内積演算部154と、出力ベクトル演算部155と、出力結果構築部156と、を含んで構成される。
【0045】
独立成分分析実行部151は、記憶部130に保持されている、画像データのサンプルを、所定のサイズに分割してサンプルベクトルを作成し、作成したサンプルベクトルを用いて独立成分分析(Independent Component Analysis;ICA)を実行することで、N次元基底関数Aを抽出するものである。独立成分分析は、多変量分析の一種であり、信号の統計的な性質を利用して多次元信号を分離する手法である。本実施形態では、記憶部130に保持されている画像データのサンプルを、例えば8画素×8画素のブロックに分割して64次元ベクトルの集合を作成し、その64次元ベクトルを用いて独立成分分析を実行する。
【0046】
なお、本実施形態においては、例えば、『MEDICAL IMAGING TECHNOLOGY Vol.21 No.2 March 2003「独立成分分析(2) ICA基底による特徴検出」陳延偉』にて開示されている手法により、サンプルベクトルを用いて独立成分分析を実行することで、画像データのサンプルを8画素×8画素のブロックに分割して得られる64次元ベクトルから、N次元基底関数Aを抽出することができる。
【0047】
畳込み演算部152は、独立成分分析実行部151が抽出したN次元基底関数Aの各成分A、A、・・・、AN−1と、所望のフィルタ特性を得るためのインパルス応答h(k)との畳込み演算を実行するものである。畳込み演算部152は、N次元基底関数Aの各成分と、インパルス応答h(k)とを畳込み演算することで、新しい基底関数A’(A’、A’、・・・、A’N−1)を生成することができる。
【0048】
上述した独立成分分析実行部151及び畳込み演算部152の処理は、画像データのリアルタイム処理に先立って前処理として実行される。独立成分分析実行部151及び畳込み演算部152の処理により、N次元基底関数Aと、新たなN次元基底関数A’とを、画像データのリアルタイム処理に先立って求めておくことで処理時間を短縮させることができる。
【0049】
なお、畳込み演算部152は、独立成分分析実行部151が抽出したN次元基底関数Aの各成分と、所望のフィルタ特性を得るためのインパルス応答との畳込み演算を実行するに際し、異なるインパルス応答との畳込み演算を実行して、それぞれ異なる、新しい基底関数を生成するようにしてもよい。
【0050】
分割部153は、FIRフィルタ150に入力される画像データを所定のサイズに分割して、入力ベクトルとして出力するものである。分割部153による分割のサイズは、独立成分分析実行部151による分割のサイズと同じサイズである。すなわち、独立成分分析実行部151が、画像データのサンプルを8画素×8画素のブロックに分割して64次元ベクトルの集合を作成するならば、分割部153は、FIRフィルタ150に入力される画像データを8画素×8画素のブロックに分割して64次元ベクトルの集合を作成する。分割部153が生成した入力ベクトルは内積演算部154に送られる。
【0051】
内積演算部154は、分割部153が生成した入力ベクトルと、独立成分分析実行部151が抽出したN次元基底関数Aとの内積を演算し、特徴ベクトルS(S、S、・・・、SN−1)を生成するものである。処理対象である画像データをXとすると、画像データXは、以下の数式2のように、N次元基底関数Aと特徴ベクトルSとの線形和に変換することができる。
【0052】
【数2】

【0053】
出力ベクトル演算部155は、内積演算部154が生成した特徴ベクトルSと、畳込み演算部152が求めた新しい基底関数A’との線形和を演算するものである。出力ベクトル演算部155は、求めた線形和を出力ベクトルとして出力結果構築部156に出力する。
【0054】
畳込み演算の結合則により、入力される画像データXとインパルス応答h(k)との畳込み演算は、基底関数Aの各成分と、インパルス応答h(k)との畳込み演算(数式3)に相当する。
【0055】
【数3】

・・・(数式3)
【0056】
従って、出力ベクトル演算部155で、内積演算部154が生成した特徴ベクトルSと、畳込み演算部152が求めた新しい基底関数A’との線形和を演算することは、入力される画像データXとインパルス応答h(k)との畳込み演算に相当する。
【0057】
なお、畳込み演算部152が、独立成分分析実行部151が抽出したN次元基底関数Aの各成分と、異なるインパルス応答との畳込み演算を実行して、それぞれ異なる、新しい基底関数を生成した場合は、出力ベクトル演算部155は、所望のフィルタ特性に応じて、畳込み演算部152が生成した新たな基底関数の中から適切なものを選択して、選択肢た新たな基底関数を用いて演算してもよい。
【0058】
出力結果構築部156は、出力ベクトル演算部155が生成した出力ベクトルから、出力する画像データを構築するものである。出力結果構築部156による出力画像データの構築は、分割部153による分割処理の逆の手順で実行される。すなわち、分割部153によって分割された順に出力ベクトルを構築していくことで、出力結果構築部156は出力する画像データを生成し、出力することができる。
【0059】
以上、図3を用いて、本発明の一実施形態にかかるFIRフィルタ150の構成について説明した。次に、本発明の一実施形態にかかるFIRフィルタ150の動作について説明する。
【0060】
[2−3.FIRフィルタの動作]
図4は、本発明の一実施形態にかかるFIRフィルタ150の動作を示す流れ図である。以下、図4を用いて本発明の一実施形態にかかるFIRフィルタ150の動作について説明する。
【0061】
まず、あらかじめ画像データのサンプルを収集しておく。そして、収集した画像データのサンプルのデータベースは記憶部130に構築される(ステップS101)。独立成分分析実行部151は、記憶部130に保持されている画像データのサンプルを、所定のサイズに分割して、所定の次元のサンプルベクトルを作成する(ステップS102)。所定のサイズは、本実施形態では8画素×8画素のブロックとし、これにより64次元のサンプルベクトルが生成される。もちろん、分割するサイズはかかる例に限定されるものではないことは言うまでもない。
【0062】
独立成分分析実行部151が64次元のサンプルベクトルを作成すると、続いて独立成分分析実行部151は、作成した64次元のサンプルベクトルを用いて独立成分分析(ICA)を実行することで、N次元基底関数Aを抽出する(ステップS103)。上述したように、独立成分分析実行部151は、『MEDICAL IMAGING TECHNOLOGY Vol.21 No.2 March 2003「独立成分分析(2) ICA基底による特徴検出」陳延偉』にて開示されている手法により独立成分分析を実行することで、64次元ベクトルからN次元基底関数Aを抽出することができる。
【0063】
独立成分分析実行部151がN次元基底関数Aを抽出すると、続いて、畳込み演算部152が、N次元基底関数Aの各成分A、A、・・・、AN−1と、所望のフィルタ特性を得るためのインパルス応答h(k)との畳込み演算を実行し、新たな基底関数A’を算出する(ステップS104)。独立成分分析実行部151が抽出したN次元基底関数Aと、畳込み演算部152が算出した新たな基底関数A’とは、記憶部130に格納されてもよい。
【0064】
以上のステップS104までの処理が、撮影された画像に対するリアルタイム処理に先立って行われる前処理である。この前処理は、例えばデジタルスチルカメラ100の製造時に行われていてもよく、デジタルスチルカメラ100の製造後であっても、任意のタイミングで行われるようにしてもよい。次に、撮影された画像に対するリアルタイム処理について示す。
【0065】
デジタルスチルカメラ100で撮影された画像がFIRフィルタ150に送られてくると、まず分割部153が、FIRフィルタ150に入力される画像データを所定のサイズに分割して、入力ベクトルとして生成し、内積演算部154へ出力する(ステップS105)。上述したように、分割部153による分割のサイズは、独立成分分析実行部151による分割のサイズと同じサイズである。
【0066】
上記ステップS105で、分割部153が入力ベクトルを生成して内積演算部154へ出力すると、内積演算部154は、分割部153が生成した入力ベクトルと、独立成分分析実行部151が抽出したN次元基底関数Aとの内積を演算し、特徴ベクトルS(S、S、・・・、SN−1)を算出する(ステップS106)。内積演算部154は、算出した特徴ベクトルSを出力ベクトル演算部155へ出力する。
【0067】
上記ステップS106で、内積演算部154が特徴ベクトルSを算出し、算出した特徴ベクトルSを出力ベクトル演算部155へ出力すると、出力ベクトル演算部155は、内積演算部154が生成した特徴ベクトルSと、畳込み演算部152が求めた新しい基底関数A’との線形和を演算し、求めた線形和を出力ベクトルとして出力結果構築部156に出力する(ステップS107)。
【0068】
上記ステップS107で、出力ベクトル演算部155が出力ベクトルを算出して出力結果構築部156に出力すると、出力結果構築部156は、出力ベクトル演算部155が生成した出力ベクトルから、出力する画像データを構築する(ステップS108)。上述したように、出力結果構築部156による出力画像データの構築は、分割部153による分割処理の逆の手順で実行される。
【0069】
上述したステップS105からステップS108までの処理が、デジタルスチルカメラ100で撮影された画像がFIRフィルタ150に送られてくる際に実行されるリアルタイム処理である。このリアルタイム処理では、入力データとインパルス応答との畳込み演算は行っていないので、リアルタイム処理における演算量は、リアルタイム処理で入力データとインパルス応答との畳込み演算を行う場合に比べて少なく済む。また、タップ数が増加しても、前処理として入力データとインパルス応答との畳込み演算が行われているので、リアルタイム処理における演算量には影響を与えない。
【0070】
以上、図4を用いて本発明の一実施形態にかかるFIRフィルタ150の動作について説明した。
【0071】
<3.まとめ>
以上説明したように本実施の一実施形態によれば、FIRフィルタ150において、撮影された画像に対するリアルタイム処理に先立って、予め、N次元基底関数Aと、N次元基底関数Aとインパルス応答との畳込み演算の結果得られる新たなN次元基底関数A’とを求めておく。そして、撮影された画像に対するリアルタイム処理の際には、FIRフィルタ150は、前処理で得られたN次元基底関数A及び新たなN次元基底関数A’を用いて、入力画像データとインパルス応答との畳込み演算に相当する処理を実行する。
【0072】
FIRフィルタ150におけるリアルタイム処理では、入力データとインパルス応答との畳込み演算は行っていない。従って、FIRフィルタ150でのリアルタイム処理における演算量は、リアルタイム処理で入力データとインパルス応答との畳込み演算を行う場合に比べて少なく済む。また、タップ数が増加しても、前処理として入力データとインパルス応答との畳込み演算が行われているので、FIRフィルタ150でのリアルタイム処理における演算量には影響を与えない。
【0073】
上記の実施形態はデジタルスチルカメラを例に挙げて説明したが、本発明が適用される装置はこれに限定されない。例えば、撮像素子を有する携帯電話機、PDA、ゲーム機、タブレット、電子辞書等でも同様に本発明を適用できる。また、上述したように、本発明が適用される装置は、撮像素子を有するデジタルスチルカメラその他の撮像装置に限定されない。例えば、音声信号を処理する音声処理装置にも、同様に本発明を提供することが可能である。すなわち、音声信号のサンプルを所定のサイズに分割して新たな基底関数を求めておき、音声信号のリアルタイム処理の際に、新たな基底関数を用いて演算処理を実行するようにしてもよい。
【0074】
また、上記の実施形態のフローチャートに示されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
【0075】
また、明細書中において説明した一連の処理は、ハードウェア、またはソフトウェア、あるいはハードウェアとソフトウェアとの複合構成によって実行するようにしてもよい。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータのメモリにインストールして実行させるか、または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させるようにしてもよい。
【0076】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0077】
100 デジタルスチルカメラ
102 ズームレンズ
104 絞り
106 フォーカスレンズ
108 CCD素子
110 CDS回路
112 A/D変換器
114 画像入力コントローラ
116 画像信号処理部
120 圧縮処理部
122 LCDドライバ
124 LCD
126 タイミングジェネレータ
128 CPU
130 記憶部
132 操作部
134 メモリ
138 メディアコントローラ
140 記録メディア
142a、142b、142c モータドライバ
150 FIRフィルタ
151 独立成分分析実行部
152 畳込み演算部
153 分割部
154 内積演算部
155 出力ベクトル演算部
156 出力結果構築部


【特許請求の範囲】
【請求項1】
処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出部と、
前記基底関数算出部が算出した前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算部と、
処理対象のデータを、前記基底関数算出部が算出した前記基底関数と特徴ベクトルとの線形和に変換する変換部と、
前記畳込み演算部により得られる前記新たな基底関数と、前記変換部の変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算部と、
を備えることを特徴とする、信号処理装置。
【請求項2】
前記変換部は、前記処理対象を前記所定のサイズに分割して所定の次元のベクトルの集合を作成することを特徴とする、請求項1に記載の信号処理装置。
【請求項3】
前記畳込み演算部は、異なるインパルス応答との畳込み演算を実行して、異なる2以上の新たな基底関数を得ることを特徴とする、請求項1に記載の信号処理装置。
【請求項4】
前記処理対象は、画像データであることを特徴とする、請求項1に記載の信号処理装置。
【請求項5】
前記処理対象は、音声データであることを特徴とする、請求項1に記載の信号処理装置。
【請求項6】
処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出ステップと、
前記基底関数算出ステップで算出された前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算ステップと、
処理対象のデータを、前記基底関数算出ステップで算出された前記基底関数と特徴ベクトルとの線形和に変換する変換ステップと、
前記畳込み演算ステップにより得られる前記新たな基底関数と、前記変換ステップの変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算ステップと、
を備えることを特徴とする、信号処理方法。
【請求項7】
コンピュータに、
処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出ステップと、
前記基底関数算出ステップで算出された前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算ステップと、
処理対象のデータを、前記基底関数算出ステップで算出された前記基底関数と特徴ベクトルとの線形和に変換する変換ステップと、
前記畳込み演算ステップにより得られる前記新たな基底関数と、前記変換ステップの変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算ステップと、
を実行させることを特徴とする、コンピュータプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate