(57)【要約】【課題】この発明は、分割露光に基づく静止画撮影時において、複数の短時間露光画像の位置合わせ精度の向上化が図れるようになる撮像装置を提供することを目的とする。【解決手段】短時間露光画像取得手段によって取得された１番目の短時間露光画像を基準画像とし、短時間露光画像取得手段によって取得された２番目以降の各短時間露光画像を座標変換対象画像として、基準画像と各座標変換対象画像との間の動きベクトルを、両者の画像データに基づいて検出するとともに、検出した動きベクトルの信頼性を判定する第１の動きベクトル検出手段、撮像装置本体に取り付けられた動き検出センサ、短時間露光画像取得手段によって各短時間露光画像が取得される際に、動き検出センサの出力に基づいて、上記基準画像と上記各座標変換対象画像との間の動きベクトルを検出する第２の動きベクトル検出手段を備えている。【選択図】図１
2008219124.tif 000002
【特許請求の範囲】
【請求項１】
静止画撮影時に、予め導出された露光期間を複数回に分割して露光を行なうことにより、複数の短時間露光画像を取得する短時間露光画像手段、
短時間露光画像取得手段によって取得された１番目の短時間露光画像を基準画像とし、短時間露光画像取得手段によって取得された２番目以降の各短時間露光画像を座標変換対象画像として、基準画像と各座標変換対象画像との間の動きベクトルを、両者の画像データに基づいて検出するとともに、検出した動きベクトルの信頼性を判定する第１の動きベクトル検出手段、
撮像装置本体に取り付けられた動き検出センサ、
短時間露光画像取得手段によって各短時間露光画像が取得される際に、動き検出センサの出力に基づいて、上記基準画像と上記各座標変換対象画像との間の動きベクトルを検出する第２の動きベクトル検出手段、
上記各座標変換対象画像毎に、第１の動きベクトル検出手段によって検出された基準画像とその座標変換対象画像との間の動きベクトルの信頼性判定結果を調べ、信頼性判定結果が信頼性有りである場合には、第１の動きベクトル検出手段によって検出された基準画像と当該座標変換対象画像との間の動きベクトルを用いて、当該座標変換対象画像を基準画像に位置合わせするために、当該座標変換対象画像の座標を変換し、信頼性判定結果が信頼性無しである場合には、第２の動きベクトル検出手段によって検出された基準画像と当該座標変換対象画像との間の動きベクトルを用いて、当該座標変換対象画像の座標を変換する座標変換手段、ならびに
座標変換手段によって得られる座標変換後の各座標変換対象画像および基準画像からなる複数の画像を合成する画像合成手段、
を備えていることを特徴とする撮像装置。
【請求項２】
静止画撮影時に、予め導出された露光期間を複数回に分割して露光を行なうことにより、複数の短時間露光画像を取得する短時間露光画像取得手段、
撮像装置本体に取り付けられた動き検出センサ、
短時間露光画像取得手段によって各短時間露光画像が取得される際に、動き検出センサの出力に基づいて、各分割露光期間毎に、その分割露光期間における手ぶれの大きさを検出するとともに、検出した手ぶれの大きさが所定値未満であるか否かを判定する手ぶれ判定手段、ならびに
短時間露光画像取得手段によって取得された各短時間露光画像のうち、手ぶれ判定手段によってその分割露光期間における手ぶれの大きさが所定値未満であると判定された単時間露光画像のみを位置合わせして合成する合成手段、
を備えていることを特徴とする撮像装置。
【請求項３】
合成手段によって得られた合成画像の輝度を、予め定められた露光分割数と手ぶれ判定手段によって手ぶれの大きさが所定値未満であると判定された短時間露光画像の数とに基づいて、補正する輝度調節手段を備えていることを特徴とする請求項２に記載の撮像装置。
【請求項４】
短時間露光画像取得手段によって取得された各短時間露光画像の全てに対する手ぶれの大きさが所定値以上である場合には、各短時間露光画像のうちの１枚の画像の輝度を、予め定められた露光分割数に基づいて補正することにより、静止画撮像画像を得る手段を備えていることを特徴とする請求項２または３のいずれかに記載の撮像装置。
【請求項５】
静止画撮影時に、予め導出された露光期間を複数回に分割して露光を行なうことにより、複数の短時間露光画像を取得し、取得した複数の短時間露光画像を位置合わせして合成する手段を備えた撮像装置において、
撮像装置本体に取り付けられた動き検出センサ、
各短時間露光画像を取得する際には、動き検出センサの出力に基づいて、各分割露光期間毎に、分割露光開始時点から現時点までの手ぶれの大きさを所定時間毎に検出する手ぶれ検出手段、ならびに
分割露光中において、手ぶれ検出手段によって検出された手ぶれの大きさが所定値以上になったときには、当該分割露光期間での露光を中断して、最適分割露光時間より短い露光時間で短時間露光画像を取得し、現在までの分割露光回数が予め定められた露光分割数に達していない場合には、次の分割露光に移行する露光時間制御手段、
を備えていることを特徴とする撮像装置。
【請求項６】
最適分割露光時間より短い露光時間で短時間露光画像を取得した場合には、位置合わせおよび画像合成を行なう前に、当該短時間露光画像の輝度を、最適分割露光時間と実露光時間とに基づいて、補正する輝度調節手段を備えていることを特徴とする請求項５に記載の撮像装置。
【請求項７】
静止画撮影時に、予め導出された露光期間を複数回に分割して露光を行なうことにより、複数の短時間露光画像を取得する短時間露光画像取得手段、
撮像装置本体に取り付けられた動き検出センサ、
短時間露光画像取得手段によって各短時間露光画像が取得される際に、動き検出センサの出力に基づいて、各分割露光期間毎に、その分割露光期間における手ぶれの大きさを検出する手ぶれ検出手段、
短時間露光画像取得手段によって取得された各短時間露光画像のうち、手ぶれ判定手段によってその分割露光期間における手ぶれの大きさが最も小さかった単時間露光画像を基準画像とし、他の各短時間露光画像を座標変換対象画像として、基準画像と各座標変換対象画像との間の動きベクトルを、両者の画像データに基づいて検出する動きベクトル検出手段、
上記各座標変換対象画像毎に、動きベクトル検出手段によって検出された基準画像とその座標変換対象画像との間の動きベクトルに基づいて、当該座標変換対象画像を基準画像に位置合わせするために、当該座標変換対象画像の座標を変換座標する座標変換手段、ならびに
座標変換手段によって得られた座標変換後の各座標変換対象画像および基準画像からなる複数の画像を合成する画像合成手段、
を備えていることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、撮像装置に関する。
【背景技術】
【０００２】
静止画手ぶれ補正技術は、静止画撮影における手ぶれを軽減する技術であり、手ぶれを検出する要素と、その検出結果に基づいて画像を補正する要素とによって実現される。
【０００３】
手ぶれを検出する方法には、手ぶれセンサ（角速度センサ）を用いる方法と、画像を解析して検出する電子式とがある。画像を補正する方法には、光学系の駆動により補正を行なう光学式手ぶれ補正と、画像処理により補正を行なう電子式手ぶれ補正とがある。
【０００４】
静止画手ぶれ補正に対しては、センサで手ぶれを検出しその検出結果に基づいて光学式手ぶれ補正を行なう方法と、センサで手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行なう方法と、画像を解析して手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行なう方法とがある。
【０００５】
画像を解析して手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行なう方法は、完全電子式の手ぶれ補正と呼ばれている。完全電子式の手ぶれ補正で実用化されている方式としては、図１６に示すように、通常の露光時間Ｔ１を分割して得られる、露光時間がＴ２の複数の短時間露光画像Ｇ１〜Ｇ４を、それらの画像特徴により位置合わせして合成し、１枚の静止画像を生成する方式（画像加算式手ぶれ補正）がある。
【０００６】
画像加算式手ぶれ補正では、各短時間露光画像が位置合わせによって完全に一致せしめられた場合、手ぶれ量は、分割画像１枚分の露光時間に軽減される。しかしながら、画像加算式手ぶれ補正では、１枚目の短時間露光画像Ｇ１の露光開始から最後の短時間露光画像Ｇ４の露光終了までの期間は、通常露光の場合に比べて長くなるため、その間の被写体のぶれの程度が大きくなるという欠点がある。さらに、画像処理による位置合わせに失敗した場合、通常露光よりも手ぶれ量が大きくなるという欠点がある。
【０００７】
【特許文献１】特開平９−２６１５２６号公報  「撮像装置」  低輝度条件においては手ぶれしないような露光時間で連写して、複数画像相互のずれを補正してから露光不足の画像群を合成することで、ぶれのない適切な露出の画像を得る。
【特許文献２】特開２００４−２２１９９２号公報  「撮像装置およびプログラム」  順次撮影して得られた複数の画像を合成することにより、露出補正された合成画像を得る第１の撮影モードと、１回の撮影により合成画像に相当する画像を得る第２の撮影モードとの撮影が可能な撮像装置であって、撮影時の条件（被写体の明るさ、焦点距離、絞り、感度）に応じて、第１の撮影モードおよび第２の撮影モードのうちの一方の撮影モードを設定する制御手段を備えている。
【特許文献３】特許第３３４９１２９号公報  「撮像装置」  撮像素子の感度制御、複数画像の加算による感度制御および隣接する画素を加算することによる感度制御の３つの制御手段を持つことを特徴とする撮像装置。被写体ぶれを認識した際に、背景部は複数画像加算を行ない、動被写体については撮像素子のゲイン制御と画素加算を適応的に制御することで、感度を調整する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は、分割露光に基づく静止画撮影時において、複数の短時間露光画像の位置合わせ精度の向上化が図れるようになる撮像装置を提供することを目的とする。
【０００９】
また、この発明は、分割露光中の手ぶれによる合成画像の画質の劣化を低減することができる撮像装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明は、静止画撮影時に、予め導出された露光期間を複数回に分割して露光を行なうことにより、複数の短時間露光画像を取得する短時間露光画像取得手段、短時間露光画像取得手段によって取得された１番目の短時間露光画像を基準画像とし、短時間露光画像取得手段によって取得された２番目以降の各短時間露光画像を座標変換対象画像として、基準画像と各座標変換対象画像との間の動きベクトルを、両者の画像データに基づいて検出するとともに、検出した動きベクトルの信頼性を判定する第１の動きベクトル検出手段、撮像装置本体に取り付けられた動き検出センサ、短時間露光画像取得手段によって各短時間露光画像が取得される際に、動き検出センサの出力に基づいて、上記基準画像と上記各座標変換対象画像との間の動きベクトルを検出する第２の動きベクトル検出手段、上記各座標変換対象画像毎に、第１の動きベクトル検出手段によって検出された基準画像とその座標変換対象画像との間の動きベクトルの信頼性判定結果を調べ、信頼性判定結果が信頼性有りである場合には、第１の動きベクトル検出手段によって検出された基準画像と当該座標変換対象画像との間の動きベクトルを用いて、当該座標変換対象画像を基準画像に位置合わせするために、当該座標変換対象画像の座標を変換し、信頼性判定結果が信頼性無しである場合には、第２の動きベクトル検出手段によって検出された基準画像と当該座標変換対象画像との間の動きベクトルを用いて、当該座標変換対象画像の座標を変換する座標変換手段、ならびに座標変換手段によって得られる座標変換後の各座標変換対象画像および基準画像からなる複数の画像を合成する画像合成手段を備えていることを特徴とする。
【００１１】
請求項２に記載の発明は、静止画撮影時に、予め導出された露光期間を複数回に分割して露光を行なうことにより、複数の短時間露光画像を取得する短時間露光画像取得手段、撮像装置本体に取り付けられた動き検出センサ、短時間露光画像取得手段によって各短時間露光画像が取得される際に、動き検出センサの出力に基づいて、各分割露光期間毎に、その分割露光期間における手ぶれの大きさを検出するとともに、検出した手ぶれの大きさが所定値未満であるか否かを判定する手ぶれ判定手段、ならびに短時間露光画像取得手段によって取得された各短時間露光画像のうち、手ぶれ判定手段によってその分割露光期間における手ぶれの大きさが所定値未満であると判定された単時間露光画像のみを位置合わせして合成する合成手段を備えていることを特徴とする。
【００１２】
請求項３に記載の発明は、請求項２に記載の発明において、合成手段によって得られた合成画像の輝度を、予め定められた露光分割数と手ぶれ判定手段によって手ぶれの大きさが所定値未満であると判定された短時間露光画像の数とに基づいて、補正する輝度調節手段を備えていることを特徴とする。
【００１３】
請求項４に記載の発明は、請求項２乃至請求項３に記載の発明において、短時間露光画像取得手段によって取得された各短時間露光画像の全てに対する手ぶれの大きさが所定値以上である場合には、各短時間露光画像のうちの１枚の画像の輝度を、予め定められた露光分割数に基づいて補正することにより、静止画撮像画像を得る手段を備えていることを特徴とする。
【００１４】
請求項５に記載の発明は、静止画撮影時に、予め導出された露光期間を複数回に分割して露光を行なうことにより、複数の短時間露光画像を取得し、取得した複数の短時間露光画像を位置合わせして合成する手段を備えた撮像装置において、撮像装置本体に取り付けられた動き検出センサ、各短時間露光画像を取得する際には、動き検出センサの出力に基づいて、各分割露光期間毎に、分割露光開始時点から現時点までの手ぶれの大きさを所定時間毎に検出する手ぶれ検出手段、ならびに分割露光中において、手ぶれ検出手段によって検出された手ぶれの大きさが所定値以上になったときには、当該分割露光期間での露光を中断して、最適分割露光時間より短い露光時間で短時間露光画像を取得し、現在までの分割露光回数が予め定められた露光分割数に達していない場合には、次の分割露光に移行する露光時間制御手段を備えていることを特徴とする撮像装置。
【００１５】
請求項６に記載の発明は、請求項５に記載の発明において、最適分割露光時間より短い露光時間で短時間露光画像を取得した場合には、位置合わせおよび画像合成を行なう前に、当該短時間露光画像の輝度を、最適分割露光時間と実露光時間とに基づいて、補正する輝度調節手段を備えていることを特徴とする。
【００１６】
請求項７に記載の発明は、静止画撮影時に、予め導出された露光期間を複数回に分割して露光を行なうことにより、複数の短時間露光画像を取得する短時間露光画像取得手段、撮像装置本体に取り付けられた動き検出センサ、短時間露光画像取得手段によって各短時間露光画像が取得される際に、動き検出センサの出力に基づいて、各分割露光期間毎に、その分割露光期間における手ぶれの大きさを検出する手ぶれ検出手段、短時間露光画像取得手段によって取得された各短時間露光画像のうち、手ぶれ判定手段によってその分割露光期間における手ぶれの大きさが最も小さかった単時間露光画像を基準画像とし、他の各短時間露光画像を座標変換対象画像として、基準画像と各座標変換対象画像との間の動きベクトルを、両者の画像データに基づいて検出する動きベクトル検出手段、上記各座標変換対象画像毎に、動きベクトル検出手段によって検出された基準画像とその座標変換対象画像との間の動きベクトルに基づいて、当該座標変換対象画像を基準画像に位置合わせするために、当該座標変換対象画像の座標を変換座標する座標変換手段、ならびに座標変換手段によって得られた座標変換後の各座標変換対象画像および基準画像からなる複数の画像を合成する画像合成手段を備えていることを特徴とする。
【発明の効果】
【００１７】
請求項１または請求項７に記載の発明によれば、分割露光に基づく静止画撮影時において、複数の短時間露光画像の位置合わせ精度の向上化が図れるようになる。
【００１８】
請求項２乃至請求項６に記載の発明によれば、分割露光中の手ぶれによる合成画像の画質の劣化を低減することができるようになる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、この発明をデジタルカメラに適用した場合の実施例について説明する。
【実施例１】
【００２０】
実施例１では、分割露光に基づく静止画撮影モード時において、１番目の短時間露光画像と２番目以降の各短時間露光画像との間の動きベクトルを、角速度センサの出力に基づいて算出するとともに画像処理によって検出する。そして、画像処理によって検出された動きベクトルの信頼性が低い場合には、角速度センサの出力に基づいて算出された動きベクトルを用いて画像の位置合わせを行なう。
【００２１】
〔１〕デジタルカメラの構成についての説明
【００２２】
図１は、デジタルカメラの構成を示している。
【００２３】
撮像素子（ＣＣＤ）２は、レンズ１を通して入射した光学像を光電変換し、電気信号として出力する。撮像素子２の出力信号（ＲＧＢ信号）は、ＣＤＳ回路とＡＧＣ回路とを備えたカメラ回路３に送られる。カメラ回路３に入力した撮像素子２の出力信号は、ＣＤＳ回路で相関二重サンプリング処理された後、ＡＧＣ回路で最適な振幅にゲイン調整される。カメラ回路３の出力信号は、Ａ／Ｄ変換器４によってデジタル映像信号に変換される。デジタル映像信号は、画像メモリ５に書き込まれる。撮影制御回路１１は、被写体の明るさを測定する測光回路から得られた明るさの情報に基づいて、撮像素子２の最適な露光時間を設定する。
【００２４】
角速度センサ４１、５１は、カメラの角速度を検出するために設けられている。一方の角速度センサ４１はカメラのパン方向の角速度を、他方の角速度センサ５１はカメラのチルト方向の角速度をそれぞれ検出する。各角速度センサ４１、５１の出力信号は、それぞれアンプ４２、５２によって増幅された後、Ａ／Ｄ変換器４３、５３によってデジタルデータに変換される。両Ａ／Ｄ変換器４３、５３の出力は、動きベクトル検出部６０に送られる。動きベクトル検出部６０は、後述するように、手ぶれ補正撮影モード時において、両Ａ／Ｄ変換器４３、５３の出力に基づいて、画像のぶれ量（動きベクトル）を算出する。動きベクトル検出部６０は、マイコン１０によって制御される。
【００２５】
画像メモリ５は、メモリ制御回路１２を介してマイコン１０によって制御される。また、撮影制御回路１１は、マイコン１０によって制御される。マイコン１０には、シャッターボタン２１および手ぶれ補正ＯＮ／ＯＦＦスイッチ２２が接続されている。手ぶれ補正ＯＮ／ＯＦＦスイッチ２２によって、手ぶれ補正撮影モードと通常撮影モードの設定が行なわれる。以下、通常撮影モードが設定されている場合と手ぶれ補正撮影モードが設定されている場合とにわけて動作を説明する。
【００２６】
〔１−１〕通常撮影モード
通常撮影モードが設定されている場合の動作について説明する。シャッターボタン２１が押下げられていない場合には、一定間隔（例えば１／６０秒）で撮影された画像データが画像メモリ５に書き込まれた後、ＮＴＳＣエンコーダ６によりＮＴＳＣ信号に変換されてモニタ７に表示される。これを、スルー表示と呼ぶことにする。シャッターボタン２１が押下げられると、静止画の撮影を開始し、そのタイミングで撮影された画像データが画像メモリ５に書き込まれた後、モニタ７に表示されるとともに、画像圧縮回路８によってＪＰＥＧ形式にエンコードされ、画像ファイルとしてメモリカード９に保存される。
【００２７】
〔１−２〕手ぶれ補正撮影モード
手ぶれ補正撮影モードが設定されている場合の動作について説明する。手ぶれ補正撮影モードが設定されている場合においては、画像メモリ５に書き込まれた画像データは、手ぶれ補正回路３０に転送される。
【００２８】
シャッターボタン２１が押下げられていない場合には、一定間隔（例えば１／６０秒）で撮影された画像データが画像メモリ５に書き込まれた後、手ぶれ補正回路３０に転送される。手ぶれ補正回路３０に転送された画像データは、ＮＴＳＣエンコーダ６を介してモニタ７に送られる。
【００２９】
シャッターボタン２１が押下げられた場合には、マイコン１０は、被写体の明るさ、設定されているＩＳＯ感度または絞り値等から最適と考えられる露光時間を導出するとともに、撮影制御回路１１に対して、最適と考えられる露光時間を複数回（例えば、８回）に分割して露光（連続撮影）を行なうように指示する。分割露光により得られた複数の短時間露光画像データは、それぞれ画像メモリ５に記憶され、順次、手ぶれ補正回路３０に転送される。具体的には、短時間露光画像データは、手ぶれ補正回路３０内の動き検出回路３１および座標変換回路３３に送られる。
【００３０】
動きベクトル検出部６０は、分割露光により連続撮影が行なわれている際において、各速度センサ４１、５１の出力に基づいて、分割露光により得られた複数の短時間露光画像のうち、最初に取得される１番目の短時間露光画像と、２番目以降に取得される各短時間露光画像との間の動きベクトルＷB を順次算出する。
【００３１】
動き検出回路３１は、分割露光により得られた複数の短時間露光画像のうち、最初に入力される１番目の短時間露光画像と、それ以降に入力される各短時間露光画像との間の動きベクトルＷA を、それらの画像データに基づいて順次算出するとともに、算出した動きベクトルの信頼性が高いか低いか（有効か無効か）も順次判定する。
【００３２】
動き検出回路３１によって算出された動きベクトルＷA が動き検出回路３１において有効と判定された場合には、動き検出回路３１によって検出された動きベクトルＷA が、動きベクトル切替部３２を介して座標変換回路３３に送られる。一方、動き検出回路３１によって算出された動きベクトルＷA が動き検出回路３１において無効と判定された場合には、動きベクトル検出部６０によって算出された動きベクトルＷB が、動きベクトル切替部３２を介して座標変換回路３３に送られる。
【００３３】
座標変換回路３３は、２番目以降の短時間露光画像データの座標を、動きベクトル切替部３２から送られてきた動きベクトルに基づいて、１番目の短時間露光画像とのずれがなくなるように、座標変換する。画像合成回路３４は、座標変換回路３３によって座標変換が行なわれた２番目以降の短時間露光画像データを、１番目の短時間露光画像またはそれまでに合成された画像の画素値と加算して、画像メモリ３５に格納する。つまり、短時間露光画像間の位置ずれを補正して、加算合成した画像が画像メモリ３５に格納される。
【００３４】
予め定められた露光分割数をＮとすると、各短時間露光画像は、露光時間が通常露光の１／Ｎと短いため、手ぶれ量も通常露光の１／Ｎとなる。そして、短時間露光画像間の位置ずれが補正された後に短時間露光画像が加算合成されるので、合成画像の手ぶれ量は、通常露光の１／Ｎに低減される。合成画像は、ＮＴＳＣエンコーダ６を介してモニタ７に表示されるとともに、画像圧縮回路８を介してメモリカード９に保存される。
【００３５】
〔２〕動きベクトル検出部６０についての説明
【００３６】
角速度センサ４１、５１を用いてカメラの分割露光時期と同期させることで、撮影開始と共に所定のサンプリング間隔ｄｔ[sec] でパン方向およびチルト方向の角速度を計測し、撮影終了までのデータを得る。サンプリング間隔ｄｔ[sec] は、たとえば、１msecである。  
【００３７】
図２に示すように、例えば、カメラのパン方向の角速度θ’[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 から角速度を求めることができる。
【００４５】
θ’＝（Ｌ／ＫＳ）Ｄ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｝Ｙ／２４…（１０）
【００５７】
この変換式（９）、（１０）を用いることで、デジタル値として得られたカメラの各軸の角速度データから画像のぶれ量（動きベクトル）を求めることができる。
【００５８】
分割露光により得られる複数の短時間露光画像のうち、最初に得られる１番目の短時間露光画像と、２番目以降に得られる各短時間露光画像との間の動きベクトルＷB は、１番目の短時間露光画像を撮影するための分割露光の中間時点（または開始時点）から、２番目以降の各短時間露光画像を撮影するための分割露光の中間時点（または開始時点）までに得られた各サンプル点毎の動きベクトル（ｘ，ｙ）を順番に結んでいくことにより得られる。
【００５９】
例えば、１番目の短時間露光画像を撮影するための分割露光の中間時点から、２番目の短時間露光画像を撮影するための分割露光の中間時点までに得られた各サンプル点毎の動きベクトルを、（ｘ0 ，ｙ0 ）、（ｘ1 ，ｙ1 ）、…、（ｘM ，ｙM ）とすると、１番目の短時間露光画像データと２番目の短時間露光画像データとの間の動きベクトルＷB は、次式（１１）で表される。
【００６０】
【数１】
2008219124.tif 000003
【００６１】
〔３〕動き検出回路３１についての説明
【００６２】
動き検出回路３１は、手ぶれ補正撮影モードにおいて、基準画像と現画像との画像間の動きベクトルを検出するとともに、その動きベクトルが有効であるか無効であるかを判定する。つまり、「動きベクトル検出および有効性判定処理」を実行する。なお、基準画像は分割露光された複数の短時間露光画像のうちの１番目の短時間露光画像であり、現画像は２番目以降の短時間露光画像（座標変換対象画像）である。
【００６３】
〔３−１〕動きベクトル検出方法の概要説明
【００６４】
動き検出回路３１は、代表点マッチング法に基づいて、動きベクトル等を算出する。図５に示すように、各フレームの映像エリア１００内に、複数の動きベクトル検出領域Ｅ1 〜Ｅ9 が設定されている。各動きベクトル検出領域Ｅ1 〜Ｅ9 の大きさは同じである。また、各動きベクトル検出領域Ｅ1 〜Ｅ9 は、図５に示すように、各小領域ｅに分割されている。この例では、各動きベクトル検出領域Ｅ1 〜Ｅ9 が４８の小領域ｅ分割されている。各小領域ｅは、例えば、３２画素×３２画素の大きさである。図６に示すように、各小領域ｅそれぞれに、複数のサンプリング点Ｓと、１つの代表点Ｒとが設定されている。
【００６５】
現画像における小領域ｅ内の各サンプリング点Ｓの映像信号レベル（輝度レベル）と、基準画像における対応する小領域ｅ内の代表点Ｒの映像信号レベル（輝度レベル）との差（各サンプリング点Ｓにおける相関値）が、各動きベクトル検出領域Ｅ1 〜Ｅ9 ごとに求められる。
【００６６】
そして、各動きベクトル検出領域Ｅ1 〜Ｅ9 ごとに、動きベクトル検出領域内の全ての小領域ｅ間において、代表点Ｒに対する偏位が同じサンプリング点どうしの相関値が累積加算される。したがって、各動きベクトル検出領域Ｅ1 〜Ｅ9 ごとに、１つの小領域ｅ内のサンプリング点Ｓの数に応じた数の累積相関値が求められる。
【００６７】
そして、各動きベクトル検出領域Ｅ1 〜Ｅ9 内において、累積相関値が最小となる点（累積相関値の最小位置Ｐｍｉｎ）の偏位、すなわち相関性が最も高い偏位が、当該動きベクトル検出領域Ｅ1 〜Ｅ9 の動きベクトルＭとして抽出される。
【００６８】
この実施例では、各動きベクトル検出領域Ｅ1 〜Ｅ9 毎に、累積相関値の最小位置Ｐｍｉｎよび累積相関値の最小値Ｖｍｉｎが求められるとともに、各動きベクトル検出領域Ｅ1 〜Ｅ9 毎に、累積相関値の平均値Ｖａｖｅが求められる。また、この実施例では、各動きベクトル検出領域Ｅ1 〜Ｅ9 毎に、累積相関値がＶｍｉｎ＋α（αは例えば２に設定される）以下となる位置の個数（累積相関値が最小値に近い値となる位置の個数）Ｎｍｉｎが求められる。
【００６９】
〔３−２〕動きベクトルの有効性判定方法の概要説明
【００７０】
各動きベクトル検出領域Ｅ1 〜Ｅ9 毎に、その領域で検出される動きベクトルの有効性を判定し、その判定結果に基づいて、全体動きベクトルの有効性を判定する。
【００７１】
まず、各動きベクトル検出領域Ｅ1 〜Ｅ9 毎の動きベクトルの有効性を、次のようにして判定する。つまり、動きベクトル検出領域内の画像のコントラストが低い場合には、当該動きベクトル検出領域の動きベクトルを無効とする。動きベクトル検出領域内の画像のコントラストが高い場合でも、動きベクトル検出領域内に手ぶれ以外の動く物体等が存在するなど複数の動きが存在する場合には、当該動きベクトル検出領域の動きベクトルを無効とする。動きベクトル検出領域内に複数の動きが存在しない場合でも、動きベクトル検出領域内に同じような模様が存在している場合には、当該動きベクトル検出領域の動きベクトルを無効とする。
【００７２】
そして、有効領域（有効と判定された動きベクトル検出領域）の数が０の場合には、全体動きベクトルを無効とする。有効領域（有効と判定された動きベクトル検出領域）の数が１以上である場合には、有効領域の動きベクトルを用いて、全体動きベクトルを算出する。ただし、有効領域数が１以上である場合でも、各有効領域の動きベクトルに類似性が無い場合には、全体動きベクトルを無効とする。
【００７３】
〔３−３〕動き検出回路３１によって実行される「動きベクトル検出および有効性判定処理」の手順についての説明
【００７４】
図７および図８は、動き検出回路３１によって実行される「動きベクトル検出および有効性判定処理」の手順を示している。
【００７５】
ｋは、動きベクトル検出領域Ｅ1 〜Ｅ9 を示す変数であり、１〜Ｋの値をとる。この例では、Ｋ＝９である。また、Ｆｋは、ｋで示される動きベクトル検出領域において検出される動きベクトルが有効であるか無効であるかを示すフラグであり、有効であれば１となり、無効であれば０となる。Ｆｗは、全体動きベクトルが有効であるか無効であるかを示すフラグであり、有効であれば１となり、無効であれば０となる。
【００７６】
まず、ｋ＝１を設定する（ステップＳ１０１）。ｋに対応する動きベクトル検出領域に対してステップＳ１０２〜Ｓ１１２の処理を行なう。
【００７７】
つまり、上述した代表点マッチング法に基づいて、当該動きベクトル検出領域に対する累積相関値を算出する（ステップＳ１０２）。上述したように、累積相関値は、１つの小領域ｅ内のサンプリング点Ｓの数に応じた数だけ得られる。そして、累積相関値の最小位置Ｐｍｉｎ、累積相関値の最小値Ｖｍｉｎ、累積相関値の平均値Ｖａｖｅおよび累積相関値が最小値に近い値となる位置の個数Ｎｍｉｎが求められる（ステップＳ１０３〜Ｓ１０６）。
【００７８】
次に、当該動きベクトル検出領域内の画像のコントラストが低いか否かを判定するために、累積相関値の平均値Ｖａｖｅが閾値ＴＨ１より小さいか否かを判別する（ステップＳ１０７）。
【００７９】
Ｖａｖｅ＜ＴＨ１である場合には、コントラストが低いと判別する。これは、コントラストが低い場合には、輝度差が小さいので、累積相関値の平均値Ｖａｖｅが小さくなるからである。閾値ＴＨ１は実験により決定される。
【００８０】
コントラストが低い場合には、正確な動きベクトルを検出できないので、Ｖａｖｅ＜ＴＨ１である場合には、有効領域フラグＦｋを０にする（ステップＳ１１２）。そして、ｋを１だけインクリメントする（ステップＳ１１３）。ｋ＞Ｋであるか否かを判別する（ステップＳ１１４）。ｋ≦Ｋであれば、ステップＳ１０２に戻る。ｋ＞Ｋであれば、ステップＳ１１５に移行する。
【００８１】
上記ステップＳ１０７において、Ｖａｖｅ≧ＴＨ１と判別した場合には、当該動きベクトル検出領域内に複数の動きが存在するか否かを判定するために、累積相関値の平均値Ｖａｖｅを累積相関値の最小値Ｖｍｉｎで除算した値（Ｖａｖｅ／Ｖｍｉｎ）が、閾値ＴＨ２より小さいか否かを判別する（ステップＳ１０８）。
【００８２】
Ｖａｖｅ／Ｖｍｉｎ＜ＴＨ２である場合には、当該動きベクトル検出領域内に複数の動きが存在すると判定する。これは、複数の動きが存在する場合には、完全なマッチング位置がないため、累積相関値の最小値Ｖｍｉｎが大きくなるという原理に基づく。また、平均値Ｖａｖｅを最小値Ｖｍｉｎで除算することで、被写体のコントラストに依存しないようにする。閾値ＴＨ２は実験により決定される。
【００８３】
複数の動きが存在する場合には、正確な動きベクトルを検出できないので、Ｖａｖｅ／Ｖｍｉｎ＜ＴＨ２である場合には、有効領域フラグＦｋを０にする（ステップＳ１１２）。そして、ｋを１だけインクリメントする（ステップＳ１１３）。ｋ＞Ｋであるか否かを判別する（ステップＳ１１４）。ｋ≦Ｋであれば、ステップＳ１０２に戻る。ｋ＞Ｋであれば、ステップＳ１１５に移行する。
【００８４】
上記ステップＳ１０８において、Ｖａｖｅ／Ｖｍｉｎ≧ＴＨ２と判別した場合には、当該動きベクトル検出領域内に同じような模様が存在しているか否かを判定するために、累積相関値が最小値に近い値となる位置の個数Ｎｍｉｎが複数あるか否かを判別する（ステップＳ１０９）。
【００８５】
累積相関値が最小値に近い値となる位置の個数Ｎｍｉｎが複数ある場合（Ｎｍｉｎ＞１）には、当該動きベクトル検出領域内に同じような模様が存在すると判定する。当該動きベクトル検出領域内に同じような模様が存在する場合には、動きベクトルの信頼性は低いので、Ｎｍｉｎ＞１である場合には、有効領域フラグＦｋを０にする（ステップＳ１１２）。そして、ｋを１だけインクリメントする（ステップＳ１１３）。ｋ＞Ｋであるか否かを判別する（ステップＳ１１４）。ｋ≦Ｋであれば、ステップＳ１０２に戻る。ｋ＞Ｋであれば、ステップＳ１１５に移行する。
【００８６】
上記ステップＳ１０９において、Ｎｍｉｎ＝１と判別した場合には、累積相関値の最小位置Ｐｍｉｎに基づいて、動きベクトルＭｋを算出した後（ステップＳ１１０）、有効領域フラグＦｋを１にする（ステップＳ１１１）。そして、ｋを１だけインクリメントする（ステップ１１３）。ｋ＞Ｋであるか否かを判別する（ステップ１１４）。ｋ≦Ｋであれば、ステップＳ１０２に戻る。ｋ＞Ｋであれば、ステップＳ１１５に移行する。
【００８７】
ステップＳ１１５では、有効領域（Ｆｋ＝１とされた動きベクトル検出領域）の数が０であるか否かを判別する。
【００８８】
有効領域の数が１以上存在する場合には、有効領域（Ｆｋ＝１とされた動きベクトル検出領域）の動きベクトルＭｋを抽出する（ステップＳ１１６）。抽出した動きベクトルＭｋの平均ベクトルＭａｖｅを算出する（ステップＳ１１７）。次に、次式（１２）に基づいて、有効領域間での動きベクトルＭｋのばらつきＡを算出する（ステップＳ１１８）。      
【００８９】
Ａ＝〔｛｜Ｍｋ−Ｍａｖｅ｜／Ｍａｖｅのノルム｝の総和〕／有効領域数  …（１２）      
【００９０】
そして、ばらつきＡが閾値ＴＨ３より大きいか否かを判別する（ステップＳ１１９）。  ばらつきＡが閾値ＴＨ３以下（Ａ≦ＴＨ３）であれば、全体動きベクトル有効フラグＦｗを１にするとともに（ステップＳ１２０）、画像全体の動きベクトル（全体動きベクトル）ＷA を、ステップＳ１１７で算出された平均ベクトルＭａｖｅとする（ステップＳ１２１）。そして、今回の「動きベクトル検出および有効性判定処理」を終了する。
【００９１】
上記ステップＳ１１５において有効領域の数が０であると判別した場合または上記ステップＳ１１９においてばらつきＡが閾値ＴＨ３より大きいと判別した場合には、全体動きベクトル有効フラグＦｗを０にするとともに（ステップＳ１２２）、画像全体の動きベクトル（全体動きベクトル）ＷA を０とする（ステップＳ１２３）。そして、今回の「動きベクトル検出および有効性判定処理」を終了する。
【００９２】
〔４〕デジタルカメラの全体的な動作についての説明
【００９３】
図９は、デジタルカメラの全体的な動作を示している。
【００９４】
まず、静止画の撮影が開始されたか否かを判別する（ステップＳ３０１）。つまり、シャッターボタン２１が押下げられたか否かを判別する。静止画の撮影が開始されていない場合には、一括露光により画像Ｉを取得し（ステップＳ３０２）、得られた画像Ｉをスルー表示する（ステップＳ３０３）。そして、ステップＳ３０１に戻る。
【００９５】
上記ステップＳ３０１において、静止画の撮影が開始されたと判別した場合には、手ぶれ補正撮影モードが設定されているか否かを判別する（ステップＳ３０４）。手ぶれ補正撮影モードが設定されていない場合には、一括露光により、画像Ｉを取得する（ステップＳ３０５）。取得した画像Ｉを画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ３０６）。そして、ステップＳ３０１に戻る。
【００９６】
上記ステップＳ３０４において、手ぶれ補正撮影モードが設定されていると判別した場合には、分割露光を行なって１番目の短時間露光画像Ｕ1 を取得して保存するとともに、動きベクトル検出部６０は角速度センサ４１、５１の出力に基づく動きベクトルｘ，ｙの測定を開始する（ステップＳ３０６）。次に、分割露光が行なわれた回数を記憶する変数ｉに２を設定した後（ステップＳ３０７）、分割露光を行なってｉ番目の短時間露光画像Ｕi を取得する（ステップＳ３０８）。
【００９７】
動きベクトル検出回路６０は、角速度センサ４１、５１の出力に基づいて、１番目の短時間露光画像Ｕ1 と上記ステップＳ３０８で取得したｉ番目の短時間露光画像Ｕi との間の動きベクトルＷB を算出する（ステップＳ３０９）。また、動き検出回路３１は、１番目の短時間露光画像Ｕ1 を基準画像とし、上記ステップＳ３０８で取得したｉ番目の短時間露光画像Ｕi を現画像として、図７及び図８で説明した「動きベクトル検出および有効性判定処理」を行なう（ステップＳ３１０）。
【００９８】
全体動きベクトルの有効フラグＦｗが１であるか否かを判別する（ステップＳ３１１）。全体動きベクトルの有効フラグＦｗが１である場合には、上記ステップＳ３０８で取得したｉ番目の短時間露光画像Ｕi を１番目の短時間露光画像Ｕ1 に位置合わせするために、座標変換回路３３は、上記ステップＳ３１０で検出された全体動きベクトルＷA を用いて、短時間露光画像Ｕi を座標変換する（ステップＳ３１２）。そして、画像合成回路３４は、座標変換後の短時間露光画像Ｕi ’を、「既に得られた合成画像」に加算合成する（ステップＳ３１４）。
【００９９】
座標変換後の短時間露光画像Ｕi ’が２番目の短時間露光画像Ｕi を座標変換した画像である場合には、「既に得られた合成画像」は１番目の短時間露光画像Ｕ1 となり、座標変換後の短時間露光画像Ｕi ’が３番目以降の短時間露光画像Ｕi を座標変換した画像である場合には、「既に得られた合成画像」は前回のステップＳ３１４で得られた合成画像となる。
【０１００】
上記ステップＳ３１１において、全体動きベクトルの有効フラグＦｗが０である場合には、上記ステップＳ３０８で取得したｉ番目の短時間露光画像Ｕi を１番目の短時間露光画像Ｕ1 に位置合わせするために、座標変換回路３３は、上記ステップＳ３０９で検出された動きベクトルＷB を用いて、短時間露光画像Ｕi を座標変換する（ステップＳ３１３）。そして、画像合成回路３４は、座標変換後の短時間露光画像Ｕi ’を、「既に得られた合成画像」に加算合成する（ステップＳ３１４）。
【０１０１】
ステップＳ３１４の処理が終了すると、ｉを１だけインクリメントする（ステップＳ３１５）。そして、ｉ＞Ｎ（Ｎは予め定められた露光分割数）か否かを判別する（ステップＳ３１６）。
【０１０２】
ｉ≦Ｎであれば、ステップＳ３０８に戻り、ステップＳ３０８〜Ｓ３１６の処理を行なう。
【０１０３】
上記ステップＳ３１６でｉ＞Ｎであると判別された場合には、分割露光がＮ回行なわれたと判断し、ステップＳ３１４で得られた合成画像を画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ３１７）。そして、ステップＳ３０１に戻る。
【０１０４】
上記実施例では、「動きベクトル検出および有効性判定処理」において全体動きベクトルＷA が無効であると判別された場合には、角速度センサ４１、５１の出力に基づいて算出された動きベクトルＷB を用いて、短時間露光画像Ｕi を座標変換しているので、位置合わせ精度が高くなる。つまり、位置合わせの失敗による手ぶれ量および被写体のぶれ量の増加を回避できるようになる。
【実施例２】
【０１０５】
実施例２では、各分割露光時に角速度センサに基づいて、各分割露光期間における手ぶれの大きさを測定し、測定された手ぶれの大きさが所定値以上である場合には、当該分割露光によって得られた短時間露光画像を採用しないようにする。手ぶれの大きさが所定値未満であった短時間露光画像のみを位置合わせして合成した後、不足した輝度を補うために輝度を補正する。
【０１０６】
〔１〕デジタルカメラの構成についての説明
【０１０７】
図１０は、デジタルカメラの構成を示している。
【０１０８】
図１０において、図１に対応するものには、同じ符号を付してある。実施例２では、
手ぶれ補正撮影モードで静止画撮影を行なう場合の動作が、実施例１と異なっている。
【０１０９】
手ぶれ補正撮影モードが設定されている場合においては、画像メモリ５に書き込まれた画像データは、手ぶれ補正回路３０Ａに転送される。シャッターボタン２１が押下げられていない場合には、一定間隔（例えば１／６０秒）で撮影された画像データが画像メモリ５に書き込まれた後、手ぶれ補正回路３０Ａに転送される。手ぶれ補正回路３０Ａに転送された画像データは、ＮＴＳＣエンコーダ６を介してモニタ７に送られる。
【０１１０】
シャッターボタン２１が押下げられた場合には、マイコン１０は、撮影制御回路１１に対して、最適露光時間を複数回（例えば、８回）に分割して露光（連続撮影）を行なうように指示する。分割露光により得られた複数の短時間露光画像データは、それぞれ画像メモリ５に記憶され、順次、手ぶれ補正回路３０Ａに転送される。具体的には、短時間露光画像データは、手ぶれ補正回路３０Ａ内の動き検出回路３１および座標変換回路３３に送られる。
【０１１１】
手ぶれ検出および判定部７０は、角速度センサ４１、５１の出力に基づいて、各分割露光期間毎に、その露光期間における手ぶれの大きさＤを検出し、検出した手ぶれの大きさＤが所定値以上か否かを判定して、その判定結果を手ぶれ補正回路３０Ａ内の動き検出回路３１および座標変換回路３３に送る。ある分割露光期間の手ぶれの大きさＤは、当該分割露光期間の開始時点から終了時点までに得られた各サンプル点毎の画像のぶれ量（動きベクトル）（ｘ，ｙ）（上記式（７）、（８）参照）に基づいて算出される。
【０１１２】
例えば、ある分割露光期間の開始時点から終了時点までに得られた各サンプル点毎の画像のぶれ量（動きベクトル）を、（ｘ0 ，ｙ0 ）、（ｘ1 ，ｙ1 ）、…、（ｘM ，ｙM ）とすると、当該分割露光期間の手ぶれの大きさＤは、次式（１３）で表される。
【０１１３】
【数２】
2008219124.tif 000004
【０１１４】
検出した手ぶれの大きさが所定値未満である場合には、当該分割露光によって得られた短時間露光画像データは有効な短時間露光画像データとして扱われ、検出した手ぶれの大きさが所定値以上である場合には、当該分割露光によって得られた短時間露光画像データは無効の短時間露光画像データとして扱われる。そして、後述するように、動き検出回路３１、座標変換回路３３および画像合成回路３４によって、有効な短時間露光画像データのみが合成される。
【０１１５】
動き検出回路３１は、分割露光されかつ有効（手ぶれの大きさが所定値未満である）と判定された複数の短時間露光画像のうち、最初に有効と判定された短時間露光画像と、それ以降に有効と判定された各短時間露光画像との間の動きベクトルＷA を順次算出して、座標変換回路３３に送る。動き検出回路３１の動作は、実施例１とほぼ同様であるが、全体動きベクトルＷA が有効であるか無効であるかの判定を行なう必要はない。したがって、動き検出回路３１は、例えば、図７及び図８で示された処理のうち、Ｓ１２０、Ｓ１２２、Ｓ１２４〜Ｓ１２７のステップを省略した処理を実行することにより、全体動きベクトルＷA を検出する。
【０１１６】
座標変換回路３３は、２番目以降に有効と判定された短時間露光画像の座標を、動き検出回路３１によって検出された動きベクトルに基づいて、最初に有効と判定された短時間露光画像とのずれがなくなるように、座標変換する。画像合成回路３４は、座標変換回路３３によって座標変換が行なわれた短時間露光画像を、最初に有効と判定された短時間露光画像またはそれまでに合成された画像の画素値と加算して、画像メモリ３５に格納する。つまり、有効と判定された短時間露光画像の位置ずれを補正して、加算合成した画像が画像メモリ３５に格納される。
【０１１７】
輝度調節回路３６は、有効と判定された短時間露光画像の枚数がｍである場合には、予め定められた露光分割数をＮ（この例ではＮ＝８）として、画像合成回路３４によって得られた合成画像の輝度をＮ／ｍ倍する。輝度調節回路３６によって輝度が調節された合成画像は、ＮＴＳＣエンコーダ６を介してモニタ７に表示されるとともに、画像圧縮回路８を介してメモリカード９に保存される。
【０１１８】
〔２〕デジタルカメラの全体的な動作についての説明
【０１１９】
図１１は、デジタルカメラの全体的な動作を示している。
【０１２０】
まず、静止画の撮影が開始されたか否かを判別する（ステップＳ４０１）。つまり、シャッターボタン２１が押下げられたか否かを判別する。静止画の撮影が開始されていない場合には、一括露光により画像Ｉを取得し（ステップＳ４０２）、得られた画像Ｉをスルー表示する（ステップＳ４０３）。そして、ステップＳ４０１に戻る。
【０１２１】
上記ステップＳ４０１において、静止画の撮影が開始されたと判別した場合には、手ぶれ補正撮影モードが設定されているか否かを判別する（ステップＳ４０４）。手ぶれ補正撮影モードが設定されていない場合には、一括露光により、画像Ｉを取得する（ステップＳ４０５）。取得した画像Ｉを画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ４０６）。そして、ステップＳ４０１に戻る。
【０１２２】
上記ステップＳ４０４において、手ぶれ補正撮影モードが設定されていると判別した場合には、有効と判定された短時間露光画像の枚数を記憶するための変数ｍを１に設定するとともに（ステップＳ４０７）、分割露光が行なわれた回数を記憶するための変数ｉを１に設定した後（ステップＳ４０８）、分割露光を行なって短時間露光画像Ｕi を取得して保存する（ステップＳ４０９）。手ぶれ検出および判定部７０は、角速度センサ４１、５１の出力に基づいて当該分割露光期間での手ぶれの大きさを検出するとともに手ぶれの大きさが所定値未満であるか否かを判定する（ステップＳ４１０）。
【０１２３】
手ぶれの大きさが所定値以上であると判定（無効判定）した場合には、ｉ＝Ｎ（Ｎは露光分割数）であるか否かを判別する（ステップＳ４１１）。ｉ＝Ｎでなければ、ｉを１だけインクリメントする（ステップＳ４１２）。そして、ステップＳ４０９に戻り、次の分割露光を行なう。
【０１２４】
上記ステップＳ４１０において、手ぶれの大きさが所定値未満であると判定（有効判定）した場合には、ｉ＝Ｎであるか否かを判別する（ステップＳ４１３）。ｉ＝Ｎでなければ、ステップＳ４０９によって得られた短時間露光画像Ｕi をBase画像として設定した後（ステップＳ４１４）、ｉを１だけインクリメントする（ステップＳ４１５）。そして、分割露光を行なって短時間露光画像Ｕi を取得して保存する（ステップＳ４１６）。手ぶれ検出および判定部７０は、角速度センサ４１、５１の出力に基づいて当該分割露光期間での手ぶれの大きさを検出するとともに手ぶれの大きさが所定値未満であるか否かを判定する（ステップＳ４１７）。
【０１２５】
ステップＳ４１７において、手ぶれの大きさが所定値未満であると判定（有効判定）した場合には、動き検出回路３１は、Base画像とステップＳ４１６で取得した短時間露光画像Ｕi との間の動きベクトルＷA を検出する（ステップＳ４１８）。次に、座標変換回路３３は、上記ステップＳ４１６で取得した短時間露光画像Ｕi をBase画像に位置合わせするために、上記ステップＳ４１８で検出した動きベクトルＷA を用いて、短時間露光画像Ｕi を座標変換する（ステップＳ４１９）。そして、画像合成回路３４は、座標変換後の短時間露光画像Ｕi ’を、「既に得られた合成画像」に加算合成する（ステップＳ４２０）。
【０１２６】
座標変換後の短時間露光画像Ｕi ’がBase画像の次に有効と判定された短時間露光画像（２番目に有効と判定された短時間露光画像）Ｕi を座標変換した画像である場合には、「既に得られた合成画像」はBase画像となり、座標変換後の短時間露光画像Ｕi ’が３番目以降に有効と判定された短時間露光画像Ｕi である場合には、「既に得られた合成画像」は前回のステップＳ４２０で得られた合成画像となる。
【０１２７】
ステップＳ４２０の処理が終了すると、ｍを１だけインクリメントする（ステップＳ４２１）。この後、ｉを１だけインクリメントする（ステップＳ４２２）。そして、ｉ＞Ｎか否かを判別する（ステップＳ４２３）。ｉ≦Ｎであれば、ステップＳ４１６に戻り、ステップＳ４１６以降の処理を再度実行する。
【０１２８】
上記ステップＳ４１７において、手ぶれの大きさが所定値以上であると判定（無効判定）した場合には、今回の分割露光で取得した短時間露光画像Ｕi を合成対象画像から除外するために、ステップＳ４２２に移行し、ｉを１だけインクリメントする。そして、ｉ＞Ｎか否かを判別する（ステップＳ４２３）。ｉ≦Ｎであれば、ステップＳ４１６に戻り、ステップＳ４１６以降の処理を再度実行する。
【０１２９】
上記ステップＳ４２３でｉ＞Ｎであると判別された場合には、分割露光がＮ回行なわれたと判断し、ステップＳ４２０で得られた合成画像の輝度を輝度調節回路３６によって、Ｎ／ｍ倍する（ステップＳ４２５）。そして、輝度調節が行なわれた合成画像を、画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ４２６）。そして、ステップＳ４０１に戻る。
【０１３０】
上記ステップＳ４１１または上記ステップＳ４１３においてｉ＝Ｎと判定された場合には、つまり、Ｎ回分の分割露光で取得した短時間露光画像の全てにおいて手ぶれの大きさが所定値以上と判別された場合または最終回以外の分割露光で取得した短時間露光画像の全てにおいて手ぶれの大きさが所定値以上と判別された場合には、最終回の分割露光で取得した短時間露光画像を合成画像とした後（ステップＳ４２４）、ステップＳ４２５に進み、合成画像（最終の短時間露光画像）の輝度をＮ／ｍ倍する。この場合は、ｍ＝１である。そして、輝度調節が行なわれた最終の短時間露光画像を、画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ４２６）。そして、ステップＳ４０１に戻る。
【０１３１】
上記実施例では、手ぶれ補正モードで静止画撮影を行なった場合には、Ｎ回分の分割露光で取得した短時間露光画像のうち、手ぶれの大きさが所定値未満と判別された短時間露光画像のみが合成された後、輝度調節が行なわれることにより、撮影画像が得られるので、手ぶれによる合成画像の画質の劣化を低減できるようになる。
【実施例３】
【０１３２】
実施例３では、各分割露光中において、角速度センサに基づいて所定時間間隔で当該分割露光の開始時点から現在までの手ぶれを測定し、測定された手ぶれが所定値以上となったときには、当該分割露光を中断して、次の分割露光に移行する。露光が途中で停止された短時間露光画像については、その画像の実露光時間と最適分割露光時間とに基づいて、当該短時間露光画像の輝度を調節する。具体的には、当該短時間露光画像の輝度を（最適分割露光時間／実露光時間）倍する。露光が途中で中断されなかった短時間露光画像と露光が途中で中断されかつ輝度調節が行なわれた短時間露光画像とからなる複数の画像を合成する。
【０１３３】
〔１〕デジタルカメラの構成についての説明
【０１３４】
図１２は、デジタルカメラの構成を示している。
【０１３５】
図１２において、図１に対応するものには、同じ符号を付してある。実施例３では、手ぶれ補正撮影モードで静止画撮影を行なう場合の動作が、実施例１と異なっている。
【０１３６】
手ぶれ補正撮影モードが設定されている場合においては、画像メモリ５に書き込まれた画像データは、手ぶれ補正回路３０Ｂに転送される。シャッターボタン２１が押下げられていない場合には、一定間隔（例えば１／６０秒）で撮影された画像データが画像メモリ５に書き込まれた後、手ぶれ補正回路３０Ｂに転送される。手ぶれ補正回路３０Ｂに転送された画像データは、ＮＴＳＣエンコーダ６を介してモニタ７に送られる。
【０１３７】
シャッターボタン２１が押下げられた場合には、マイコン１０は、撮影制御回路１１に対して、最適露光時間を複数回（例えば、８回）に分割して露光（連続撮影）を行なうように指示する。分割露光により得られた複数の短時間露光画像データは、それぞれ画像メモリ５に記憶され、順次、手ぶれ補正回路３０Ｂに転送される。具体的には、短時間露光画像データは、手ぶれ補正回路３０Ｂ内の輝度調節回路３７に送られる。
【０１３８】
手ぶれ検出および判定部８０は、角速度センサ４１、５１の出力に基づいて、各分割露光期間において、その分割露光開始時点から現時点までの手ぶれの大きさＤを所定時間毎に検出し、検出した手ぶれの大きさＤが所定値以上か否かを判定して、その判定結果をマイコン１０に送る。マイコン１０は、分割露光の途中において、手ぶれの大きさＤが所定値以上であるという判定結果を受け取ると、当該分割露光を中止して、次の分割露光を開始させる。
【０１３９】
ある分割露光期間における露光開始時点から現時点までの手ぶれの大きさＤは、当該分割露光期間の開始時点から現時点までに得られた各サンプル点毎の画像のぶれ量（動きベクトル）（ｘ，ｙ）（上記式（７）、（８）参照）に基づいて算出される。
【０１４０】
例えば、ある分割露光期間の開始時点から現時点までに得られた各サンプル点毎の画像のぶれ量（動きベクトル）を、（ｘ0 ，ｙ0 ）、（ｘ1 ，ｙ1 ）、…、（ｘM ，ｙM ）とすると、当該分割露光期間の手ぶれの大きさＤは、次式（１４）で表される。
【０１４１】
【数３】
2008219124.tif 000005
【０１４２】
露光が途中で中断されずに、最適分割露光時間に等しい露光時間で撮影された短時間露光画像は、輝度調節回路３７をスルーして、動き検出回路３１および座標変換回路３３に送られる。一方、露光が途中で中断されたことにより、最適分割露光時間より短い露光時間で撮影された短時間露光画像については、輝度調節回路３７により、その輝度が調節される。具体的には、当該短時間露光画像の実露光時間に対する最適分割露光時間の比をγとすると、当該短時間露光画像の輝度がγ倍される。このγは、マイコン１０から輝度調節回路３７に与えられる。輝度調節回路３７によって輝度調節が行なわれた画像は、動き検出回路３１および座標変換回路３３に送られる。
【０１４３】
動き検出回路３１は、分割露光された複数の短時間露光画像のうち、最初に入力された１番目の短時間露光画像と、２番目以降に入力される各短時間露光画像との間の動きベクトルＷA を順次算出する。動き検出回路３１の動作は、実施例１とほぼ同様であるが、全体動きベクトルＷA が有効であるか無効であるかの判定を行なう必要はない。したがって、動き検出回路３１は、例えば、図７及び図８で示された処理のうち、Ｓ１２０、Ｓ１２２、Ｓ１２４〜Ｓ１２７のステップを省略した処理を実行することにより、全体動きベクトルＷA を検出する。
【０１４４】
座標変換回路３３は、２番目以降の短時間露光画像データの座標を、動き検出回路３１によって検出された動きベクトルＷA に基づいて、１番目の短時間露光画像とのずれがなくなるように、座標変換する。画像合成回路３４は、座標変換回路３３によって座標変換が行なわれた２番目以降の短時間露光画像データを、１番目の短時間露光画像またはそれまでに合成された画像の画素値と加算して、画像メモリ３５に格納する。つまり、短時間露光画像間の位置ずれを補正して、加算合成した画像が画像メモリ３５に格納される。画像メモリ３５に格納された合成画像は、ＮＴＳＣエンコーダ６を介してモニタ７に表示されるとともに、画像圧縮回路８を介してメモリカード９に保存される。
【０１４５】
〔２〕デジタルカメラの全体的な動作についての説明
【０１４６】
図１３は、デジタルカメラの全体的な動作を示している。
【０１４７】
まず、静止画の撮影が開始されたか否かを判別する（ステップＳ５０１）。つまり、シャッターボタン２１が押下げられたか否かを判別する。静止画の撮影が開始されていない場合には、一括露光により画像Ｉを取得し（ステップＳ５０２）、得られた画像Ｉをスルー表示する（ステップＳ５０３）。そして、ステップＳ５０１に戻る。
【０１４８】
上記ステップＳ５０１において、静止画の撮影が開始されたと判別した場合には、手ぶれ補正撮影モードが設定されているか否かを判別する（ステップＳ５０４）。手ぶれ補正撮影モードが設定されていない場合には、一括露光により、画像Ｉを取得する（ステップＳ５０５）。取得した画像Ｉを画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ５０６）。そして、ステップＳ５０１に戻る。
【０１４９】
上記ステップＳ５０４において、手ぶれ補正撮影モードが設定されていると判別した場合には、１番目の短時間露光画像Ｕ1 を取得するために、分割露光を行なう（ステップＳ５０７）。この分割露光中において、手ぶれ検出および判定部８０は、角速度センサ４１、５１の出力に基づいて当該分割露光の開始時点から現在までの手ぶれの大きさを検出するとともに手ぶれの大きさが所定値以上であるか否かを判定する（ステップＳ５０８）。      
【０１５０】
手ぶれの大きさが所定値未満であると判定した場合には、当該分割露光の開始時点からの経過時間が最適分割露光時間に達したかを判別する（ステップＳ５０９）。最適分割露光時間に達してない場合には、ステップＳ５０７に戻り、露光を継続したまま、再度ステップ５０８以降の処理を行なう。
【０１５１】
上記ステップＳ５０９において、当該分割露光の開始時点からの経過時間が最適分割露光時間に達した場合には、当該分割露光における露光を終了する（ステップＳ５１０）。そして、ステップＳ５１３に移行する。この場合には、得られた短時間露光画像Ｕ1 は、輝度調節回路３７をスルーして、動き検出回路３１および座標変換回路３３に送られる。      
【０１５２】
上記ステップＳ５０８において、手ぶれの大きさが所定値以上であると判定した場合には、当該分割露光における露光を中断させる（ステップＳ５１１）。この場合には、露光時間が最適分割露光時間より短くなる。得られた短時間露光画像Ｕ1 は、輝度調節回路３７によって輝度が調節された後（ステップＳ５１２）、ステップＳ５１３に移行する。輝度調節回路３７によって輝度が調節された短時間露光画像Ｕ1 は、動き検出回路３１および座標変換回路３３に送られる。
【０１５３】
ステップＳ５１３では、分割露光が行なわれた回数を記憶する変数ｉに２を設定する。そして、ｉ番目の短時間露光画像Ｕi を取得するために、分割露光を行なう（ステップＳ５１４）。この分割露光中においても、手ぶれ検出および判定部８０は、角速度センサ４１、５１の出力に基づいて当該分割露光の開始時点から現在までの手ぶれの大きさを検出するとともに手ぶれの大きさが所定値以上であるか否かを判定する（ステップＳ５１５）。
【０１５４】
手ぶれの大きさが所定値未満であると判定した場合には、当該分割露光の開始時点からの経過時間が最適分割露光時間に達したかを判別する（ステップＳ５１６）。最適分割露光時間に達してない場合には、ステップＳ５１４に戻り、露光を継続したまま、再度ステップ５１５以降の処理を行なう。
【０１５５】
上記ステップＳ５１６において、当該分割露光の開始時点からの経過時間が最適分割露光時間に達した場合には、当該分割露光における露光を終了する（ステップＳ５１７）。そして、ステップＳ５２０に移行する。この場合には、得られた短時間露光画像Ｕi は、輝度調節回路３７をスルーして、動き検出回路３１および座標変換回路３３に送られる。      
【０１５６】
上記ステップＳ５１５において、手ぶれの大きさが所定値以上であると判定した場合には、当該分割露光における露光を中断させる（ステップＳ５１８）。この場合には、露光時間が最適分割露光時間より短くなる。得られた短時間露光画像Ｕi は、輝度調節回路３７によって輝度が調節された後（ステップＳ５１９）、ステップＳ５２０に移行する。輝度調節回路３７によって輝度が調節された短時間露光画像Ｕi は、動き検出回路３１および座標変換回路３３に送られる。
【０１５７】
ステップＳ５２０では、動き検出回路３２により、１番目の短時間露光画像Ｕ1 とｉ番目の短時間露光画像Ｕi との間の動きベクトルＷA を検出する。次に、座標変換回路３３は、ｉ番目の短時間露光画像Ｕi を１番目の短時間露光画像Ｕ1 に位置合わせするために、上記ステップＳ５２０で検出した動きベクトルＷA を用いて、短時間露光画像Ｕi を座標変換する（ステップＳ５２１）。そして、画像合成回路３４は、座標変換後の短時間露光画像Ｕi ’を、「既に得られた合成画像」に加算合成する（ステップＳ５２２）。
【０１５８】
座標変換後の短時間露光画像Ｕi ’が２番目の短時間露光画像Ｕi を座標変換した画像である場合には、「既に得られた合成画像」は１番目の短時間露光画像Ｕ1 となり、座標変換後の短時間露光画像Ｕi ’が３番目以降の短時間露光画像Ｕi を座標変換した画像である場合には、「既に得られた合成画像」は前回のステップＳ５２２で得られた合成画像となる。
【０１５９】
ステップＳ５２２の処理が終了すると、ｉを１だけインクリメントする（ステップＳ５２３）。そして、ｉ＞Ｎ（Ｎは露光分割数）か否かを判別する（ステップＳ５２４）。
【０１６０】
ｉ≦Ｎであれば、ステップＳ５１４に戻り、ステップＳ５１４〜Ｓ５２４の処理を行なう。
【０１６１】
上記ステップＳ５２４でｉ＞Ｎであると判別された場合には、分割露光がＮ回行なわれたと判断し、ステップＳ５２２で得られた合成画像を画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ５２５）。そして、ステップＳ５０１に戻る。
【０１６２】
上記実施例では、分割露光中において、分割露光開始時点からの手ぶれの大きさが所定値以上になると、当該分割露光を中断し、次の分割露光に移行しているので、分割露光内での手ぶれが軽減され、手ぶれ補正効果が向上する。
【実施例４】
【０１６３】
実施例４では、各分割露光時に角速度センサの出力に基づいて、各分割露光期間における手ぶれを測定する。全ての分割露光終了後に、露光期間内の手ぶれが最も小さかった短時間露光画像を基準画像（Base画像) とする。そして、基準画像（Base画像) と、他の短時間露光画像との間の動きベクトルを検出し、検出した動きベクトルに基づいて、位置合わせを行なって、全ての短時間露光画像を合成する。
【０１６４】
分割露光期間内の手ぶれの大きさが最も小さかった短時間露光画像を基準画像としているのは、次のような理由による。分割露光期間内の手ぶれが大きい短時間露光画像を位置合わせの基準となるべき基準画像とすると、基準画像の特徴点がぼけるため、位置合わせの精度が低下する。そこで、実施例４では、分割露光期間内の手ぶれが最も小さかった短時間露光画像を基準画像とすることにより、位置合わせ精度を高め、手ぶれ補正効果の向上化を図っている。
【０１６５】
〔１〕デジタルカメラの構成についての説明
【０１６６】
図１４は、デジタルカメラの構成を示している。
【０１６７】
図１４において、図１に対応するものには、同じ符号を付してある。実施例４では、
手ぶれ補正撮影モードで静止画撮影を行なう場合の動作が、実施例１と異なっている。
【０１６８】
手ぶれ補正撮影モードが設定されている場合においては、画像メモリ５に書き込まれた画像データは、手ぶれ補正回路３０Ｃに転送される。シャッターボタン２１が押下げられていない場合には、一定間隔（例えば１／６０秒）で撮影された画像データが画像メモリ５に書き込まれた後、手ぶれ補正回路３０Ｃに転送される。手ぶれ補正回路３０Ｃに転送された画像データは、ＮＴＳＣエンコーダ６を介してモニタ７に送られる。
【０１６９】
シャッターボタン２１が押下げられた場合には、マイコン１０は、撮影制御回路１１に対して、最適露光時間を複数回（例えば、８回）に分割して露光（連続撮影）を行なうように指示する。分割露光により得られた複数の短時間露光画像データは、それぞれ画像メモリ５に記憶される。
【０１７０】
手ぶれ検出部９０は、角速度センサ４１、５１の出力に基づいて、各分割露光期間毎にその分割露光期間における手ぶれの大きさＤを検出し、検出した手ぶれＤをマイコン１０に送る。ある分割露光期間の手ぶれの大きさＤは、当該分割露光期間の開始時点から終了時点までに得られた各サンプル点毎の画像のぶれ量（動きベクトル）（ｘ，ｙ）（上記式（７）、（８）参照）に基づいて算出される。
【０１７１】
例えば、ある分割露光期間の開始時点から終了時点までに得られた各サンプル点毎の画像のぶれ量（動きベクトル）を、（ｘ0 ，ｙ0 ）、（ｘ1 ，ｙ1 ）、…、（ｘM ，ｙM ）とすると、当該分割露光期間の手ぶれの大きさＤは、次式（１５）で表される。
【０１７２】
【数４】
2008219124.tif 000006
【０１７３】
分割露光による連続撮影が終了すると、マイコン１０は、分割露光によって得られた複数枚（この例ではＮ枚）の短時間露光画像のうち、露光期間内の手ぶれの大きさＤが最も小さかった画像を基準画像（Base画像) として設定する。そして、まず、Base画像を、手ぶれ補正回路３０Ｃ内の動き検出回路３１および座標変換回路３３に送る。そして、この後、他の短時間露光画像を順次、動き検出回路３１および座標変換回路３３に送る。
【０１７４】
動き検出回路３１は、Base画像と、他の短時間露光画像との間の動きベクトルＷA を順次算出して、座標変換回路３３に送る。動き検出回路３１の動作は、実施例１とほぼ同様であるが、全体動きベクトルＷA が有効であるか無効であるかの判定を行なう必要はない。したがって、動き検出回路３１は、例えば、図７及び図８で示された処理のうち、Ｓ１２０、Ｓ１２２、Ｓ１２４〜Ｓ１２７のステップを省略した処理を実行することにより、全体動きベクトルＷA を検出する。
【０１７５】
座標変換回路３３は、マイコン１０によって画像メモリ５から２番目以降に送られてきた短時間露光画像データの座標を、動き検出回路３１によって検出された動きベクトルに基づいて、マイコン１０によって画像メモリ５から最初に送られてきたBase画像とのずれがなくなるように、座標変換する。画像合成回路３４は、座標変換回路３３によって座標変換が行なわれた短時間露光画像データを、Base画像またはそれまでに合成された画像の画素値と加算して、画像メモリ３５に格納する。つまり、短時間露光画像データの位置ずれを補正して、加算合成した画像が画像メモリ３５に格納される。画像メモリ３５に格納された合成画像は、ＮＴＳＣエンコーダ６を介してモニタ７に表示されるとともに、画像圧縮回路８を介してメモリカード９に保存される。
【０１７６】
〔２〕デジタルカメラの全体的な動作についての説明
【０１７７】
図１５は、デジタルカメラの全体的な動作を示している。
【０１７８】
まず、静止画の撮影が開始されたか否かを判別する（ステップＳ６０１）。つまり、シャッターボタン２１が押下げられたか否かを判別する。静止画の撮影が開始されていない場合には、一括露光により画像Ｉを取得し（ステップＳ６０２）、得られた画像Ｉをスルー表示する（ステップＳ６０３）。そして、ステップＳ６０１に戻る。
【０１７９】
上記ステップＳ６０１において、静止画の撮影が開始されたと判別した場合には、手ぶれ補正撮影モードが設定されているか否かを判別する（ステップＳ６０４）。手ぶれ補正撮影モードが設定されていない場合には、一括露光により、画像Ｉを取得する（ステップＳ６０５）。取得した画像Ｉを画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ６０６）。そして、ステップＳ６０１に戻る。
【０１８０】
上記ステップＳ６０４において、手ぶれ補正撮影モードが設定されていると判別した場合には、分割露光が行なわれた回数を記憶するための変数ｉを１に設定した後（ステップＳ６０７）、分割露光を行なって短時間露光画像Ｕi を取得して保存する（ステップＳ６０８）。また、手ぶれ検出部９０は、角速度センサ４１、５１の出力に基づいて当該分割露光期間での手ぶれの大きさＤi を算出して、マイコン１０に送る（ステップＳ６０９）。
【０１８１】
次に、ｉ＝Ｎ（Ｎは露光分割数）であるか否かを判別する（ステップＳ６１０）。ｉ＝Ｎでなければ、ｉを１だけインクリメントする（ステップＳ６１１）。そして、ステップＳ６０８に戻る。
【０１８２】
上記ステップＳ６１０において、ｉ＝Ｎと判別された場合には、つまり、Ｎ回の分割露光により、１番目からＮ番目までの短時間露光画像データおよび手ぶれの大きさが取得された場合には、手ぶれの最小値を記憶するための変数Ｄｍｉｎに無限大を表す値を設定する（ステップＳ６１２）。
【０１８３】
そして、マイコン１０は、変数ｉを１に設定した後（ステップＳ６１３）、ｉ番目の短時間露光画像Ｕi を撮影した時の手ぶれの大きさＤi がＤｍｉｎより小さいか否かを判別する（ステップＳ６１４）。Ｄi ＜Ｄｍｉｎであれば、Ｄｍｉｎ＝Ｄi に設定するとともに、Base画像＝Ｕi に設定した後（ステップＳ６１５）、ステップＳ６１６に移行する。上記ステップＳ６１４において、Ｄi ≧Ｄｍｉｎであれば、ステップＳ６１６に移行する。
【０１８４】
ステップＳ６１６では、ｉ＝Ｎであるか否かを判別する。ｉ＝Ｎでなければ、ｉを１だけインクリメントする（ステップＳ６１７）。そして、ステップＳ６１４に戻る。＜          
【０１８５】
上記ステップＳ６１４〜Ｓ６１６の処理がＮ回行なわれると、露光期間内の手ぶれが最も小さかった短時間露光画像がBase画像として設定されることになる。また、ステップＳ６１６において、ｉ＝Ｎと判別されるので、マイコン１０は、まず、Base画像を動き検出回路３１および座標変換回路３３に転送した後、他の短時間露光画像を、順次、動き検出回路３１および座標変換回路３３に転送する。
【０１８６】
以下においては、画像メモリ５から動き検出回路３１および座標変換回路３３に転送されるＮ枚の短時間露光画像を、転送される順番に、Ｑ1 、Ｑ2 、…、ＱN と呼ぶことにする。
【０１８７】
変数ｎを２に設定する（ステップＳ６１８）。動き検出回路３１は、Base画像と短時間露光画像Ｑn との間の動きベクトルＷA を検出する（ステップＳ６１９）。次に、座標変換回路３３は、短時間露光画像Ｑn をBase画像に位置合わせするために、上記ステップＳ６１９で検出した動きベクトルＷA を用いて、短時間露光画像Ｑn を座標変換する（ステップＳ６２０）。そして、画像合成回路３４は、座標変換後の短時間露光画像Ｑn ’を、「既に得られた合成画像」に加算合成する（ステップＳ６２１）。
【０１８８】
座標変換後の短時間露光画像Ｑn ’が２番目に転送されてきた短時間露光画像Ｑn （Base画像の次に転送されてきた短時間露光画像Ｑn ）を座標変換した画像である場合には、「既に得られた合成画像」はBase画像となり、座標変換後の短時間露光画像Ｑn ’が３番目以降に転送されてきた短時間露光画像Ｑn を座標変換した画像である場合には、「既に得られた合成画像」は前回のステップＳ６２１で得られた合成画像となる。
【０１８９】
ステップＳ６２１の処理が終了すると、ｎを１だけインクリメントする（ステップＳ６２２）。そして、ｎ＞Ｎか否かを判別する（ステップＳ６２３）。ｎ≦Ｎであれば、ステップＳ６１９に戻り、ステップＳ６１９以降の処理を再度実行する。
【０１９０】
上記ステップＳ６２３において、ｎ＞Ｎであると判別された場合には、ステップＳ６２１で得られた合成画像を画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ６２４）。そして、ステップＳ６０１に戻る。
【０１９１】
上記実施例では、動き検出センサとして、角速度センサを用いている。そして、上記実施例１〜実施例４においては、角速度センサとして、ピッチセンサ４１と、ヨーセンサ５１とが設けられている。実施例２〜実施例４においては、角速度センサとして、ロールセンサのみを設けるようにしてもよい。また、角速度センサとして、ピッチセンサ、ヨーセンサおよびロールセンサの３つのセンサを設けるようにしてもよい。また、動き検出センサとしては、上記角速度センサの他、例えば角加速度センサを用いることもできる。
【０１９２】
また、実施例２と実施例３とを組合せることはできないが、それ以外の組合せであれば、実施例１〜実施例４を任意に組み合わせるようにしてもよい。
【図面の簡単な説明】
【０１９３】
【図１】実施例１のデジタルカメラの構成を示すブロック図である。
【図２】角速度センサ４１の出力を増幅するアンプ４２およびアンプ出力をデジタル値に変換するＡ／Ｄ変換器４３を示すブロック図である。
【図３】デジタルカメラの回転量θ[ deg]と画面上の移動量ｄ[mm]との関係を示す模式図である。
【図４】３５[mm]フィルム換算の画像サイズと、デジタルカメラの画像サイズとを示す模式図である。
【図５】映像エリア内に設定された複数の動きベクトル検出領域Ｅ1 〜Ｅ9 を示す模式図である。
【図６】動きベクトル検出領域内の小領域ｅを示す模式図である。
【図７】動き検出回路３１によって実行される「動きベクトル検出および有効性判定処理」の手順の一部を示すフローチャートである。
【図８】動き検出回路３１によって実行される「動きベクトル検出および有効性判定処理」の手順の一部を示すフローチャートである。
【図９】デジタルカメラの全体的な動作を示すフローチャートである。
【図１０】実施例２のデジタルカメラの構成を示すブロック図である。
【図１１】デジタルカメラの全体的な動作を示すフローチャートである。
【図１２】実施例３のデジタルカメラの構成を示すブロック図である。
【図１３】デジタルカメラの全体的な動作を示すフローチャートである。
【図１４】実施例４のデジタルカメラの構成を示すブロック図である。
【図１５】デジタルカメラの全体的な動作を示すフローチャートである。
【図１６】従来の完全電子式の手ぶれ補正方法を説明するための模式図である。
【符号の説明】
【０１９４】
２  撮像素子
５  画像メモリ
１０  マイコン
１１  撮影制御回路
１２  メモリ制御回路
２１  シャッターボタン
２２  手ぶれ補正ＯＮ／ＯＦＦスイッチ
３０、３０Ａ、３０Ｂ、３０Ｃ  手ぶれ補正回路
３１  動き検出回路
３２  動きベクトル切替部
３３  座標変換回路
３４  画像合成回路
３５  画像メモリ
３６、３７  輝度調節回路
４１、５１  角速度センサ
６０  動きベクトル検出部
７０、８０  手ぶれ検出および判定部
９０  手ぶれ検出部
【図１】
2008219124.tif 000007
【図２】
2008219124.tif 000008
【図３】
2008219124.tif 000009
【図４】
2008219124.tif 000010
【図５】
2008219124.tif 000011
【図６】
2008219124.tif 000012
【図７】
2008219124.tif 000013
【図８】
2008219124.tif 000014
【図９】
2008219124.tif 000015
【図１０】
2008219124.tif 000016
【図１１】
2008219124.tif 000017
【図１２】
2008219124.tif 000018
【図１３】
2008219124.tif 000019
【図１４】
2008219124.tif 000020
【図１５】
2008219124.tif 000021
【図１６】
2008219124.tif 000022