(57)【要約】【課題】演算量と使用メモリ量がデジタルフィルタのタップ数に依存せず、フレキシブルな実装が可能な信号処理装置を提供する。【解決手段】処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出部と、前記基底関数算出部が算出した前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算部と、処理対象のデータを、前記基底関数算出部が算出した前記基底関数と特徴ベクトルとの線形和に変換する変換部と、前記畳込み演算部により得られる前記新たな基底関数と、前記変換部の変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算部と、を備えることを特徴とする、信号処理装置が提供される。【選択図】図３
2013008205.tif 000002
【特許請求の範囲】
【請求項１】
処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出部と、
前記基底関数算出部が算出した前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算部と、
処理対象のデータを、前記基底関数算出部が算出した前記基底関数と特徴ベクトルとの線形和に変換する変換部と、
前記畳込み演算部により得られる前記新たな基底関数と、前記変換部の変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算部と、
を備えることを特徴とする、信号処理装置。
【請求項２】
前記変換部は、前記処理対象を前記所定のサイズに分割して所定の次元のベクトルの集合を作成することを特徴とする、請求項１に記載の信号処理装置。
【請求項３】
前記畳込み演算部は、異なるインパルス応答との畳込み演算を実行して、異なる２以上の新たな基底関数を得ることを特徴とする、請求項１に記載の信号処理装置。
【請求項４】
前記処理対象は、画像データであることを特徴とする、請求項１に記載の信号処理装置。
【請求項５】
前記処理対象は、音声データであることを特徴とする、請求項１に記載の信号処理装置。
【請求項６】
処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出ステップと、
前記基底関数算出ステップで算出された前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算ステップと、
処理対象のデータを、前記基底関数算出ステップで算出された前記基底関数と特徴ベクトルとの線形和に変換する変換ステップと、
前記畳込み演算ステップにより得られる前記新たな基底関数と、前記変換ステップの変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算ステップと、
を備えることを特徴とする、信号処理方法。
【請求項７】
コンピュータに、
処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出ステップと、
前記基底関数算出ステップで算出された前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算ステップと、
処理対象のデータを、前記基底関数算出ステップで算出された前記基底関数と特徴ベクトルとの線形和に変換する変換ステップと、
前記畳込み演算ステップにより得られる前記新たな基底関数と、前記変換ステップの変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算ステップと、
を実行させることを特徴とする、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置、信号処理方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
デジタルフィルタは、量子化および標本化してＡ／Ｄ変換した信号（離散時間信号）をデジタル信号処理することにより働くフィルタ回路である。デタルフィルタは、画像信号や音声信号からのノイズデータの除去などに広く用いられており（特許文献１〜４等参照）、デジタルフィルタは、ＩＩＲ（Ｉｎｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ；無限インパルス応答）フィルタとＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ；有限インパルス応答）フィルタとに大別される。
【０００３】
ＦＩＲフィルタは、フィルタのインパルス応答に対して畳込み演算を実行することで実装され、その実装は、演算を実行するプログラムか、所定の回路を用いることでなされる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１２３３７０号公報
【特許文献２】特表２００３−５２６１４２号公報
【特許文献３】特開２００８−２３３８６６号公報
【特許文献４】特開２００６−２３８４０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来のＦＩＲフィルタでは、タップ数に応じた乗算と加算、そしてタップ数分の遅延データを作るためのメモリが必要であった。そのため、従来のＦＩＲフィルタでは、タップ数を上げて所望の周波数特性を得るためには、回路規模や計算時間が増加してしまうという問題があった。
【０００６】
また近年は、製品の出荷後でも、性能を改善することが可能なシステムが高い注目度を集めている。しかし、従来のＦＩＲフィルタでは、製品の出荷後ではタップ数の増減による周波数特性の改善は不可能であった。従来のＦＩＲフィルタを演算により実装した場合、タップ数の上昇に伴う演算量や使用メモリ量の増加は、高いフレキシビリティを要求するアプリケーションでの応用に適さないものであった。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、演算量と使用メモリ量がデジタルフィルタのタップ数に依存せず、フレキシブルな実装が可能な、新規かつ改良された信号処理装置、信号処理方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出部と、前記基底関数算出部が算出した前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算部と、処理対象のデータを、前記基底関数算出部が算出した前記基底関数と特徴ベクトルとの線形和に変換する変換部と、前記畳込み演算部により得られる前記新たな基底関数と、前記変換部の変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算部と、を備えることを特徴とする、信号処理装置が提供される。
【０００９】
前記変換部は、前記処理対象を前記所定のサイズに分割して所定の次元のベクトルの集合を作成する。
【００１０】
前記畳込み演算部は、異なるインパルス応答との畳込み演算を実行して、異なる２以上の新たな基底関数を得る。
【００１１】
前記処理対象は、画像データである。また、前記処理対象は、音声データである。
【００１２】
また、上記課題を解決するために、本発明の別の観点によれば、処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出ステップと、前記基底関数算出ステップで算出された前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算ステップと、処理対象のデータを、前記基底関数算出ステップで算出された前記基底関数と特徴ベクトルとの線形和に変換する変換ステップと、前記畳込み演算ステップにより得られる前記新たな基底関数と、前記変換ステップの変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算ステップと、を備えることを特徴とする、信号処理方法が提供される。
【００１３】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、処理対象のサンプルデータを所定のサイズに分割して所定の次元のベクトルの集合を作成し、該ベクトルの集合に独立成分分析を実行して基底関数を算出する基底関数算出ステップと、前記基底関数算出ステップで算出された前記基底関数の各成分と、インパルス応答との畳込み演算を実行して新たな基底関数を得る畳込み演算ステップと、処理対象のデータを、前記基底関数算出ステップで算出された前記基底関数と特徴ベクトルとの線形和に変換する変換ステップと、前記畳込み演算ステップにより得られる前記新たな基底関数と、前記変換ステップの変換により得られる前記特徴ベクトルとの線形和を求めて処理結果を得る処理結果演算ステップと、を実行させることを特徴とする、コンピュータプログラムが提供される。
【発明の効果】
【００１４】
以上説明したように本発明によれば、演算量と使用メモリ量がデジタルフィルタのタップ数に依存せず、フレキシブルな実装が可能な、新規かつ改良された信号処理装置、信号処理方法及びコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】一般的なＦＩＲフィルタの構成を示す説明図である。
【図２】本発明の一実施形態にかかるデジタルスチルカメラの構成を示す説明図である。
【図３】本発明の一実施形態にかかるＦＩＲフィルタ１５０の構成を示す説明図である。
【図４】本発明の一実施形態にかかるＦＩＲフィルタ１５０の動作を示す流れ図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１７】
＜１．従来のＦＩＲフィルタの実装＞
まず、本発明の好適な実施の形態について詳細に説明する前に、従来のＦＩＲフィルタの実装と、その問題点について説明する。
【００１８】
従来のＦＩＲフィルタの実装では、フィルタのインパルス応答ｈ（ｋ）に対して、以下の数式１のような畳込み演算が、プログラムか、図１に示すようなフィルタ回路１かを用いて計算される。
【００１９】
【数１】
2013008205.tif 000003
【００２０】
図１に示したフィルタ回路１は、（ｍ−１）個の１クロック遅延素子２と、ｍ個の乗算器３と、（ｍ−１）個の加算器４と、を含んで構成されるものである。
【００２１】
プログラムでＦＩＲフィルタを実装する場合は、掛け算がｍ回と足し算が(ｍ−１)回、そして遅延データを読み出すために、メモリアクセスが(ｍ−１)回必要となる。図１に示したようなフィルタ回路１で計算する場合は、上述したように、ｍ個の乗算器３と（ｍ−１）個の加算器４、そして（ｍ−１）個の遅延データを作るメモリ素子（遅延素子２）が必要である。
【００２２】
一般的に、タップ数を増やせば急峻な周波数特性が得られるが、その一方で、プログラムの演算量やフィルタ回路の回路規模の増大を伴うため、タップ数が大きいＦＩＲフィルタは実装されるケースが少ない。また、近年では出荷後でも性能改善が可能なシステムを高く要求されており、従来の実装法では設計完了後のタップ数増加が不可能であった。
【００２３】
そこで以下に説明する本発明の一実施形態では、演算量と使用メモリ量がデジタルフィルタのタップ数に依存せず、フレキシブルな実装を可能とするＦＩＲフィルタ、および当該ＦＩＲフィルタが実装されるデジタルスチルカメラについて説明する。
【００２４】
＜２．本発明の一実施形態＞
［２−１．デジタルスチルカメラの構成例］
以下の説明では、本発明の信号処理装置が実装される装置の一例としてデジタルスチルカメラを挙げて説明する。図２は、本発明の信号処理装置が実装される装置の一例である、デジタルスチルカメラ１００の機能構成を示す説明図である。以下、図１を用いて、本発明の一実施形態にかかるデジタルスチルカメラ１００の機能構成について説明する。
【００２５】
図２に示したように、本発明の一実施形態にかかるデジタルスチルカメラ１００は、ズームレンズ１０２と、絞り１０４と、フォーカスレンズ１０６と、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）素子１０８と、アンプ一体型のＣＤＳ（Ｃｏｒｒｅｌａｔｅｄ  Ｄｏｕｂｌｅ  Ｓａｍｐｌｉｎｇ）回路１１０と、Ａ／Ｄ変換器１１２と、画像入力コントローラ１１４と、画像信号処理部１１６と、圧縮処理部１２０と、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）ドライバ１２２と、ＬＣＤ１２４と、タイミングジェネレータ１２６と、モータドライバ１４２ａ、１４２ｂ、１４２ｃと、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２８と、記憶部１３０と、操作部１３２と、メモリ１３４と、ＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３６と、メディアコントローラ１３８と、記録メディア１４０とを含む。
【００２６】
ズームレンズ１０２と、絞り１０４と、フォーカスレンズ１０６と、ＣＣＤ素子１０８とで露光部を構成する。本実施形態ではＣＣＤ素子１０８を用いて露光部を構成しているが、本発明は係る例に限定されず、ＣＣＤ素子の代わりにＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）素子を用いてもよい。ＣＭＯＳ素子は、ＣＣＤ素子よりも高速に被写体の映像光を電気信号に変換できるので、被写体を撮影してから画像を記録するまでの時間を短縮することができる。
【００２７】
ズームレンズ１０２は、光軸方向に前後して移動させることで焦点距離が連続的に変化するレンズであり、被写体の大きさを変化して撮影する。絞り１０４は、画像を撮影する際に、ＣＣＤ素子１０８に入ってくる光量の調節を行う。フォーカスレンズ１０６は、光軸方向に前後して移動させることで被写体のピントを調節するものである。
【００２８】
モータドライバ１４２ａ、１４２ｂ、１４２ｃはズームレンズ１０２、絞り１０４およびフォーカスレンズ１０６を動作させるモータの制御を行う。モータドライバ１４２ａ、１４２ｂ、１４２ｃを介してズームレンズ１０２、絞り１０４およびフォーカスレンズ１０６を動作させることで、被写体の大きさや光の量、ピントの調節を行う。
【００２９】
ＣＣＤ素子１０８は、ズームレンズ１０２、絞り１０４およびフォーカスレンズ１０６から入射された光を電気信号に変換するための素子である。本実施形態においては電子シャッタによって入射光を制御して、電気信号を取り出す時間を調節しているが、メカシャッタを用いて入射光を制御して、電気信号を取り出す時間を調節してもよい。
【００３０】
ＣＤＳ回路１１０は、ＣＣＤ素子１０８から出力された電気信号の雑音を除去する、サンプリング回路の一種であるＣＤＳ回路と、雑音を除去した後に電気信号を増幅するアンプとが一体となった回路である。本実施形態ではＣＤＳ回路とアンプとが一体となった回路を用いてデジタルスチルカメラ１００を構成しているが、ＣＤＳ回路とアンプとを別々の回路で構成してもよい。
【００３１】
Ａ／Ｄ変換器１１２は、ＣＣＤ素子１０８で生成された電気信号をデジタル信号に変換して、画像の生データを生成するものである。
【００３２】
画像信号処理部１１６は、Ａ／Ｄ変換器１１２で生成された画像の生データに対する各種信号処理を行う回路である。ここで、画像信号処理部１１６が実行する各種信号処置には、例えば、画像の生データに対するフィルタリング処理があり、このフィルタリング処理は、ＦＩＲフィルタを用いて行われる。
【００３３】
圧縮処理部１２０は、画像信号処理部１１６で信号処理が施されたデータを、適切な形式の画像データに圧縮する圧縮処理を行う。画像の圧縮形式は可逆形式であっても非可逆形式であってもよい。適切な形式の例として、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式やＪＰＥＧ２０００形式に変換してもよい。
【００３４】
ＬＣＤ１２４は、撮影操作を行う前のライブビュー表示や、デジタルスチルカメラ１００の各種設定画面や、撮影した画像の表示等を行う。画像データやデジタルスチルカメラ１００の各種情報のＬＣＤ１２４への表示は、ＬＣＤドライバ１２２を介して行われる。
【００３５】
タイミングジェネレータ１２６は、ＣＣＤ素子１０８にタイミング信号を入力する。タイミングジェネレータ１２６からのタイミング信号によりシャッタ速度が決定される。つまり、タイミングジェネレータ１２６からのタイミング信号によりＣＣＤ素子１０８の駆動が制御され、ＣＣＤ素子１０８が駆動する時間内に被写体からの映像光を入射することで、画像データの基となる電気信号が生成される。
【００３６】
ＣＰＵ１２８は、ＣＣＤ素子１０８やＣＤＳ回路１１０などに対して信号系の命令を行ったり、操作部１３２の操作に対する操作系の命令を行ったりする。本実施形態においては、ＣＰＵを１つだけ含んでいるが、本発明においては、信号系の命令と操作系の命令とを別々のＣＰＵやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）で行うようにしてもよい。
【００３７】
記憶部１３０は、ＲＯＭやＲＡＭ等で構成され、デジタルスチルカメラ１００の動作に必要なコンピュータプログラム、データ及び各種パラメータが記憶されている。
【００３８】
操作部１３２は、デジタルスチルカメラ１００の操作を行ったり、撮影時の各種の設定を行ったりするための部材が配置されている。操作部１３２に配置される部材には、電源ボタン、撮影モードや撮影ドライブモードの選択および効果パラメータの設定を行う十字キーおよび選択ボタン、撮影操作を開始するシャッタボタン等が配置される。
【００３９】
メモリ１３４は、撮影した画像や画像信号処理部１１６で信号処理が施された画像を一時的に記憶するものである。メモリ１３４は、複数の画像を記憶できるだけの記憶容量を有している。メモリ１３４への画像の読み書きは画像入力コントローラ１１４によって制御される。
【００４０】
ＶＲＡＭ１３６は、ＬＣＤ１２４に表示する内容を保持するものであり、ＬＣＤ１２４の解像度や最大発色数はＶＲＡＭ１３６の容量に依存する。
【００４１】
記録メディア１４０は、撮影した画像を記録するものである。記録メディア１４０への入出力は、メディアコントローラ１３８によって制御される。記録メディア１４０には、フラッシュメモリにデータを記録するカード型の記憶装置であるメモリカードを用いることができる。
【００４２】
以上、図２を用いて、本発明の一実施形態にかかるデジタルスチルカメラ１００の機能構成について説明した。次に、本発明の一実施形態にかかるデジタルスチルカメラ１００の画像信号処理部１１６に設けられるＦＩＲフィルタの構成について説明する。
【００４３】
［２−２．ＦＩＲフィルタの構成］
図３は、本発明の一実施形態にかかるデジタルスチルカメラ１００の画像信号処理部１１６に設けられる、ＦＩＲフィルタ１５０の構成を示す説明図である。以下、図３を用いて、本発明の一実施形態にかかるＦＩＲフィルタ１５０の構成について説明する。
【００４４】
図３に示したように、デジタルスチルカメラ１００の画像信号処理部１１６に設けられるＦＩＲフィルタ１５０は、独立成分分析実行部１５１と、畳込み演算部１５２と、分割部１５３と、内積演算部１５４と、出力ベクトル演算部１５５と、出力結果構築部１５６と、を含んで構成される。
【００４５】
独立成分分析実行部１５１は、記憶部１３０に保持されている、画像データのサンプルを、所定のサイズに分割してサンプルベクトルを作成し、作成したサンプルベクトルを用いて独立成分分析（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ；ＩＣＡ）を実行することで、Ｎ次元基底関数Ａを抽出するものである。独立成分分析は、多変量分析の一種であり、信号の統計的な性質を利用して多次元信号を分離する手法である。本実施形態では、記憶部１３０に保持されている画像データのサンプルを、例えば８画素×８画素のブロックに分割して６４次元ベクトルの集合を作成し、その６４次元ベクトルを用いて独立成分分析を実行する。
【００４６】
なお、本実施形態においては、例えば、『MEDICAL IMAGING TECHNOLOGY Vol.21 No.2 March 2003「独立成分分析（２）  ＩＣＡ基底による特徴検出」陳延偉』にて開示されている手法により、サンプルベクトルを用いて独立成分分析を実行することで、画像データのサンプルを８画素×８画素のブロックに分割して得られる６４次元ベクトルから、Ｎ次元基底関数Ａを抽出することができる。
【００４７】
畳込み演算部１５２は、独立成分分析実行部１５１が抽出したＮ次元基底関数Ａの各成分Ａ０、Ａ１、・・・、ＡＮ−１と、所望のフィルタ特性を得るためのインパルス応答ｈ（ｋ）との畳込み演算を実行するものである。畳込み演算部１５２は、Ｎ次元基底関数Ａの各成分と、インパルス応答ｈ（ｋ）とを畳込み演算することで、新しい基底関数Ａ’（Ａ’０、Ａ’１、・・・、Ａ’Ｎ−１）を生成することができる。
【００４８】
上述した独立成分分析実行部１５１及び畳込み演算部１５２の処理は、画像データのリアルタイム処理に先立って前処理として実行される。独立成分分析実行部１５１及び畳込み演算部１５２の処理により、Ｎ次元基底関数Ａと、新たなＮ次元基底関数Ａ’とを、画像データのリアルタイム処理に先立って求めておくことで処理時間を短縮させることができる。
【００４９】
なお、畳込み演算部１５２は、独立成分分析実行部１５１が抽出したＮ次元基底関数Ａの各成分と、所望のフィルタ特性を得るためのインパルス応答との畳込み演算を実行するに際し、異なるインパルス応答との畳込み演算を実行して、それぞれ異なる、新しい基底関数を生成するようにしてもよい。
【００５０】
分割部１５３は、ＦＩＲフィルタ１５０に入力される画像データを所定のサイズに分割して、入力ベクトルとして出力するものである。分割部１５３による分割のサイズは、独立成分分析実行部１５１による分割のサイズと同じサイズである。すなわち、独立成分分析実行部１５１が、画像データのサンプルを８画素×８画素のブロックに分割して６４次元ベクトルの集合を作成するならば、分割部１５３は、ＦＩＲフィルタ１５０に入力される画像データを８画素×８画素のブロックに分割して６４次元ベクトルの集合を作成する。分割部１５３が生成した入力ベクトルは内積演算部１５４に送られる。
【００５１】
内積演算部１５４は、分割部１５３が生成した入力ベクトルと、独立成分分析実行部１５１が抽出したＮ次元基底関数Ａとの内積を演算し、特徴ベクトルＳ（Ｓ０、Ｓ１、・・・、ＳＮ−１）を生成するものである。処理対象である画像データをＸとすると、画像データＸは、以下の数式２のように、Ｎ次元基底関数Ａと特徴ベクトルＳとの線形和に変換することができる。
【００５２】
【数２】
2013008205.tif 000004
【００５３】
出力ベクトル演算部１５５は、内積演算部１５４が生成した特徴ベクトルＳと、畳込み演算部１５２が求めた新しい基底関数Ａ’との線形和を演算するものである。出力ベクトル演算部１５５は、求めた線形和を出力ベクトルとして出力結果構築部１５６に出力する。
【００５４】
畳込み演算の結合則により、入力される画像データＸとインパルス応答ｈ（ｋ）との畳込み演算は、基底関数Ａの各成分と、インパルス応答ｈ（ｋ）との畳込み演算（数式３）に相当する。
【００５５】
【数３】
2013008205.tif 000005
・・・（数式３）
【００５６】
従って、出力ベクトル演算部１５５で、内積演算部１５４が生成した特徴ベクトルＳと、畳込み演算部１５２が求めた新しい基底関数Ａ’との線形和を演算することは、入力される画像データＸとインパルス応答ｈ（ｋ）との畳込み演算に相当する。
【００５７】
なお、畳込み演算部１５２が、独立成分分析実行部１５１が抽出したＮ次元基底関数Ａの各成分と、異なるインパルス応答との畳込み演算を実行して、それぞれ異なる、新しい基底関数を生成した場合は、出力ベクトル演算部１５５は、所望のフィルタ特性に応じて、畳込み演算部１５２が生成した新たな基底関数の中から適切なものを選択して、選択肢た新たな基底関数を用いて演算してもよい。
【００５８】
出力結果構築部１５６は、出力ベクトル演算部１５５が生成した出力ベクトルから、出力する画像データを構築するものである。出力結果構築部１５６による出力画像データの構築は、分割部１５３による分割処理の逆の手順で実行される。すなわち、分割部１５３によって分割された順に出力ベクトルを構築していくことで、出力結果構築部１５６は出力する画像データを生成し、出力することができる。
【００５９】
以上、図３を用いて、本発明の一実施形態にかかるＦＩＲフィルタ１５０の構成について説明した。次に、本発明の一実施形態にかかるＦＩＲフィルタ１５０の動作について説明する。
【００６０】
［２−３．ＦＩＲフィルタの動作］
図４は、本発明の一実施形態にかかるＦＩＲフィルタ１５０の動作を示す流れ図である。以下、図４を用いて本発明の一実施形態にかかるＦＩＲフィルタ１５０の動作について説明する。
【００６１】
まず、あらかじめ画像データのサンプルを収集しておく。そして、収集した画像データのサンプルのデータベースは記憶部１３０に構築される（ステップＳ１０１）。独立成分分析実行部１５１は、記憶部１３０に保持されている画像データのサンプルを、所定のサイズに分割して、所定の次元のサンプルベクトルを作成する（ステップＳ１０２）。所定のサイズは、本実施形態では８画素×８画素のブロックとし、これにより６４次元のサンプルベクトルが生成される。もちろん、分割するサイズはかかる例に限定されるものではないことは言うまでもない。
【００６２】
独立成分分析実行部１５１が６４次元のサンプルベクトルを作成すると、続いて独立成分分析実行部１５１は、作成した６４次元のサンプルベクトルを用いて独立成分分析（ＩＣＡ）を実行することで、Ｎ次元基底関数Ａを抽出する（ステップＳ１０３）。上述したように、独立成分分析実行部１５１は、『MEDICAL IMAGING TECHNOLOGY Vol.21 No.2 March 2003「独立成分分析（２）  ＩＣＡ基底による特徴検出」陳延偉』にて開示されている手法により独立成分分析を実行することで、６４次元ベクトルからＮ次元基底関数Ａを抽出することができる。
【００６３】
独立成分分析実行部１５１がＮ次元基底関数Ａを抽出すると、続いて、畳込み演算部１５２が、Ｎ次元基底関数Ａの各成分Ａ０、Ａ１、・・・、ＡＮ−１と、所望のフィルタ特性を得るためのインパルス応答ｈ（ｋ）との畳込み演算を実行し、新たな基底関数Ａ’を算出する（ステップＳ１０４）。独立成分分析実行部１５１が抽出したＮ次元基底関数Ａと、畳込み演算部１５２が算出した新たな基底関数Ａ’とは、記憶部１３０に格納されてもよい。
【００６４】
以上のステップＳ１０４までの処理が、撮影された画像に対するリアルタイム処理に先立って行われる前処理である。この前処理は、例えばデジタルスチルカメラ１００の製造時に行われていてもよく、デジタルスチルカメラ１００の製造後であっても、任意のタイミングで行われるようにしてもよい。次に、撮影された画像に対するリアルタイム処理について示す。
【００６５】
デジタルスチルカメラ１００で撮影された画像がＦＩＲフィルタ１５０に送られてくると、まず分割部１５３が、ＦＩＲフィルタ１５０に入力される画像データを所定のサイズに分割して、入力ベクトルとして生成し、内積演算部１５４へ出力する（ステップＳ１０５）。上述したように、分割部１５３による分割のサイズは、独立成分分析実行部１５１による分割のサイズと同じサイズである。
【００６６】
上記ステップＳ１０５で、分割部１５３が入力ベクトルを生成して内積演算部１５４へ出力すると、内積演算部１５４は、分割部１５３が生成した入力ベクトルと、独立成分分析実行部１５１が抽出したＮ次元基底関数Ａとの内積を演算し、特徴ベクトルＳ（Ｓ０、Ｓ１、・・・、ＳＮ−１）を算出する（ステップＳ１０６）。内積演算部１５４は、算出した特徴ベクトルＳを出力ベクトル演算部１５５へ出力する。
【００６７】
上記ステップＳ１０６で、内積演算部１５４が特徴ベクトルＳを算出し、算出した特徴ベクトルＳを出力ベクトル演算部１５５へ出力すると、出力ベクトル演算部１５５は、内積演算部１５４が生成した特徴ベクトルＳと、畳込み演算部１５２が求めた新しい基底関数Ａ’との線形和を演算し、求めた線形和を出力ベクトルとして出力結果構築部１５６に出力する（ステップＳ１０７）。
【００６８】
上記ステップＳ１０７で、出力ベクトル演算部１５５が出力ベクトルを算出して出力結果構築部１５６に出力すると、出力結果構築部１５６は、出力ベクトル演算部１５５が生成した出力ベクトルから、出力する画像データを構築する（ステップＳ１０８）。上述したように、出力結果構築部１５６による出力画像データの構築は、分割部１５３による分割処理の逆の手順で実行される。
【００６９】
上述したステップＳ１０５からステップＳ１０８までの処理が、デジタルスチルカメラ１００で撮影された画像がＦＩＲフィルタ１５０に送られてくる際に実行されるリアルタイム処理である。このリアルタイム処理では、入力データとインパルス応答との畳込み演算は行っていないので、リアルタイム処理における演算量は、リアルタイム処理で入力データとインパルス応答との畳込み演算を行う場合に比べて少なく済む。また、タップ数が増加しても、前処理として入力データとインパルス応答との畳込み演算が行われているので、リアルタイム処理における演算量には影響を与えない。
【００７０】
以上、図４を用いて本発明の一実施形態にかかるＦＩＲフィルタ１５０の動作について説明した。
【００７１】
＜３．まとめ＞
以上説明したように本実施の一実施形態によれば、ＦＩＲフィルタ１５０において、撮影された画像に対するリアルタイム処理に先立って、予め、Ｎ次元基底関数Ａと、Ｎ次元基底関数Ａとインパルス応答との畳込み演算の結果得られる新たなＮ次元基底関数Ａ’とを求めておく。そして、撮影された画像に対するリアルタイム処理の際には、ＦＩＲフィルタ１５０は、前処理で得られたＮ次元基底関数Ａ及び新たなＮ次元基底関数Ａ’を用いて、入力画像データとインパルス応答との畳込み演算に相当する処理を実行する。
【００７２】
ＦＩＲフィルタ１５０におけるリアルタイム処理では、入力データとインパルス応答との畳込み演算は行っていない。従って、ＦＩＲフィルタ１５０でのリアルタイム処理における演算量は、リアルタイム処理で入力データとインパルス応答との畳込み演算を行う場合に比べて少なく済む。また、タップ数が増加しても、前処理として入力データとインパルス応答との畳込み演算が行われているので、ＦＩＲフィルタ１５０でのリアルタイム処理における演算量には影響を与えない。
【００７３】
上記の実施形態はデジタルスチルカメラを例に挙げて説明したが、本発明が適用される装置はこれに限定されない。例えば、撮像素子を有する携帯電話機、ＰＤＡ、ゲーム機、タブレット、電子辞書等でも同様に本発明を適用できる。また、上述したように、本発明が適用される装置は、撮像素子を有するデジタルスチルカメラその他の撮像装置に限定されない。例えば、音声信号を処理する音声処理装置にも、同様に本発明を提供することが可能である。すなわち、音声信号のサンプルを所定のサイズに分割して新たな基底関数を求めておき、音声信号のリアルタイム処理の際に、新たな基底関数を用いて演算処理を実行するようにしてもよい。
【００７４】
また、上記の実施形態のフローチャートに示されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
【００７５】
また、明細書中において説明した一連の処理は、ハードウェア、またはソフトウェア、あるいはハードウェアとソフトウェアとの複合構成によって実行するようにしてもよい。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータのメモリにインストールして実行させるか、または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させるようにしてもよい。
【００７６】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００７７】
１００    デジタルスチルカメラ
１０２    ズームレンズ
１０４    絞り
１０６    フォーカスレンズ
１０８    ＣＣＤ素子
１１０    ＣＤＳ回路
１１２    Ａ／Ｄ変換器
１１４    画像入力コントローラ
１１６    画像信号処理部
１２０    圧縮処理部
１２２    ＬＣＤドライバ
１２４    ＬＣＤ
１２６    タイミングジェネレータ
１２８    ＣＰＵ
１３０    記憶部
１３２    操作部
１３４    メモリ
１３８    メディアコントローラ
１４０    記録メディア
１４２ａ、１４２ｂ、１４２ｃ    モータドライバ
１５０    ＦＩＲフィルタ
１５１    独立成分分析実行部
１５２    畳込み演算部
１５３    分割部
１５４    内積演算部
１５５    出力ベクトル演算部
１５６    出力結果構築部
【図１】
2013008205.tif 000006
【図２】
2013008205.tif 000007
【図３】
2013008205.tif 000008
【図４】
2013008205.tif 000009