(57)【要約】【課題】ペンタ部のセンサを用いた測光の結果に応じて、精度よく動きベクトルを検出する。【解決手段】画像処理装置であるＡＰＵ１１２は、第１の撮像により撮像された第１の画像と、第１の撮像に続いて行われる第２の撮像により撮像された第２の画像を取得する取得手段と、第１の画像に基づく測光の結果に応じて、第１の画像または前記第２の画像のうち、動きベクトルの算出に用いる画像を決定する第１の決定手段と、決定された画像に基づいて、動きベクトルを算出する算出手段と、を備える。【選択図】図１
2018137613.tif 000002
【特許請求の範囲】
【請求項１】
第１の撮像により撮像された第１の画像と、前記第１の撮像に続いて行われる第２の撮像により撮像された第２の画像を取得する取得手段と、
前記第１の画像に基づく測光の結果に応じて、前記第１の画像または前記第２の画像のうち、動きベクトルの算出に用いる画像を決定する第１の決定手段と、
前記決定された画像に基づいて、動きベクトルを算出する算出手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の決定手段は、前記測光の結果が、所定の露出以上であった場合、前記第１の画像および前記第２の画像を動きベクトルの算出に用いる画像として決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の決定手段は、前記測光の結果が、所定の露出未満であった場合、前記第２の画像を動きベクトルの算出に用いる画像として決定することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記第１の画像に基づく測光の結果に応じて、前記取得手段の撮像における画像信号の読出し方式を、第１の読出し方式と、前記第１の読出し方式より読出し時間の短い第２の読出し方式のいずれで行うか決定する第２の決定手段をさらに備えることを特徴とする請求項１乃至３のうちいずれか１項に記載の画像処理装置。
【請求項５】
前記第２の決定手段は、前記測光の結果が、所定の露出以上であった場合、前記第１の読出し方式を画像信号の読出し方式として決定し、前記所定の露出未満であった場合、前記第２の読出し方式を画像信号の読出し方式として決定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第１の読出し方式は、全画素読出し方式であり、前記第２の読出し方式は、加算読出し方式であることを特徴とする請求項４または請求項５に記載の画像処理装置。
【請求項７】
前記第１の撮像および前記第２の撮像を、解像度優先モードとサンプリングレート優先モードのいずれで行うか設定する設定手段をさらに備えることを特徴とする請求項１乃至６のうちいずれか１項に記載の画像処理装置。
【請求項８】
前記設定手段は、サンプリングレート優先モードで動きベクトルを検出できなかった場合は解像度優先モードに設定を変更し、解像度優先モードで動きベクトルを検出できなかった場合はサンプリングレート優先モードに設定を変更することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
サンプリングレート優先モードで動きベクトルを検出できなかった場合、前記取得手段は、加算読出し方式で画像信号を読み出すことを特徴とする請求項７に記載の画像処理装置。
【請求項１０】
第１の撮像により撮像された第１の画像と、前記第１の撮像に続いて行われる第２の撮像により撮像された第２の画像を取得する取得手段と、
前記第１の画像または前記第２の画像のうち、動きベクトルの算出に用いる画像を決定する決定手段と、
前記決定された画像に基づいて、動きベクトルを算出する算出手段と、を備え、
前記取得手段は、前記第１の撮像または前記第２の撮像において、第１の読出し方式と、前記第１の読出し方式より読出し時間の短い第２の読出し方式のいずれかの方式で画像信号の読出しを行い、
前記決定手段は、読出し方式に応じて、動きベクトルの算出に用いる画像を決定することを特徴とする画像処理装置。
【請求項１１】
前記読出し方式は、前記第１の画像に基づく測光の結果に応じて決定されることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記決定手段は、前記第１の撮像における蓄積時間が、所定の時間以上であった場合、前記第２の画像を動きベクトルの算出に用いる画像として決定することを特徴とする請求項１０または請求項１１に記載の画像処理装置。
【請求項１３】
請求項１乃至１２のうちいずれか1項に記載の画像処理装置と、
前記第１の画像と前記第２の画像を撮像する撮像手段と、を備えることを特徴とする撮像装置。
【請求項１４】
第１の撮像により撮像された第１の画像と、前記第１の撮像に続いて行われる第２の撮像により撮像された第２の画像を取得する取得工程と、
前記第１の画像に基づく測光の結果に応じて、前記第１の画像または前記第２の画像のうち、動きベクトルの算出に用いる画像を決定する決定工程と、
前記決定された画像に基づいて、動きベクトルを算出する算出工程と、を有することを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置および画像処理装置の制御方法に関する。
【背景技術】
【０００２】
移動している被写体のスピード感を表現する撮影技術として流し撮りがある。流し撮りは、撮影者が被写体の動きに合わせてカメラをパンニングすることにより、移動している被写体を静止させて背景は流すことを目的とする。
流し撮り撮影においては撮影者が被写体の動きに合わせてパンニングをする必要があるが、被写体の移動速度とパンニング速度の間に差が発生してしまうと、被写体までブレた画像になることもある。ユーザの流し撮り撮影の補助（アシスト）を行う技術として、シフトレンズの移動により被写体の移動速度とパンニング速度の差を吸収する手法が提案されている。特許文献１では、ジャイロセンサのブレ検出と画像の動きベクトルから被写体を検出し、検出された被写体を画像中央に位置させるための補正量を算出し、光軸シフトレンズの移動で補正して流し撮り撮影を行う構成が開示されている。
【０００３】
画像から動きベクトルを検出する技術として、連続して撮影された画像を比較することで検出する手法が提案されている。特許文献２では、動きベクトルを検出するブロックマッチングの対象となる参照ブロックと候補ブロックをサーチエリア内で候補ブロックの位置をずらしながら画素値を比較していく技術が開示されている。また、動きベクトルの検出を行うシステムとしては、撮影の前にペンタ部の測光センサで測光に使用する画像信号を取得し、その画像信号を処理するシステムがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１７８４８号公報
【特許文献２】特開平８−８８８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２に開示された技術では、連続して撮影された画像のサンプリング間隔が長くなる場合、被写体の移動量が大きくなるため、連続画像における参照ブロックと候補ブロックの比較エリアを広げなければ、精度よくベクトル検出ができない。その一方で、比較エリアを広げると、動きベクトル検出の処理時間が延びて、リアルタイム性を欠いた処理になってしまう。
【０００６】
本発明は、ペンタ部のセンサを用いた測光の結果に応じて、精度よく動きベクトルを検出することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、第１の撮像により撮像された第１の画像と、前記第１の撮像に続いて行われる第２の撮像により撮像された第２の画像を取得する取得手段と、前記第１の画像に基づく測光の結果に応じて、前記第１の画像または前記第２の画像のうち、動きベクトルの算出に用いる画像を決定する第１の決定手段と、前記決定された画像に基づいて、動きベクトルを算出する算出手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、ペンタ部のセンサを用いた測光の結果に応じて、精度よく動きベクトルを検出することができる画像処理装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】カメラシステムの構成を示す図である。
【図２】測距枠表示素子の測距枠配置の一例を示す図である。
【図３】測光処理のシーケンスを説明する図である。
【図４】通常のプログラム線図の一例を示す図である。
【図５】解像度優先のプログラム線図の一例を示す図である。
【図６】サンプリングレート優先のプログラム線図の一例を示す図である。
【図７】全画素読みのイメージおよび加算読みのイメージを示す図である。
【図８】流し撮りアシスト撮影のフローチャートである。
【図９】流し撮りアシスト測光のフローチャートである。
【図１０】解像度優先測光処理のフローチャートである。
【図１１】サンプリングレート優先測光処理のフローチャートである。
【図１２】サンプリングレート優先測光処理のフローチャートである。
【図１３】流し撮りアシスト自動選択測光処理のフローチャートである。
【図１４】流し撮りアシスト自動線図変更測光処理のフローチャートである。
【図１５】変更後のプログラム線図の一例を示す図である。
【発明を実施するための形態】
【００１０】
（実施例１）
図１は、本実施例のカメラシステムの構成を示す図である。図１では、カメラシステムとして、カメラ本体１００とレンズ２００を備えるデジタルカメラ等の撮像装置を例にとって説明する。レンズ２００は、カメラ本体１００に着脱可能な交換レンズである。なお、本発明は、レンズとカメラ本体とが一体となった撮像装置にも適用可能である。
【００１１】
まず、カメラ本体１００の構成について説明する。カメラ本体１００は、ＣＰＵ１０１、メモリ１０２、撮像素子１０３、シャッタ１０４、ハーフミラー１０５、ピント板１０６、表示素子１０７、測光センサ１０８、ペンタプリズム１０９を備える。さらに、カメラ本体１００は、焦点検出回路１１０、ＡＦミラー１１１、ＡＰＵ１１２、メモリ１１３を備える。
【００１２】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、カメラ本体１００の各部を制御するマイクロプロセッサである。メモリ１０２は、ＣＰＵ１０１に接続されているＲＡＭやＲＯＭ等のメモリである。撮像素子１０３は、赤外カットフィルタやローパスフィルタ等を含むＣＣＤ、ＣＭＯＳ等の撮像素子であり、レンズ２００によって撮影時に被写体の像が結像される。シャッタ１０４は、非撮影時には撮像素子１０３を遮光し、撮影時には開いて撮像素子１０３へ光線を導く。ハーフミラー１０５は、非撮影時にレンズ２００より入射する光の一部を反射し、ピント板１０６に結像させる。
【００１３】
表示素子１０７は、ＰＮ液晶等のＡＦ測距枠を表示するための表示素子であり、光学ファインダーを覗いたときにどの位置でＡＦしているかをユーザに示す。
ここで、図２に表示素子１０７における測距枠配置の一例を示す。外側の実線で示される枠は、撮像領域２１０を表し、内側の実線で示される枠は、測光領域２１１を表す。斜線の四角は、測距枠２１２を示している。本実施例では、測距枠の表示素子１０７としてＰＮ液晶を用いた例を説明する。ＰＮ液晶では、ＣＰＵ１０１からの指示で選択された測距枠の液晶が拡散し、測距枠２１２が表示される。また測光領域２１１、および測光領域を所定の数のブロック領域にわけた、測距枠との対応が点線で示されている。
【００１４】
図１の説明に戻る。測光センサ１０８は、ＣＣＤ、ＣＯＭＳ等の撮像素子を使用することにより測光だけでなく、後述する本提案の特徴である動きベクトル検出を行う。ペンタプリズム１０９は、ピント板１０６の被写体像を測光センサ１０８及び光学ファインダーに導く。測光センサ１０８は、ペンタプリズムを介してピント板１０６に結像された被写体像を斜めの位置から見込んでいる。
【００１５】
焦点検出回路１１０は、焦点検出回路１１０内のＡＦセンサで受光した光束に基づいて、被写体に対する自動合焦のための測距を行う。ＡＦミラー１１１は、レンズ２００から入射してハーフミラー１０５を通過した光束の一部を焦点検出回路１１０内のＡＦセンサへ導く。
【００１６】
ＡＰＵ（Ａｃｃｅｌｅｒａｔｅｄ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１２は、測光センサ１０８の画像処理・演算用のＣＰＵであり、顔検出の演算や追尾の演算、測光演算、動きベクトル検出演算などを行う。メモリ１１３は、ＡＰＵ１１２に接続されているＲＡＭやＲＯＭ等のメモリである。なお、本実施例においては、ＡＰＵ１１２のように測光センサ専用のＣＰＵを用意したが、ＣＰＵ１０１等で処理を行っても良い。また、ＡＰＵ１１２やＣＰＵ１０１は、画像処理総理として構成されてもよい。
【００１７】
次に、レンズ２００の構成について説明する。レンズ２００は、ＬＰＵ２０１、角速度センサ２０２、撮影レンズユニットを備える。
ＬＰＵ２０１は、レンズ内のＣＰＵ（以下ＬＰＵと呼ぶ）で、レンズ２００の各部を制御するマイクロプロセッサである。また、ＬＰＵ２０１は、被写体との距離情報や後述する角速度情報等をカメラ本体１００のＣＰＵ１０１に送る。角速度センサ２０２はジャイロセンサなどの角速度センサで、２００のレンズの移動量を表す角速度を検出し、角速度情報を電気信号として変換してＬＰＵ２０１へ出力する。レンズ２００は、ＬＰＵ２０１と角速度センサ２０２により、シフトレンズを駆動することで被写体の像ブレ補正を行う。撮影レンズユニットは、主撮像光学系、焦点距離を変更可能なズームレンズ群、像のブレを光軸と垂直方向に移動することにより光学的に補正するシフトレンズを有する。
【００１８】
次に、図３を用いて、カメラの状態に応じた測光方法について説明をする。カメラ本体１００では、不図示の撮影ボタンを押下（半押し）することで、測光を行う。なお撮影ボタンはＳｗ１状態（半押し状態）で測光、Ｓｗ１状態からさらに押し込むＳｗ２状態（全押し状態）で撮像を行うものとする。測光は、測光センサ１０８で画像を撮像して取得し、取得した画像に基づいてＡＰＵ１１２において演算処理により行われる。本実施例では、通常モード、流し撮りアシスト解像度優先モードおよび流し撮りアシストサンプリングレート優先モードの３種類の測光処理を行うことが可能である。
【００１９】
図３（Ａ）は、通常モードにおける測光処理時のシーケンスを示す図である。通常モードでの測光処理では、まず、蓄積Ａｔ、読出Ａｔにより得られる測光用の画像（以後、測光画像Ｔと呼ぶ）を撮像する。そして、測光画像Ｔに基づいて測光演算をすることにより、測光領域範囲の明るさを測定するものとする。測光演算処理のアルゴリズムについては、例えば、図２に示すような測光領域を所定の数のブロック領域ごとに分け、ブロックごとに明るさを測定することで、全体の明るさを測定する方法で求められる。なお、測光演算処理のアルゴリズムについては、直接、本発明の特徴とは直接関係がないため、詳細な説明を省略する。
【００２０】
通常モードでの測光処理では、明るさを測定するための測光演算に続いて、交流電流により激しく点滅を繰り返す蛍光灯など、いわゆるフリッカの点滅周期を判定するための画像の取得とフリッカ検出演算を行う。具体的には、フリッカの点滅周期を判定するための蓄積Ｆ、読出Ｆを行い、得られた画像（以後、フリッカ画像Ｆと呼ぶ）からフリッカ情報を取得するフリッカ検出演算を行う。蓄積Ｆ、読出Ｆ、フリッカ検出演算については、本発明の特徴とは関係がないため、説明を省略するが、短い蓄積時間のフリッカ画像Ｆを複数枚、連続撮影することにより、フリッカ点滅周期などを測定することができる。
【００２１】
図３（Ｂ）は、流し撮りアシスト解像度優先モードにおける測光処理時のシーケンスを示す図である。流し撮りアシストは、ユーザの流し撮りを支援する機能である。流し撮りアシストの設定が行われた場合の制御モードを、「流し撮りアシストモード」という。そして、流し撮りアシストモードの中で、動きベクトル検出に用いる画像の取得に際し、画像の解像度を優先するモードを「流し撮りアシスト解像度優先モード」という。画像の解像度を優先し、解像度の高い画像を使用することで、細かなものの動きベクトルまで検出することができる。
【００２２】
流し撮りアシスト解像度優先モードでの測光処理では、まず、前述した通常モードでの測光処理と同様に、測光用の画像（以後、測光画像Ｋと呼ぶ）を撮像し、測光画像Ｔに基づいて測光演算をすることにより、測光領域範囲の明るさを測定する。測光画像Ｋは、蓄積Ａｎｋ、読出Ａｎｋにより得られる。流し撮りアシスト解像度優先モードでの蓄積Ａｎｋ、読出Ａｎｋは、通常モードでの測光処理と同様の処理を行い、プログラム線図も通常モードと同じである。プログラム線図については、図４〜図６を用いて後述する。
【００２３】
流し撮りアシスト解像度優先モードと通常モードでは、測光の次に行う、動きベクトル検出のために行う処理の部分が異なる。流し撮りアシスト解像度優先モードでは、動きベクトル検出用の画像を撮像する蓄積Ｖｎｋ、読出Ｖｎｋを行い、得られた画像（以後、ベクトル画像Ｋと呼ぶ）から動きベクトル検出演算をする。流し撮りアシスト解像度優先モードで撮像したベクトル画像Ｋは、解像度の高い画像となっている。なお、流し撮りアシスト解像度優先モードにおける蓄積Ｖｎｋ、読出Ｖｎｋは、後述する５（Ｂ）のプログラム線図に従い、全画素読み駆動の動作を行う。これにより、動きベクトル検出演算で、解像度の高いベクトル画像Ｋで動きベクトル検出演算を行うことができるため、小さな被写体や、被写体の細かな部分の動きベクトル検出を行うことができる。なお、本実施例における動きベクトル検出演算については、連続して撮影された画像を比較するブロックパターンマッチングを用いるが、ブロックパターンマッチングの詳細については公知の技術なので、その説明を省略する。
【００２４】
図３（Ｃ）は流し撮りアシストサンプリングレート優先モードにおける測光処理時のシーケンスを示す図である。流し撮りアシストモードの中で、動きベクトル検出に用いる画像の取得に際し、サンプリングレートを優先するモードを「流し撮りアシストサンプリングレート優先モード」という。サンプリングレートを優先し、高いサンプリングレートで画像を取得することで、動く速度の速いものや動き（ブレ）が大きいものの動きベクトルの検出精度が高くなる。
【００２５】
流し撮りアシストサンプリングレート優先モードにおける測光処理では、まず、前述した通常測光処理と同様に、測光用の画像（以後、測光画像Ｓ）を撮像し、測光画像Ｓに基づいて測光演算をすることにより、測光領域範囲の明るさを測定する。測光画像Ｓは、蓄積Ａｎｓ、読出Ａｎｓにより得られる。流し撮りアシストサンプリングレート優先モードでの測光処理は、通常モードにおける測光処理と同様の処理を行うが、流し撮りアシストサンプリングレート優先モードで使用するプログラム線図は、通常モードで使用するプログラム線図と異なる線図となる。プログラム線図の詳細は、図４〜図６を用いて後述する。
【００２６】
流し撮りアシストサンプリングレート優先モードと通常モードでは、測光の次に行う、動きベクトル検出のために行う処理の部分が異なる。流し撮りアシストサンプリングレート優先モードでは、動きベクトル検出用の画像を撮像する蓄積Ｖｎｓ、読出Ｖｎｓを行い、得られた画像（以後、ベクトル画像Ｓ）から動きベクトル検出演算をする。なお、流し撮りアシストサンプリングレート優先モードにおける動きベクトル検出時の蓄積Ｖｎｓ、読出Ｖｎｓは、明るさによって全画素読み駆動方式、および加算読み駆動方式、どちらかの読出し駆動を行う。加算読み駆動方式による加算画像を使う分、解像度の低いベクトル画像Ｓで動きベクトル演算を行うことになっても、同じ明るさにおける蓄積Ａｎｓ、読出Ａｎｓ、蓄積Ｖｎｓ、読出Ｖｎｓを流し撮りアシスト解像度優先モードに比べ短くできる。そのため、ブレがなくなり、かつサンプリングレートを上げることが可能になる。全画素読み駆動方式および加算読み駆動方式の詳細については、図７を用いて後述する。
【００２７】
次に図４〜図６を用いて、Ｅｖ値、蓄積時間、読出し駆動方式に関わるプログラム線図について説明をする。図４〜図６は、本実施例に用いるプログラム線図の例を示しており、Ｅｖ値（被写体輝度）、蓄積時間および読出し駆動方式の関係を示したプログラム線図である。上側の横軸と左側の縦軸はＥｖ値、下側の横軸は蓄積時間、右側の縦軸は読出し駆動方式を示している。
【００２８】
図４（Ａ）は、図３（Ａ）で説明した、通常モードにおける測光のための測光画像Ｔを取得する、蓄積Ａｔの蓄積時間、読出Ａｔの読出駆動方式のプログラム線図の一例である。本実施例における通常モードでは、低輝度時にも正確に明るさを測定できるようにする。そのため、通常モードでの測光処理のためのプログラム線図は、ある程度の低輝度になった場合、「全画素読み」から「加算読み」に読出駆動方式を切り替えることで、測光センサとして低輝度時のノイズ・感度の限界を向上させる。加算読みは、隣り合う画素を加算して読み出す読出駆動方式である。例えば、図４（Ａ）ではＥｖ８、蓄積Ａｔの蓄積時間３５ms付近を境に、読出Ａｔを全画素読み駆動方式から加算読み駆動方式にすることで、Ｅｖ８からＥｖ２まで低輝度時の測光の精度限界を向上させる。全画素読み駆動方式、加算読み駆動方式については、図７を用いてその詳細を後述する。また、通常モードにおける測光処理では、例えば、測光画像を３５msまで全画素読み駆動方式にすることで、解像度の高い測光画像を取得できる。解像度の高い測光画像を取得することで、例えば顔検出結果など、画像の連続性を必要としない画像認識（被写体認識）の精度が向上する。
【００２９】
図４（Ｂ）は、図３（Ａ）で説明した、通常モードにおけるフリッカ検出のためのフリッカ画像Ｆを取得する、蓄積Ｆの蓄積時間、読出Ｆの読出し駆動方式のプログラム線図の一例である。本実施例におけるフリッカ検出のためのプログラム線図は、フリッカを検出するため、フリッカの点滅周期内に複数枚の画像を時系列に撮像するよう蓄積Ｆと読出Ｆを点滅周期より短い時間で終えるようなプログラム線図とする。例えば、複数枚行う蓄積Ｆの各蓄積時間をフリッカの点滅周期より短い１.６５６ms以内にし、読出Ｆを加算読み駆動方式にする。
【００３０】
図５（Ａ）は、図３（Ｂ）で説明した、流し撮りアシスト解像度優先モードにおける測光画像Ｋを取得する、蓄積Ａｎｋの蓄積時間、読出Ａｎｋの読出し駆動方式のプログラム線図の一例である。本実施例では、図４（Ａ）で示される通常モードにおける測光時のプログラム線図と同じプログラム線図とする。
【００３１】
図５（Ｂ）は、図３（Ｂ）で説明した流し撮りアシスト解像度優先モードにおけるベクトル画像Ｋを取得する、蓄積Ｖｎｋの蓄積時間、読出Ｖｎｋの読出し駆動方式のプログラム線図の一例である。図５（Ｂ）は、動きベクトル検出時に解像度を重視した際のプログラム線図である。本実施例における動きベクトル検出のための蓄積Ｖｎｋは、流し撮り時、つまりカメラをパンニング中に行う。そのため、ベクトル画像Ｋに被写体の像ブレが起きないように、蓄積Ｖｎｋの蓄積時間を所定の時間より短く、例えば、４ｍｓ以内とする。
【００３２】
さらに、被写体を解像度の高い画像で検出するために、読出Ｖｎｋでの読出し駆動方式は、常に全画素読み駆動方式で撮像をする。なお、この線図では低輝度時においても蓄積時間を延ばさないので、撮像される画像はＥｖ１０以下では適切な露出に比べて暗い画となるが、ブレがないことにより動きベクトル検出演算時に用いるブロックパターンマッチングの精度向上に繋がる。そのため、蓄積時間の制限が設けられる。
【００３３】
図６（Ａ）は、図３（Ｃ）で説明した、流し撮りアシストサンプリングレート優先モードにおける測光画像Ｓを取得する、蓄積Ａｎｓの蓄積時間、読出Ａｎｓの読出し駆動方式のプログラム線図の一例である。流し撮りアシストサンプリングレート優先モードにおける測光処理時の蓄積Ａｎｓは、流し撮り時、つまりカメラをパンニング中に行う。そのため、測光画像Ｓにも被写体のブレが起きないように、例えば、Ｅｖ８までは、蓄積時間が４ｍｓ以内になるように制御する。さらに、ある程度の低輝度になった場合、全画素読み駆動方式から加算読み駆動方式に切り替える。例えば、蓄積Ａｎｓの蓄積時間が４ｍｓを超えるＥｖ１０時には、全画素読み出し駆動方式から加算読出し駆動方式に切り替える。
【００３４】
図６（Ｂ）は、図３（Ｃ）で説明した、流し撮りアシストサンプリングレート優先モードにおけるベクトル画像Ｓを取得する、蓄積Ｖｎｓの蓄積時間、読出Ｖｎｓの読出し駆動方式のプログラム線図の一例である。本実施例における動きベクトル検出のための蓄積Ｖｎｓは、流し撮り時、つまりカメラをパンニング中に行う。そのため、ベクトル画像Ｓに被写体の像ブレが起きないように、図５（Ｂ）と同様に、蓄積Ｖｎｓの蓄積時間を所定の時間より短く、例えば、４ｍｓ以内とする。
【００３５】
また、流し撮りアシストサンプリングレート優先モードでは解像度よりサンプリングレートを重視しているため、解像度を重視する図５（Ｂ）とは異なり、ある程度の低輝度になった場合、全画素読み駆動方式から加算読み駆動方式に切り替える。例えば、蓄積Ｖｎｓの蓄積時間が４ｍｓを超えるＥｖ１０時には、全画素読み駆動方式から加算読出し駆動方式にする。加算読出し駆動方式にすることで、図５（Ｂ）に比べ、読出し時間が短縮され、暗い被写体でもサンプリングレートを落とすことなく複数のベクトル画像Ｓを撮像することができる。
なお、図４〜図６の説明で用いたＥＶ値や蓄積時間の数値は一例にすぎず、これに限られるものではない。
【００３６】
次に、図７を用いて全画素読み駆動方式（全画素読出し）と加算読み駆動方式（加算読出し）を説明する。図７（Ａ）は、図２で説明した測光領域２１１と被写体を示す図である。図７（Ｂ）は全画素読みした際の測光画像、フリッカ画像およびベクトル画像のイメージである。一方、図７（Ｃ）は、加算読みした際の測光画像、フリッカ画像およびベクトル画像のイメージである。全画素読みではセンサの測光領域内にある撮像される画がそのまま出力されるため、撮像した通りの解像度の高い画像が撮像できる。一方、加算読みでは画素を加算して読出すため、撮像したものから圧縮された解像度の低い画像が撮像できる。加算読みでは、画素信号を加算して読み出すことにより、読み出しライン数を擬似的に減少させて、前画素読みに比べ読出し時間を短縮させることができる。
【００３７】
以下、本実施例による、ペンタ部のセンサを用いて測光を行いながら、流し撮りアシストをするシステムについて説明する。
図８は、本実施例における流し撮りアシスト撮影の処理についてのフローチャートである。
まず、ステップＳ６０１では、ＣＰＵ１０１が、流し撮りアシスト設定がされているかどうかの判定を行う。本実施例では流し撮りアシストの設定は、ユーザが図１において不図示の撮影設定メニュー画面と操作ボタンを使って設定し、メモリ１０２もしくはメモリ１１３に記憶する。流し撮りアシスト設定でないと判定した場合は、ステップＳ６０２に進む。一方、流し撮りアシスト設定であると判定した場合は、ステップＳ６０６に進む。
【００３８】
また、本実施例においては、流し撮りアシストの設定として２種類の設定モードが用意されている。第１のモードは、解像度を優先する、流し撮りアシスト解像度優先モードである。このモードは、動きベクトル検出をする際に、より解像度を必要とする動作、たとえば被写体が小さい場合や被写体を細かく認識して流し撮りアシストする際に設定される。第２のモードは、サンプリングレートを優先する、流し撮りアシストサンプリングレート優先モードである。このモードは、よりサンプリングレートを必要とする動作、たとえば速く動く大きな被写体を認識して流し撮りアシストする際に設定される。本実施例においては、ユーザが流し撮りアシストを設定する際に、解像度を優先するかサンプリングレートを優先するかも設定するものとする。なお、ユーザがいずれを優先するか直接設定してもよいし、ユーザが操作画面から被写体の大きさや速度のレベルを入力することでいずれを優先するか設定されるようにしてもよい。
【００３９】
ステップＳ６０２では、ＣＰＵ１０１が、撮影ボタンがＳｗ１状態（半押し状態）であるかどうかの判定を行う。Ｓｗ１状態でないと判定した場合はステップＳ６０２を繰り返し、Ｓｗ１状態であると判定した場合にステップＳ６０３に進む。
ステップＳ６０３では、ＡＰＵ１１２が、図３（Ａ）で説明した通常モードでの測光処理を行う。
【００４０】
ステップＳ６０４では、ＣＰＵ１０１が、撮影ボタンがＳｗ２状態（全押し状態）であるかどうかの判定を行う。Ｓｗ２状態でないと判定した場合は、ステップＳ６０２に移行する。一方、Ｓｗ２状態であると判定した場合は、ステップＳ６０５に進む。
ステップＳ６０５では、撮像素子１０３へ光線を導き、撮像処理を行い、終了する。なお、撮像処理の詳細なフローは公知の技術なので、その説明は省略する。
【００４１】
一方、ステップＳ６０１で流し撮りアシスト設定であると判定すると、ステップＳ６０６に進む。ステップＳ６０６では、ＣＰＵ１０１もしくはＡＰＵ１１２が、撮影ボタンがＳｗ１状態であるかどうかの判定を行う。Ｓｗ１状態でないと判定した場合は、ステップＳ６０６を繰り返し、Ｓｗ１状態であると判定した場合にステップＳ６０７に進む。
【００４２】
ステップＳ６０７では、ＣＰＵ１０１が、レンズ角速度情報取得処理を行う。レンズ角速度情報取得処理では、ＣＰＵ１０１が、ＬＰＵ２０１を介して、角速度センサ２０２からレンズ角速度情報を取得する。これにより、カメラが流し撮り撮影時の被写体の動きに合わせてパンニングしている角速度が得られる。
次に、ステップＳ６０８では、流し撮りアシスト測光処理を行う。この流し撮りアシスト測光処理の詳細なフローは、図９〜１２を使って後述する。
【００４３】
次に、ステップＳ６０９では、ＣＰＵ１０１が、撮影ボタンがＳｗ２状態であるかどうかの判定を行う。Ｓｗ２状態でないと判定した場合は、ステップＳ６０６に移行する。一方、Ｓｗ２状態であると判定した場合は、ステップＳ６１０に進む。
ステップＳ６１０では、被写体の角速度を計算し、被写体の像ブレを補正するレンズシフト補正処理を行う。具体的には、ＣＰＵ１０１が、ステップＳ６０７のレンズ角速度情報取得処理で取得したカメラのパンニング速度と、ステップＳ６０８の流し撮りアシスト測光処理で取得した動きベクトル検出演算の結果から、被写体の角速度を計算する。そして、被写体の角速度とカメラのパンニング速度のズレ分である像ブレを、シフトレンズを駆動することで補正する。
ステップＳ６１１では、撮像素子１０３へ光線を導き、撮像処理を行い、終了する。
【００４４】
図９は、図８のステップＳ６０８で説明した、流し撮りアシスト測光処理のフローチャートである。
まず、ステップＳ７０１では、ＣＰＵ１０１が、流し撮りアシストが解像度優先モードで設定されているかどうかを判定する。もし、流し撮りアシスト設定が解像度優先であると判定した場合は、ステップＳ７０２に進む。ステップＳ７０２では、流し撮りアシスト解像度優先モードでの測光処理を行う。この流し撮りアシスト解像度優先モードでの測光処理の詳細なフローは、図１０を使って後述する。一方、ステップＳ７０１で流し撮りアシスト設定が解像度優先でないと判定した場合は、ステップＳ７０３に進む。ステップＳ７０３では、流し撮りアシストサンプリングレート優先モードでの測光処理を行う。この流し撮りアシストサンプリングレート優先モードでの測光処理の詳細なフローは、図１１および図１２を使って後述する。
【００４５】
図１０は、図９のステップＳ７０２で説明した、流し撮りアシスト解像度優先モードでの測光処理のフローチャートである。本フローチャートでは、図３（Ｂ）で説明した処理を順に行っていく。
まず、ステップＳ８０１およびステップＳ８０２で測光用の画像を撮像し、ステップＳ８０３で画像の明るさを算出する。
ステップＳ８０１では、測光センサ１０８で蓄積Ａｎｋ処理を行う。蓄積Ａｎｋ処理は、測光センサ１０８に対して、ＡＰＵ１１２の制御により行う。なお、その際の蓄積時間は、図５（Ａ）を用いて説明したプログラム線図に従う。また、最初の一回目の蓄積時間は、測光値がないため決定していないので、本実施例ではＥｖ１０を想定した４ｍｓとして開始するものとする。
【００４６】
ステップＳ８０２では、読出Ａｎｋ処理を行う。読出Ａｎｋ処理では、ＡＰＵ１１２が、ステップＳ８０１で蓄積した電荷に対応する信号を測光センサ１０８から読み出し、測光画像Ｋを取得する。測光画像Ｋは、メモリ１１３に記録する。なお、読出Ａｎｋ処理は、図５（Ａ）を用いて説明したプログラム線図に従うため、Ｅｖ８以上の際は全画素駆動方式で読み出し、Ｅｖ８未満では加算読み駆動方式で読み出す。
ステップＳ８０３では、ＡＰＵ１１２が、測光画像Ｋに基づいて、測光演算処理を行う。測光演算処理のアルゴリズムについては、直接、本発明の特徴とは直接関係がないため、説明を省略する。
【００４７】
次に、ステップＳ８０４およびステップＳ８０５で動きベクトル検出用の画像を撮像する。
ステップＳ８０４では、測光センサ１０８で蓄積Ｖｎｋ処理を行う。蓄積Ｖｎｋ処理は、測光センサ１０８に対して、ＡＰＵ１１２の制御により行う。なお、その際の蓄積時間は、図５（Ｂ）を用いて説明したプログラム線図に従う。また、最初の一回目の蓄積時間は、測光値がないため決定していないので、本実施例ではＥｖ１０を想定した４ｍｓとして開始するものとする。
【００４８】
ステップＳ８０５では、読出Ｖｎｋ処理を行う。読出Ｖｎｋ処理では、ＡＰＵ１１２が、ステップＳ８０４で蓄積した電荷に対応する信号を測光センサ１０８から読み出し、ベクトル画像Ｋを取得する。ベクトル画像Ｋは、メモリ１１３に記録する。なお、ベクトル画像Ｋは図５（Ｂ）を用いて説明したプログラム線図に従うため、常に全画素駆動方式で読み出す。
【００４９】
次に、ステップＳ８０６〜ステップＳ８０８でベクトル検出演算処理を行う。
まず、ステップＳ８０６では、ステップＳ８０２で撮像した測光画像Ｋを動きベクトル検出演算のための画像として使用するかのどうかの判定するＦｌａｇの判定を行う。このＦｌａｇはメモリ１１３に記憶されており、ＡＰＵ１１２の制御により判定をする。なお、最初の一回目は、初期値としてＴＲＵＥが設定されているものとする。測光画像Ｋを使用すると判定した場合、すなわち、ＦｌａｇがＴＲＵＥであると判定された場合、ステップＳ８０７に進む。一方、測光画像Ｋを使用しないと判定した場合、すなわち、ＦｌａｇがＦＡＬＳＥであると判定された場合、ステップＳ８０８に進む。
【００５０】
ステップＳ８０７では、ＡＰＵ１１２が、測光画像Ｋとベクトル画像Ｋから、全画素駆動で読みだされた画を比較するブロックパターンマッチングを用いて、全画動きベクトル検出演算を行う。
一方、ステップＳ８０８では、ＡＰＵ１１２が、測光画像Ｋを使わずに動きベクトルの検出演算を行う。具体的には、前回ベクトル画像として記憶しているベクトル画像Ｋと今回ステップＳ８０５で撮像したベクトル画像Ｋから、全画素駆動方式で読みだされた画を比較するブロックパターンマッチングを用いて、全画動きベクトル検出演算を行う。
【００５１】
次に、ステップＳ８０９では、ＡＰＵ１１２が、ステップＳ８０３で測光演算された結果が、所定の露出より明るいか否か、すなわち、所定の露出以上であるか否かを判定する。本実施例においては、例えば、Ｅｖ１０以上であるかどうかの判定を行う。所定の露出以上であると判定された場合、すなわち、Ｅｖが１０以上であると判定された場合は、ステップＳ８１２に進む。一方、所定の露出未満であると判定された場合、すなわち、Ｅｖが１０以上でないと判定された場合は、ステップＳ８１０に進む。
【００５２】
ステップＳ８１２では、ＡＰＵ１１２が、測光画像Ｋ動きベクトル検出使用ＦｌａｇをＴｒｕｅに変更する処理を行い、終了する。これは、Ｅｖ値が高いことから、次回に行う蓄積Ａｎｋでは蓄積時間が４ｍｓ以内になると推定され、その蓄積時間で撮像された測光画像Ｋを動きベクトル検出用画像として使用するためである。
【００５３】
一方、ステップＳ８１０では、ＡＰＵ１１２が、測光画像Ｋ動きベクトル検出使用ＦｌａｇをＦａｌｓｅに変更する処理を行う。これは、Ｅｖ値が低いことから、次回に行う蓄積Ａｎｋでは蓄積時間が４ｍｓ以上になると推定され、その蓄積時間で撮像された測光画像Ｋはブレの影響が大きくベクトル検出用画像として使用できないためである。
ステップＳ８１１では、ステップＳ８０５により撮像されたベクトル画像Ｋをメモリ１１３に記憶し保持する処理を行う。これは、今回撮像したベクトル画像Ｋを、次回のステップＳ８０８で使用する、前回ベクトル画像Ｋとして保持しておくものである。
【００５４】
図１１および図１２は、図９のステップＳ７０３で説明した、流し撮りアシストサンプリングレート優先測光処理についてのフローチャートである。本フローチャートでは、図３（Ｃ）で説明した処理を順に行っていく。
まず、ステップＳ９０１およびステップＳ９０２で測光用の画像を撮像し、ステップＳ９０３で画像の明るさを算出する。
ステップＳ９０１では、蓄積Ａｎｓ処理を行う。蓄積Ａｎｓ処理は、測光センサ１０８に対して、ＡＰＵ１１２の制御により行う。なお、その際の蓄積時間は図６（Ａ）を用いて説明したプログラム線図に従う。また、最初の一回目の蓄積時間は、測光値がないため決定していないので、本実施例ではＥｖ１０を想定した４ｍｓとして開始するものとする。
【００５５】
ステップＳ９０２では、読出Ａｎｓ処理を行う。読出Ａｎｓ処理では、ＡＰＵ１１２が、ステップＳ９０１で蓄積した電荷に対応する信号を測光センサ１０８からから読み出し、測光画像Ｓを取得する。測光画像Ｓは、メモリ１１３に記録する。なお、読出Ａｎｓ処理は、図６（Ａ）を用いて説明したプログラム線図に従うため、Ｅｖ１０以上の際は全画素駆動方式で読み出し、Ｅｖ１０未満では加算読み駆動方式で読み出す。
次にステップＳ９０３では、ＡＰＵ１１２が、測光画像Ｓに基づいて、測光演算処理を行う。測光演算処理のアルゴリズムについては、直接、本発明の特徴とは直接関係がないため、説明を省略するが、ＡＰＵ１１２により行う。
【００５６】
次に、ステップＳ９０４およびステップＳ９０５で動きベクトル検出用の画像を撮像する。
ステップＳ９０４では、測光センサ１０８で蓄積Ｖｎｓ処理を行う。蓄積Ｖｎｓ処理は、測光センサ１０８に対して、ＡＰＵ１１２の制御により行う。なお、その際の蓄積時間は、図６（Ｂ）を用いて説明したプログラム線図に従う。また、最初の一回目の蓄積時間は、測光値がないため決定していないので、本実施例ではＥｖ１０を想定した４ｍｓとして開始するものとする。
【００５７】
ステップＳ９０５では、読出Ｖｎｓ処理を行う。読出Ｖｎｓ処理では、ＡＰＵ１１２が、ステップＳ９０４で蓄積した電荷に対応する信号を測光センサ１０８から読み出し、ベクトル画像Ｓを取得する。ベクトル画像Ｓは、メモリ１１３に記録する。なお、ベクトル画像Ｓは、図６（Ｂ）を用いて説明したプログラム線図に従うため、Ｅｖ１０以上の際は全画素駆動方式で読み出し、Ｅｖ１０未満では加算読み駆動方式で読み出す。
【００５８】
次に、ステップＳ９０６〜ステップＳ９１０で動きベクトルを検出する。
ステップＳ９０６では、ステップＳ９０２で取得した測光画像Ｓを動きベクトル検出のための画像として使用するかのどうかのＦｌａｇの判定を行う。このＦｌａｇは、メモリ１１３に記憶されており、ＡＰＵ１１２の制御により判定をする。なお、最初の一回目は、初期値としてＴＲＵＥとしているものとする。測光画像Ｓを使用すると判定した場合、すなわち、ＦｌａｇがＴＲＵＥであると判定された場合、ステップＳ９０７に進む。一方、測光画像Ｓを使用しないと判定した場合、すなわち、ＦｌａｇがＦＡＬＳＥであると判定された場合、ステップＳ９１０に進む。
【００５９】
ステップＳ９０７では、ＡＰＵ１１２が、測光画像Ｓの使用Ｔｙｐｅが全画であるか、加算であるかの判定を行う。この使用Ｔｙｐｅは、読出し駆動方式であり、最初の一回目は、初期値として全画としているものとする。二回目以降は、後述するＳ９１３およびＳ９１４において読出し駆動方式が決定されている。ステップＳ９０７で測光画像Ｓの使用Ｔｙｐｅが全画であると判定した場合は、ステップＳ９０８に進む。一方、測光画像Ｓの使用Ｔｙｐeが全画でない、すなわち、加算であると判定された場合は、ステップＳ９０９に進む。
【００６０】
ステップＳ９０８では、測光画像Ｓとベクトル画像Ｓから、全画素駆動方式で読み出された画を比較するブロックパターンマッチングを用いて、全画動きベクトル検出演算処理を行い、動きベクトルを検出する。
ステップＳ９０９では、測光画像Ｓとベクトル画像Ｓから、加算駆動方式で読み出された画を比較するブロックパターンマッチングを用いて、加算動きベクトル検出演算処理を行い、動きベクトルを検出する。
【００６１】
ステップＳ９１０では、測光画像Ｓを使わないため、前回ベクトル画像として記憶しているベクトル画像ＳとステップＳ９０５で取得したベクトル画像Ｓから、加算動きベクトル検出演算処理を行い、動きベクトルを検出する。加算動きベクトル検出演算処理は、加算駆動で読みだされた画を比較するブロックパターンマッチングを用いて行われる。
【００６２】
次に、ステップＳ９１１では、ＡＰＵ１１２が、ステップＳ９０３で測光演算した結果が、所定の第１の露出以上であるか否かを判定する。本判定は、次回の読出しの駆動方式が、全画素駆動方式になるか加算読み駆動方式になるか判定するものであり、本実施例においては、Ｅｖ１０以上であるかどうかの判定を行う。Ｅｖが１０以上であると判定された場合は、ステップＳ９１３に進む。一方、Ｅｖが１０以上でないと判定された場合は、ステップＳ９１２に進む。
【００６３】
ステップＳ９１３では、ＡＰＵ１１２が、測光画像Ｓの使用Ｔｙｐｅを全画に変更する処理を行う。これは、次回に行う蓄積Ａｎｓでは、Ｅｖが１０以上であるから、蓄積時間が４ｍｓ以内で、かつ、全画素読み駆動方式になることを判定するものである。これにより、次回のステップＳ９０７における判定で、測光画像Ｓの使用Ｔｙｐｅが全画と判定され、その蓄積時間で撮像された測光画像Ｓを全画動きベクトル検出用画像として使用する。さらに、ＡＰＵ１１２が、測光画像Ｋ動きベクトル検出使用ＦｌａｇをＴｒｕｅに変更する処理を行い、終了する。
【００６４】
ステップＳ９１２では、ＡＰＵ１１２が、ステップＳ９０３で測光演算された結果が、所定の第２の露出以上であるか否かを判定する。本実施例においては、Ｅｖ８以上であるかどうかの判定を行う。Ｅｖが８以上であると判定された場合は、ステップＳ９１４に進む。一方、Ｅｖが８以上ない、すなわち、Ｅｖが８未満であると判定された場合は、ステップＳ９１５に進む。
【００６５】
ステップＳ９１４では、ＡＰＵ１１２が、測光画像Ｓの使用Ｔｙｐｅを加算に変更する処理を行う。これは、次回に行う蓄積Ａｎｓでは、Ｅｖが８以上、１０未満であることから、蓄積時間を４ｍｓ以内でかつ、加算読み駆動方式になることを判定するものである。これにより、次回のステップＳ９０７における判定で、測光画像Ｓの使用Ｔｙｐｅが加算と判定され、その蓄積時間で撮像された測光画像Ｓを加算動きベクトル検出用画像として使用する。さらに、ＡＰＵ１１２が、測光画像Ｋ動きベクトル検出使用ＦｌａｇをＴｒｕｅに変更する処理を行い、終了する。
【００６６】
ステップＳ９１５では、ＡＰＵ１１２が、測光画像Ｓ動きベクトル検出使用ＦｌａｇをＦａｌｓｅに変更する処理を行う。これは、次回に行う蓄積Ａｎｓでは、Ｅｖ値が低いことから、蓄積時間が４ｍｓ以上になると推定され、その蓄積時間で撮像された測光画像Ｓはブレの影響が大きくベクトル検出用画像として使用できないためである。
ステップＳ９１６では、ＡＰＵ１１２が、ステップＳ９０５で取得したベクトル画像Ｓを、メモリ１１３に記憶し保持する処理を行う。これは次回のステップＳ９１０で使用する前回ベクトル画像Ｓとして保持しておくものである。
【００６７】
また、本実施例においては、図５および図６のプログラム線図やステップＳ９１１〜ステップＳ９１４で示した通り、読出し方式は、測光の結果であるＥｖの値に応じて決定される。結果として、動きベクトルの検出に使用する画像を読出し方式に応じて決定することは、測光の結果に応じて決定していることになる。
【００６８】
図５および図６のプログラム線図で示した通り、ベクトル検出用の画像を撮像するための蓄積Ｖｎｋおよび蓄積Ｖｎｓは、画像に像ブレが生じるのを抑制するため、蓄積Ｖｎｓの蓄積時間を所定の時間より短くなるようにしている。一方、測光用の画像を撮像するための蓄積Ａｎｋおよび蓄積Ａｎｓには、像ブレを抑制するための蓄積時間の制限を設けていない。そのため、蓄積Ａｎｋおよび蓄積Ａｎｓの蓄積時間が所定の時間以上であった場合には、撮像した画像に像ブレが生じている恐れがある。像ブレが生じている画像は、動きベクトルの検出に不向きであるため、測光画像の撮像における蓄積時間が所定の時間以上であった場合には、ベクトル検出には利用しないようにする。この場合のベクトル検出は、ステップＳ８０８やステップＳ９１０のように、前回と今回のベクトル画像に基づいて行う。上記を実現するために、ステップＳ８０６やステップＳ９０６の前に測光画像の撮像における蓄積時間が所定の時間以上であるか否かの判定を行うようにしてもよい。
【００６９】
以上のように、本実施例によれば、複数の流し撮りアシストの設定モードそれぞれに対応する動きベクトルの検出方法で検出を行えるため、動きベクトルの検出の精度を向上させることができる。
【００７０】
（実施例２）
実施例２による、ペンタ部のセンサを用いて測光を行いながら、流し撮りアシストをするシステムについて説明する。実施例１ではユーザが流し撮りアシストの設定モードを設定していたが、本実施例においては、流し撮りアシストの設定モードをカメラが自動で選択する自動選択の設定がされた際に行う処理について説明をする。例えば、被写体が小さくかつ速い場合など、ユーザが自ら解像度を優先すべきかサンプリングレートを優先すべきか条件を特定できない場合に、自動選択が有効である。自動選択において、初期設定をユーザが設定するようにしてもよいし、初期設定として解像度優先が設定されるようにしてもよい。なお、実施例１の場合と同様の構成要素については詳細な説明を省略し、相違点を中心に説明する。
【００７１】
図１３は、ステップＳ６０８の流し撮りアシスト自動選択測光処理についてのフローチャートである。まず、ステップＳ１００１〜ステップＳ１００３は、実施例１で説明したステップＳ７０１〜ステップＳ７０３と同じ処理を行う。
次に、ステップＳ１００４では、ＡＰＵ１１２が、ステップＳ１００２もしくはステップＳ１００３により、動きベクトルが検出できたかどうかの判定を行う。ステップＳ１００４で動きベクトル検出ができたと判定された場合は、処理を終了する。一方、動きベクトルが検出できなかったと判定された場合は、ステップＳ１００５に進む。
【００７２】
ステップＳ１００５では、ＡＰＵ１１２が、動きベクトル検出ができなかった流し撮りアシスト測光処理が、解像度優先の測光処理だったかどうかの判定を行う。解像度優先であると判定した場合は、ステップＳ１００６に進む。一方、解像度優先でないと判定した場合は、ステップＳ１００７に進む。
ステップＳ１００６では、流し撮りアシストサンプリングレート優先モードで測光処理を行い終了する。ステップＳ１００７では、流し撮り解像度優先モードで測光処理を行い終了する。これにより、一方の測光方法で動きベクトル検出ができなかった際、もう一方の方法で動きベクトル検出を行うことで、カメラが自動で効果的な測光方法を選択することができる。
【００７３】
以上のように、本実施例によれば、自動で流し撮りアシストの設定モードを選択することができ、動きベクトルの検出の精度を向上させることができる。
【００７４】
（実施例３）
実施例３による、ペンタ部のセンサを用いて測光を行いながら、流し撮りアシストをするシステムについて説明する。本実施例においては、流し撮りアシストサンプリングレート優先モードで動きベクトルが検出できなかった場合、流し撮りアシストサンプリングレート優先モードでの測光処理で使用するプログラム線図を変更する処理を行う。なお、実施例１の場合と同様の構成要素については詳細な説明を省略し、相違点を中心に説明する。
【００７５】
図１４は、流し撮りアシスト自動線図変更測光処理についてのフローチャートである。本処理は、ステップＳ６０８の流し撮りアシスト測光処理において行われる。
まず、ステップＳ１１０１〜ステップＳ１１０３は、実施例１で説明したステップＳ７０１〜ステップＳ７０３と同じ処理を行う。
【００７６】
ステップＳ１１０４では、ＡＰＵ１１２が、ステップＳ１１０３で行った流し撮りアシストサンプリングレート優先測光処理で、動きベクトル検出ができたかどうかの判定を行う。動きベクトル検出ができたと判定した場合は、処理を終了する。一方、動きベクトル検出ができなかったと判定した場合は、ステップＳ１１０５に進む。
ステップＳ１１０５では、ＡＰＵ１１２が、流し撮りアシストサンプリングレート優先モードでの測光処理で利用するプログラム線図の変更処理を行い、処理を終了する。
【００７７】
図１５は、変更後のプログラム線図の一例を示す図である。
図１５（Ａ）は、測光処理における蓄積Ａｎｓ、読出Ａｎｓのプログラム線図である。蓄積Ａｎｓ、読出Ａｎｓは、カメラをパンニング中に行うため、測光画像Ｓにも被写体のブレが起きないように、変更後は、常に加算読み駆動方式で撮像をする。この線図は、動きベクトル検出の精度低下の要因となる被写体ブレを考慮した線図で、同じ明るさにおいてなるべく速い蓄積時間で動きベクトル検出精度を上げるものである。
図１５（Ｂ）は、動きベクトル検出処理における蓄積Ｖｎｓ、読出Ｖｎｓのプログラム線図である。蓄積Ｖｎｓの蓄積時間、読出Ｖｎｓの読出駆動方式も、測光画像Ｓと同じく、常に加算読み駆動方式にすることでサンプリングレートを上げて、ベクトル検出を行う。
【００７８】
なお、本実施例の変更後の線図では常に加算読み駆動方式のプログラム線図としたが、これに限られるものではなく、段階的に加算読み駆動方式のプログラム線図に移行する方法でもよい。例えば、１段階目の線図としてＥｖ１４から加算読み駆動方式に切り替えるプログラム線図に移行し、それでも動きベクトル検出ができない場合に、常に加算読み駆動方式のプログラム線図に移行する方法でもよい。
【００７９】
また、本実施例を実施例２に適用することも可能である。この場合は、ステップＳ１００５で流し撮りアシストサンプリングレート優先モードであると判定された後に、角速度センサ２０２から取得された角速度が所定の値より大きいか判定する。角速度が所定の値より大きかった場合は、本実施例のように、流し撮りアシストサンプリングレート優先モードのまま、常に加算読み駆動方式になるようプログラム線図を変更する。一方、角速度が所定の値以下で会った場合は、実施例２のように、流し撮りアシスト解像度優先モードに変更する。これは、角速度が所定の値より大きい場合は、流し撮りのために本体を振る速度が速い、すなわち、被写体の移動速度が速いと推測され、動きベクトルを検出するのにサンプリングレートを上げる必要があるためである。
【００８０】
以上のように、本実施例によれば、動きベクトルが検出できなかった場合にも、プログラム線図を変更することで、動きベクトルの検出を可能にすることができ、動きベクトルの検出の精度を向上させることができる。
【００８１】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８２】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００８３】
１０１    ＣＰＵ
１０８    測光センサ
１１２    ＡＰＵ
【図１】
2018137613.tif 000003
【図２】
2018137613.tif 000004
【図３】
2018137613.tif 000005
【図４】
2018137613.tif 000006
【図５】
2018137613.tif 000007
【図６】
2018137613.tif 000008
【図７】
2018137613.tif 000009
【図８】
2018137613.tif 000010
【図９】
2018137613.tif 000011
【図１０】
2018137613.tif 000012
【図１１】
2018137613.tif 000013
【図１２】
2018137613.tif 000014
【図１３】
2018137613.tif 000015
【図１４】
2018137613.tif 000016
【図１５】
2018137613.tif 000017