(57)【要約】【課題】ぶれの発生している画像データからぶれの発生していない画像データを復元する処理を、メモリ効率良く且つ演算量を抑えて行うことを可能とする。【解決手段】被写体を撮像素子１ｂによって撮像して得られた静止画像データＳを、前記撮像時における撮像素子１ｂのＹ方向へのぶれに関するぶれ情報に基づいて修復する方法であって、ぶれ情報に基づくぶれがない状態で被写体を撮像したときに得られる理想的な画像データＯを静止画像データＳから復元するためのウイナーインバースフィルタの伝達関数であって、ＩＩＲフィルタの伝達関数とＦＩＲフィルタの伝達関数との積の形で表される伝達関数の該ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を静止画像データＳに対して施し、該ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理をＦＩＲフィルタ処理後の静止画像データＳに対して施して理想的な画像データＯを復元する。【選択図】図６
2008058803.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像素子によって撮像して得られた静止画像データを、前記撮像時における前記撮像素子の一次元方向へのぶれに関するぶれ情報に基づいて修復する画像データ修復装置であって、
前記ぶれ情報に基づくぶれがない状態で前記被写体を撮像したときに得られる理想的な画像データを前記静止画像データから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲ（Infinite Impulse Response）フィルタの伝達関数とＦＩＲ（Finite Impulse Response）フィルタの伝達関数との積の形で表される伝達関数Ｗ（ｚ）、の前記ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を前記静止画像データに対して施すＦＩＲフィルタ処理手段と、
前記ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理を、前記ＦＩＲフィルタ処理後の前記静止画像データに対して施して前記理想的な画像データを復元するＩＩＲフィルタ処理手段とを備える画像データ修復装置。
【請求項２】
請求項１記載の画像データ修復装置であって、
前記静止画像データが、前記一次元方向に並ぶ多数の画素データからなる画素データ列が前記一次元方向と直交する方向に多数配列された構成であり、
前記ＦＩＲフィルタ処理手段が、前記ＦＩＲフィルタ処理を、前記多数の画素データ列の各々に対して施すものであり、
前記ＩＩＲフィルタ処理手段が、前記ＩＩＲフィルタ処理を、前記ＦＩＲフィルタ処理後の前記多数の画素データ列の各々に対して施すものであって、
前記ＩＩＲフィルタ処理手段で前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、前記各画素データ列にしたがった値に設定するフィルタ初期値設定手段を備える画像データ修復装置。
【請求項３】
被写体を撮像素子によって撮像して得られた静止画像データを、前記撮像時における前記撮像素子の一次元方向へのぶれに関するぶれ情報に基づいて修復する画像データ修復装置であって、
前記ぶれ情報に基づくぶれがない状態で前記被写体を撮像したときに得られる理想的な画像データを前記静止画像データから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲ（Infinite Impulse Response）フィルタの伝達関数とＦＩＲ（Finite Impulse Response）フィルタの伝達関数との積の形で表される伝達関数Ｗ（ｚ）の前記ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理を前記静止画像データに対して施すＩＩＲフィルタ処理手段と、
前記ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を、前記ＩＩＲフィルタ処理後の前記静止画像データに対して施して前記理想的な画像データを復元するＦＩＲフィルタ処理手段とを備える画像データ修復装置。
【請求項４】
請求項３記載の画像データ修復装置であって、
前記静止画像データが、前記一次元方向に並ぶ多数の画素データからなる画素データ列が前記一次元方向と直交する方向に多数配列された構成であり、
前記ＩＩＲフィルタ処理手段が、前記ＩＩＲフィルタ処理を、前記多数の画素データ列の各々に対して施すものであり、
前記ＦＩＲフィルタ処理手段が、前記ＦＩＲフィルタ処理を、前記ＩＩＲフィルタ処理後の前記多数の画素データ列の各々に対して施すものであって、
前記ＩＩＲフィルタ処理手段で前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、前記各画素データ列にしたがった値に設定するフィルタ初期値設定手段を備える画像データ修復装置。
【請求項５】
請求項２又は４記載の画像データ修復装置であって、
前記ＩＩＲフィルタ処理手段は、ＩＩＲフィルタ処理対象となる前記各画素データ列の一端の画素データから他端の画素データまで順番に前記ＩＩＲフィルタ処理を施し、
前記フィルタ初期値設定手段は、前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、当該各画素データ列の一端の画素データの値に設定する画像データ修復装置。
【請求項６】
請求項１〜５のいずれか１項記載の画像データ修復装置であって、
前記ぶれ情報と前記静止画像データとに基づいて、前記伝達関数Ｗ（ｚ）を導出する伝達関数Ｗ（ｚ）導出手段を備える画像データ修復装置。
【請求項７】
請求項１〜６のいずれか１項記載の画像データ修復装置であって、
前記ＩＩＲフィルタ処理及び前記ＦＩＲフィルタ処理をハードウェアによって実現する画像データ修復装置。
【請求項８】
請求項１〜７のいずれか１項記載の画像データ修復装置と、
前記撮像素子と、
前記撮像素子の出力信号から前記静止画像データを生成する静止画像データ生成手段と、
前記撮像時における前記撮像素子の前記一次元方向へのぶれを検出して前記ぶれ情報を生成するぶれ情報生成手段とを備える撮像装置。
【請求項９】
被写体を撮像素子によって撮像して得られた静止画像データを、前記撮像時における前記撮像素子の一次元方向へのぶれに関するぶれ情報に基づいて修復する画像データ修復方法であって、
前記ぶれ情報に基づくぶれがない状態で前記被写体を撮像したときに得られる理想的な画像データを前記静止画像データから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲ（Infinite Impulse Response）フィルタの伝達関数とＦＩＲ（Finite Impulse Response）フィルタの伝達関数との積の形で表される伝達関数Ｗ（ｚ）、の前記ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を前記静止画像データに対して施すＦＩＲフィルタ処理ステップと、
前記ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理を、前記ＦＩＲフィルタ処理後の前記静止画像データに対して施して前記理想的な画像データを復元するＩＩＲフィルタ処理ステップとを備える画像データ修復方法。
【請求項１０】
請求項９記載の画像データ修復方法であって、
前記静止画像データが、前記一次元方向に並ぶ多数の画素データからなる画素データ列が前記一次元方向と直交する方向に多数配列された構成であり、
前記ＦＩＲフィルタ処理ステップが、前記ＦＩＲフィルタ処理を、前記多数の画素データ列の各々に対して施すものであり、
前記ＩＩＲフィルタ処理ステップが、前記ＩＩＲフィルタ処理を、前記ＦＩＲフィルタ処理後の前記多数の画素データ列の各々に対して施すものであって、
前記ＩＩＲフィルタ処理ステップで前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、前記各画素データ列にしたがった値に設定するフィルタ初期値設定ステップを備える画像データ修復方法。
【請求項１１】
被写体を撮像素子によって撮像して得られた静止画像データを、前記撮像時における前記撮像素子の一次元方向へのぶれに関するぶれ情報に基づいて修復する画像データ修復方法であって、
前記ぶれ情報に基づくぶれがない状態で前記被写体を撮像したときに得られる理想的な画像データを前記静止画像データから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲ（Infinite Impulse Response）フィルタの伝達関数とＦＩＲ（Finite Impulse Response）フィルタの伝達関数との積の形で表される伝達関数Ｗ（ｚ）の前記ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理を前記静止画像データに対して施すＩＩＲフィルタ処理ステップと、
前記ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を、前記ＩＩＲフィルタ処理後の前記静止画像データに対して施して前記理想的な画像データを復元するＦＩＲフィルタ処理ステップとを備える画像データ修復方法。
【請求項１２】
請求項１１記載の画像データ修復方法であって、
前記静止画像データが、前記一次元方向に並ぶ多数の画素データからなる画素データ列が前記一次元方向と直交する方向に多数配列された構成であり、
前記ＩＩＲフィルタ処理ステップが、前記ＩＩＲフィルタ処理を、前記多数の画素データ列の各々に対して施すものであり、
前記ＦＩＲフィルタ処理ステップが、前記ＦＩＲフィルタ処理を、前記ＩＩＲフィルタ処理後の前記多数の画素データ列の各々に対して施すものであって、
前記ＩＩＲフィルタ処理ステップで前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、前記各画素データ列にしたがった値に設定するフィルタ初期値設定ステップを備える画像データ修復方法。
【請求項１３】
請求項１０又は１２記載の画像データ修復方法であって、
前記ＩＩＲフィルタ処理ステップでは、ＩＩＲフィルタ処理対象となる前記各画素データ列の一端の画素データから他端の画素データまで順番に前記ＩＩＲフィルタ処理を施し、
前記フィルタ初期値設定ステップでは、前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、当該各画素データ列の一端の画素データの値に設定する画像データ修復方法。
【請求項１４】
請求項９〜１３のいずれか１項記載の画像データ修復方法であって、
前記ぶれ情報と前記静止画像データとに基づいて、前記伝達関数Ｗ（ｚ）を導出する伝達関数Ｗ（ｚ）導出ステップを備える画像データ修復方法。
【請求項１５】
請求項９〜１４のいずれか１項記載の画像データ修復方法であって、
前記ＩＩＲフィルタ処理及び前記ＦＩＲフィルタ処理をハードウェアによって実現する画像データ修復方法。
【請求項１６】
請求項９〜１５のいずれか１項記載の画像データ修復方法の各ステップをコンピュータに実行させるための画像データ修復プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体を撮像素子によって撮像して得られた静止画像データを修復する画像データ修復装置に関する。
【背景技術】
【０００２】
一般に、被写体像を光電変換し、コンピュータ等の演算装置を用いて画像処理を行なう装置がある。この画像処理装置を用いて、撮影時の手ぶれ等により生じた画像の劣化を修復する技術・装置に関して提案されている。このような画像修復処理では、画像の劣化につながる像のある１点のその周辺の像への滲みや広がりを広がり関数として数学的に扱い、演算処理を可能にしている。
【０００３】
例えば、特許文献１には、撮影画像データをフーリエ変換した画像データに対し、時間領域で表される広がり関数をｚ変換した広がり関数を用いて演算処理し、演算処理して得られる画像データを逆フーリエ変換することで、ぶれのない画像データを復元する方法が開示されている。
【０００４】
又、特許文献２には、ｚ領域で表される広がり関数の行列表現であるぶれ行列の擬似逆行列を、不足データを外挿することにより求め、この擬似逆行列とぶれのある画像データとの掛け算により、ぶれのない画像データを復元する方法が開示されている。
【０００５】
このように、画像修復処理には様々な方法があるが、撮像により得られた画像データにノイズが乗っていた場合でも、このノイズの影響を低く抑えて画像データを修復することができる方法としては、ウイナーインバースフィルタを用いた方法が知られている。
【０００６】
この方法では、撮像により得られた画像データをフーリエ変換し、フーリエ変換した画像データにウイナーインバースフィルタ処理を施し、この処理により得られる画像データを逆フーリエ変換して、ぶれのない画像データを復元するというものである。
【０００７】
【特許文献１】特開昭６２−１２７９７６号公報
【特許文献２】特開平６−１１８４６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記ウイナーインバースフィルタ処理は複雑であるため、メモリ使用量が多く、又、この処理をハードウェアで実現しようとすると、設計コストが高くなってしまう。特許文献２に開示された方法は行列演算が必要であるため、同様にメモリ使用量が多く、演算量も多い。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、ぶれの発生している画像データからぶれの発生していない画像データを復元する処理を、メモリ効率良く且つ演算量を抑えて行うことが可能な画像データ修復装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題は以下の（１）〜（１６）によって解決される。
【００１１】
（１）被写体を撮像素子によって撮像して得られた静止画像データを、前記撮像時における前記撮像素子の一次元方向へのぶれに関するぶれ情報に基づいて修復する画像データ修復装置であって、前記ぶれ情報に基づくぶれがない状態で前記被写体を撮像したときに得られる理想的な画像データを前記静止画像データから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲ（Infinite Impulse Response）フィルタの伝達関数とＦＩＲ（Finite Impulse Response）フィルタの伝達関数との積の形で表される伝達関数Ｗ（ｚ）の前記ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を前記静止画像データに対して施すＦＩＲフィルタ処理手段と、
前記ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理を、前記ＦＩＲフィルタ処理後の前記静止画像データに対して施して前記理想的な画像データを復元するＩＩＲフィルタ処理手段とを備える画像データ修復装置。
【００１２】
（２）（１）記載の画像データ修復装置であって、前記静止画像データが、前記一次元方向に並ぶ多数の画素データからなる画素データ列が前記一次元方向と直交する方向に多数配列された構成であり、前記ＦＩＲフィルタ処理手段が、前記ＦＩＲフィルタ処理を、前記多数の画素データ列の各々に対して施すものであり、前記ＩＩＲフィルタ処理手段が、前記ＩＩＲフィルタ処理を、前記ＦＩＲフィルタ処理後の前記多数の画素データ列の各々に対して施すものであって、前記ＩＩＲフィルタ処理手段で前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、前記各画素データ列にしたがった値に設定するフィルタ初期値設定手段を備える画像データ修復装置。
【００１３】
（３）被写体を撮像素子によって撮像して得られた静止画像データを、前記撮像時における前記撮像素子の一次元方向へのぶれに関するぶれ情報に基づいて修復する画像データ修復装置であって、前記ぶれ情報に基づくぶれがない状態で前記被写体を撮像したときに得られる理想的な画像データを前記静止画像データから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲ（Infinite Impulse Response）フィルタの伝達関数とＦＩＲ（Finite Impulse Response）フィルタの伝達関数との積の形で表される伝達関数Ｗ（ｚ）の前記ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理を前記静止画像データに対して施すＩＩＲフィルタ処理手段と、
前記ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を、前記ＩＩＲフィルタ処理後の前記静止画像データに対して施して前記理想的な画像データを復元するＦＩＲフィルタ処理手段とを備える画像データ修復装置。
【００１４】
（４）（３）記載の画像データ修復装置であって、前記静止画像データが、前記一次元方向に並ぶ多数の画素データからなる画素データ列が前記一次元方向と直交する方向に多数配列された構成であり、前記ＩＩＲフィルタ処理手段が、前記ＩＩＲフィルタ処理を、前記多数の画素データ列の各々に対して施すものであり、前記ＦＩＲフィルタ処理手段が、前記ＦＩＲフィルタ処理を、前記ＩＩＲフィルタ処理後の前記多数の画素データ列の各々に対して施すものであって、前記ＩＩＲフィルタ処理手段で前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、前記各画素データ列にしたがった値に設定するフィルタ初期値設定手段を備える画像データ修復装置。
【００１５】
（５）（２）又は（４）記載の画像データ修復装置であって、前記ＩＩＲフィルタ処理手段は、ＩＩＲフィルタ処理対象となる前記各画素データ列の一端の画素データから他端の画素データまで順番に前記ＩＩＲフィルタ処理を施し、前記フィルタ初期値設定手段は、前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、当該各画素データ列の一端の画素データの値に設定する画像データ修復装置。
【００１６】
（６）（１）〜（５）のいずれか１つ記載の画像データ修復装置であって、前記ぶれ情報と前記静止画像データとに基づいて、前記伝達関数Ｗ（ｚ）を導出する伝達関数Ｗ（ｚ）導出手段を備える画像データ修復装置。
【００１７】
（７）（１）〜（６）のいずれか１つ記載の画像データ修復装置であって、前記ＩＩＲフィルタ処理及び前記ＦＩＲフィルタ処理をハードウェアによって実現する画像データ修復装置。
【００１８】
（８）（１）〜（７）のいずれか１つ記載の画像データ修復装置と、前記撮像素子と、前記撮像素子の出力信号から前記静止画像データを生成する静止画像データ生成手段と、前記撮像時における前記撮像素子の前記一次元方向へのぶれを検出して前記ぶれ情報を生成するぶれ情報生成手段とを備える撮像装置。
【００１９】
（９）被写体を撮像素子によって撮像して得られた静止画像データを、前記撮像時における前記撮像素子の一次元方向へのぶれに関するぶれ情報に基づいて修復する画像データ修復方法であって、前記ぶれ情報に基づくぶれがない状態で前記被写体を撮像したときに得られる理想的な画像データを前記静止画像データから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲ（Infinite Impulse Response）フィルタの伝達関数とＦＩＲ（Finite Impulse Response）フィルタの伝達関数との積の形で表される伝達関数Ｗ（ｚ）の前記ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を前記静止画像データに対して施すＦＩＲフィルタ処理ステップと、前記ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理を、前記ＦＩＲフィルタ処理後の前記静止画像データに対して施して前記理想的な画像データを復元するＩＩＲフィルタ処理ステップとを備える画像データ修復方法。
【００２０】
（１０）（９）記載の画像データ修復方法であって、前記静止画像データが、前記一次元方向に並ぶ多数の画素データからなる画素データ列が前記一次元方向と直交する方向に多数配列された構成であり、前記ＦＩＲフィルタ処理ステップが、前記ＦＩＲフィルタ処理を、前記多数の画素データ列の各々に対して施すものであり、前記ＩＩＲフィルタ処理ステップが、前記ＩＩＲフィルタ処理を、前記ＦＩＲフィルタ処理後の前記多数の画素データ列の各々に対して施すものであって、前記ＩＩＲフィルタ処理ステップで前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、前記各画素データ列にしたがった値に設定するフィルタ初期値設定ステップを備える画像データ修復方法。
【００２１】
（１１）被写体を撮像素子によって撮像して得られた静止画像データを、前記撮像時における前記撮像素子の一次元方向へのぶれに関するぶれ情報に基づいて修復する画像データ修復方法であって、前記ぶれ情報に基づくぶれがない状態で前記被写体を撮像したときに得られる理想的な画像データを前記静止画像データから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲ（Infinite Impulse Response）フィルタの伝達関数とＦＩＲ（Finite Impulse Response）フィルタの伝達関数との積の形で表される伝達関数Ｗ（ｚ）の前記ＩＩＲフィルタの伝達関数にしたがったＩＩＲフィルタ処理を前記静止画像データに対して施すＩＩＲフィルタ処理ステップと、前記ＦＩＲフィルタの伝達関数にしたがったＦＩＲフィルタ処理を、前記ＩＩＲフィルタ処理後の前記静止画像データに対して施して前記理想的な画像データを復元するＦＩＲフィルタ処理ステップとを備える画像データ修復方法。
【００２２】
（１２）（１１）記載の画像データ修復方法であって、前記静止画像データが、前記一次元方向に並ぶ多数の画素データからなる画素データ列が前記一次元方向と直交する方向に多数配列された構成であり、前記ＩＩＲフィルタ処理ステップが、前記ＩＩＲフィルタ処理を、前記多数の画素データ列の各々に対して施すものであり、前記ＦＩＲフィルタ処理ステップが、前記ＦＩＲフィルタ処理を、前記ＩＩＲフィルタ処理後の前記多数の画素データ列の各々に対して施すものであって、前記ＩＩＲフィルタ処理ステップで前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、前記各画素データ列にしたがった値に設定するフィルタ初期値設定ステップを備える画像データ修復方法。
【００２３】
（１３）（１０）又は（１２）記載の画像データ修復方法であって、前記ＩＩＲフィルタ処理ステップでは、ＩＩＲフィルタ処理対象となる前記各画素データ列の一端の画素データから他端の画素データまで順番に前記ＩＩＲフィルタ処理を施し、前記フィルタ初期値設定ステップでは、前記各画素データ列に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を、当該各画素データ列の一端の画素データの値に設定する画像データ修復方法。
【００２４】
（１４）（９）〜（１３）のいずれか１つ記載の画像データ修復方法であって、前記ぶれ情報と前記静止画像データとに基づいて、前記伝達関数Ｗ（ｚ）を導出する伝達関数Ｗ（ｚ）導出ステップを備える画像データ修復方法。
【００２５】
（１５）（９）〜（１４）のいずれか１つ記載の画像データ修復方法であって、前記ＩＩＲフィルタ処理及び前記ＦＩＲフィルタ処理をハードウェアによって実現する画像データ修復方法。
【００２６】
（１６）（９）〜（１５）のいずれか１つ記載の画像データ修復方法の各ステップをコンピュータに実行させるための画像データ修復プログラム。
【発明の効果】
【００２７】
本発明によれば、ぶれの発生している画像データからぶれの発生していない画像データを復元する処理を、メモリ効率良く且つ演算量を抑えて行うことが可能な画像データ修復装置を提供することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施形態について図面を参照して説明する。
【００２９】
図１は、本発明の実施形態を説明するための撮像装置の一例である手ぶれ補正機能を有するデジタルカメラの概略構成を示す図である。
図１に示すデジタルカメラ１００は、撮像部１、アナログ信号処理部２、Ａ／Ｄ変換部３、駆動部４、ぶれ検出部５、デジタル信号処理部６、圧縮／伸張処理部７、システム制御部９、内部メモリ１０、メディアインタフェース（Ｉ／Ｆ）１１、記録メディア１２、操作部１３、画像データ修復部６０、及びシステムバス１４を有する。
【００３０】
システムバス１４には、画像データ修復部６０、デジタル信号処理部６、圧縮／伸張処理部７、システム制御部９、内部メモリ１０およびメディアインタフェース１１が接続されている。
【００３１】
撮像部１は、撮影レンズ１ａを含む光学系と、この光学系を通して被写体からの光を受光するＣＣＤ型やＣＭＯＳ型のイメージ（エリア）センサ等の撮像素子１ｂとを含み、被写体を撮影し、その撮像信号（アナログ信号）を出力する。
【００３２】
アナログ信号処理部２は、撮像部１からの撮像信号に対し、所定のアナログ信号処理を施す。Ａ／Ｄ変換部３は、アナログ信号処理部２で信号処理されたアナログ信号をデジタル信号に変換する。
【００３３】
駆動部４は、デジタルカメラ１００が撮影モードに設定されると、システム制御部９から供給される駆動パルスに従って、撮像素子１ｂ、アナログ信号処理部２、Ａ／Ｄ変換部３を駆動する。ここで、撮影モードとは、被写体を撮影し、撮影して得られた撮像信号から生成した画像データを記録可能なモードである。
【００３４】
デジタル信号処理部６は、Ａ／Ｄ変換部３からのデジタル信号に対し、操作部１３で設定された動作モードに応じたデジタル信号処理を行い、撮影画像データを生成する。デジタル信号処理部６におけるデジタル信号処理には、黒レベル補正処理（ＯＢ処理）、リニアマトリクス補正処理、ホワイトバランス調整処理、ガンマ補正処理、同時化処理等が含まれる。このデジタル信号処理部６は、例えばＤＳＰで構成される。デジタル信号処理部６で生成された撮影画像データは、内部メモリ１０に一時記憶される。
【００３５】
圧縮／伸張処理部７は、デジタル信号処理部６で生成された撮影画像データに対して圧縮処理を施すとともに、記録メディア１２から得られた圧縮画像データに対して伸張処理を施す。
【００３６】
内部メモリ１０は、例えばＤＲＡＭからなり、デジタル信号処理部６やシステム制御部９や画像データ修復部６０のワークメモリとして利用される他、記録メディア１２に記録される撮影画像データを一時的に記憶するバッファメモリとして利用される。
【００３７】
メディアインタフェース１１は、メモリカード等の記録メディア１２との間でデータの入出力を行う。操作部１３は、デジタルカメラに対して各種操作を行うものであり、撮影を指示するためのレリーズボタン（図示せず）を含む。
【００３８】
ぶれ検出部５は、システム制御部９からの指示に従って、撮像素子１ｂの撮像（露光）中におけるデジタルカメラ１００のぶれ（撮像素子１ｂのぶれと同義）を検出し、検出したぶれに関するぶれ情報を生成し、ぶれ情報をシステム制御部９に出力する。このぶれ情報は、このぶれ情報を生成した撮像時に得られた撮影画像データと共に、システム制御部９により内部メモリ１０に記録される。ぶれを検出する方法としては、ジャイロスコープや圧電素子等のセンサによってぶれを検出する方法や、露光によって得られた画像データから画像処理によって導出する方法がある。画像処理により導出する方法としては、輪郭のぶれ方向から導出する方法や、ある特定のマークを被写体の一部に入れて撮影してそのマークのぶれから導出する方法等がある。これら、ぶれを検出する方法についてはいずれも公知であるため、説明を省略する。
【００３９】
ぶれ検出部５で生成されるぶれ情報は、例えば、ぶれの方向と、画素数（撮像素子１ｂの光電変換素子の個数と対応）で表されるぶれの大きさと、ぶれの速度とを含む。
【００４０】
システム制御部９は、撮影動作を含むデジタルカメラ１００全体の統括制御を行う。
【００４１】
画像データ修復部６０は、デジタル信号処理部６で生成された静止画撮影時に得られた撮影画像データ（以下、静止画像データという）と、その静止画像データを得るための撮像時にぶれ検出部５で検出して生成されたぶれ情報とに基づいて、当該静止画像データを修復して、ぶれのない状態で撮像して得られた静止画像データを復元する。
【００４２】
ここで、ぶれの発生している静止画像データを修復する方法について説明する。
撮像素子１ｂが全くぶれない状態で被写体を撮像したときにデジタル信号処理部６で生成されるぶれのない理想的な静止画像データＯの模式図を図２（ａ）に示す。静止画像データＯは、垂直方向Ｙに順番に配列された画素データＯ１〜Ｏ１０の１０個の画素データからなる画素データ列が、垂直方向Ｙに直交する水平方向Ｘに多数（ｍ個）配列されたもの、又は、水平方向Ｘに配列された多数の画素データからなる画素データ行が、垂直方向Ｙに１０個配列されたものとなっている。
【００４３】
又、図２（ａ）には、撮像中に撮像素子１ｂがＹ方向に向かって２つの光電変換素子分ぶれたときに、撮像素子１ｂの撮影範囲内に新たに入る被写体から得られる２画素データ行分の画素データを画素データＯ１１，Ｏ１２として図示してある。画素データＯ１１，Ｏ１２は、撮像素子１ｂのぶれによって理想的な静止画像データＯの端部（画素データＯ１０）よりもＹ方向外側に広がった画素データを示す。図２（ａ）に示した各画素データ列とそれのＹ方向外側に続く画素データＯ１１と画素データＯ１２と併せた行列表現は、以下の数１に示すような列ベクトル［Ｏ］として表現することができる。
【００４４】
【数１】
2008058803.tif 000003
【００４５】
一方、撮像素子１ｂがぶれた状態で被写体を撮像したときにデジタル信号処理部６で生成された静止画像データＳの模式図を図２（ｂ）に示す。静止画像データＳは、垂直方向Ｙに順番に配列された画素データＳ１〜Ｓ１０の１０個の画素データからなる画素データ列が、垂直方向Ｙに直交する水平方向Ｘに多数（ｍ個）配列されたもの、又は、水平方向Ｘに配列された多数の画素データからなる画素データ行が、垂直方向Ｙに１０個配列されたものとなっている。静止画像データＳの各画素データ列は、以下の数２に示すような列ベクトル[Ｓ]ｎ（ｎ＝１，２，３，・・・，ｍ）として表現することができる。
【００４６】
【数２】
2008058803.tif 000004
【００４７】
ここで、静止画像データＳを得るための撮像時において、撮像素子１ｂが、Ｙ方向に向かって２つの光電変換素子分ぶれたものとする。このぶれによる静止画像データＯのＹ方向の広がりをｚ領域で表した点広がり関数（以下、ぶれ伝達関数という）の行列表現であるぶれ行列をＨとすると、以下の数３の関係が成立する。
【００４８】
【数３】
2008058803.tif 000005
【００４９】
最終的に求めたいのは、ぶれのない理想的な静止画像データＯであるため、この静止画像データＯを復元するには、以下の数４で示される演算が必要となる。数４において、Ｗはぶれ行列Ｈの逆行列である。
【００５０】
【数４】
2008058803.tif 000006
【００５１】
数３を見て分かるように、[Ｓ]ｎのデータ数と［Ｏ］のデータ数は異なるため、ぶれ行列Ｈは、１０行×１２列の行列となり、正則になっていない。このため、ぶれ行列Ｈの逆行列を求めることはできない。そこで、ぶれ行列Ｈの擬似逆行列を求め、これをＷとすることで、［Ｏ］の値を求めることができる。このような処理を行って、静止画像データＯの各画素データ列のデータを復元することで、ぶれのない静止画像データを得ることができる。
【００５２】
上記擬似逆行列Ｗを、ウイナーインバースフィルタのｚ領域で表した伝達関数の行列表現で置き換えれば、静止画像データＳに重畳されているノイズの影響を低く抑えながら、静止画像データＯを復元することが可能である。ここで、ウイナーインバースフィルタのｚ領域で表した伝達関数Ｗ（ｚ）の行列表現は、以下の式（１）に示すものとなる。
【００５３】
Ｗ（ｚ）→([Ｈ]ｔ[Ｈ]＋γ[Ｉ])−１[Ｈ]ｔ・・・式（１）
ここで、[Ｈ]はｚ領域で表したぶれ伝達関数の行列表現であり、[Ｈ]ｔは[Ｈ]の転置行列であり、γは信号とノイズのパワースペクトル比であり、[Ｉ]は単位行列である。
【００５４】
式（１）におけるγ[Ｉ]は、修復対象となる静止画像データＳから求めることが可能であり、修復対象となる静止画像データＳの各画素データ毎、該静止画像データＳの所定範囲内の画素データ毎、又は該静止画像データＳ毎に決定される固定値である。このため、式（１）の([Ｈ]ｔ[Ｈ]＋γ[Ｉ])−１の項を伝達関数の形式にすると、その伝達関数はＩＩＲフィルタの伝達関数として扱うことができ、式（１）の[Ｈ]ｔの項を伝達関数の形式にすると、その伝達関数はＦＩＲフィルタの伝達関数として扱うことができる。
【００５５】
例えば、ぶれ伝達関数Ｈ（ｚ）が以下の式（２）であった場合、式（１）の([Ｈ]ｔ[Ｈ]＋γ[Ｉ])−１の項を伝達関数で表した式は、式（３）のようになり、式（１）の[Ｈ]ｔの項を伝達関数で表した式は、式（４）のようになる。このため、ウイナーインバースフィルタのｚ領域で表した伝達関数Ｗ（ｚ）は以下の式（５）で表すことができる。
Ｈ（ｚ）＝１＋ｚ−１＋ｚ−２  ・・・式（２）
([Ｈ]ｔ[Ｈ]＋γ[Ｉ])−１→{１＋２×ｚ−１＋（３＋γ）×ｚ−２＋２×ｚ−３＋ｚ−４}−１  ・・・式（３）
[Ｈ]ｔ→１＋ｚ−１＋ｚ−２  ・・・式（４）
Ｗ（ｚ）＝（１＋ｚ−１＋ｚ−２）×{１＋２×ｚ−１＋（３＋γ）×ｚ−２＋２×ｚ−３＋ｚ−４}−１  ・・・式（５）
【００５６】
式（３）の伝達関数はＩＩＲフィルタの伝達関数Ｈ（ｚ）ＩＩＲに相当し、式（４）の伝達関数はＦＩＲフィルタの伝達関数Ｈ（ｚ）ＦＩＲに相当する。本実施形態では、このように、ウイナーインバースフィルタの伝達関数Ｗ（ｚ）が、ＩＩＲフィルタの伝達関数Ｈ（ｚ）ＩＩＲとＦＩＲフィルタの伝達関数Ｈ（ｚ）ＦＩＲとの積の形で表現できるという点に着目し、静止画像データＳにウイナーインバースフィルタを用いたウイナーインバースフィルタ処理を施すのではなく、静止画像データＳにＩＩＲフィルタ処理とＦＩＲフィルタ処理を順次施すことで、画像データ修復部６０が静止画像データＯを復元するものとしている。
【００５７】
以下では、デジタル信号処理部６で生成される静止画像データを、図２（ｂ）に示したものとし、画像データ修復部６０で復元される静止画像データを、図２（ａ）に示したものとして説明する。
【００５８】
図３は、図１に示す画像データ修復部６０の内部構成を示すブロック図である。
画像データ修復部６０は、内部メモリ１０に記録されているぶれ情報に基づくぶれがない状態で被写体を撮像したときに得られる理想的な静止画像データＯを、内部メモリ１０に記録されているぶれ情報に対応した静止画像データＳから復元するためのウイナーインバースフィルタの伝達関数Ｗ（ｚ）であって、ＩＩＲフィルタの伝達関数Ｈ（ｚ）ＩＩＲとＦＩＲフィルタの伝達関数Ｈ（ｚ）ＦＩＲとの積の形で表される伝達関数Ｗ（ｚ）を導出する伝達関数Ｗ（ｚ）導出部６３ａと、静止画像データＳの画素データ列[Ｓ]ｎに対し、伝達関数Ｈ（ｚ）ＦＩＲにしたがったＦＩＲフィルタ処理を施すＦＩＲフィルタ処理部６３ｃと、ＦＩＲフィルタ処理部６３ｃでＦＩＲフィルタ処理後の画素データ列[Ｓ]ｎに対し、伝達関数Ｈ（ｚ）ＩＩＲにしたがったＩＩＲフィルタ処理を施して、静止画像データＯを復元するＩＩＲフィルタ処理部６３ｄと、ＦＩＲフィルタ処理部６３ｃでのＦＩＲフィルタ処理に用いるＦＩＲフィルタのフィルタ係数及びＩＩＲフィルタ処理部６３ｄでのＩＩＲフィルタ処理に用いるＩＩＲフィルタのフィルタ係数をそれぞれ設定するフィルタ係数設定部６３ｂと、ＩＩＲフィルタ処理部６３ｄでのＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を設定する初期値設定部６３ｅとを備える。
【００５９】
伝達関数Ｗ（ｚ）導出部６３ａは、内部メモリ１０に記録されているぶれ情報に対応するｚ領域で表されるぶれ伝達関数Ｈ（ｚ）を該ぶれ情報から生成し、生成したぶれ伝達関数Ｈ（ｚ）から式（１）にしたがって伝達関数Ｗ（ｚ）を生成し、内部メモリ１０に記録されているぶれ情報に対応する静止画像データＳから、該生成した伝達関数Ｗ（ｚ）におけるγを求めて、最終的な伝達関数Ｗ（ｚ）を導出する。
【００６０】
ＦＩＲフィルタ処理部６３ｃは、内部メモリ１０から静止画像データＳの画素データ列[Ｓ]ｎを読み出し、読み出した画素データ列[Ｓ]ｎの一端の画素データから他端の画素データまで順番に、伝達関数Ｈ（ｚ）ＦＩＲにしたがったＦＩＲフィルタ処理を施す。このＦＩＲフィルタ処理は、ハードウェアで実現したＦＩＲフィルタ回路を用いて行っても良いし、ソフトウェアで実現したＦＩＲフィルタプログラムを用いて行っても良い。
【００６１】
ＩＩＲフィルタ処理部６３ｄは、ＦＩＲフィルタ処理部６３ｃでＦＩＲフィルタ処理後の画素データ列[Ｓ]ｎの一端の画素データから他端の画素データまで順番に、伝達関数Ｈ（ｚ）ＩＩＲにしたがったＩＩＲフィルタ処理を施して、静止画像データＯを復元する。このＩＩＲフィルタ処理は、ハードウェアで実現したＩＩＲフィルタ回路を用いて行っても良いし、ソフトウェアで実現したＩＩＲフィルタプログラムを用いて行っても良い。
【００６２】
図４は、ＦＩＲフィルタ処理部６３ｃの具体的な構成例を示すブロック図である。ここでは、ハードウェアで実現したＦＩＲフィルタ回路でＦＩＲフィルタ処理を行う場合について説明する。
【００６３】
ＦＩＲフィルタ処理部６３ｃは、直列接続されたｐ（ｐは、デジタルカメラ１００において発生しうる手振れの大きさの最大値）個の加算器Ｋｑ（ｑ＝１〜ｐ）と、直列接続されたｐ個の遅延バッファＢｑと、乗算器Ｊ０と、ｐ個の乗算器Ｊｑとを備えるＦＩＲフィルタ回路で構成される。
【００６４】
加算器Ｋｑは、加算器Ｋ１，Ｋ２，・・・，Ｋｐ−１，Ｋｐの順に接続されている。加算器Ｋ１の入力は、フィルタ係数（ａ０）を乗算する乗算器Ｊ０を介して入力端子５０に接続され、加算器Ｋｐの出力は出力端子５１に接続されている。
【００６５】
遅延バッファＢｑは、遅延バッファＢ１，Ｂ２，・・・，Ｂｐ−１，Ｂｐの順に接続されている。遅延バッファＢ１の入力は入力端子５０に接続され、遅延バッファＢｐの出力は加算器Ｋｐの入力に接続されている。
【００６６】
遅延バッファＢｑの出力と、加算器Ｋｑの入力との間には、フィルタ係数ａｑを乗算する乗算器Ｊｑが接続されている。
【００６７】
図４に示すＦＩＲフィルタ回路のフィルタ係数ａ０，ａｑは、伝達関数Ｗ（ｚ）導出部６３ａで導出された伝達関数Ｗ（ｚ）の伝達関数Ｈ（ｚ）ＦＩＲに基づいて、フィルタ係数設定部６３ｂにより設定される。又、図４に示すＦＩＲフィルタ回路の初期値（図４に示す入力端子５０にデータを入力する前に遅延バッファＢｑに予め記憶させておく値）は０に設定される。
【００６８】
図５は、ＩＩＲフィルタ処理部６３ｄの具体的な構成例を示すブロック図である。ここでは、ハードウェアで実現したＩＩＲフィルタ回路でＩＩＲフィルタ処理を行う場合について説明する。
【００６９】
ＩＩＲフィルタ処理部６３ｄは、直列接続されたｐ個の加算器ｋｑと、直列接続されたｐ個の遅延バッファｂｑと、乗算器ｊ０と、ｐ個の乗算器ｊｑとを備えるＩＩＲフィルタ回路で構成される。
【００７０】
加算器ｋｑは、加算器ｋｐ，ｋｐ−１，・・・，ｋ２，ｋ１の順に接続され、加算器ｋｐの入力は入力端子５２に接続され、加算器ｋ１の出力は、フィルタ係数（１／ｃ０）を乗算する乗算器ｊ０を介して出力端子５３に接続されている。
【００７１】
遅延バッファｂｑは、遅延バッファｂ１，ｂ２，・・・，ｂｐ−１，ｂｐの順に接続され、遅延バッファｂ１の入力は出力端子５３に接続され、遅延バッファｂｐの出力は加算器ｋｐの入力に接続されている。
【００７２】
遅延バッファｂｑの出力と、加算器ｋｑの入力との間には、フィルタ係数（−ｃｑ）を乗算する乗算器ｊｑが接続されている。
【００７３】
図５に示すＩＩＲフィルタ回路のフィルタ係数（１／ｃ０），（−ｃｑ）は、伝達関数Ｗ（ｚ）導出部６３ａで導出された伝達関数Ｗ（ｚ）の伝達関数Ｈ（ｚ）ＩＩＲに基づいて、フィルタ係数設定部６３ｂにより設定される。又、図５に示すＩＩＲフィルタ回路の初期値（図５に示す入力端子５２にデータを入力する前に遅延バッファｂｑに予め記憶させておく値）は、初期値設定部６３ｅにより、ＦＩＲフィルタ処理部でＦＩＲフィルタ処理後の画素データ列[Ｓ]１〜[Ｓ]ｍの各々にしたがった値に設定される。
【００７４】
フィルタ係数設定部６３ｂは、伝達関数Ｗ（ｚ）導出部６３ａで導出された伝達関数Ｈ（ｚ）ＦＩＲに基づいて、図４に示すＦＩＲフィルタ回路のフィルタ係数ａ０，ａｑを設定する機能と、伝達関数Ｗ（ｚ）導出部６３ａで導出された伝達関数Ｈ（ｚ）ＩＩＲに基づいて、図５に示すＩＩＲフィルタ回路のフィルタ係数（１／ｃ０），（−ｃｑ）を設定する機能とを有する。
【００７５】
ＦＩＲフィルタの伝達関数Ｈ（ｚ）ＦＩＲは、以下の数５で表すことができ、ＩＩＲフィルタの伝達関数Ｈ（ｚ）ＩＩＲは、以下の数６で表すことができる。数５、数６のＬは、伝達関数Ｗ（ｚ）を導出するために用いたぶれ情報に基づくぶれの大きさを示す。
【００７６】
【数５】
2008058803.tif 000007
【００７７】
【数６】
2008058803.tif 000008
【００７８】
このため、フィルタ係数設定部６３ｂは、伝達関数Ｗ（ｚ）導出部６３ａで導出された伝達関数Ｗ（ｚ）と数５と数６により、図４に示すＦＩＲフィルタ回路のフィルタ係数ａ０，ａｑと、図５に示すＩＩＲフィルタ回路のフィルタ係数（１／ｃ０），（−ｃｑ）とを設定することができる。
【００７９】
例えば、伝達関数Ｗ（ｚ）導出部６３ａで導出された伝達関数Ｗ（ｚ）が式（５）であった場合、この式（５）から、数５におけるＬの値は２となり、ａ０，ａ１，ａ２の値はそれぞれ１となるため、フィルタ係数設定部６３ｂは、図４に示すＦＩＲフィルタ回路において、ａ０，ａ１，ａ２の値をそれぞれ１に設定し、ａ３〜ａｐの値をそれぞれ０に設定する。同様に、式（５）から、数６におけるＬの値は２となり、ｃ０，ｃ１，ｃ２の値はそれぞれ１となるため、フィルタ係数設定部６３ｂは、図５に示すＩＩＲフィルタ回路において、ｃ０，ｃ１，ｃ２の値をそれぞれ１に設定し、ｃ３〜ｃｐの値をそれぞれ０に設定する。
【００８０】
このようにすることで、図４に示すＦＩＲフィルタ回路が、ウイナーインバースフィルタの行列表現の[Ｈ]ｔの項に相当するものとなり、図５に示すＩＩＲフィルタ回路が、ウイナーインバースフィルタの行列表現の([Ｈ]ｔ[Ｈ]＋γ[Ｉ])−１の項に相当するものとなる。
【００８１】
ＦＩＲフィルタ処理部６３ｃは、フィルタ係数設定部６３ｂでフィルタ係数が設定された図４に示すＦＩＲフィルタ回路の入力端子５０に、内部メモリ１０に記録されている画素データ列[Ｓ]ｎを一端から他端まで順番に入力してＦＩＲフィルタ処理を行い、ＦＩＲフィルタ処理後の画素データ列[Ｓ]ｎを初期値設定部６３ｅに出力する。
【００８２】
初期値設定部６３ｅは、ＦＩＲフィルタ処理部６３ｃで処理された画素データ列[Ｓ]ｎにＩＩＲフィルタ処理を施すための図５に示すＩＩＲフィルタ回路の初期値を、その画素データ列[Ｓ]ｎの一端の画素データの値に設定する。
【００８３】
例えば、ＦＩＲフィルタ処理部６３ｃで処理された画素データ列[Ｓ]ｎを、画素データＳ１０から画素データＳ１までの順番で図５に示すＩＩＲフィルタ回路の入力端子５２に入力するものとすると、初期値設定部６３ｅは、その画素データ列[Ｓ]ｎにＩＩＲフィルタ処理を施すための図５に示すＩＩＲフィルタ回路の初期値を、その画素データ列[Ｓ]ｎの画素データＳ１０の値に設定する。
【００８４】
又は、ＦＩＲフィルタ処理部６３ｃで処理された画素データ列[Ｓ]ｎを、画素データＳ１から画素データＳ１０までの順番で図５に示すＩＩＲフィルタ回路の入力端子５２に入力するものとすると、初期値設定部６３ｅは、その画素データ列[Ｓ]ｎにＩＩＲフィルタ処理を施すための図５に示すＩＩＲフィルタ回路の初期値を、その画素データ列[Ｓ]ｎの画素データＳ１の値に設定する。
【００８５】
ＩＩＲフィルタ処理部６３ｄは、フィルタ係数設定部６３ｂでフィルタ係数が設定され、初期値設定部６３ｅでＦＩＲフィルタ処理後の画素データ列[Ｓ]ｎにしたがった初期値が設定された図５に示すＩＩＲフィルタ回路の入力端子５２に、ＦＩＲフィルタ処理部６３ｃで処理された画素データ列[Ｓ]ｎを一端から他端まで順番に入力してＩＩＲフィルタ処理を行って、静止画像データＯを復元する。初期値設定部６３ｅとＩＩＲフィルタ処理部６３ｄとＦＩＲフィルタ処理部６３ｃは、ｎの値を１からｍまで変化させていくことで、静止画像データＯの全画素データ列を復元する。
【００８６】
次に、画像データ修復部６０の動作について説明する。
図６は、画像データ修復部６０の動作を説明するためのフローチャートである。
まず、撮像素子１ｂにより撮像が行われると、その撮像中の撮像素子１ｂのぶれに関するぶれ情報が生成され、このぶれ情報が、その撮像により得られる静止画像データＳと対応付けて内部メモリ１０に記録される。
【００８７】
内部メモリ１０に静止画像データＳとぶれ情報が記録された後、画像データ修復部６０は、内部メモリ１０に記録されたぶれ情報と静止画像データＳとにしたがって伝達関数Ｗ（ｚ）を導出し（ステップＳ１）、この伝達関数Ｗ（ｚ）から図４に示すＦＩＲフィルタ回路のフィルタ係数と図５に示すＩＩＲフィルタ回路のフィルタ係数を設定する（ステップＳ２）。
【００８８】
次に、画像データ修復部６０は、内部メモリ１０から静止画像データＳの画素データ列[Ｓ]１を読み出し、読み出した画素データ列[Ｓ]１の一端の画素データから他端の画素データまで順番に、ステップＳ２でフィルタ係数が設定されたＦＩＲフィルタ回路により、ＦＩＲフィルタ処理を施す（ステップＳ３）。
【００８９】
次に、画像データ修復部６０は、ＦＩＲフィルタ処理後の画素データ列[Ｓ]１から、その画素データ列[Ｓ]１に対して施すＩＩＲフィルタ処理に用いるＩＩＲフィルタ回路の初期値を設定する（ステップＳ４）。
【００９０】
次に、画像データ修復部６０は、ＦＩＲフィルタ処理後の画素データ列[Ｓ]１の一端の画素データから他端の画素データまで順番に、ステップＳ２でフィルタ係数が設定されステップＳ４で初期値が設定されたＩＩＲフィルタ回路によりＩＩＲフィルタ処理を施して（ステップＳ５）、静止画像データＯの１つの画素データ列を復元し、復元した画素データ列を内部メモリ１０に記録する。
【００９１】
次に、画像データ修復部６０は、ｎ＝ｍとなっているか判定し（ステップＳ６）、ｎ≠ｍであった場合（ステップＳ６：ＮＯ）は、ｎ＝ｎ＋１として（ステップＳ７）、処理をステップＳ３に移行する。一方、ｎ＝ｍであった場合（ステップＳ６：ＹＥＳ）は、静止画像データＯの全画素データ列の復元が完了されていると判断し、画像データ修復処理を終了する。内部メモリ１０に記録された静止画像データＯは、圧縮／伸張処理部７で圧縮された後、記録メディア１２に記録される。
【００９２】
以上のように、本実施形態の画像データ修復部６０によれば、ウイナーインバースフィルタ処理をしたときと同等の効果を、ＩＩＲフィルタ処理とＦＩＲフィルタ処理との組み合わせで得ることができる。ＩＩＲフィルタ処理やＦＩＲフィルタ処理は、ウイナーインバースフィルタ処理に比べて処理が簡単であり、使用メモリや演算量が少ない。このため、メモリ効率良く且つ演算量を抑えて画像データの修復を行うことができる。又、ＩＩＲフィルタやＦＩＲフィルタは、ウイナーインバースフィルタに比べてハードウェア化が容易であるため、画像データ修復部６０の製造コストを削減することができる。
【００９３】
又、本実施形態の画像データ修復部６０によれば、静止画像データＳをフーリエ変換して、修復後に逆フーリエ変換するといった手間が不要となるため、画像データの修復処理速度を向上させることができる。
【００９４】
尚、以上の説明では、静止画像データＳに対して、ＦＩＲフィルタ処理とＩＩＲフィルタ処理をこの順番で施すことで、ウイナーインバースフィルタ処理と同等の処理を行うものとしたが、この順番は逆でも構わない。この場合の画像データ修復部６０の構成及び動作について以下に説明する。
【００９５】
図７は、図１に示す画像データ修復部６０の内部構成の変形例を示すブロック図である。図７において図３と同様の構成には同一符号を付してある。
画像データ修復部６０は、伝達関数Ｗ（ｚ）導出部６３ａと、静止画像データＳの画素データ列[Ｓ]ｎに対し、伝達関数Ｈ（ｚ）ＩＩＲにしたがったＩＩＲフィルタ処理を施すＩＩＲフィルタ処理部７３ｄと、ＩＩＲフィルタ処理部７３ｄでＩＩＲフィルタ処理後の画素データ列[Ｓ]ｎに対し、伝達関数Ｈ（ｚ）ＦＩＲにしたがったＦＩＲフィルタ処理を施して、静止画像データＯを復元するＦＩＲフィルタ処理部７３ｃと、ＦＩＲフィルタ処理部７３ｃでのＦＩＲフィルタ処理に用いるＦＩＲフィルタのフィルタ係数及びＩＩＲフィルタ処理部７３ｄでのＩＩＲフィルタ処理に用いるＩＩＲフィルタのフィルタ係数をそれぞれ設定するフィルタ係数設定部７３ｂと、ＩＩＲフィルタ処理部７３ｄでのＩＩＲフィルタ処理に用いるＩＩＲフィルタの初期値を設定する初期値設定部７３ｅとを備える。
【００９６】
ＩＩＲフィルタ処理部７３ｄは、内部メモリ１０から静止画像データＳの画素データ列[Ｓ]ｎを読み出し、読み出した画素データ列[Ｓ]ｎの一端の画素データから他端の画素データまで順番に、伝達関数Ｈ（ｚ）ＩＩＲにしたがったＩＩＲフィルタ処理を施す。このＩＩＲフィルタ処理は、ハードウェアで実現したＩＩＲフィルタ回路を用いて行っても良いし、ソフトウェアで実現したＩＩＲフィルタプログラムを用いて行っても良い。
【００９７】
尚、ＩＩＲフィルタ処理部７３ｄの具体的な構成例は、図５に示す回路と同じであり、図５に示すＩＩＲフィルタ回路のフィルタ係数（１／ｃ０），（−ｃｑ）は、伝達関数Ｗ（ｚ）導出部６３ａで導出された伝達関数Ｗ（ｚ）の伝達関数Ｈ（ｚ）ＩＩＲに基づいて、フィルタ係数設定部７３ｂにより設定される。又、図５に示すＩＩＲフィルタ回路の初期値は、初期値設定部７３ｅにより、内部メモリ１０に記録されている画素データ列[Ｓ]１〜[Ｓ]ｍの各々に基づいた値に設定される。
【００９８】
ＦＩＲフィルタ処理部７３ｃは、ＩＩＲフィルタ処理部７３ｄでＩＩＲフィルタ処理後の画素データ列[Ｓ]ｎの一端の画素データから他端の画素データまで順番に、伝達関数Ｈ（ｚ）ＦＩＲにしたがったＦＩＲフィルタ処理を施して、静止画像データＯを復元する。このＦＩＲフィルタ処理は、ハードウェアで実現したＦＩＲフィルタ回路を用いて行っても良いし、ソフトウェアで実現したＦＩＲフィルタプログラムを用いて行っても良い。
【００９９】
尚、ＦＩＲフィルタ処理部７３ｃの具体的な構成例は、図４に示す回路と同じであり、図４に示すＦＩＲフィルタ回路のフィルタ係数ａ０，ａｑは、伝達関数Ｗ（ｚ）導出部６３ａで導出された伝達関数Ｗ（ｚ）の伝達関数Ｈ（ｚ）ＦＩＲに基づいて、フィルタ係数設定部７３ｂにより設定される。又、ＦＩＲフィルタ処理部７３ｃでのＦＩＲフィルタ処理に用いる図４に示すＦＩＲフィルタ回路の初期値は０に設定される。
【０１００】
フィルタ係数設定部７３ｂによるフィルタ係数の設定方法は、フィルタ係数設定部６３ｂと同様である。
【０１０１】
初期値設定部７３ｅは、画素データ列[Ｓ]ｎにＩＩＲフィルタ処理を施すための図５に示すＩＩＲフィルタ回路の初期値を、その画素データ列[Ｓ]ｎの一端の画素データの値に設定する。
【０１０２】
ＩＩＲフィルタ処理部７３ｄは、フィルタ係数設定部７３ｂでフィルタ係数が設定され、初期値設定部６３ｅで画素データ列[Ｓ]ｎにしたがった初期値が設定された図５に示すＩＩＲフィルタ回路の入力端子５２に、内部メモリ１０に記録されている画素データ列[Ｓ]ｎを一端から他端まで順番に入力してＩＩＲフィルタ処理を行い、ＩＩＲフィルタ処理後の画素データ列[Ｓ]ｎをＦＩＲフィルタ処理部７３ｃに出力する。
【０１０３】
ＦＩＲフィルタ処理部７３ｃは、フィルタ係数設定部７３ｂでフィルタ係数が設定された図４に示すＦＩＲフィルタ回路の入力端子５０に、ＩＩＲフィルタ処理部７３ｄで処理された画素データ列[Ｓ]ｎを一端から他端まで順番に入力してＦＩＲフィルタ処理を行って、静止画像データＯを復元する。初期値設定部７３ｅとＩＩＲフィルタ処理部７３ｄとＦＩＲフィルタ処理部７３ｃは、ｎの値を１からｍまで変化させていくことで、静止画像データＯの全画素データ列を復元する。
【０１０４】
次に、図７に示す画像データ修復部６０の動作について説明する。
図８は、図７に示す画像データ修復部６０の動作を説明するためのフローチャートである。図８において図６と同様のステップには同一符号を付してある。
ステップＳ２でフィルタ係数が設定された後、画像データ修復部６０は、内部メモリ１０から静止画像データＳの画素データ列[Ｓ]１を読み出し、この画素データ列[Ｓ]１の一端の画素データの値を図５に示すＩＩＲフィルタ回路の初期値として設定し（ステップＳ１３）、読み出した画素データ列[Ｓ]１の一端の画素データから他端の画素データまで順番に、ステップＳ２でフィルタ係数が設定されステップＳ３で初期値が設定された図５に示すＩＩＲフィルタ回路により、ＩＩＲフィルタ処理を施す（ステップＳ１４）。
【０１０５】
次に、画像データ修復部６０は、ＩＩＲフィルタ処理後の画素データ列[Ｓ]１の一端の画素データから他端の画素データまで順番に、ステップＳ２でフィルタ係数が設定された図４に示すＦＩＲフィルタ回路によりＦＩＲフィルタ処理を施して（ステップＳ１５）、静止画像データＯの１つの画素データ列を復元し、復元した画素データ列を内部メモリ１０に記録する。
【０１０６】
次に、画像データ修復部６０は、ｎ＝ｍとなっているか判定し（ステップＳ６）、ｎ≠ｍであった場合（ステップＳ６：ＮＯ）は、ｎ＝ｎ＋１として（ステップＳ７）、処理をステップＳ１３に移行する。一方、ｎ＝ｍであった場合（ステップＳ６：ＹＥＳ）は、静止画像データＯの全画素データ列の復元が完了されていると判断し、画像データ修復処理を終了する。内部メモリ１０に記録された静止画像データＯは、圧縮／伸張処理部７で圧縮された後、記録メディア１２に記録される。
【０１０７】
尚、ＦＩＲフィルタ処理とＩＩＲフィルタ処理を共にハードウェアによって実現するものとし、且つ、静止画像データＳに対して、ＦＩＲフィルタ処理とＩＩＲフィルタ処理をこの順番で施すものとした場合には、ＩＩＲフィルタ処理後のデータやＦＩＲフィルタ処理後のデータを記憶するバッファメモリの量を、この順番を逆にした場合に比べて削減することができる。
【０１０８】
又、上述した実施形態の画像データ修復部６０は、コンピュータを画像データ修復部６０内の各部として機能させるための画像データ修復プログラム、又は、図６，図８に示した画像データ修復部６０の各処理ステップをコンピュータに実行させるための画像データ修復プログラムを、デジタルカメラに搭載されている演算処理装置等のコンピュータ（例えば、デジタル信号処理部６やシステム制御部９）が実行することでも実現できる。又、デジタルカメラ等から得られた静止画像データＳとそれに対応するぶれ情報を、そのままパーソナルコンピュータの内部メモリに取り込み、上記の画像データ修復プログラムをこのコンピュータが実行することで、このコンピュータを画像データ修復部６０として機能させることも可能である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施形態を説明するための手ぶれ補正機能を有するデジタルカメラの概略構成を示す図
【図２】ぶれの発生している静止画像データを修復する方法を説明するための図
【図３】図１に示す画像データ修復部の内部構成を示すブロック図
【図４】図３に示すＦＩＲフィルタ処理部の内部構成を示すブロック図
【図５】図３に示すＩＩＲフィルタ処理部の内部構成を示すブロック図
【図６】図３に示す画像データ修復部の動作を説明するためのフローチャート
【図７】図１に示す画像データ修復部の内部構成の変形例を示すブロック図
【図８】図７に示す画像データ修復部の動作を説明するためのフローチャート
【符号の説明】
【０１１０】
１  撮像部
２  アナログ信号処理部
３  Ａ／Ｄ変換部
４  駆動部
５  ぶれ検出部
６  デジタル信号処理部
７  圧縮／伸張処理部
９  システム制御部
１０  内部メモリ
１１  メディアインタフェース
１２  記録メディア
１３  操作部
１４  システムバス
６０  画像データ修復部
６３ａ  伝達関数Ｗ（ｚ）導出部
６３ｂ  フィルタ係数設定部
６３ｃ  ＦＩＲフィルタ処理部
６３ｄ  ＩＩＲフィルタ処理部
６３ｅ  初期値設定部
【図１】
2008058803.tif 000009
【図２】
2008058803.tif 000010
【図３】
2008058803.tif 000011
【図４】
2008058803.tif 000012
【図５】
2008058803.tif 000013
【図６】
2008058803.tif 000014
【図７】
2008058803.tif 000015
【図８】
2008058803.tif 000016