(57)【要約】【課題】  この発明は、手ぶれサイズが大きい場合でも、十分な補正効果を得ることができる手ぶれ補正装置を提供することを目的とする。【解決手段】  所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する画像復元フィルタ生成手段、手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率と同じ縮小率で手ぶれ画像を縮小する画像縮小手段、画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像縮小手段によって縮小された手ぶれ画像に対して画像復元を行なう画像復元手段、ならびに画像復元手段によって復元された復元画像を拡大することにより、手ぶれ画像に対する復元画像を生成する画像拡大手段を備えている。【選択図】  図１
2007088828.tif 000002
【特許請求の範囲】
【請求項１】
手ぶれ信号に基づいて画像復元フィルタを生成し、得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう手ぶれ補正装置において、
所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、
手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する画像復元フィルタ生成手段、
手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率と同じ縮小率で手ぶれ画像を縮小する画像縮小手段、
画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像縮小手段によって縮小された手ぶれ画像に対して画像復元を行なう画像復元手段、ならびに
画像復元手段によって復元された復元画像を拡大することにより、手ぶれ画像に対する復元画像を生成する画像拡大手段、
を備えていることを特徴とする手ぶれ補正装置。
【請求項２】
手ぶれ信号に基づいて画像復元フィルタを生成し、得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう手ぶれ補正装置において、
所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、
手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する画像復元フィルタ生成手段、
手ぶれ画像を複数の間引き画像に分解する画像分解手段、
画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像分解手段によって分解された各間引き画像に対して画像復元を行なう画像復元手段、ならびに
画像復元手段によって復元された各復元画像を合成することにより、手ぶれ画像に対する復元画像を生成する画像合成手段、
を備えていることを特徴とする手ぶれ補正装置。
【請求項３】
画像分解手段は、手ぶれ画像を、手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率を考慮した数の間引き画像に分解することを特徴とする請求項２に記載の手ぶれ補正装置。
【請求項４】
手ぶれ信号縮小手段は、予め設定された水平方向の縮小率および垂直方向の縮小率を決定し、決定した水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小するものであることを特徴とする請求項１乃至３に記載の手ぶれ補正装置。    
【請求項５】
手ぶれ信号縮小手段は、手ぶれ信号の水平方向の大きさおよび垂直方向の大きさにそれぞれ基づいて、水平方向の縮小率および垂直方向の縮小率を決定し、決定した水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小するものであることを特徴とする請求項１乃至３に記載の手ぶれ補正装置。
【請求項６】
手ぶれ信号に基づいて画像復元フィルタを生成し、得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう手ぶれ補正装置において、
手ぶれ信号を所定の閾値と比較することにより、手ぶれサイズが大きいか小さいかを判定する手ぶれサイズ判定手段、
手ぶれサイズ判定手段によって手ぶれサイズが小さいと判定された場合には、第１モードによる手ぶれ補正処理を実行する第１の手ぶれ補正手段、および
手ぶれサイズ判定手段によって手ぶれサイズが大きいと判定された場合には、第２モードによる手ぶれ補正処理を実行する第２の手ぶれ補正手段を備えており、
第１の手ぶれ補正手段は、
手ぶれ信号に基づいて画像復元フィルタを生成する第１の画像復元フィルタ生成手段、および
第１の画像復元フィルタ生成手段によって得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう第１の画像復元手段を備えており、
第２の手ぶれ補正手段は、
所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、
手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する第２の画像復元フィルタ生成手段、
手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率と同じ縮小率で手ぶれ画像を縮小する画像縮小手段、
第２の画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像縮小手段によって縮小された手ぶれ画像に対して画像復元を行なう第２の画像復元手段、ならびに
画像復元手段によって復元された復元画像を拡大することにより、手ぶれ画像に対する復元画像を生成する画像拡大手段を備えていることを特徴とする手ぶれ補正装置。
【請求項７】
手ぶれ信号に基づいて画像復元フィルタを生成し、得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう手ぶれ補正装置において、
手ぶれ信号を所定の閾値と比較することにより、手ぶれサイズが大きいか小さいかを判定する手ぶれサイズ判定手段、
手ぶれサイズ判定手段によって手ぶれサイズが小さいと判定された場合には、第１モードによる手ぶれ補正処理を実行する第１の手ぶれ補正手段、および
手ぶれサイズ判定手段によって手ぶれサイズが大きいと判定された場合には、第２モードによる手ぶれ補正処理を実行する第２の手ぶれ補正手段を備えており、
第１の手ぶれ補正手段は、
手ぶれ信号に基づいて画像復元フィルタを生成する第１の画像復元フィルタ生成手段、および
第１の画像復元フィルタ生成手段によって得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう第１の画像復元手段を備えており、
第２の手ぶれ補正手段は、
所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、
手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する第２の画像復元フィルタ生成手段、
手ぶれ画像を複数の間引き画像に分解する画像分解手段、
画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像分解手段によって分解された各間引き画像に対して画像復元を行なう第２の画像復元手段、ならびに
画像復元手段によって復元された各復元画像を合成することにより、手ぶれ画像に対する復元画像を生成する画像合成手段を備えていることを特徴とする手ぶれ補正装置。
【請求項８】
画像分解手段は、手ぶれ画像を、手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率を考慮した数の間引き画像に分解することを特徴とする請求項７に記載の手ぶれ補正装置。
【請求項９】
手ぶれ信号縮小手段は、予め設定された水平方向の縮小率および垂直方向の縮小率を決定し、決定した水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小するものであることを特徴とする請求項６乃至８に記載の手ぶれ補正装置。    
【請求項１０】
手ぶれ信号縮小手段は、手ぶれ信号の水平方向の大きさおよび垂直方向の大きさにそれぞれ基づいて、水平方向の縮小率および垂直方向の縮小率を決定し、決定した水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小するものであることを特徴とする請求項６乃至８に記載の手ぶれ補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、手ぶれ補正装置に関する。
【背景技術】
【０００２】
静止画手ぶれ補正技術は、静止画撮影における手ぶれを軽減する技術であり、手ぶれを検出して、その検出結果に基づいて画像を安定化することで実現される。
【０００３】
手ぶれを検出する方法には、手ぶれセンサ（角速度センサ）を用いる方法と、画像を解析して検出する電子式とがある。画像を安定化させる方法には、レンズや撮像素子を安定化させる光学式と、画像処理により手ぶれによるぼけを除去する電子式とがある。
【０００４】
一方、完全電子式の手ぶれ補正技術、すなわち、撮影された一枚の手ぶれ画像だけを解析・処理することで、手ぶれの除去された画像を生成する技術は、実用レベルに達していない。特に、手ぶれセンサで得られる精度の手ぶれ信号を、一枚の手ぶれ画像を解析することによって求めることは困難である。
【０００５】
したがって、手ぶれセンサを用いて手ぶれを検出し、その手ぶれデータを用いて画像処理により手ぶれぼけを除去することが現実的である。画像処理によるぼけの除去を画像復元と呼ぶ。手ぶれセンサと画像復元による手法を、ここでは電子式手ぶれ補正と呼ぶことにする。なお、手ぶれセンサを用いて手ぶれを検出し、光学系（レンズ、撮像素子）を駆動させることにより、画像を補正する手法を光学式手ぶれ補正と呼ぶことにする。電子式手ぶれ補正は、光学式手ぶれ補正に比べてコスト、サイズ、消費電力の面でメリットがある。本願発明は、電子式手ぶれ補正に関するものである。
【０００６】
ところで、手ぶれやピンボケなどの画像の劣化過程が明確であるならば、ウィーナフィルタや一般逆フィルタと呼ばれる画像復元フィルタを用いることで、その劣化を軽減することが可能である。画像復元フィルタは、一般に、２次元ＦＩＲフィルタで構成される。手ぶれ補正装置をハードウェアで実現した場合、２次元ＦＩＲフィルタのサイズはハードウェアの制約によりそのタップサイズの上限値は固定されてしまう。このため、手ぶれサイズがある一定値以上大きくなると、画像復元フィルタの全ての係数成分が２次元ＦＩＲフィルタのタップ数内に収まりきらなくなり、補正効果が低下する。このため、画像復元を行なえる手ぶれサイズの上限値が制約されてしまう。
【０００７】
【特許文献１】特開平７−２２６９０５号公報
【特許文献２】特開平１０−２１５４０５号公報
【特許文献３】特開平１１−２４１２２号公報
【特許文献４】特開平１１−２７５７４号公報
【特許文献５】特開２０００−２９８３００号公報
【特許文献６】特開２００４−８８５６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は、手ぶれサイズが大きい場合でも、十分な補正効果を得ることができる手ぶれ補正装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、手ぶれ信号に基づいて画像復元フィルタを生成し、得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう手ぶれ補正装置において、所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する画像復元フィルタ生成手段、手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率と同じ縮小率で手ぶれ画像を縮小する画像縮小手段、画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像縮小手段によって縮小された手ぶれ画像に対して画像復元を行なう画像復元手段、ならびに画像復元手段によって復元された復元画像を拡大することにより、手ぶれ画像に対する復元画像を生成する画像拡大手段を備えていることを特徴とする。
【００１０】
請求項２に記載の発明は、手ぶれ信号に基づいて画像復元フィルタを生成し、得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう手ぶれ補正装置において、所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する画像復元フィルタ生成手段、手ぶれ画像を複数の間引き画像に分解する画像分解手段、画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像分解手段によって分解された各間引き画像に対して画像復元を行なう画像復元手段、ならびに画像復元手段によって復元された各復元画像を合成することにより、手ぶれ画像に対する復元画像を生成する画像合成手段を備えていることを特徴とする。
【００１１】
請求項３に記載の発明は、請求項２に記載の発明において、画像分解手段は、手ぶれ画像を、手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率を考慮した数の間引き画像に分解することを特徴とする。
【００１２】
請求項４に記載の発明は、請求項１乃至３に記載の発明において、手ぶれ信号縮小手段は、予め設定された水平方向の縮小率および垂直方向の縮小率を決定し、決定した水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小するものであることを特徴とする。
【００１３】
請求項５に記載の発明は、請求項１乃至３に記載の発明において、手ぶれ信号縮小手段は、手ぶれ信号の水平方向の大きさおよび垂直方向の大きさにそれぞれ基づいて、水平方向の縮小率および垂直方向の縮小率を決定し、決定した水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小するものであることを特徴とする。
【００１４】
請求項６に記載の発明は、手ぶれ信号に基づいて画像復元フィルタを生成し、得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう手ぶれ補正装置において、手ぶれ信号を所定の閾値と比較することにより、手ぶれサイズが大きいか小さいかを判定する手ぶれサイズ判定手段、手ぶれサイズ判定手段によって手ぶれサイズが小さいと判定された場合には、第１モードによる手ぶれ補正処理を実行する第１の手ぶれ補正手段、および手ぶれサイズ判定手段によって手ぶれサイズが大きいと判定された場合には、第２モードによる手ぶれ補正処理を実行する第２の手ぶれ補正手段を備えており、第１の手ぶれ補正手段は、手ぶれ信号に基づいて画像復元フィルタを生成する第１の画像復元フィルタ生成手段、および第１の画像復元フィルタ生成手段によって得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう第１の画像復元手段を備えており、第２の手ぶれ補正手段は、所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する第２の画像復元フィルタ生成手段、手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率と同じ縮小率で手ぶれ画像を縮小する画像縮小手段、第２の画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像縮小手段によって縮小された手ぶれ画像に対して画像復元を行なう第２の画像復元手段、ならびに画像復元手段によって復元された復元画像を拡大することにより、手ぶれ画像に対する復元画像を生成する画像拡大手段を備えていることを特徴とする。
【００１５】
請求項７に記載の発明は、手ぶれ信号に基づいて画像復元フィルタを生成し、得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう手ぶれ補正装置において、手ぶれ信号を所定の閾値と比較することにより、手ぶれサイズが大きいか小さいかを判定する手ぶれサイズ判定手段、手ぶれサイズ判定手段によって手ぶれサイズが小さいと判定された場合には、第１モードによる手ぶれ補正処理を実行する第１の手ぶれ補正手段、および手ぶれサイズ判定手段によって手ぶれサイズが大きいと判定された場合には、第２モードによる手ぶれ補正処理を実行する第２の手ぶれ補正手段を備えており、第１の手ぶれ補正手段は、手ぶれ信号に基づいて画像復元フィルタを生成する第１の画像復元フィルタ生成手段、および第１の画像復元フィルタ生成手段によって得られた画像復元フィルタを用いて手ぶれ画像に対して画像復元を行なう第１の画像復元手段を備えており、第２の手ぶれ補正手段は、所与の水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小する手ぶれ信号縮小手段、手ぶれ信号縮小手段によって縮小された手ぶれ信号に基づいて画像復元フィルタを生成する第２の画像復元フィルタ生成手段、手ぶれ画像を複数の間引き画像に分解する画像分解手段、画像復元フィルタ生成手段によって生成された画像復元フィルタを用いて、画像分解手段によって分解された各間引き画像に対して画像復元を行なう第２の画像復元手段、ならびに画像復元手段によって復元された各復元画像を合成することにより、手ぶれ画像に対する復元画像を生成する画像合成手段を備えていることを特徴とする。
【００１６】
請求項８に記載の発明は、請求項７に記載の発明において、画像分解手段は、手ぶれ画像を、手ぶれ信号縮小手段によって手ぶれ信号を縮小する際に用いられる水平方向および垂直方向の縮小率を考慮した数の間引き画像に分解することを特徴とする。
【００１７】
請求項９に記載の発明は、請求項６乃至８に記載の発明において、手ぶれ信号縮小手段は、予め設定された水平方向の縮小率および垂直方向の縮小率を決定し、決定した水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小するものであることを特徴とする。
【００１８】
請求項１０に記載の発明は、請求項６乃至８に記載の発明において、手ぶれ信号縮小手段は、手ぶれ信号の水平方向の大きさおよび垂直方向の大きさにそれぞれ基づいて、水平方向の縮小率および垂直方向の縮小率を決定し、決定した水平方向の縮小率および垂直方向の縮小率を用いて手ぶれ信号を縮小するものであることを特徴とする。
【発明の効果】
【００１９】
この発明によれば、手ぶれサイズが大きい場合でも、十分な補正効果を得ることができるようになる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、この発明をデジタルカメラに適用した場合の実施例について説明する。
【実施例１】
【００２１】
〔１〕手ぶれ補正処理回路の構成
図１は、デジタルカメラに設けられた手ぶれ補正処理回路の構成を示している。
【００２２】
角速度センサ１１、１２は、カメラの角速度を検出するために設けられている。一方の角速度センサ１１はカメラのパン方向の角速度を、他方の角速度センサ１２はカメラのチルト方向の角速度をそれぞれ検出する。各角速度センサ１１、１２の出力信号は、それそぞれアンプ１３、１４によって増幅された後、Ａ／Ｄ変換器１５、１６によってデジタルデータに変換される。
【００２３】
手ぶれ補正処理回路は、画像復元フィルタ計算部２０および画像復元処理部３０を備えている。画像復元フィルタ計算部２０は、パン方向の角速度データおよびチルト方向の角速度データに基づいて、画像復元フィルタ（一般逆フィルタ）の係数を算出する。画像復元処理部３０は、画像復元フィルタ計算部２０によって算出された係数に基づいて、撮像画像（手ぶれ画像）v ＿tebre に対して画像復元処理を行なう。
【００２４】
以下、画像復元フィルタ計算部２０および画像復元処理部３０について説明する。
【００２５】
〔２〕画像復元フィルタ計算部２０の説明
画像復元フィルタ計算部２０は、手ぶれ信号／動きベクトル変換処理部２１、手ぶれサイズ判定部２２、セレクタ２３、動きベクトル縮小処理部２４、動きベクトル／手ぶれ関数変換処理部２５および手ぶれ関数／一般逆フィルタ変換処理部２６を備えている。
【００２６】
〔２−１〕手ぶれ信号／動きベクトル変換処理部２１についての説明
手ぶれ信号／動きベクトル変換処理部２１は、角速度センサ１１、１２によって検出された角速度データ（手ぶれ信号）を動きベクトルに変換する。
【００２７】
手ぶれの元データは、撮影開始から撮影終了までの間の角速度センサ１１、１２の出力データである。角速度センサ１１、１２を用いてカメラの露光時期と同期させることで、撮影開始と共に所定のサンプリング間隔ｄｔ[sec] でパン方向およびチルト方向の角速度を計測し、撮影終了までのデータを得る。サンプリング間隔ｄｔ[sec] は、たとえば、１ｍｓｅｃである。  
【００２８】
図２に示すように、例えば、カメラのパン方向の角速度θ’[deg/sec] は、角速度センサ１１によって電圧Ｖg [mV]に変換された後、アンプ１３によって増幅される。アンプ１３から出力される電圧Ｖa [mV] はＡ／Ｄ変換器１５によってデジタル値ＤL [step]に変換される。デジタル値として得られたデータを角速度に変換するには、センサ感度Ｓ[mV/deg/sec]、アンプ倍率Ｋ[ 倍] 、Ａ／Ｄ変換係数Ｌ[mV/step] を用いて計算する。
【００２９】
角速度センサ１１によって得られる電圧値Ｖg [mV]は、角速度θ’[deg/sec] の値と比例する。このときの比例定数はセンサ感度であるので、Ｖg [mV]は、次式（１）で表される。
【００３０】
Ｖg ＝Ｓθ’…（１）
【００３１】
また、アンプ１３は電圧値を増幅するだけなので、増幅された電圧Ｖa [mV] は、次式（２）で表される。
【００３２】
Ｖa ＝ＫＶg …（２）
【００３３】
アンプ１３で増幅された電圧値Ｖa [mV] はＡ／Ｄ変換され、ｎ[step]（例えば、−５１２〜５１２）のデジタル値ＤL [step]を使って表現される。Ａ／Ｄ変換係数をＬ[mV/step] とすると、デジタル値ＤL [step]は、次式（３）で表される。
【００３４】
ＤL ＝Ｖa ／Ｌ…（３）
【００３５】
上記式（１）〜（３）を用いることで、次式（４）に示すように、センサデータから角速度を求めることができる。
【００３６】
θ’＝（Ｌ／ＫＳ）ＤL …（４）
【００３７】
撮影中の角速度データから、撮影された画像上でどれだけのぶれが生じたかを計算することができる。この画像上でのみかけの動きを動きベクトルと呼ぶ。
【００３８】
角速度データの１つのサンプル値から次のサンプル値までにカメラに生じた回転量をθ[deg] とする。この間、角速度一定でカメラが回転すると仮定し、サンプリング周波数をf ＝１／ｄｔ[Hz]とすると、θ[deg] は次式（５）で表される。
【００３９】
θ＝θ’／ｆ＝（Ｌ／ＫＳｆ）ＤL …（５）
【００４０】
図３に示すように、ｒ[mm]を焦点距離（３５[mm]フィルム換算）とすると、カメラの回転量θ[deg] から画面上の移動量ｄ[mm]が次式（６）により求められる。
【００４１】
ｄ＝ｒｔａｎθ…（６）
【００４２】
ここで求められた移動量ｄ[mm]は、３５[mm]フィルム換算時の手ぶれの大きさで、単位は[mm]である。実際に計算処理するときには、画像の大きさをデジタルカメラの画像の大きさの単位[pixel] で考えなければならない。
【００４３】
３５[mm]フィルム換算の画像と、デジタルカメラで撮影した[pixel] 単位の画像は縦横比も異なるので、次のように計算を行う。図４に示すように、３５[mm]フィルム換算時は画像サイズの横×縦が３６[mm]×２４[mm]と決まっている。デジタルカメラで撮影した画像の大きさをＸ[pixel] ×Ｙ[pixel] とし、水平方向（パン方向）のぶれをｘ[pixel] 、垂直方向（チルト方向）のぶれをｙ[pixel] とすると、変換式は次式（７）、（８）となる。
【００４４】
ｘ＝ｄx （Ｘ／３６）＝ｒｔａｎθx （Ｘ／３６）…（７）
ｙ＝ｄy （Ｙ／２４）＝ｒｔａｎθy （Ｙ／２４）…（８）
【００４５】
上記式（７）、（８）には、ｄとθに添字のｘとｙが使用されているが、添字ｘは水平方向の値であることを、添字ｙは垂直方向の値であることを示している。
【００４６】
上記式（１）〜（８）をまとめると、水平方向（パン方向）のぶれｘ[pixel] 、垂直方向（チルト方向）のぶれｙ[pixel] は、次式（９）、（１０）で表される。
【００４７】
ｘ＝ｒｔａｎ｛（Ｌ／ＫＳｆ）ＤLx｝Ｘ／３６…（９）
ｙ＝ｒｔａｎ｛（Ｌ／ＫＳｆ）ＤLy｝Ｙ／２４…（１０）
【００４８】
この変換式（９）、（１０）を用いることで、デジタル値として得られたカメラの各軸の角速度データから画像のぶれ量を表す手ぶれ信号（動きベクトル）を求めることができる。
【００４９】
撮影中の動きベクトルは、センサから得られた角速度のデータの数だけ（サンプル点の数だけ）得ることができ、それらの始点と終点を順番に結んでいくと、画像上での手ぶれの軌跡になる。また、各ベクトルの大きさを見ることで、その時点での手ぶれの速度がわかる。
【００５０】
〔２−２〕手ぶれサイズ判定部２２についての説明
手ぶれサイズ判定部２２は、手ぶれ信号／動きベクトル変換処理部２１によって得られる動きベクトルに基づいて、手ぶれサイズが大きいか否かを判定し、その判定結果に応じて、画像復元フィルタ計算部２０内のセレクタ２３および画像復元処理部３０内のセレクタ３１、３４を制御する。
【００５１】
撮影中のサンプリング周期毎の動きベクトルをＶ０，Ｖ１，…，Ｖｎとし、各動きベクトルの水平成分をＶｘ０，Ｖｘ１，…，Ｖｘｎとし、各ベクトルの垂直成分をＶｙ０，Ｖｙ１，…，Ｖｙｎとする。図５に示すように、撮影中のサンプリング周期毎の動きベクトルＶ０，Ｖ１，…，Ｖｎを順次加算していくことにより、撮影期間内における手ぶれの軌跡が得られる。この手ぶれの軌跡から、水平方向（Ｐｘ）の最小値Ｐｘ＿ｍｉｎおよび最大値Ｐｘ＿ｍａｘと、垂直方向（Ｐｙ）の最小値Ｐｙ＿ｍｉｎおよび最大値Ｐｙ＿ｍａｘを求める。そして、次式（１１）により、水平方向の手ぶれの大きさＳｚ＿ｈと、垂直方向の手ぶれの大きさＳｚ＿ｖとを算出する。
【００５２】
Ｓｚ＿ｈ＝Ｐｘ＿ｍａｘ−Ｐｘ＿ｍｉｎ
Ｓｚ＿ｖ＝Ｐｙ＿ｍａｘ−Ｐｙ＿ｍｉｎ        …（１１）
【００５３】
そして、各方向の手ぶれの大きさ（Ｓｚ＿ｈ，Ｓｚ＿ｖ）を、閾値Ｔｈと比較する。両方の手ぶれの大きさ（Ｓｚ＿ｈ，Ｓｚ＿ｖ）が、ともに閾値Ｔｈ以下の場合には、手ぶれサイズが小さいと判定する。少なくとも一方の手ぶれの大きさ（Ｓｚ＿ｈ，Ｓｚ＿ｖ）が、閾値Ｔｈより大きい場合には、手ぶれサイズが大きいと判定する。
【００５４】
手ぶれサイズ判定部２２は、手ぶれサイズが小さいと判定した場合には、手ぶれ信号／動きベクトル変換処理部２１によって得られた動きベクトルが動きベクトル／手ぶれ関数変換処理部２５に送られるように、セレクタ２３を制御する。手ぶれサイズが大きいと判定した場合には、手ぶれサイズ判定部２２は、手ぶれ信号／動きベクトル変換処理部２１によって得られた動きベクトルが動きベクトル縮小処理部２４に送られるように、セレクタ２３を制御する。
【００５５】
〔２−３〕動きベクトル縮小処理部２４についての説明
動きベクトル縮小処理部２４は、手ぶれ信号／動きベクトル変換処理部２１によって得られた各動きベクトル（手ぶれ信号）の水平成分に水平方向の縮小率Ｓｃａｌｅ＿ｘを、垂直成分に縮小率Ｓｃａｌｅ＿ｙを乗算することにより、各動きベクトルを縮小する。この縮小率は、各方向の手ぶれの大きさ（Ｓｚ＿ｈ，Ｓｚ＿ｖ）がそれぞれ閾値Ｔｈ以下となるように設定される。また、縮小後の各方向の手ぶれの大きさが、閾値Ｔｈに比べて、大幅に小さくならないように、縮小率を設定することが好ましい。
【００５６】
この実施例では、縮小率Ｓｃａｌｅ＿ｘ、Ｓｃａｌｅ＿ｙは、次式（１２）で示すように、整数分の１となるような値に設定される。
【００５７】
Ｓｃａｌｅ＿ｘ＝１／Ｄｉｖ＿ｘ
Ｓｃａｌｅ＿ｙ＝１／Ｄｉｖ＿ｙ        …（１２）
【００５８】
上記式（１２）において、Ｄｉｖ＿ｘおよびＤｉｖ＿ｙは、整数である。Ｄｉｖ＿ｘおよびＤｉｖ＿ｙの値は、対応する方向の手ぶれの大きさ（Ｓｚ＿ｈ，Ｓｚ＿ｖ）に応じて適応的に決めるようにしてもよいが、ここでは、予め”２”と定められているものとする。Ｄｉｖ＿ｘ＝Ｄｉｖ＿ｙ＝２である場合には、Ｓｃａｌｅ＿ｘ＝Ｓｃａｌｅ＿ｙ＝１／２となる。
【００５９】
撮影中のサンプリング周期毎の動きベクトルをＶ０，Ｖ１，…，Ｖｎとし、各動きベクトルの水平成分をＶｘ０，Ｖｘ１，…，Ｖｘｎとし、各ベクトルの垂直成分をＶｙ０，Ｖｙ１，…，Ｖｙｎとすると、縮小後の動きベクトルＶ０’，Ｖ１’，…，Ｖｎ’は、次式（１３）で表される。
【００６０】
Ｖ０’＝（Ｖｘ０×Ｓｃａｌｅ＿ｘ，Ｖｙ０×Ｓｃａｌｅ＿ｙ）
Ｖ１’＝（Ｖｘ１×Ｓｃａｌｅ＿ｘ，Ｖｙ１×Ｓｃａｌｅ＿ｙ）
…
Ｖｎ’＝（Ｖｘｎ×Ｓｃａｌｅ＿ｘ，Ｖｙｎ×Ｓｃａｌｅ＿ｙ）    …（１３）
【００６１】
動きベクトル縮小処理部２４によって得られた動きベクトルは、動きベクトル／手ぶれ関数変換処理部２５に送られる。
【００６２】
〔２−４〕動きベクトル／手ぶれ関数変換処理部２５についての説明
手ぶれを空間フィルタを使って表すことができる。図６の左側の図で示される手ぶれの軌跡（カメラがぶれたときに画像上である一点が描いた軌跡、画像のぶれ量）に合わせて、オペレータの要素に重みを加え空間フィルタ処理を行うと、フィルタリング過程において画素の濃淡値が手ぶれの軌跡に応じた近傍画素の濃淡値のみを考慮するようになるので、手ぶれ画像を作成することができる。
【００６３】
この軌跡に合わせて重み付けしたオペレータのことをPoint Spread Function(PSF)と呼び、手ぶれの数学モデルとして使用する。ＰＳＦの各要素の重みは、その要素を手ぶれ軌跡が通過する時間に比例した値であって、各要素の重みの総和が１になるように正規化された値となる。すなわち、動きベクトルの大きさの逆数に比例した重みとする。手ぶれが画像に与える影響を考えたとき、遅く動いたところの方が画像に大きな影響を与えているからである。
【００６４】
図６の中央の図は、手ぶれの動きが等速であると仮定した場合のＰＳＦを表し、図６の右側の図は、実際の手ぶれの動きの大きさを考慮した場合のＰＳＦを表している。図６の右側の図においては、ＰＳＦの重みの低い（動きベクトルの大きさが大きい）要素を黒く表示し、重みの高い（動きベクトルの大きさが小さい）要素を白く表示している。
【００６５】
上記〔２−１〕で得られた動きベクトル（画像のぶれ量）は手ぶれの軌跡と、軌跡の速度をデータとして持つ。
【００６６】
ＰＳＦを作成するには、まず、手ぶれの軌跡からＰＳＦの重みをかける要素を決定する。そして、手ぶれの速度からＰＳＦの要素にかける重みを決定する。
【００６７】
上記〔２−１〕で得られた一連の動きベクトルをつなぎ合わせることで折れ線近似された手ぶれの軌跡が得られる。この軌跡は小数点以下の精度を持つが、これを整数化することでＰＳＦにおいて重みをかける要素を決定する。そのために、この実施例では、Bresenham の直線描画アルゴリズムを用いてＰＳＦにおいて重みをかける要素を決定する。Bresenham の直線描画アルゴリズムとは、デジタル画面上で任意の２点を通る直線を引きたい時に最適なドット位置を選択するアルゴリズムである。                                    
【００６８】
Bresenham の直線描画アルゴリズムを図７の例を用いて説明する。図７において矢印のついた直線は動きベクトルを示している。
【００６９】
（ａ）ドット位置の原点（０，０）から出発し、動きベクトルの水平方向の要素を１つ増やす。
（ｂ）動きベクトルの垂直方向の位置を確認し、この垂直方向位置が前のドットの垂直方向位置に比べて１より大きくなった場合にはドット位置の垂直方向を１つ増やす。
（ｃ）再び動きベクトルの水平方向の要素を１つ増やす。
【００７０】
このような処理を動きベクトルの終点まで繰り返すことにより、動きベクトルが通る直線をドット位置で表現することができる。                                                
【００７１】
ＰＳＦの要素にかける重みは、動きベトクル毎にベクトルの大きさ（速度成分）が異なることを利用して決定する。重みは動きベクトルの大きさの逆数をとり、各動きベクトルに対応する要素に重みを代入する。ただし、各要素の重みの総和が１になるように、各要素の重みを正規化する。図８に図７の動きベクトルにより得られるＰＳＦを示す。速度の速いところ（動きベクトルの長いところ）は重みが小さくなり、速度の遅いところ（動きベクトルの短いところ）は重みが大きくなる。
【００７２】
なお、動きベクトル／手ぶれ関数変換処理部２５は、手ぶれサイズ判定部２２によって手ぶれサイズが小さいと判定された場合には、手ぶれ信号／動きベクトル変換処理部２１によって得られた動きベクトルに基づいてＰＳＦを作成する。一方、手ぶれサイズ判定部２２によって手ぶれサイズが大きいと判定された場合には、動きベクトル縮小処理部２４によって縮小された動きベクトルに基づいてＰＳＦを作成する。
【００７３】
〔２−５〕手ぶれ関数／一般逆フィルタ変換処理部２６について
画像は水平方向にＮx 画素、垂直方向にＮy 画素の解像度でデジタル化されているものとする。水平方向にｉ番目、垂直方向にｊ番目の位置にある画素の値をｐ（ｉ，ｊ）で表す。空間フィルタによる画像の変換とは、注目画素の近傍画素の畳み込みによって変換をモデル化するものである。畳み込みの係数をｈ（ｌ，ｍ）とする。ここで、簡単のため、−ｎ＜ｌ，ｍ＜ｎとすると、注目画素の変換は次式（１４）によって表現することができる。また、ｈ（ｌ，ｍ）自身を空間フィルタと呼んだり、フィルタ係数と呼んだりする。変換の性質はｈ（ｌ，ｍ）の係数値によって決まる。
【００７４】
【数１】
2007088828.tif 000003
【００７５】
デジタルカメラなどの撮像装置で点光源を観察した場合、画像の形成過程に劣化がないと仮定すれば、画像上に観察される像は、ある一点だけが０以外の画素値を持ち、それ以外の画素値は０となる。実際の撮像装置は劣化過程を含むので、点光源を観察しても、その像は一点にならず、広がった像になる。手ぶれが発生した場合、点光源は手ぶれに応じた軌跡を画面上に生成する。
【００７６】
点光源に対する観察画像の画素値に比例した値を係数として持ち、係数値の総和が１になる空間フィルタをPoint Spread Function(PSF 、点広がり関数 )と呼ぶ。この実施例では、ＰＳＦとして動きベクトル／手ぶれ関数変換処理部２５によって得られたＰＳＦを用いる。
【００７７】
ＰＳＦを縦横（２ｎ＋１）×（２ｎ＋１）の空間フィルタｈ（ｌ，ｍ）、−ｎ＜ｌ，ｍ＜ｎでモデル化するとき、各画素について、ボケの無い画像の画素値ｐ（ｉ，ｊ）とボケのある画像の画素値ｐ’（ｉ，ｊ）とは、上記式（１４）の関係になる。ここで、実際に観察できるのは、ボケた画像の画素値ｐ’（ｉ，ｊ）であり、ボケの無い画像の画素値ｐ（ｉ，ｊ）は何らかの方法で計算する必要がある。
【００７８】
上記式（１４）を全ての画素について書き並べると、次式（１５）に示すようになる。      
【００７９】
【数２】
2007088828.tif 000004
【００８０】
これらの式をまとめて行列表現することが可能であり、次式（１６）となる。ここで、Ｐは元画像をラスター走査順に一元化したものである。
【００８１】
Ｐ’＝Ｈ×Ｐ    …（１６）
【００８２】
Ｈの逆行列Ｈ-1が存在すれば、Ｐ＝Ｈ-1×Ｐを計算することによって、劣化した画像Ｐ’から劣化の無い画像Ｐを求めることが可能であるが、一般にはＨの逆行列は存在しない。逆行列が存在しない行列に対して、一般逆行列ないしは擬似逆行列と呼ばれるものが存在する。次式（１７）に一般逆行列の例を示す。                                          
【００８３】
Ｈ* ＝（Ｈt ・Ｈ＋γ・Ｉ）-1・Ｈt   …（１７）
【００８４】
ここでＨ* はＨの一般逆行列、Ｈt はＨの転置行列、γはスカラー、ＩはＨt ・Ｈと同じサイズの単位行列である。Ｈ* を用いて次式（１８）を計算することで、観察された手ぶれ画像Ｐ’から手ぶれが補正された画像Ｐを得ることができる。γは補正の強さを調整するパラメータである。γが小さければ強い補正処理となり、γが大きければ弱い補正処理となる。
【００８５】
Ｐ’＝Ｈ* ×Ｐ    …（１８）
【００８６】
画像サイズを６４０×４８０とした場合、上記式（１８）のＰは３０７，２００×１の行列、Ｈ* は３０７，２００×３０７，２００の行列となる。このような非常に大きな行列となるため、上記式（１７）、（１８）を直接用いることは実用的ではない。そこで、次のような方法で計算に用いる行列のサイズを小さくする。
【００８７】
まず、上記式（１８）において、Ｐの元になる画像のサイズを６３×６３など、比較的小さなサイズにする。６３×６３の画像であれば、Ｐは３９６９×１の行列、Ｈ* は３９６９×３９６９の行列となる。Ｈ* はボケ画像全体を補正された画像全体に変換する行列であり、Ｈ* の各行とＰの積は各画素の補正を行う演算に相当する。Ｈ* の真ん中の行とＰの積は、６３×６３画素の元画像の、真ん中の画素に対する補正に該当する。Ｐは元画像をラスター走査順に一元化したものであったから、逆に、Ｈ* の真ん中の行を逆ラスター走査により２次元化することで、６３×６３のサイズの空間フィルタを構成することができる。このように構成した空間フィルタを一般逆フィルタ（以下、画像復元フィルタという）と呼ぶ。
【００８８】
このようにして作成した実用的なサイズの空間フィルタを、大きな画像全体の各画素に順次適用することで、ボケ画像を補正することが可能となる。
【００８９】
〔３〕画像復元処理部３０について
画像復元処理部３０は、図１に示すように、セレクタ３１、画像縮小処理部３２、フィルタ処理部３３、セレクタ３４および画像拡大処理部３５を備えている。
【００９０】
上述したように、セレクタ３１、３４は、手ぶれサイズ判定部２２によって制御される。つまり、手ぶれサイズ判定部２２は、手ぶれサイズが小さいと判定した場合には手ぶれ画像ｖ＿ｔｅｂｒｅがフィルタ処理部３３に送られるように、手ぶれサイズが大きいと判定した場合には手ぶれ画像ｖ＿ｔｅｂｒｅが画像縮小処理部３２に送られるように、セレクタ３１を制御する。また、手ぶれサイズ判定部２２は、手ぶれサイズが小さいと判定した場合にはフィルタ処理部３３によって得られた画像が復元画像としてそのまま出力されるように、手ぶれサイズが大きいと判定した場合にはフィルタ処理部３３によって得られた画像が画像拡大処理部３５に送られるように、セレクタ３４を制御する。
【００９１】
〔３−１〕手ぶれサイズが小さい場合
手ぶれサイズ判定部２２によって手ぶれサイズが小さいと判定された場合には、手ぶれ画像ｖ＿ｔｅｂｒｅは、セレクタ３１を介して、フィルタ処理部３３に送られる。フィルタ処理部３３は、画像復元フィルタ計算部２０によって得られた画像復元フィルタを用いて、手ぶれ画像ｖ＿ｔｅｂｒｅに対してフィルタ処理を行う。フィルタ処理部３３によって得られた画像は、復元画像ｖ＿ｆｕｋｕｇｅｎとして出力される。なお、フィルタ処理部３３は、例えば、２次元ＦＩＲフィルタによって構成される。
【００９２】
〔３−２〕手ぶれサイズが大きい場合
手ぶれサイズ判定部２２によって手ぶれサイズが大きいと判定された場合には、手ぶれ画像ｖ＿ｔｅｂｒｅは、セレクタ３１を介して、画像縮小処理部３２に送られる。画像縮小処理部３２は、手ぶれ画像ｖ＿ｔｅｂｒｅを、水平方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘおよび垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙと同じスケールで縮小する。
【００９３】
画像縮小処理部３２によって得られた縮小画像は、フイルタ処理部３３に送られる。フィルタ処理部３３は、画像復元フィルタ計算部２０によって得られた画像復元フィルタを用いて、画像縮小処理部３２によって得られた縮小画像に対して、フィルタ処理を行う。      
【００９４】
フィルタ処理部３３によって得られた画像は、画像拡大処理部３５に送られる。画像拡大処理部３５は、フィルタ処理部３３によって得られた画像を、画像縮小処理部３２で用いられた各縮小率Ｓｃａｌｅ＿ｘ、Ｓｃａｌｅ＿ｙの逆数に応じたスケールで拡大する。画像拡大処理部３５によって得られた画像は、復元画像ｖ＿ｆｕｋｕｇｅｎとして出力される。
【００９５】
上記実施例では、水平方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘおよび垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙとは、共に１／２に設定されているが、水平方向の手ぶれの大きさを考慮して水平方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘを設定するとともに、垂直方向の手ぶれの大きさを考慮して垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙを設定することが好ましい。例えば、垂直方向の手ぶれの大きさＳｚ＿ｖが閾値Ｔｈ以下であり、水平方向の手ぶれの大きさＳｚ＿ｈが閾値Ｔｈを超えている場合には、垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙを１とし、水平方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘを水平方向の手ぶれの大きさＳｚ＿ｈを考慮して設定することが好ましい。このようにすると、手ぶれ画像を垂直方向に縮小する必要がないので、復元画像における垂直方向の画像解像度は劣化しなくなる。
【００９６】
また、水平方向の手ぶれの大きさを判定するための閾値と垂直方向の手ぶれの大きさを判定するための閾値とは、同じ値Ｔｈが用いられているが、異なる値の閾値を用いてもよい。
【００９７】
上記実施例では、手ぶれサイズが大きいと判別した場合には、手ぶれ信号である動きベクトルを縮小した後、縮小された動きベクトルからＰＳＦを作成しているが、手ぶれ信号である動きベクトルからＰＳＦを作成した後、得られたＰＳＦを縮小するようにしてもよい。
【００９８】
ところで、上記実施例では、手ぶれサイズが大きい場合には、元画像（手ぶれ画像）を縮小し、縮小画像に対して画像復元フィルタ３３によってフィルタ処理を行なった後に、画像を拡大している。このため、最終的に得られる復元画像の画像解像度の劣化が懸念される。しかしながら、手ぶれが大きい場合には、元画像内の高周波成分が手ぶれによって失われているため、画像縮小拡大処理による解像度の低下はほぼ無視することができる。
【実施例２】
【００９９】
〔１〕手ぶれ補正処理回路の構成
図９は、デジタルカメラに設けられた手ぶれ補正処理回路の構成を示している。図９において、図１と同じものには、同じ符号を付してその説明を省略する。
【０１００】
図９の手ぶれ補正処理回路は、図１の手ぶれ補正処理回路と比較すると、画像復元処理部３０Ａの構成が異なっている。
【０１０１】
〔２〕画像復元処理部３０Ａについての説明
画像復元処理部３０Ａは、セレクタ３１、画像間引き処理部３２Ａ、フィルタ処理部３３、セレクタ３４および画像合成処理部３５Ａを備えている。つまり、図９の画像復元処理部３０Ａでは、図１の画像縮小処理部３２の代わりに画像間引き処理部３２Ａが用いられているとともに、図１の画像拡大処理部３５の代わりに画像合成処理部３５Ａが用いられている。
【０１０２】
セレクタ３１、３４は、手ぶれサイズ判定部２２によって制御される。つまり、手ぶれサイズ判定部２２は、手ぶれサイズが小さいと判定した場合には手ぶれ画像ｖ＿ｔｅｂｒｅがフィルタ処理部３３に送られるように、手ぶれサイズが大きいと判定した場合には手ぶれ画像ｖ＿ｔｅｂｒｅが画像間引き処理部３２Ａに送られるように、セレクタ３１を制御する。また、手ぶれサイズ判定部２２は、手ぶれサイズが小さいと判定した場合にはフィルタ処理部３３によって得られた画像が復元画像としてそのまま出力されるように、手ぶれサイズが大きいと判定した場合にはフィルタ処理部３３によって得られた画像が画像合成処理部３５Ａに送られるように、セレクタ３４を制御する。
【０１０３】
〔２−１〕手ぶれサイズが小さい場合
手ぶれサイズ判定部２２によって手ぶれサイズが小さいと判定された場合には、手ぶれ画像ｖ＿ｔｅｂｒｅは、セレクタ３１を介して、フィルタ処理部３３に送られる。フィルタ処理部３３は、画像復元フィルタ計算部２０によって得られた画像復元フィルタを用いて、手ぶれ画像ｖ＿ｔｅｂｒｅに対してフィルタ処理を行う。フィルタ処理部３３によって得られた画像は、復元画像ｖ＿ｆｕｋｕｇｅｎとして出力される。
【０１０４】
〔２−２〕手ぶれサイズが大きい場合
手ぶれサイズ判定部２２によって手ぶれサイズが大きいと判定された場合には、手ぶれ画像ｖ＿ｔｅｂｒｅは、セレクタ３１を介して、画像間引き処理部３２Ａに送られる。画像間引き処理部３２Ａは、手ぶれ画像ｖ＿ｔｅｂｒｅを、水平方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘおよび垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙとに応じた数の間引き画像に分解する。
【０１０５】
例えば、手ぶれ信号縮小率Ｓｃａｌｅ＿ｘおよび垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙがともに１／２（上記式（１２）のＤｉｖ＿ｘ＝Ｄｉｖ＿ｙ＝２）の場合には、図１０に示すように、左側の手ぶれ画像ｖ＿ｔｅｂｒｅを、右側の４つの間引き画像に分解する。この例では、手ぶれ画像ｖ＿ｔｅｂｒｅは、奇数行奇数列の画素からなる第１間引き画像と、奇数行偶数列の画素からなる第２間引き画像と、偶数行奇数列の画素からなる第３間引き画像と、偶数行偶数列の画素からなる第４間引き画像とに分解される。手ぶれ信号縮小率Ｓｃａｌｅ＿ｘ、Ｓｃａｌｅ＿ｙ（Ｄｉｖ＿ｘ、Ｄｉｖ＿ｙ）に応じた間引き画像の生成方法については、後述する。
【０１０６】
画像間引き処理部３２Ａによって得られた複数の間引き画像は、フイルタ処理部３３に送られる。フィルタ処理部３３は、画像復元フィルタ計算部２０によって得られた画像復元フィルタを用いて、画像間引き処理部３２Ａによって得られた複数の間引き画像に対して、フィルタ処理を行う。
【０１０７】
フィルタ処理部３３によって得られた複数の復元画像は、画像合成処理部３５Ａに送られる。画像合成処理部３５Ａは、フィルタ処理部３３によって得られた複数の復元画像を、各復元画像内の画素が間引き前（分解前）の画素配列と同じ位置に配置されるように、合成する。画像合成処理部３５Ａによって得られた画像は、復元画像ｖ＿ｆｕｋｕｇｅｎとして出力される。
【０１０８】
〔３〕画像間引き処理部３２Ａによる間引き画像の生成方法についての説明
画像間引き処理部３２Ａによる間引き画像の生成方法について説明する。
【０１０９】
（Ｓ１）まず、水平、垂直方向の画素間引き数（Ｎｈ，Ｎｖ）を算出する。
水平方向および垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘ，Ｓｃａｌｅ＿ｙを算出するために設定されたＤｉｖ＿ｘ，Ｄｉｖ＿ｙ（上記式（１２）参照）から、次式（１９）に基づいて、画素間引き数Ｎｈ，Ｎｖを算出する。
【０１１０】
Ｎｈ＝Ｄｉｖ＿ｘ−１
Ｎｖ＝Ｄｉｖ＿ｙ−１        …（１９）
【０１１１】
例えば、Ｄｉｖ＿ｘ＝Ｄｉｖ＿ｙ＝２の場合には、Ｎｈ＝Ｎｖ＝１となる。
【０１１２】
（Ｓ２）元画像（手ぶれ画像ｖ＿ｔｅｂｒｅ）上における参照開始画素位置（Ｓｈ，Ｓｖ）の初期値（Ｓｈｏ，Ｓｖ０）を設定する。通常は、（Ｓｈｏ，Ｓｖ０）は、元画像の左上の画素位置（０，０）に設定される。つまり、（Ｓｈｏ，Ｓｖ０）＝（０，０）となる。
【０１１３】
（Ｓ３）参照開始画素位置（Ｓｈ，Ｓｖ）から、水平方向はＮｈ画素おきに、垂直方向はＮｖ画素おきに、格子状に画素値を取得して、間引き画像を生成する。Ｎｈ＝Ｎｖ＝１の場合には、図１０の左側の元画像のうち、丸数字１で示される画素から構成される間引き画像が生成される。
【０１１４】
（Ｓ４）参照開始画素位置を水平方向に１画素ずらす。つまり、（Ｓｈ，Ｓｖ）＝（Ｓｈ＋１，Ｓｖ）にする。そして、上記（Ｓ３）と同じ処理を行なう。Ｎｈ＝Ｎｖ＝１の場合には、図１０の左側の元画像のうち、丸数字２で示される画素から構成される間引き画像が生成される。
【０１１５】
（Ｓ５）上記（Ｓ４）の処理を、水平方向の画素間引き数Ｎｈに応じた回数だけ繰り返し実行する。Ｎｈ＝１の場合には、上記（Ｓ４）の処理は、１回のみ行なわれる。
【０１１６】
（Ｓ６）参照開始画素位置の水平方向成分を初期値に戻した後、参照開始画素位置を垂直方向に１画素ずらす。つまり、（Ｓｈ，Ｓｖ）＝（Ｓｈ，Ｓｖ＋１）とする。そして、上記（Ｓ３）と同じ処理を行なう。Ｎｈ＝Ｎｖ＝１の場合には、図１０の左側の元画像のうち、丸数字３で示される画素から構成される間引き画像が生成される。この後、参照開始画素位置を水平方向に１画素ずらす。つまり、（Ｓｈ，Ｓｖ）＝（Ｓｈ＋１，Ｓｖ）に更新する。そして、上記（Ｓ３）と同じ処理を行なう。Ｎｈ＝Ｎｖ＝１の場合には、図１０の左側の元画像のうち、丸数字４で示される画素から構成される間引き画像が生成される。
【０１１７】
（Ｓ７）上記（Ｓ６）の処理を、垂直方向の画素間引き数Ｎｖに応じた回数だけ繰り返し実行する。Ｎｈ＝１の場合には、上記（Ｓ６）の処理は、１回のみ行なわれる。
【０１１８】
上記実施例では、水平方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘおよび垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙとは、共に１／２に設定されているが、水平方向の手ぶれの大きさを考慮して水平方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘを設定するとともに、垂直方向の手ぶれの大きさを考慮して垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙを設定することが好ましい。例えば、垂直方向の手ぶれの大きさＳｚ＿ｖが閾値Ｔｈ以下であり、水平方向の手ぶれの大きさＳｚ＿ｈが閾値Ｔｈを超えている場合には、垂直方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｙを１とし、水平方向の手ぶれ信号縮小率Ｓｃａｌｅ＿ｘを水平方向の手ぶれの大きさＳｚ＿ｈを考慮して設定することが好ましい。このようにすると、手ぶれ画像を垂直方向に間引く必要がないので、復元画像における垂直方向の画像解像度は劣化しなくなる。
【０１１９】
また、水平方向の手ぶれの大きさを判定するための閾値と垂直方向の手ぶれの大きさを判定するための閾値とは、同じ値Ｔｈが用いられているが、異なる値の閾値を用いてもよい。
【０１２０】
上記実施例では、手ぶれサイズが大きいと判別した場合には、手ぶれ信号である動きベクトルを縮小した後、縮小された動きベクトルからＰＳＦを作成しているが、手ぶれ信号である動きベクトルからＰＳＦを作成した後、得られたＰＳＦを縮小するようにしてもよい。
【０１２１】
上記実施例１、２によれば、ハードウェアの制約で画像復元フィルタのタップサイズが制限されている場合に、画像復元フィルタのタップサイズを超えるような大きい手ぶれが発生した場合においても、十分に復元効果のある復元画像が得られる。また、タップサイズが小さな画像復元フィルタを用いても、手ぶれが大きな画像に対して十分な復元効果が得られるので、ハードウェアのコスト削減にも貢献できる。
【図面の簡単な説明】
【０１２２】
【図１】デジタルカメラに設けられた手ぶれ補正処理回路の構成を示すブロック図である。
【図２】角速度センサ１１の出力を増幅するアンプおよびアンプ出力をデジタル値に変換するＡ／Ｄ変換器を示すブロック図である。
【図３】カメラの回転量θ[deg] と画面上の移動量ｄ[mm]との関係を示す模式図である。
【図４】３５[mm]フィルム換算の画像サイズと、デジタルカメラの画像サイズとを示す模式図である。
【図５】撮影中のサンプリング周期毎の動きベクトルＶ０，Ｖ１，…，Ｖｎから得られる手ぶれの軌跡を示す模式図である。
【図６】手ぶれを表現する空間フィルタ（ＰＳＦ）を示す模式図である。
【図７】Bresenham の直線描画アルゴリズムを説明するための模式図である。
【図８】図７の動きベクトルにより得られるＰＳＦを示す模式図である。
【図９】デジタルカメラに設けられた手ぶれ補正処理回路の構成を示すブロック図である。
【図１０】画像間引き処理部３２Ａによる間引き画像の生成方法を説明するための模式図である。
【符号の説明】
【０１２３】
１１、１２  角速度センサ
２０  画像復元フィルタ計算部
３０  画像復元処理部
２１  手ぶれ信号／動きベクトル変換処理部
２２  手ぶれサイズ判定部
２３  セレクタ
２４  動きベクトル縮小処理部
２５  動きベクトル／手ぶれ関数変換処理部
２６  手ぶれ関数／一般逆フィルタ変換処理部
３１  セレクタ
３２  画像縮小処理部
３２Ａ  画像間引き処理部
３３  フィルタ処理部
３４  セレクタ
３５  画像拡大処理部
３５Ａ  画像合成処理部
【図１】
2007088828.tif 000005
【図２】
2007088828.tif 000006
【図３】
2007088828.tif 000007
【図４】
2007088828.tif 000008
【図５】
2007088828.tif 000009
【図６】
2007088828.tif 000010
【図７】
2007088828.tif 000011
【図８】
2007088828.tif 000012
【図９】
2007088828.tif 000013
【図１０】
2007088828.tif 000014