(57)【特許請求の範囲】
【請求項１】
１回の露光で１枚の静止画像を取得する第１の静止画撮影手段と、露光期間を複数回に分割して複数の低輝度画像を取得し、取得した複数の低輝度画像を位置合わせして合成することにより、１枚の静止画像を生成する第２の静止画撮影手段とを備えた撮像装置において、
静止画撮影が行なわれてないときに、入力画像に基づいて、画像の動きに関する情報を算出する第１の動き情報算出手段、および
静止画撮影を開始するときには、静止画撮影開始直前に前記第１の動き情報算出手段によって算出された画像の動きに関する情報に基づいて、前記第１の静止画撮影手段による撮影モードと前記第２の静止画撮影手段による撮影モードとを切り換える撮影モード切り換え手段、
を備えていることを特徴とする撮像装置。
【請求項２】
前記第１の動き情報算出手段は、
静止画撮影が行なわれてないときに、予め定められた前記第２の静止画撮影手段での分割露光数に応じて、入力画像の輝度を低下させる手段、および
輝度が低下せしめられた入力画像に基づいて、画像の動きに関する情報を算出する手段、
を備えていることを特徴とする請求項１に記載の撮像装置。
【請求項３】
第２の静止画撮影手段は、
２番目以降の低輝度画像を取得したときに、取得した２番目以降の低輝度画像と１番目の低輝度画像との間の画像の動きに関する情報を算出する第２の動き情報算出手段、
第２の動き情報算出手段によって算出された画像の動きに関する情報に基づいて、分割露光を継続するか、残り分を一括露光するかを判定する判定手段、
前記残り分を一括露光すると判定された場合には、残り分を一括露光することにより、残り分に相当する１枚の画像を取得する画像取得手段、および
取得した残り分に相当する１枚の画像をそれまでの合成画像に位置合わせして合成することにより、１枚の静止画像を生成する画像合成手段、
を備えていることを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記第２の動き情報算出手段は、画像のコントラストが低いか否か、画像内に複数種類の動きが有るか否か、画像内に類似模様が存在するか否か、のうち少なくとも１つの判定を行い、当該判定結果とパン・チルト状態であるか否かの判定結果に基づいて、前記画像の動きに関する情報を算出することを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記第１の動き情報算出手段は、画像のコントラストが低いか否か、画像内に複数種類の動きが有るか否か、画像内に類似模様が存在するか否か、のうち少なくとも１つの判定を行い、当該判定結果とパン・チルト状態であるか否かの判定結果に基づいて、画像の動きに関する情報を算出し、
前記撮影モード切り換え手段は、前記画像の動きに関する情報に基づいて、前記第１の静止画撮影手段による撮影モードと前記第２の静止画撮影手段による撮影モードとを切り換えるものであることを特徴とする請求項１乃至４に記載の撮像装置。
【請求項６】
露光期間を複数回に分割して複数の低輝度画像を取得し、取得した複数の低輝度画像を位置合わせして合成することにより、１枚の静止画像を生成する静止画撮影手段を備えた撮像装置において、静止画撮影手段は、
２番目以降の低輝度画像を取得したときに、取得した２番目以降の低輝度画像と１番目の低輝度画像との間の画像の動きに関する情報を算出する動き情報算出手段、
前記動き情報算出手段によって算出された画像の動きに関する情報に基づいて、分割露光を継続するか、残り分を一括露光するかを判定する判定手段、
残り分を一括露光すると判定された場合には、残り分を一括露光することにより、残り分に相当する１枚の画像を取得する画像取得手段、および
取得した残り分に相当する１枚の画像をそれまでの合成画像に位置合わせして合成することにより、１枚の静止画像を生成する画像合成手段、
を備えていることを特徴とする撮像装置。
【請求項７】
前記画像の動きに関する情報は、画像のコントラストが低いか否か、画像内に複数種類の動きが有るか否か、画像内に類似模様が存在するか否か、のうち少なくとも１つの判定による判定結果と、パン・チルト状態であるか否かの判定結果に基づいて算出され、当該算出結果に基づいて分割露光を継続するか、前記残り分を一括露光するかを決定するものであることを特徴とする請求項６に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、撮像装置に関する。
【背景技術】
【０００２】
静止画手ぶれ補正技術は、静止画撮影における手ぶれを軽減する技術であり、手ぶれを検出する要素と、その検出結果に基づいて画像を補正する要素とによって実現される。
【０００３】
手ぶれを検出する方法には、手ぶれセンサ（角速度センサ）を用いる方法と、画像を解析して検出する電子式とがある。画像を補正する方法には、光学系の駆動により補正を行なう光学式手ぶれ補正と、画像処理により補正を行なう電子式手ぶれ補正とがある。
【０００４】
静止画手ぶれ補正に対しては、センサで手ぶれを検出しその検出結果に基づいて光学式手ぶれ補正を行なう方法と、センサで手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行なう方法と、画像を解析して手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行なう方法とがある。
【０００５】
画像を解析して手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行なう方法は、完全電子式の手ぶれ補正と呼ばれている。完全電子式の手ぶれ補正で実用化されている方式としては、図８に示すように、通常の露光時間Ｔ１を分割して得られる露光時間がＴ２の複数の短時間露光画像（分割画像）Ｇ１〜Ｇ４を、それらの画像特徴により位置合わせして合成し、１枚の静止画像Ｇを生成する方式（画像加算式手ぶれ補正）がある。        
【０００６】
画像加算式手ぶれ補正では、各分割画像が位置合わせによって完全に一致せしめられた場合、手ぶれ量は、分割画像１枚分の露光時間に軽減される。しかしながら、画像加算式手ぶれ補正では、１枚目の短時間露光画像Ｇ１の露光開始から最後の短時間露光画像Ｇ４の露光終了までの期間は、通常露光の場合に比べて長くなるため、その間の被写体のぶれの程度が大きくなるという欠点がある。さらに、画像処理による位置合わせに失敗した場合、通常露光よりも手ぶれ量が大きくなるという欠点がある。
【０００７】
【特許文献１】特開平９−２６１５２６号公報  「撮像装置」  低輝度条件においては手ぶれしないような露光時間で連写して、複数画像相互のずれを補正してから露光不足の画像群を合成することで、ぶれのない適切な露出の画像を得る。
【特許文献２】特開２００４−２２１９９２号公報  「撮像装置およびプログラム」  順次撮影して得られた複数の画像を合成することにより、露出補正された合成画像を得る第１の撮影モードと、１回の撮影により合成画像に相当する画像を得る第２の撮影モードとの撮影が可能な撮像装置であって、撮影時の条件（被写体の明るさ、焦点距離、絞り、感度）に応じて、第１の撮影モードおよび第２の撮影モードのうちの一方の撮影モードを設定する制御手段を備えている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は、撮影モードとして、一括露光に基づく静止画撮影モードと、分割露光に基づく静止画撮影モードとを備えた撮像装置において、静止画撮影が開始される前に、分割露光に基づく静止画撮影モードによって得られる複数の画像の位置合わせが正常に行なわれるか否かを予測して、その予測結果に応じて撮影モードを自動的に切り換えることができる撮像装置を提供することを目的とする。
【０００９】
また、この発明は、分割露光に基づく静止画撮影が行なわれている途中において、残りの画像の位置合わせが正常に行なわれるか否かを予測し、その予測結果に応じて、分割露光を継続するか、残り分を一括露光するかを自動的に決定することができる撮像装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明は、１回の露光で１枚の静止画像を取得する第１の静止画撮影手段と、露光期間を複数回に分割して複数の低輝度画像を取得し、取得した複数の低輝度画像を位置合わせして合成することにより、１枚の静止画像を生成する第２の静止画撮影手段とを備えた撮像装置において、静止画撮影が行なわれてないときに、入力画像に基づいて、画像の動きに関する情報を算出する第１の動き情報算出手段、および静止画撮影を開始するときには、静止画撮影開始直前に第１の動き情報算出手段によって算出された画像の動きに関する情報に基づいて、第１の静止画撮影手段による撮影モードと第２の静止画撮影手段による撮影モードとを切り換える撮影モード切り換え手段を備えていることを特徴とする。
【００１１】
請求項２に記載の発明は、請求項１に記載の発明において、第１の動き情報算出手段は、静止画撮影が行なわれてないときに、予め定められた第２の静止画撮影手段での分割露光数に応じて、入力画像の輝度を低下させる手段および輝度が低下せしめられた入力画像に基づいて、画像の動きに関する情報を算出する手段を備えていることを特徴とする。
【００１２】
請求項３に記載の発明は、請求項１または請求項２に記載の発明において、第２の静止画撮影手段は、２番目以降の低輝度画像を取得したときに、取得した２番目以降の低輝度画像と１番目の低輝度画像との間の画像の動きに関する情報を算出する第２の動き情報算出手段、第２の動き情報算出手段によって算出された画像の動きに関する情報に基づいて、分割露光を継続するか、残り分を一括露光するかを判定する判定手段、残り分を一括露光すると判定された場合には、残り分を一括露光することにより、残り分に相当する１枚の画像を取得する画像取得手段、および取得した残り分に相当する１枚の画像をそれまでの合成画像に位置合わせして合成することにより、１枚の静止画像を生成する画像合成手段を備えていることを特徴とする。
【００１３】
請求項４に記載の発明は、請求項３に記載の発明において、第２の動き情報算出手段は、画像のコントラストが低いか否か、画像内に複数種類の動きが有るか否か、画像内に類似模様が存在するか否か、の少なくとも１つの判定を行うことで画像の動きに関する情報を算出し、判定手段は、当該算出結果およびパン・チルト状態であるか否かの結果に基づいて、分割露光を継続するか、残り分を一括露光するかを判定するものであることを特徴とする。
【００１４】
請求項５に記載の発明は、請求項１乃至４に記載の発明において、撮影モード切り換え手段は、第１の動き情報算出手段によって算出された画像の動きに関する情報に基づいて、画像のコントラストが低いか否か、画像内に複数種類の動きが有るか否か、画像内に類似模様が存在するか否かおよびパン・チルト状態であるか否か、のうちの少なくとも１つの判定を行ない、その判定結果に基づいて、第１の静止画撮影手段による撮影モードと第２の静止画撮影手段による撮影モードとを切り換えるものであることを特徴とする。
【００１５】
請求項６に記載の発明は、露光期間を複数回に分割して複数の低輝度画像を取得し、取得した複数の低輝度画像を位置合わせして合成することにより、１枚の静止画像を生成する静止画撮影手段を備えた撮像装置において、静止画撮影手段は、２番目以降の低輝度画像を取得したときに、取得した２番目以降の低輝度画像と１番目の低輝度画像との間の画像の動きに関する情報を算出する動き情報算出手段、動き情報算出手段によって算出された画像の動きに関する情報に基づいて、分割露光を継続するか、残り分を一括露光するかを判定する判定手段、残り分を一括露光すると判定された場合には、残り分を一括露光することにより、残り分に相当する１枚の画像を取得する画像取得手段、および取得した残り分に相当する１枚の画像をそれまでの合成画像に位置合わせして合成することにより、１枚の静止画像を生成する画像合成手段を備えていることを特徴とする。
【００１６】
請求項７に記載の発明は、請求項６に記載の発明において、前記画像の動きに関する情報は、画像のコントラストが低いか否か、画像内に複数種類の動きが有るか否か、画像内に類似模様が存在するか否か、の少なくとも１つの判定を行うことで算出され、前記判定手段は、前記画像の動きに関する情報およびパン・チルト状態であるか否かの結果に基づいて、分割露光を継続するか、残り分を一括露光するかを判定するものであることを特徴とする。
【発明の効果】
【００１７】
この発明によれば、撮影モードとして、一括露光に基づく静止画撮影モードと、分割露光に基づく静止画撮影モードとを備えた撮像装置において、静止画撮影が開始される前に、分割露光に基づく静止画撮影モードによって得られる複数の画像の位置合わせが正常に行なわれるか否かを予測して、その予測結果に応じて撮影モードを自動的に切り換えることができるようになる。
【００１８】
また、この発明によれば、分割露光に基づく静止画撮影が行なわれている途中において、残りの画像の位置合わせが正常に行なわれるか否かを予測し、その予測結果に応じて、分割露光を継続するか、残り分を一括露光するかを自動的に決定することができるようになる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、この発明をデジタルカメラに適用した場合の実施例について説明する。
【実施例１】
【００２０】
〔１〕デジタルカメラの構成についての説明
図１は、デジタルカメラの構成を示している。
【００２１】
撮像素子（ＣＣＤ）２は、レンズ１を通して入射した光学像を光電変換し、電気信号として出力する。撮像素子２の出力信号（ＲＧＢ信号）は、ＣＤＳ回路とＡＧＣ回路とを備えたカメラ回路３に送られる。カメラ回路３に入力した撮像素子２の出力信号は、ＣＤＳ回路で相関二重サンプリング処理された後、ＡＧＣ回路で最適な振幅にゲイン調整される。カメラ回路３の出力信号は、Ａ／Ｄ変換器４によってデジタル映像信号に変換される。デジタル映像信号は、画像メモリ５に書き込まれる。撮影制御回路１１は、被写体の明るさを測定する測光回路から得られた明るさの情報に基づいて、撮像素子２の最適な露光時間を設定する。
【００２２】
なお、画像メモリ５は、メモリ制御回路１２を介してマイコン１０によって制御される。また、撮影制御回路１１は、マイコン１０によって制御される。マイコン１０には、シャッターボタン２１および手ぶれ補正ＯＮ／ＯＦＦスイッチ２２が接続されている。手ぶれ補正ＯＮ／ＯＦＦスイッチ２２によって、手ぶれ補正撮影モードと通常撮影モードの設定が行なわれる。以下、通常撮影モードが設定されている場合と手ぶれ補正撮影モードが設定されている場合とにわけて動作を説明する。
【００２３】
〔１−１〕通常撮影モード
通常撮影モードが設定されている場合の動作について説明する。シャッターボタン２１が押下げられていない場合には、一定間隔（例えば１／６０秒）で撮影された画像データが画像メモリ５に書き込まれた後、ＮＴＳＣエンコーダ６によりＮＴＳＣ信号に変換されてモニタ７に表示される。これを、スルー表示と呼ぶことにする。シャッターボタン２１が押下げられると、静止画の撮影を開始し、そのタイミングで撮影された画像データが画像メモリ５に書き込まれた後、モニタ７に表示されるとともに、画像圧縮回路８によってＪＰＥＧ形式にエンコードされ、画像ファイルとしてメモリカード９に保存される。
【００２４】
〔１−２〕手ぶれ補正撮影モード
手ぶれ補正撮影モードが設定されている場合の動作について説明する。手ぶれ補正撮影モードが設定されている場合においては、画像メモリ５に書き込まれた画像データは、手ぶれ補正回路３０に転送される。
【００２５】
シャッターボタン２１が押下げられていない場合には、一定間隔（例えば１／６０秒）で撮影された画像データが画像メモリ５に書き込まれた後、手ぶれ補正回路３０に転送される。手ぶれ補正回路３０に転送された画像データは、ＮＴＳＣエンコーダ６を介してモニタ７に送られるとともに、輝度調節回路３１に送られる。輝度調節回路３１に入力された画像データは、後述する露光分割した低輝度画像と同様な輝度となるように、輝度調節回路３１によって輝度レベルが低下せしめられた後、動き検出回路３２に送られる。
【００２６】
動き検出回路３２では、１つ前に入力された画像データと現在の画像データとの間の動きベクトルが算出されるとともに、算出された動きベクトルが有効か無効かが判定される。この有効・無効判定結果は、シャッターボタン２１が押下げられたときの分割露光制御に使用される。なお、動き検出回路３２はマイコン１０によって制御される。
【００２７】
シャッターボタン２１が押下げられた場合には、マイコン１０は、撮影制御装置１１に対して、最適露光時間を複数回（例えば、８回）に分割して露光（連続撮影）するように指示する。分割露光された複数の低輝度画像データは、それぞれ画像メモリ５に記憶され、順次、手ぶれ補正回路３０に転送される。具体的には、低輝度画像データは、手ぶれ補正回路３０内の動き検出回路３２および座標変換回路３３に送られる。
【００２８】
動き検出回路３２では、分割露光された複数の低輝度画像データのうち、最初に入力された１番目の低輝度画像データと、それ以降に入力される各低輝度画像データとの間の動きベクトルが順次算出されるとともに、算出された動きベクトルが有効か無効かも順次判定される。動きベクトルが有効と判定された場合、２番目以降に入力された各低輝度画像は、１番目の低輝度画像との間の動きベクトルに基づいて、１番目の低輝度画像とのずれがなくなるように、座標変換回路３３で１番目の低輝度画像の座標に座標変換される。そして、画像合成回路３４で１番目の低輝度画像またはそれまでに合成された画像の画素値と加算され、画像メモリ３５に記憶される。つまり、低輝度画像間の位置ずれを補正して、加算合成した画像が画像メモリ３５に格納される。
【００２９】
露光分割数をＮとすると、各低輝度画像は、露光時間が通常露光の１／Ｎと短いため、手ぶれ量も通常露光の１／Ｎとなる。そして、低輝度画像間の位置ずれが補正された後に低輝度画像が加算合成されるので、合成画像の手ぶれ量は、通常露光の１／Ｎに低減される。合成画像は、ＮＴＳＣエンコーダ６を介してモニタ７に表示されるとともに、画像圧縮回路８を介してメモリカード９に保存される。
【００３０】
一方、動きベクトルが無効と判定された場合、座標変換回路での位置ずれ補正は行なわれず、画像合成回路３４で１番目の低輝度画像またはそれまでに合成された画像に加算合成される。
【００３１】
〔２〕動き検出回路３２についての説明
動き検出回路３２は、手ぶれ補正撮影モードにおいて、基準画像と現画像との画像間の動きベクトルを検出するとともに、その動きベクトルが有効であるか無効であるかを判定する。つまり、「動きベクトル検出および有効性判定処理」を実行する。
【００３２】
〔２−１〕動きベクトル検出方法の概要説明
まず、基準画像と原画像との画像間の動きベクトルを検出する方法について説明する。シャッターボタン２１が押下げられていない場合には、基準画像は１つ前に入力された画像となり、現画像は現在入力された画像となる。シャッターボタン２１が押下げられている場合には、基準画像は分割露光された複数の低輝度画像のうちの１番目の低輝度画像となり、現画像は２番目以降の低輝度画像となる。
【００３３】
動き検出回路３２は、代表点マッチング法に基づいて、動きベクトル等を算出する。図２に示すように、各フレームの映像エリア１００内に、複数の動きベクトル検出領域Ｅ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 を示す変数であり、１〜Ｋの値をとる。この例では、Ｋ＝９である。また、Ｆｋは、ｋで示される動きベクトル検出領域において検出される動きベクトルが有効であるか無効であるかを示すフラグであり、有効であれば１となり、無効であれば０となる。Ｆｗは、全体動きベクトルが有効であるか無効であるかを示すフラグであり、有効であれば１となり、無効であれば０となる。
【００４８】
まず、ｋ＝１を設定する（ステップＳ１０１）。ｋに対応する動きベクトル検出領域に対してステップＳ１０２〜Ｓ１１２の処理を行なう。
【００４９】
つまり、上述した代表点マッチング法に基づいて、当該動きベクトル検出領域に対する累積相関値を算出する（ステップＳ１０２）。上述したように、累積相関値は、１つの小領域ｅ内のサンプリング点Ｓの数に応じた数だけ得られる。そして、累積相関値の最小位置Ｐｍｉｎ、累積相関値の最小値Ｖｍｉｎ、累積相関値の平均値Ｖａｖｅおよび累積相関値が最小値に近い値となる位置の個数Ｎｍｉｎが求められる（ステップＳ１０３〜Ｓ１０６）。
【００５０】
次に、当該動きベクトル検出領域内の画像のコントラストが低いか否かを判定するために、累積相関値の平均値Ｖａｖｅが閾値ＴＨ１より小さいか否かを判別する（ステップＳ１０７）。
【００５１】
Ｖａｖｅ＜ＴＨ１である場合には、コントラストが低いと判別する。これは、コントラストが低い場合には、輝度差が小さいので、累積相関値の平均値Ｖａｖｅがが小さくなるからである。閾値ＴＨ１は実験により決定される。
【００５２】
コントラストが低い場合には、正確な動きベクトルを検出できないので、Ｖａｖｅ＜ＴＨ１である場合には、有効領域フラグＦｋを０にする（ステップＳ１１２）。そして、ｋを１だけインクリメントする（ステップＳ１１３）。ｋ＞Ｋである否かを判別する（ステップＳ１１４）。ｋ≦Ｋであれば、ステップＳ１０２に戻る。ｋ＞Ｋであれば、ステップＳ１１５に移行する。
【００５３】
上記ステップＳ１０７において、Ｖａｖｅ≧ＴＨ１と判別した場合には、当該動きベクトル検出領域内に複数の動きが存在するか否かを判定するために、累積相関値の平均値Ｖａｖｅを累積相関値の最小値Ｖｍｉｎで除算した値（Ｖａｖｅ／Ｖｍｉｎ）が、閾値ＴＨ２より小さいか否かを判別する（ステップＳ１０８）。
【００５４】
Ｖａｖｅ／Ｖｍｉｎ＜ＴＨ２である場合には、当該動きベクトル検出領域内に複数の動きが存在すると判定する。これは、複数の動きが存在する場合には、完全なマッチング位置がないため、累積相関値の最小値Ｖｍｉｎが大きくなるという原理に基づく。また、平均値Ｖａｖｅを最小値Ｖｍｉｎで除算することで、被写体のコントラストに依存しないようにする。閾値ＴＨ２は実験により決定される。
【００５５】
複数の動きが存在する場合には、正確な動きベクトルを検出できないので、Ｖａｖｅ／Ｖｍｉｎ＜ＴＨ２である場合には、有効領域フラグＦｋを０にする（ステップＳ１１２）。そして、ｋを１だけインクリメントする（ステップＳ１１３）。ｋ＞Ｋである否かを判別する（ステップＳ１１４）。ｋ≦Ｋであれば、ステップＳ１０２に戻る。ｋ＞Ｋであれば、ステップＳ１１５に移行する。
【００５６】
上記ステップＳ１０８において、Ｖａｖｅ／Ｖｍｉｎ≧ＴＨ２と判別した場合には、当該動きベクトル検出領域内に同じような模様が存在しているか否かを判定するために、累積相関値が最小値に近い値となる位置の個数Ｎｍｉｎが複数あるか否かを判別する（ステップＳ１０９）。
【００５７】
累積相関値が最小値に近い値となる位置の個数Ｎｍｉｎが複数ある場合（Ｎｍｉｎ＞１）には、当該動きベクトル検出領域内に同じような模様が存在すると判定する。当該動きベクトル検出領域内に同じような模様が存在する場合には、動きベクトルの信頼性は低いので、Ｎｍｉｎ＞１である場合には、有効領域フラグＦｋを０にする（ステップＳ１１２）。そして、ｋを１だけインクリメントする（ステップＳ１１３）。ｋ＞Ｋである否かを判別する（ステップＳ１１４）。ｋ≦Ｋであれば、ステップＳ１０２に戻る。ｋ＞Ｋであれば、ステップＳ１１５に移行する。
【００５８】
上記ステップＳ１０９において、Ｎｍｉｎ＝１と判別した場合には、累積相関値の最小位置Ｐｍｉｎに基づいて、動きベクトルＭｋを算出した後（ステップＳ１１０）、有効領域フラグＦｋを１にする（ステップＳ１１１）。そして、ｋを１だけインクリメントする（ステップ１１３）。ｋ＞Ｋである否かを判別する（ステップ１１４）。ｋ≦Ｋであれば、ステップＳ１０２に戻る。ｋ＞Ｋであれば、ステップＳ１１５に移行する。
【００５９】
ステップＳ１１５では、有効領域（Ｆｋ＝１とされた動きベクトル検出領域）の数が０であるか否かを判別する。
【００６０】
有効領域の数が１以上存在する場合には、有効領域（Ｆｋ＝１とされた動きベクトル検出領域）の動きベクトルＭｋを抽出する（ステップＳ１１６）。抽出した動きベクトルＭｋの平均ベクトルＭａｖｅを算出する（ステップＳ１１７）。次に、次式（１）に基づいて、有効領域間での動きベクトルＭｋのばらつきＡを算出する（ステップＳ１１８）。
【００６１】
Ａ＝〔｛｜Ｍｋ−Ｍａｖｅ｜／Ｍａｖｅのノルム｝の総和〕／有効領域数  …（１）        
【００６２】
そして、ばらつきＡが閾値ＴＨ３より大きい否かを判別する（ステップＳ１１９）。  ばらつきＡが閾値ＴＨ３以下（Ａ≦ＴＨ３）であれば、全体動きベクトル有効フラグＦｗを１にするとともに（ステップＳ１２０）、画像全体の動きベクトル（全体動きベクトル）Ｗを、ステップＳ１１７で算出された平均ベクトルＭａｖｅとする（ステップＳ１２１）。そして、ステップＳ１２４に進む。
【００６３】
上記ステップＳ１１５において有効領域の数が０であると判別した場合または上記ステップＳ１１９においてばらつきＡが閾値ＴＨ３より大きいと判別した場合には、全体動きベクトル有効フラグＦｗを０にするとともに（ステップＳ１２２）、画像全体の動きベクトル（全体動きベクトル）Ｗを０とする（ステップＳ１２３）。そして、ステップＳ１２４に進む。
【００６４】
ステップＳ１２４では、動きベクトルの履歴Ｗｎに今回得られた全体動きベクトルＷを追加する。次に、動きベクトルの履歴Ｗｎからパン・チルト状態であるか否かを判定するための処理（パン・チルト状態判定処理）を行なう（ステップＳ１２５）。パン・チルト状態判定処理の詳細については、後述する。
【００６５】
パン・チルト状態判定処理が終了すると、パン・チルト状態であるか否かを示すパン・チルト状態フラグＦｐが１であるか否かを判別する（ステップＳ１２６）。パン・チルト状態フラグＦｐは、パン・チルト状態判定処理によってパン・チルト状態であると判定された場合には１とされ、パン・チルト状態ではないと判定された場合には０とされる。
【００６６】
Ｆｐ＝１の場合には、全体動きベクトル有効フラグＦｗを０にした後（ステップＳ１２７）、今回の「動きベクトル検出および有効性判定処理」を終了する。Ｆｐ＝０と判別した場合には、今回の「動きベクトル検出および有効性判定処理」を終了する。この場合には、全体動きベクトル有効フラグＦｗの最終的な値は、上記ステップＳ１２０または上記ステップＳ１２２で設定された値となる。
【００６７】
図６は、図５のステップＳ１２５の処理（パン・チルト状態判定処理）の詳細な手順を示してる。
【００６８】
まず、パン・チルト状態フラグＦｐが１であるか否かを判別する（ステップＳ２０１）。なお、パン・チルト状態フラグＦｐは、システム起動時の初期設定において、０に設定される。
【００６９】
パン・チルト状態フラグＦｐが０である場合には、つまり、前回においてパン・チルト状態ではない（手ぶれ状態である）と判定されている場合には、上記条件（ａ１）、（ａ２）のいずれかを満たすか否かを判別し、上記条件（ａ１）、（ａ２）のいずれかを満たした場合には、「手ぶれ状態」から「パン・チルト状態」に遷移したと判定する。上記条件（ａ１）、（ａ２）のいずれをも満たしていない場合には、「手ぶれ状態」が継続していると判定する。
【００７０】
つまり、上記ステップＳ２０１でＦｐ＝０と判別した場合には、動きベクトルの履歴Ｗｎに基づいて、全体動きベクトルＷが水平または垂直の同一方向に連続している回数Ｃｈ，Ｃｖを算出する（ステップＳ２０２）。連続回数Ｃｈ，Ｃｖは現在から過去に遡る方向に算出する。Ｃｈは全体動きベクトルＷが水平方向に連続している場合の連続回数を示し、Ｃｖは全体動きベクトルＷが垂直方向に連続している場合の連続回数を示している。そして、Ｃｈ＞ＴＨ４またはＣｖ＞ＴＨ４のいずれかの条件を満たしているか否かを判別する（ステップＳ２０３）。Ｃｈ＞ＴＨ４またはＣｖ＞ＴＨ４のいずれかの条件を満たしている場合には、「手ぶれ状態」から「パン・チルト状態」に遷移したと判定し、パン・チルト状態フラグＦｐを１にする（ステップＳ２０８）。また、パン・チルトの方向に対応した全体動きベクトルの方向（上下左右）を記憶した後（ステップＳ２０９）、図５のステップＳ１２６に移行する。
【００７１】
上記ステップＳ２０３において、Ｃｈ＞ＴＨ４またはＣｖ＞ＴＨ４のいずれの条件も満たしていないと判別した場合には、現在までに水平または垂直の同一方向に連続している全体動きベクトルＷの絶対値Ｓｈ，Ｓｖを算出する（ステップＳ２０４）。Ｓｈは全体動きベクトルＷが水平方向に連続している場合の絶対値を示し、Ｃｖは全体動きベクトルＷが垂直方向に連続している場合の絶対値を示している。
【００７２】
次に、次式（２）に基づいて、閾値ＴＨ５ｈと閾値ＴＨ５ｖとを算出する（ステップＳ２０５）。
【００７３】
ＴＨ５ｈ＝画像幅×β
ＴＨ５ｖ＝画像高さ×β    …（２）
【００７４】
βは予め定められた定数であり、例えば、０．３に設定される。
【００７５】
そして、Ｓｈ＞ＴＨ５ｈまたはＳｖ＞ＴＨ５ｖのいずれかの条件を満たしているか否かを判別する（ステップＳ２０６）。Ｓｈ＞ＴＨ５ｈまたはＳｖ＞ＴＨ５ｖのいずれかの条件を満たしている場合には、「手ぶれ状態」から「パン・チルト状態」に遷移したと判定し、パン・チルト状態フラグＦｐを１にする（ステップＳ２０８）。また、パン・チルトの方向に対応した全体動きベクトルの方向（上下左右）を記憶した後（ステップＳ２０９）、図５のステップＳ１２６に移行する。
【００７６】
上記ステップＳ２０６において、Ｓｈ＞ＴＨ５ｈまたはＳｖ＞ＴＨ５ｖのいずれの条件も満たしていないと判別した場合には、パン・チルト状態フラグＦｐを０にする（ステップＳ２０７）。そして、図５のステップＳ１２６に移行する。
【００７７】
上記ステップＳ２０１において、パン・チルト状態フラグＦｐが１であると判別した場合には、つまり、前回においてパン・チルト状態であると判定されている場合には、上記条件（ｂ１）、（ｂ２）のいずれかを満たすか否かを判別し、上記条件（ｂ１）、（ｂ２）のいずれかを満たした場合には、「パン・チルト状態」から「手ぶれ状態」に遷移したと判定する。上記条件（ｂ１）、（ｂ２）のいずれをも満たしていない場合には、「パン・チルト状態」が継続していると判定する。
【００７８】
つまり、上記ステップＳ２０１でＦｐ＝１と判別した場合には、動きベクトルの履歴Ｗｎに基づいて、全体動きベクトルＷの絶対値｜Ｗ｜が閾値ＴＨ６以下である連続回数Ｃｚを算出する（ステップＳ２１０）。連続回数Ｃｚは現在から過去に遡る方向に算出する。したがって、今回算出された全体動きベクトルＷの絶対値｜Ｗ｜が閾値ＴＨ６より大きい場合には、連続回数Ｃｚは０となる。
【００７９】
ステップＳ２１０で算出した連続回数Ｃｚが閾値ＴＨ６より大きいか否かを判別する（ステップＳ２１１）。Ｃｚ＞ＴＨ６であれば、「パン・チルト状態」から「手ぶれ状態」に遷移したと判定し、パン・チルト状態フラグＦｐを０にする（ステップＳ２１５）。そして、図５のステップＳ１２６に移行する。
【００８０】
以下においては、最新過去において「手ぶれ状態」から「パン・チルト状態」に遷移したときの、パン・チルトの方向に対応した全体動きベクトルの方向（上下左右）を、「パン・チルト状態遷移時の全体動きベクトルの方向」ということにする。この方向は、上述したステップＳ２０９において記憶されている。
【００８１】
上記ステップＳ２１１において、Ｃｚ≦ＴＨ６であると判別した場合には、「パン・チルト状態遷移時の全体動きベクトルの方向」と反対方向の全体動きベクトルＷの連続回数Ｃｄｉｒを算出する（ステップＳ２１２）。「パン・チルト状態遷移時の全体動きベクトルの方向」と反対方向の全体動きベクトルＷとは、「パン・チルト状態遷移時の全体動きベクトルの方向」と反対方向の成分を有する全体動きベクトルＷを意味する。また、連続回数Ｃｄｉｒは、現在から過去に遡る方向に算出する。
【００８２】
ステップＳ２１２で算出した連続回数Ｃｄｉｒが閾値ＴＨ７より大きいか否かを判別する（ステップＳ２１３）。Ｃｄｉｒ＞ＴＨ７であれば、「パン・チルト状態」から「手ぶれ状態」に遷移したと判定し、パン・チルト状態フラグＦｐを０にする（ステップＳ２１５）。そして、図５のステップＳ１２６に移行する。
【００８３】
上記ステップＳ２１３において、Ｃｄｉｒ≦ＴＨ７であると判別した場合には、「パン・チルト状態」が継続していると判定し、パン・チルト状態フラグＦｐを１にする（ステップＳ２１４）。そして、図５のステップＳ１２６に移行する。
【００８４】
〔３〕デジタルカメラの全体的な動作についての説明
図７は、デジタルカメラの全体的な動作を示している。
【００８５】
まず、静止画の撮影が開始されたか否かを判別する（ステップＳ１）。つまり、シャッターボタン２１が押下げられたか否かを判別する。静止画の撮影が開始されていない場合には、一括露光により、画像Ｉを取得する（ステップＳ２）。そして、手ぶれ補正モードが設定されているか否かを判別する（ステップＳ３）。手ぶれ補正モードが設定されていない場合には、取得した画像Ｉをスルー表示する（ステップＳ４）。そして、ステップＳ１に戻る。
【００８６】
上記ステップＳ３において、手ぶれ補正モードが設定されている場合には、取得した画像Ｉをスルー表示するとともに（ステップＳ５）、取得した画像Ｉの輝度を輝度調節回路３１により、１／Ｎ（Ｎは露光分割数）に低下させる（ステップＳ６）。輝度が１／Ｎに低下せしめられた画像を画像Ｉ’で示すことにする。前画像（前回にステップＳ６で得られた画像であって後述するステップＳ７で前画像として記憶されている画像）を基準画像とし、今回にステップＳ６で得られた画像Ｉ’を現画像として、動き検出回路３２により、図４〜図６を用いて説明した「動きベクトル検出および有効性判定処理」を行なう（ステップＳ７）。この後、上記ステップＳ６で得られた画像Ｉ’を前画像として記憶する（ステップＳ８）。そして、ステップＳ１に戻る。
【００８７】
上記ステップＳ１において、静止画の撮影が開始されたと判別した場合には、手ぶれ補正モードが設定されているか否かを判別する（ステップＳ９）。手ぶれ補正モードが設定されていない場合には、一括露光により、画像Ｉを取得する（ステップＳ１０）。取得した画像Ｉを画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ１１）。そして、ステップＳ１に戻る。
【００８８】
上記ステップＳ９において、手ぶれ補正モードが設定されていると判別した場合には、全体動きベクトルの有効フラグＦｗが１であるか否かを判別する（ステップＳ１２）。つまり、静止画撮影が開始される直前において、上述したステップＳ７で実行された「動きベクトル検出および有効性判定処理」での有効性判定結果に基づいて、Ｆｗ＝１であるか否かを判別する。
【００８９】
Ｆｗ＝０である場合には、一括露光により、画像Ｉを取得する（ステップＳ１０）。取得した画像Ｉを画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ１１）。そして、ステップＳ１に戻る。つまり、手ぶれ補正モードが設定されている場合に静止画の撮影が開始されたときでも、直前のスルー表示時において、全体動きベクトルが無効と判定されている場合には、分割露光で得られる複数の低輝度画像の位置合わせが失敗すると予測し、分割露光ではなく一括露光によって静止画が撮影される。
【００９０】
上記ステップＳ１２において、Ｆｗ＝１であると判別した場合には、分割露光を行なって１番目の低輝度画像Ｕ1 を取得して保存する（ステップＳ１３）。次に、分割露光の回数を記憶する変数ｉに２を設定した後（ステップＳ１４）、分割露光を行なってｉ番目の低輝度画像Ｕi を取得する（ステップＳ１５）。そして、１番目の低輝度画像Ｕ1 を基準画像とし、上記ステップＳ１５で取得したｉ番目の低輝度画像Ｕi を現画像として、動き検出回路３２により、図４〜図６を用いて説明した「動きベクトル検出および有効性判定処理」を行なう（ステップＳ１６）。
【００９１】
次に、上記ステップＳ１５で取得したｉ番目の低輝度画像Ｕi を１番目の低輝度画像Ｕ1 に位置合わせするために、上記ステップＳ１６で検出した全体動きベクトルに基づいて低輝度画像Ｕi を座標変換する（ステップＳ１７）。そして、座標変換後の低輝度画像Ｕi ’を、「既に得られた合成画像」に加算合成する（ステップＳ１８）。座標変換後の低輝度画像Ｕi ’が２番目の低輝度画像Ｕi を座標変換した画像である場合には、「既に得られた合成画像」は１番目の低輝度画像Ｕ1 となり、座標変換後の低輝度画像Ｕi ’が３番目以降の低輝度画像Ｕi である場合には、「既に得られた合成画像」は前回のステップＳ１８で得られた合成画像となる。
【００９２】
次に、ｉを１だけインクリメントする（ステップＳ１９）。そして、ｉ＞Ｎ（Ｎは露光分割数）か否かを判別する（ステップＳ２０）。
【００９３】
ｉ≦Ｎであれば、全体動きベクトルの有効フラグＦｗが１であるか否かを判別する（ステップＳ２１）。つまり、上記ステップＳ１６で実行された「動きベクトル検出および有効性判定処理」での有効性判定結果に基づいて、Ｆｗ＝１であるか否かを判別する。Ｆｗ＝１である場合には、ステップＳ１５に戻り、ステップＳ１５〜Ｓ２０の処理を行なう。      
【００９４】
上記ステップＳ２０でｉ＞Ｎであると判別された場合には、分割露光がＮ回行なわれたと判断し、ステップＳ１８で得られた合成画像を画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ２６）。そして、ステップＳ１に戻る。
【００９５】
上記ステップＳ２１において、Ｆｗ＝０と判別された場合には、ｉからＮまでの回数分を一括露光することにより（残り分を一括露光することにより）、画像Ｒを取得する（ステップＳ２２）。そして、１番目の低輝度画像Ｕ1 と上記ステップＳ２２で取得した画像Ｒとの間の全体動きベクトルを動き検出回路３２により検出する（ステップＳ２３）。
【００９６】
次に、上記ステップＳ２２で取得した画像Ｒを１番目の低輝度画像Ｕ1 に位置合わせするために、上記ステップＳ２３で検出した全体動きベクトルに基づいて画像Ｒを座標変換する（ステップＳ２４）。座標変換後の画像Ｒ’を、上記ステップＳ１８で得られた合成画像に加算合成する（ステップＳ２５）。そして、ステップＳ２５によって得られた合成画像を画像圧縮回路８によって圧縮してメモリカード９に保存するとともに、取得した画像Ｉをモニタ７に表示する（ステップＳ２６）。そして、ステップＳ１に戻る。
【００９７】
上記実施例では、手ぶれ補正モードが設定されている場合に静止画の撮影が開始されたときでも、直前のスルー表示時において、全体動きベクトルが無効と判定されている場合には、分割露光ではなく一括露光によって静止画を撮影しているので、位置合わせの失敗による手ぶれ量および被写体のぶれ量の増加を回避できるようになる。
【００９８】
さらに、上記実施例では、ステップＳ２１〜Ｓ２５で示すように、分割露光の途中においても、全体動きベクトルが無効と判定された場合には、分割露光の残り分の画像を一括露光によって撮影し、それまでの合成画像と合成しているので、位置合わせの失敗による手ぶれ量および被写体のぶれ量の増加を低減できるようになる。
【００９９】
なお、上記実施例では、上記ステップＳ２０においてｉ≦Ｎと判別した場合には、ステップＳ２１に移行しているが、ステップＳ１５に移行させるようにしてもよい。この場合には、ステップＳ２１〜Ｓ２５の処理は不要となる。このようにすると、分割露光の途中において全体動きベクトルが無効と判定された場合には、座標変換回路での位置ずれ補正は行なわれず、既に得られた合成画像に今回得られた低輝度画像が加算合成される。
【図面の簡単な説明】
【０１００】
【図１】デジタルカメラの構成を示すブロック図である。
【図２】映像エリア内に設定された複数の動きベクトル検出領域Ｅ1 〜Ｅ9 を示す模式図である。
【図３】動きベクトル検出領域内の小領域ｅを示す模式図である。
【図４】動き検出回路３２によって実行される「動きベクトル検出および有効性判定処理」の手順の一部を示すフローチャートである。
【図５】動き検出回路３２によって実行される「動きベクトル検出および有効性判定処理」の手順の一部を示すフローチャートである。
【図６】図５のステップＳ１２５の処理（パン・チルト状態判定処理）の詳細な手順を示すフローチャートである。
【図７】デジタルカメラの全体的な動作を示すフローチャートである。
【図８】従来の完全電子式の手ぶれ補正方法を説明するための模式図である。
【符号の説明】
【０１０１】
２  撮像素子
５  画像メモリ
１０  マイコン
１１  撮影制御回路
１２  メモリ制御回路
２１  シャッターボタン
２２  手ぶれ補正ＯＮ／ＯＦＦスイッチ
３０  手ぶれ補正回路
３１  輝度調節回路
３２  動き検出回路
３３  座標変換回路
３４  画像合成回路
３５  画像メモリ
【図１】
0004420906.tif 000002
【図２】
0004420906.tif 000003
【図３】
0004420906.tif 000004
【図４】
0004420906.tif 000005
【図５】
0004420906.tif 000006
【図６】
0004420906.tif 000007
【図７】
0004420906.tif 000008
【図８】
0004420906.tif 000009