(57)【特許請求の範囲】
【請求項１】
被写体の撮像画像を生成する撮像素子と、
測光画像を生成する測光撮像素子と、
前記撮像画像及び前記測光画像を処理する処理手段であって、第１の処理部及び第２の処理部を含む処理手段と、
前記撮像画像及び前記測光画像を、前記第１の処理部及び前記第２の処理部のいずれかに供給する供給手段と、
を備える撮像装置であって、
前記処理手段は、前記供給手段による供給先の処理部の該供給手段における設定を制御し、前記撮像画像及び前記測光画像の供給が時間的に重なって行われる場合、前記撮像画像と前記測光画像との供給先を異なる処理部に交互に設定することを特徴とする撮像装置。
【請求項２】
前記処理手段は、
前記測光画像が供給された処理部を、該測光画像を処理した後に前記撮像素子が新たに生成する撮像画像の供給先に設定し、
前記撮像画像が供給された処理部を、該撮像画像を処理した後に前記測光撮像素子が新たに生成する測光画像の供給先に設定する
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記処理手段は、前記測光画像を処理した後に前記撮像素子が新たに生成する撮像画像の供給先に設定されるべき処理部が、該新たに生成する撮像画像を処理できない状態である場合、
前記撮像画像が供給された処理部を、該撮像画像を処理した後も前記撮像素子が新たに生成する撮像画像の供給先とし、前記測光画像が供給された処理部を、該測光画像を処理した後も前記測光撮像素子が新たに生成する測光画像の供給先とすることを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記撮像装置が、前記撮像素子及び前記測光撮像素子と、前記第１の処理部及び前記第２の処理部とを利用した第１の動作モードから、前記撮像素子と前記第１の処理部とを利用した第２の動作モードへ移行する場合に、
前記処理手段は、前記第１の動作モードの終了指示の後に実行される前記測光画像の処理を前記第１の処理部に行わせるために、該第１の処理部を前記測光画像の供給先に設定することを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記第１の処理部は、
前記終了指示の後に実行される前記測光画像の処理として、前記測光画像に基づき前記撮像画像内に含まれる被写体領域を検出し、検出した被写体領域の情報を該被写体領域のうち前記第１の動作モードにおいて追尾対象であった被写体領域を特定する情報を含めて記憶し、
前記第２の動作モードにおいて、前記撮像画像に基づき前記撮像画像内に含まれる被写体領域を検出し、記憶した前記追尾対象であった被写体領域を特定する前記情報に基づき、検出した被写体領域のうちから追尾対象を特定することを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記第１の処理部が、前記撮像画像の処理の後に引き続いて前記終了指示の後に実行される前記測光画像の処理を行う場合、前記撮像画像の処理が完了するまで、前記測光撮像素子は一定期間おきに前記測光画像の生成を行い、前記第１の処理部は、最後に生成された測光画像を処理することを特徴とする請求項４または５に記載の撮像装置。
【請求項７】
前記撮像素子が撮像領域において画像を読み出す領域につき、前記第２の動作モードにおける領域は前記第１の動作モードにおける領域よりも小さいことを特徴とする請求項４乃至６のいずれか１項に記載の撮像装置。
【請求項８】
被写体の撮像画像を生成する撮像素子と、
測光画像を生成する測光撮像素子と、
前記撮像画像及び前記測光画像を処理する処理手段であって、第１の処理部及び第２の処理部を含む処理手段と、
前記撮像画像及び前記測光画像を、前記第１の処理部及び前記第２の処理部のいずれかに供給する供給手段と、
を備える撮像装置の制御方法であって、
前記処理手段が、前記供給手段による供給先の処理部の該供給手段における設定を制御する工程であって、前記撮像画像及び前記測光画像の供給が時間的に重なって行われる場合、前記撮像画像と前記測光画像との供給先を異なる処理部に交互に設定する工程を備えることを特徴とする撮像装置の制御方法。
【請求項９】
被写体の撮像画像を生成する撮像素子と、
測光画像を生成する測光撮像素子と、
前記撮像画像及び前記測光画像を処理する処理手段であって、第１の処理部及び第２の処理部を含む処理手段と、
前記撮像画像及び前記測光画像を、前記第１の処理部及び前記第２の処理部のいずれかに供給する供給手段と、
を備える撮像装置の前記処理手段を、請求項１乃至７のいずれか１項に記載の撮像装置の処理手段として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置およびその制御方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
撮像素子を用いた自動露光制御（ＡＥ）機能付のカメラシステムが提供されている。 このようなシステムのデジタル一眼レフカメラでは、光電変換した出力を対数圧縮回路により対数圧縮し、対数圧縮した出力をＡ／Ｄ変換することで測光出力を得る対数圧縮型のセンサを使って測光を行うデジタルカメラがある。また、少なくとも数百画素の画素をもつ、ＣＣＤやＣＭＯＳ等のリニア出力型のセンサを使用することで、撮影の直前にペンタ部の測光撮像素子で画像信号を取得し、その画像信号を処理することにより測光を行うデジタルカメラが存在する。以下、測光で得られる画像を測光画像という。
【０００３】
特許文献１では、リニア出力型の測光撮像素子を用いて照明装置の発光量の制御を行う際の測光システムに関して、発明が提案されている。また一方で、現在普及しているデジタルカメラは使用する撮像素子の画素数が増加する傾向にあり、機能も高機能化が進んでいる。これにより、従来は１つのマイクロプロセッサユニット（マイコン）で各種の制御を行っていたが、高画素、高性能・高機能を実現するために、複数のマイコンを搭載するデジタルカメラも存在する。
【０００４】
特許文献２では、撮像センサから画像信号を複数のＭＰＵで処理することで、処理時間を短縮し、連続撮影間隔（コマ速）を短くするデジタルカメラが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１４５８６２号公報
【特許文献２】特開２００５−１５９９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、リニア出力型の測光撮像素子を用いて発光量制御のため測光撮像素子制御やその演算を行う構成が提案されている。特許文献１では、リニア出力型の測光撮像素子からの画像信号を処理するための測光制御専用マイコンを用意、もしくは電子カメラの全体を制御するための全体制御マイコンを使って、画像信号を処理している。
【０００７】
しかしながら、測光撮像素子から画像信号を処理するための測光専用ＭＰＵを用意した場合には、測光撮像素子のためだけにＭＰＵを用意することによる、コストの増加や回路スペースの圧迫という問題がある。また、全体制御ＭＰＵを使う場合では、測光撮像素子の制御を行っている間にも、全体制御を行うＭＰＵの処理が介在することになる。さらには、ユーザの撮影行為により、被写体像を撮像素子で撮像した画像（撮像画像）の信号処理を行う場合においては、測光制御と全体制御に加えて、撮像制御分の処理が追加されるので、連続撮影間隔を長くしてしまう要因となる。
【０００８】
また、特許文献２では、複数出力をもつ撮像素子とデジタルカメラの画像処理（画素補間を含むカラー処理、ＪＰＥＧ圧縮、間引き処理）を行うＩＣブロックを複数個並列に配置してほぼ同時に動作させることにより、処理の高速化を図ることが提案されている。当該提案方法では、１つの撮像素子から得られる１つの撮像画像を高速に処理することはできる。しかし、複数の撮像素子から得られる撮像タイミングの異なる複数の画像、たとえば、ユーザの撮影行為により、被写体像を撮像素子で撮像した撮像画像及び測光するために測光撮像素子で撮像した測光画像のための処理を並行して同時に動作させることができない。
【０００９】
そこで、本発明は、撮像装置に連続撮影動作を高速に動作させることを可能とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するための発明は、撮像装置であって、
被写体の撮像画像を生成する撮像素子と、
測光画像を生成する測光撮像素子と、
前記撮像画像、前記測光画像を処理する処理手段であって、第１の処理部及び第２の処理部を含む処理手段と、
前記撮像画像及び前記測光画像を、前記第１の処理部及び前記第２の処理部のいずれかに供給する供給手段とを備え、
前記供給手段による供給先の処理部の該供給手段における設定を制御し、前記撮像画像及び前記測光画像の供給が時間的に重なって行われる場合、前記撮像画像と前記測光画像との供給先を異なる処理部に交互に設定する。
【発明の効果】
【００１１】
本発明によれば、撮像装置に連続撮影動作を高速に動作させることができる。
【図面の簡単な説明】
【００１２】
【図１】発明の実施形態に対応する撮像装置の構成の一例を示すブロック図。
【図２】発明の実施形態における連続撮影の一例に対応するタイミングチャート。
【図３】発明の実施形態における撮影処理の一例を示すフローチャート。
【図４】発明の実施形態における測光処理の一例を示すフローチャート。
【図５】発明の実施形態に対応する撮影測光処理の一例を示すフローチャート。
【図６】発明の実施形態２に対応する連続撮影中に撮像画像の読出可否の判断を行う例に対応するタイミングチャート。
【図７】発明の実施形態２におけるフラグ値変更処理の一例を示すフローチャート。
【図８】発明の実施形態３における顔検出情報を説明するための図。
【図９】顔検出情報の引継の例を示すタイミングチャート。
【図１０】発明の実施形態３における顔検出情報の引継時の動作の一例を示すタイミングチャート。
【図１１】発明の実施形態３における顔検出情報の引継時の処理の一例を示すフローチャート。
【図１２】発明の実施形態４における顔検出情報の引継時の動作の一例を示すタイミングチャート。
【図１３】発明の実施形態４における顔検出情報の引継時の処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１３】
＜実施形態１＞
以下、発明の第１の実施形態について添付の図面に基づいて詳細に説明する。図１は、本発明の実施形態にかかわる撮像装置としてのカメラ７００の構成の一例を示すブロック図である。なお、撮像装置には、デジタルスチルカメラ、静止画撮影の可能なデジタルビデオカメラの他、発光量制御のための測光処理が可能な撮像機能を有する装置が含まれる。当該装置は、例えばパーソナルコンピュータ、携帯電話、スマートフォン、ＰＤＡ、タブレット端末等を含むことができる。
【００１４】
カメラ７００は少なくとも２つのマイコン（マイコン１００、マイコン２００）を有する処理部１０を含み、マイコン間のデータ通信は専用バス３００を介して行うことができる。撮像部４００はマイコン１００、マイコン２００のいずれからも制御可能であり、撮像素子４００aから出力された画像信号をそれぞれのマイコンにおいて処理することが可能である。また、測光撮像素子４００ｄから出力された画像信号をそれぞれのマイコンにおいて処理することが可能である。画像振り分け部４００ｅは撮像素子４００ａが出力した画像信号をマイコン１００に供給する一方、測光撮像素子４００ｄが出力した画像信号をマイコン２００に供給することができ、その逆も可能である。画像振り分け部４００ｅによる画像信号の供給先となるマイコンの設定は、処理部１０から、即ち、マイコン１００、マイコン２００のいずれから行ってもよい。
【００１５】
マイコン１００は、画像処理部１０１、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２，メモリ１０３、コーデック部１０４、記録制御部１０５、通信部１０６、外部接続部１０７、表示制御部１０８、操作制御部１０９を含むように構成される。画像処理部１０１は、撮像部４００から出力されたデータに対して画素補間処理や色変換処理等の画像処理を行う。画像処理部１０１は、撮像素子４００aから読みだした画像信号をＹＵＶ色空間のデータフォーマットに変換を行う。また、測光撮像素子４００ｄから読みだした画像信号をＹＵＶ色空間のデータフォーマットに変換を行う。
【００１６】
ＣＰＵ１０２は、メモリ１０３に格納されているコンピュータプログラムに従って、カメラ７００全体の動作を制御する。特に、本実施形態に対応する撮像振り分け部４００ｅの振り分け制御も行う。メモリ１０３は、ＣＰＵ１０２のワークエリアとして機能する。なお、ＣＰＵ１０２のワークエリアは、メモリ１０３に限られるものではなく、ハードディスクドライブ等の外部記録装置等であってもよい。
【００１７】
撮像部４００と画像処理部１０１は、ＣＰＵ１０２によって、ＡＥ処理を行うように制御される。ＣＰＵ１０２からＡＥ処理を開始するように指示された場合、画像処理部１０１は、撮像部４００の測光撮像素子４００ｄから出力されたアナログの画像信号をＡ／Ｄ変換によりデジタルの画像信号に変換し、さらにＹＵＶ形式の画像データに変換してメモリ１０３に書き込む。また、メモリ１０３に書き込まれた画像データから測光演算処理を行う。この演算結果に基づいて、ＴＴＬ（スルー・ザ・レンズ）方式のＡＥ処理を行うことができる。なお、ミラー４００ｂは光軸を切替えることにより、光を送る対象を撮像素子４００ａと測光撮像素子４００ｄとの間で切替えることができる。
【００１８】
撮像部４００及び画像処理部１０１は、ＣＰＵ１０２によって、撮影を行うように制御される。ＣＰＵ１０２から撮影を開始するように指示された場合、撮像部４００及び画像処理部１０１は露光処理や現像処理等の処理を含む撮影処理を実行する。画像処理部１０１は撮像素子４００ａから出力されたアナログ画像信号をＡ／Ｄ変換によりデジタルの画像信号に変換し、さらにＹＵＶ形式の画像データに変換してメモリ１０３に書き込む。また、メモリ１０３に書き込まれた画像データに対して、コーデック部１０４がエンコードを行う。コーデック部１０４ではＹＵＶの画像データをＪＰＥＧ形式やロスレス圧縮（ＲＡＷ形式）などの静止画像へのエンコードし、また、ＪＰＥＧ形式やロスレス圧縮（ＲＡＷ形式）などのデータをＹＵＶの画像データにデコードする。エンコードされた画像データはメモリ１０３に記憶される。マイコン１００は、同じＹＵＶの画像データに対してコーデック部１０４で異なるエンコードを使用して複数の撮像画像を生成することもできる。
【００１９】
記録制御部１０５は、カメラ７００の動作モードが撮影モードである場合は、撮像部４００から出力された画像信号を処理して得られた静止画像データをファイル形式で記録媒体５００に記録する。記録制御部１０５に接続される記録媒体５００は、取り外し可能なリムーバブルメディアでもよいし、カメラ７００に内蔵される記憶領域でもよい。通信部１０６は、他のマイコンとのデータ通信を行う為の装置である。データ受信するためのデータ受信部１０６a、データ送信する為のデータ送信部１０６ｂ、単純な制御コマンドなどのメッセージを送る為のメッセージ通信部１０６ｃとで構成されている。通信部１０６での通信は専用の通信バス３００を介して行われる。それぞれの通信は独立して行うことが可能である。
【００２０】
外部接続部１０７は、カメラ７００が外部の機器と接続された場合に、接続制御を行う。例えば、パソコンとＵＳＢなどで接続された場合、撮影した静止画像を外部接続部１０７から直接パソコンに送ることができる。また、外部接続部１０７は、無線接続の通信や、テレビなどの映像出力機器への映像信号を制御できてもよい。表示制御部１０８は、液晶ディスプレイなどの表示装置１１０における表示を制御する。カメラ７００の動作モードが撮影モードである場合、撮像部４００からの画像信号に基づく画像データがメモリ１０３上に展開され、表示制御部１０８は表示装置１１０が当該画像データを表示するように制御する。
【００２１】
操作制御部１０９は、カメラ７００を操作するための操作部１１１と通信し、ユーザからの操作を受け付ける。操作部１１１は、カメラ７００を操作するための電源ボタン、モード変更ボタン、シャッターボタン、十字ボタン、メニューボタン等を含み、各ボタンはスイッチ、タッチパネル等により構成される。
【００２２】
ＣＰＵ１０２は、操作制御部１０９を介して入力されたユーザの指示に従ってカメラ７００を制御することができる。ユーザによって操作部１１１のボタンが操作された場合、操作制御部１０９が操作部１１１から各ボタンに応じた操作信号をＣＰＵ１０２に出力する。ＣＰＵ１０２は操作制御部１０９から入力された操作信号を解析し、解析結果に応じて操作信号に対応した処理を判定する。ＣＰＵ１０２は、操作制御部１０９から入力された操作信号に対応した処理を実行するようにカメラ７００の各部を制御する。
【００２３】
次に、マイコン２００は、画像処理部２０１、ＣＰＵ２０２、メモリ２０３、コーデック部２０４、記録制御部２０５、通信部２０６を含むように構成される。ブロック２０１から２０６はマイコン１００におけるブロック１０１〜１０６に対応し、同一機能を有するので、ブロック２０１から２０６の機能については説明を省略する。
【００２４】
以下、発明の実施形態に対応する処理の詳細を説明する。カメラ７００の各マイコンの撮像素子４００ａでの撮像画像、測光撮像素子４００ｄでの測光画像を同時に取り込みながら、測光をして連続撮影をする場合のタイミングチャートについて、図２を用いて説明する。図２では、上からミラー４００ｂ、撮像素子４００ａ、測光撮像素子４００ｄ、画像振り分け部４００ｅ、マイコン１００及びマイコン２００のそれぞれの動作を横軸の時間軸において示している。
【００２５】
まず、ミラー４００ｂの動作は、上位と下位の２つの動作状態を含む。時間軸が上位にある場合にはミラーアップ状態を表しており、その際の光軸は撮像素子４００ａに対して向けられてた状態となる（撮像素子露光時）。一方、下位にある場合には、ミラーダウン状態を表しており、その際の光軸は測光撮像素子４００ｄに対して向けられた状態となる。時間軸上にある測光Ｐ０、測光Ｐ１等は測光タイミングを示し、Ｐ０期間、Ｐ１期間等は測光期間を示している。なお数字はその回数・順番を表している。
【００２６】
次に、撮像素子４００ａの動作タイミングにつき、時間軸上にあるＩ蓄積は上記ミラー動作のミラーアップにより露光がはじまり、撮像素子４００ａにおいて結像している状態を表現している。またiは蓄積の回数、順番を表し、iなら一回目の撮影、iiなら二回目の撮影ということを表している。
【００２７】
次に、測光撮像素子４００ｄの動作タイミングにつき、時間軸上にあるＰ蓄積はミラーダウン中に、各測光タイミング（測光Ｐ０、Ｐ１など）で測光撮像素子４００ｄにより露光し、結像している状態を表している。数字は、その蓄積回数、順番を表している。
【００２８】
次に、画像振り分け部４００ｅの動作タイミングにつき、時間軸上にあるＡ設定、Ｂ設定、Ｃ設定の意味を下記に説明する。
【００２９】
まず、Ａ設定では画像振り分け部４００ｅが測光撮像素子４００ｄからの画像信号の供給先をマイコン２００とする設定状態を表す。Ｂ設定では画像振り分け部４００ｅが測光撮像素子４００ｄからの画像信号の供給先をマイコン２００へ、撮像素子４００ａからの画像信号の供給先をマイコン１００として振り分ける設定状態の表す。Ｃ設定では画像振り分け部４００ｅの設定が、測光撮像素子４００ｄからの画像信号の供給先をマイコン１００へ、撮像素子４００ａからの画像信号の供給先をマイコン２００として振り分ける設定状態を表す。
【００３０】
このように、Ａ設定、Ｂ設定及びＣ設定のいずれにおいても、同一のマイコンで処理が時間的に重複しないように撮像画像及び測光画像の供給先が設定される。数字は、０、１は測光の回数、順番を表し、i、iiは撮像画像の回数、順番を表している。
【００３１】
次にマイコン１００の動作につき、時間軸上にあるＩ読出は、撮像素子４００ａから画像信号を読みだしている期間、言い換えると、マイコン１００が撮像素子４００ａから画像信号を取得している期間を表している。Ｉ画像処理は、撮像素子４００ａから読み出した画像信号を画像処理部１０１が画像データとしてメモリ１０３に記憶させ、さらにコーデック部１０４がＪＰＥＧ変換やロスレス圧縮（ＲＡＷ形式）を行って静止画データを生成する期間を表している。Ｐ読出は、測光撮像素子４００ｄから画像信号を読みだし取得している期間を表している。Ｐ画演算は、測光撮像素子４００ｄから取得した画像信号を画像処理部１０１が画像データとしてメモリ１０３に記憶させ、ＣＰＵ１０２が測光演算を行う期間を表している。数字は、iは撮像素子４００ａから出力された画像信号に基づく処理回数、順番を表し、３は測光撮像素子４００ｄから出力された画像信号に基づく処理回数を表している。なお、測光演算方法については、公知の技術なので、ここでは特に記述しない。
【００３２】
次にマイコン２００の動作タイミングにつき、時間軸上にあるＩ読出画像処理、Ｐ読出画演算は上記マイコン１００で説明した処理と同様の処理をマイコン２００が実施することを表している。
【００３３】
以下、具体的に図２のタイミングチャートに基づき、カメラ７００の動作を時系列に説明する。まず、ミラーダウン状態時に測光Ｐ０により測光撮像素子４００ｄがＰ蓄積０を行う。その際の画像振り分け部４００ｅはＡ設定０に設定されている。よって本実施形態では、Ｐ蓄積０に続く処理をマイコン２００が行うものとし、Ｐ蓄積０のあとにマイコン２００がＰ読出０、Ｐ画演算０を行い、測光値を決定する。なお、本実施形態ではＡ設定をマイコン２００に処理を割り当てる設定としたが、Ａ設定はマイコン１００と２００のいずれかに割り当てる設定であればよい。また、画像振り分け部４００ｅの当該設定はマイコン１００、２００どちらから行ってもよい。また、測光Ｐ１でも同様の処理を行い、測光Ｐ１で決定した測光値で撮像が開始される。撮像要求により、撮影iのタイミングでミラー４００ｂをミラーアップ状態にして、撮像素子４００ａの露光が行わる。その際、画像振り分け部４００ｅはＢ設定i−２に設定される。
【００３４】
撮像素子４００aはＩ蓄積iを行い、Ｉ蓄積i完了後にマイコン１００がＩ読出iを行う。Ｉ読出iの後、マイコン１００はＩ画像処理iを行う。蓄積完了後はミラー４００ｂをミラーダウン状態にし、ミラー４００ｂが下がった測光Ｐ２のタイミングで測光撮像素子４００ｄがＰ蓄積２を行う。Ｐ蓄積２の完了後、マイコン２００はＰ読出２、Ｐ画演算２を順に行い、次の撮影のための測光値を決定する。マイコン１００がＩ読出iをしている間、画像振り分け部はＢ設定に設定され、マイコン２００には測光撮像素子４００ｄからの画像信号が供給されて、測光値が決定される。
【００３５】
次に、マイコン１００にはＩ読出iにて撮像素子４００ａからの画像信号が供給され、Ｉ読出iの完了後、次の撮影iiが開始される。ミラー４００ｂがミラーアップ状態となり、撮像素子４００ａへの露光が行われる。その際、画像振り分け部４００ｅはＣ設定ii−３に設定される。撮像素子４００ａはＩ蓄積iiを行い、Ｉ蓄積iiの完了後にマイコン２００がＩ読出iiを行う。また図２には記載していないが、Ｉ読出iiの完了後、次の撮影iiiを開始することができる。また、Ｉ読出iiの後にマイコン２００はＩ画像処理iiを行う。このＩ読出iiは、マイコン１００がＩ画像処理iを行っている間に開始することができる。即ち、マイコン１００における撮影iに基づくＩ画像処理iの完了を待たずに次の撮影iiを開始して、Ｉ読出iiを開始することができるので、連写速度を向上させることができる。
【００３６】
Ｉ蓄積iiの完了後、ミラー４００ｂをミラーダウン状態にし、ミラーが下がった測光Ｐ３のタイミングで測光撮像素子４００ｄがＰ蓄積３を行う。Ｐ蓄積２の完了後、Ｉ画像処理iを終えたマイコン１００がＰ読出３、Ｐ画演算３を行い、次の撮影のための測光値を決定する。これ以降は、説明したタイミングチャートの動作を繰り返し、撮像素子と測光撮像素子からの出力を並行処理することで連続撮影を行う。
【００３７】
次に、前述の図２のタイミングチャートの制御方法を図３の撮影処理フローチャートを使って説明する。図３及びこれ以降のフローチャートに対応する処理は、例えばＣＰＵ１０２及び２０２が、メモリ１０３、２０３に格納されているコンピュータプログラムを実行することにより実現することができる。なお、図３およびこれ以降のフローチャートでは、説明のために各ステップを順に記載しているが、各ステップに対応する処理はフローチャートに示す順序で時系列に実行されなくてもよい。例えば、連続して記載される複数のステップが同時に実行されても良いし、実行順序が入れ替わっても良い。
【００３８】
まずＳ３０１ではＣＰＵ１０２が測光開始（測光Ｐ０）要求を受け付けた否かの判断を行う。当該判断は、例えば、撮影モードにおいてユーザが操作部１１１のシャッターボタンを半押する操作を行ったかどうかに基づき行うことができる。もし、当該要求を受け付けていない場合、Ｓ３０１の判断を繰り返す。ＣＰＵ１０２が要求を受け付けたと判断した場合、Ｓ３０２に進み、測光処理を行う。Ｓ３０２における測光処理の詳細は、図４の測光処理フローチャートを参照して後述する。次にＳ３０３に進み、ＣＰＵ１０２は撮影の開始要求（撮影i）がされたか否かの判断を行う。当該判断は、撮影モードにおいてユーザが操作部１１１のシャッターボタンを全押しする操作を行ったかどうかに基づき行うことができる。もし、当該要求を受け付けていない場合、Ｓ３０２に戻り、測光処理（測光Ｐ１）を行う。要求を受け付けたと判断した場合はＳ３０４に進み、撮影測光処理Ｓ３０４を行う。撮影測光処理の詳細は、図５の撮影測光処理フローチャートを参照して後述する。以上のようにして、図２のタイミングチャートに対応する撮影処理制御を行うことができる。
【００３９】
次に、図４の測光処理フローチャートを使って、図３のＳ３０２の測光処理の詳細を説明する。まず、Ｓ４０１では画像振り分け部４００ｅに対しＡ設定の設定処理を行う。この設定処理は、測光撮像素子４００ｄから出力された画像信号の画像振り分け部４００ｅからの供給先をマイコン２００に設定するための処理であって、設定自体はマイコン１００から行ってもマイコン２００から行ってもよい。次にＳ４０２では、測光撮像素子４００ｄによるＰ蓄積処理を行う。なお、Ｐ蓄積処理とは、上述のようにミラー４００ｂのミラーダウン中に、所定の測光タイミングで測光撮像素子４００ｄが露光し、測光用の画像信号を出力する処理である。
【００４０】
次にＳ４０３に進み、マイコン２００のＰ読出処理を行う。Ｓ４０１で画像振り分け部４００ｅはＡ設定に設定されており、測光撮像素子４００ｄからの画像信号はマイコン２００に供給される。よって、マイコン２００は測光撮像素子４００ｄから画像信号を読み出すことができる。次にＳ４０４ではマイコン２００のＰ画演算処理を行う。Ｐ画演算処理では、Ｓ４０３で読みだされた測光撮像素子４００ｄからの画像信号を画像処理部２０１が画像データとしてメモリ２０３に展開した上で、ＣＰＵ２０２により、測光演算を行う処理を行い、測光結果を算出する。以上のようにして、図３のＳ３０２における測光処理を実行することができる。
【００４１】
次に、図５の撮影測光処理フローチャートを参照して、図３のＳ３０４における撮影測光処理の詳細を説明する。まず、Ｓ５０１ではＣＰＵ１０２及びＣＰＵ２０２がマイコン１００が撮像素子４００ａからの画像信号を処理するか否かの判定をするためのフラグを参照し、フラグ値がＴＲＵＥかどうかの判定をする。このフラグ値はマイコン１００のメモリ１０３内に保持され、初期値はＴＲＵＥとなっている。また、当該フラグの情報はマイコン１００とマイコン２００との間で通信部１０６を介して、互いに同期をとって保持されている。即ち、マイコン２００内のメモリ２０３にも対応するフラグ値が保持されている。ＣＰＵ１０２とＣＰＵ２０２がフラグ値がＴＲＵＥと判断すると、処理はＳ３０２に進む。
【００４２】
Ｓ５０２では、マイコン２００のＣＰＵ２０２がミラー４００ｂの動作を制御してミラーアップ処理を実行させ、ミラーアップ状態にする。その後のＳ５０３では、マイコン１００のＣＰＵ１０２が、画像振り分け部４００ｅの設定をＢ設定にする。即ち、画像振り分け部４００ｅが、測光撮像素子４００ｄからの画像信号をマイコン２００へ、撮像素子４００ａからの画像信号をマイコン１００へ振り分けるように画像振り分け部４００ｅの動作を設定する。なお、マイコン１００のＣＰＵ１０２がミラーアップ処理を行い、マイコン２００のＣＰＵ２０２が画像振り分け部４００ｅの準備およびＢ設定への設定処理を行ってもよい。いずれの場合においても、異なるマイコンで並列処理をすることで時間を短縮することが重要になる。
【００４３】
Ｓ５０１での判定に基づく分岐の説明に戻り、Ｓ５０１でフラグ値がＴＲＵＥでない（ＦＡＬＳＥ）と判断された場合、Ｓ５０４に進む。Ｓ５０４ではマイコン１００のＣＰＵ１０２がミラー４００ｂのミラーアップ処理を行い、続くＳ５０５では、マイコン２００のＣＰＵ２０２が画像振り分け部４００ｅをＣ設定に設定する。即ち、画像振り分け部４００ｅが、測光撮像素子４００ｄからの画像信号をマイコン１００へ、撮像素子４００ａからの画像信号をマイコン２００へ振り分けるように画像振り分け部４００ｅの動作を設定する。なお、マイコン２００のＣＰＵ２０２がミラーアップ処理、マイコン１００のＣＰＵ１０２が画像振り分け部４００ｅのＣ設定への設定処理を行ってもよい。いずれの場合においても、異なるマイコンで並行に処理をすることで時間を短縮することが重要になる。
【００４４】
次に、Ｓ５０６では、ＣＰＵ１０２またはＣＰＵ２０２が撮像素子４００ａを制御し、Ｉ蓄積処理において露光及び画像蓄積を行わせる。続くＳ５０７では、ＣＰＵ１０２とＣＰＵ２０２とが上記フラグ値がＴＲＵＥかどうかを判定する。フラグ値がＴＲＵＥと判定された場合、Ｓ５０８に進む。Ｓ５０８ではマイコン１００がＩ読出処理を実行して撮像素子４００ａから画像信号を読み出す。このとき画像振り分け部４００ｅはＢ設定に設定されており、撮像素子４００ａからの画像信号がマイコン１００に供給され、測光撮像素子４００ｄからの画像信号がマイコン２００に供給されることとなっている。従って、マイコン１００は撮像素子４００ａから画像信号を読み出すことができる。次にＳ５０９に進み、マイコン１００でＩ画像処理を行う。
【００４５】
Ｓ５０９におけるＩ画像処理では、例えば、画像素子４００ａから読み出した画像信号を画像処理部１０１が処理して画像データとしてメモリ１０３に記憶させ、さらにコーデック部１０４がＪＰＥＧ変換やロスレス圧縮（ＲＡＷ形式）して静止画データを生成する。またＳ５１０において、マイコン２００がミラーダウン処理を行う。ミラーダウン処理は、Ｉ蓄積が完了した時点で開始され、このときマイコン１００はＩ読出処理及びＩ画像処理をするので、マイコン２００がミラーダウン処理を行うことが望ましい。
【００４６】
一方、Ｓ５０７でフラグ値がＴＲＵＥでなかった（ＦＡＬＳＥ）場合、Ｓ５１１にてマイコン２００がＩ読出処理を実行して撮像素子４００ａから画像信号を読み出す。このとき画像振り分け部４００ｅはＣ設定に設定されており、撮像素子４００ａからの画像信号がマイコン２００に供給され、測光撮像素子４００ｄからの画像信号がマイコン１００に供給されることとなっている。従って、マイコン２００は撮像素子４００ａから画像信号を読み出すことができる。次にＳ５１２に進み、マイコン２００がＩ画像処理を行う。
【００４７】
Ｓ５１２におけるＩ画像処理では、例えば画像素子４００ａから読み出した画像信号を画像処理部２０１が処理して画像データとしてメモリ２０３に記憶させ、さらにコーデック部２０４がＪＰＥＧ変換やロスレス圧縮（ＲＡＷ形式）して静止画データを生成する。またＳ５１３においてマイコン１００がミラーダウン処理を行う。ミラーダウン処理は、Ｉ蓄積が完了した時点で開始され、このときマイコン２００はＩ読出処理及びＩ画像処理をするので、マイコン１００がミラーダウン処理を行うことが望ましい。
【００４８】
Ｉ蓄積後のミラーダウン処理が完了すると、Ｓ５１４で測光撮像素子４００ｄが露光、画像蓄積を行うことでＰ蓄積処理を行う。続くＳ５１５では、ＣＰＵ１０２及びＣＰＵ２０２が上述のフラグ値がＴＲＵＥかどうかを判定する。フラグ値がＴＲＵＥの場合、Ｓ５１６においてマイコン２００が測光撮像素子４００ｄから画像信号を読み出してＰ読出処理を実行する。このとき画像振り分け部４００ｅにはＳ５０３でＢ設定がなされており、撮像素子４００ａからの画像信号がマイコン１００に供給され、測光撮像素子４００ｄからの画像信号がマイコン２００に供給されることになっている。従って、マイコン２００は測光撮像素子４００ｄから画像信号を読み出すことができる。次にＳ５１７に進み、マイコン２００でＰ画演算処理を行う。Ｓ５１７のＰ画演算処理では、測光撮像素子４００ｄから読み出した画像信号を画像処理部２０１が処理して画像データとしてメモリ２０３に記憶させ、ＣＰＵ２０２が測光演算を行って測光結果を算出する。
【００４９】
Ｓ５１５での判定に基づく分岐の説明に戻り、フラグ値がＴＲＵＥでない（ＦＡＬＳＥ）と判定された場合、Ｓ５１８においてマイコン１００が測光撮像素子４００ｄから画像信号を読み出してＰ読出処理を実行する。このとき画像振り分け部４００ｅにはＳ５０５でＣ設定がなされており、撮像素子４００ａからの画像信号はマイコン２００に供給され、測光撮像素子４００ｄからの画像信号がマイコン１００に供給されることになっている。従って、マイコン１００は測光撮像素子４００ｄから画像信号を読み出すことができる。次にＳ５１９に進み、マイコン１００でＰ画演算処理を行う。Ｓ５１９のＰ画演算処理では、測光撮像素子４００ｄから読み出した画像信号を画像処理部１０１が処理して画像データとしてメモリ１０３に記憶させ、ＣＰＵ１０２が測光演算を行って測光結果を算出する。
【００５０】
次にＳ５２０ではフラグ値を変更する。当該フラグ値の変更処理では、フラグ値がＴＲＵＥである場合にはＦＡＬＳＥに変更し、ＦＡＬＳＥである場合にはＴＲＵＥに変更する。これにより、撮像素子４００ａからの画像信号の処理を、マイコン１００とマイコン２００との間で交互に切り替えることが可能となる。続くＳ５２１では、撮影を終了するか否かを判定する。もし終了でなければ、Ｓ５０１に戻り、処理を繰り返す。終了と判断すれば、撮影測光処理を終了する。以上のようにして、図３のＳ３０４において撮影測光処理を行うことができる。
【００５１】
以上の実施形態によれば、複数のマイコンと複数の撮像素子、例えば撮像素子と測光撮像素子でタイミングが不定期、かつ非同期行われる際の出力を並行処理して、高速撮影動作を実現することができる。
【００５２】
＜実施形態２＞
以下、発明の第２の実施形態を説明する。実施形態２における撮像装置の構成は実施形態１で説明したカメラ７００と同じなので、説明を省略する。
【００５３】
以下、実施形態２に対応する本発明のカメラ７００の動作について、図６のタイミングチャートを参照して説明する。図６では、図２と同様、上からミラー４００ｂ、撮像素子４００ａ、測光撮像素子４００ｄ、画像振り分け部４００ｅ、マイコン１００及びマイコン２００のそれぞれの動作を、横軸の時間軸において示している。但し、図１０のタイミングチャートは、図２のタイミングチャートと比較して、時間軸上にマイコン１００によるＩ画像読出が不可と判断されるタイミングを示す線６０１及び６０２がある点で異なっている。
【００５４】
図６における測光Ｐ３のタイミングは実施形態１の図２における測光Ｐ３と同一で、画像振り分け設定部４００ｅ、マイコン１００、マイコン２００の動作、及び、そのタイミングも同一である。時間軸上にある線６０１は、マイコン２００のＩ読出iiが終わったタイミングを示している。線６０１のタイミングは、次に撮影が行われた場合に、例えば、メモリ１０３の空き容量がないといった、マイコン１００がＩ画像読出できない何らかの要因の存在を判断をするタイミングを表している。
【００５５】
図６は、判断タイミング６０１においてマイコン１００でＩ画像読出ができないと判断された例を示している。実施形態１ではＩ読出完了後に次の撮影を開始することができたが、図６の例では、撮影開始タイミングは図２の実施形態１の場合にくらべて遅くなる。次の撮影タイミングとしては、マイコン２００のＩ画像処理iiが終わった時点で、マイコン２００が撮像素子４００ａから画像信号を読み出すことが可能となるので、撮影iiiを開始できる。
【００５６】
撮影iiiが開始されるとミラー４００ｂをミラーアップ状態にして、撮像素子４００ａに露光が行われる。その際、画像振り分け部４００ｅはＣ設定iii−４に設定される。前回の画像振り分け部４００ｅの設定がＣ設定なので、ここでの処理を省いても問題はないが、画像振り分け部４００ｅになんらかの設定をしている期間は電力が消費される場合も考慮して、撮影していない、もしくは測光していない場合には、画像振り分け部４００ｅへの設定を無効にしておくことが望ましいため、改めて設定をするものとしている。
【００５７】
撮像素子４００ａはＩ蓄積iiiを行い、Ｉ蓄積iii完了後にマイコン２００がＩ読出iiiを行う。Ｉ蓄積iii完了後はミラー４００ｂをミラーダウン状態にし、ミラー４００ｂが下がった測光Ｐ４のタイミングで測光撮像素子４００ｄがＰ蓄積４を行う。なお、撮影素子４００ａによるＩ読出に必要なメモリ容量は、画像信号のデータ量が大きいためにマイコン１００内のメモリ１０３内に確保できない場合もある。一方、測光撮像素子４００ｄから出力される画像信号は、測光用のデータであってメモリ容量を圧迫しないので、測光撮像素子４００ｄからの読出はいつでも可能としている。
【００５８】
Ｐ蓄積４の完了後にマイコン１００がＰ読出４、Ｐ画演算４を行い、次の撮影のための測光値を決定する。マイコン１００で撮影ができない場合、画像振り分け部４００ｅをＣ設定にし、マイコン２００で撮影する設定に切り替えて、マイコン２００でＩ読出をしている間にマイコン１００で測光撮像素子４００ｄからのデータを受け、測光値を決定する。次にマイコン２００で撮像素子４００ａからの画像信号を読み出すＩ読出iiiの完了後、線６０２で示すタイミングにおいてマイコン１００によるＩ画像読出が可能かどうかの判定を行う。図６は、判断タイミング６０２においてマイコン１００でＩ画像読出ができると判断された例を示している。これ以降は実施形態１で説明した動作に復帰して、連続撮影を行うことができる。以降、説明したタイミングチャートの動作を繰り返し、撮像素子と測光撮像素子からの出力を並行処理することで連続撮影を行う。なお、図６では、マイコン１００がＩ画像の読出が可能か否かを判定したが、マイコン２００がＩ画像の読出が可能か否かの判定も、上記の説明と同様に行うことができる。
【００５９】
次に、図６タイミングチャートに対応する撮影処理を説明する。当該撮影処理は、図３の撮影処理と同様に実施できるが、Ｓ３０４の撮影測光処理の詳細が異なるので、異なる点を説明する。図５のフローチャートでは、Ｓ５１７及びＳ５１９におけるＰ画演算処理の後、Ｓ５２０においてフラグ値の変更処理を行った。ここでは、単純にフラグ値がＴＲＵＥである場合にはＦＡＬＳＥに変更し、ＦＡＬＳＥである場合にはＴＲＵＥに変更するだけであった。
【００６０】
これに対し、本実施形態では図７に示すようなフラグ値変更処理を行う。まず、Ｓ７０１でＣＰＵ１０２及びＣＰＵ２０２がフラグ値がＴＲＵＥか否かを判定する。もしフラグ値がＴＲＵＥと判断された場合、Ｓ７０２に進む。Ｓ７０２では、ＣＰＵ２０２がマイコン２００でＩ画像の読出しが可能か否かを判定する。フラグ値がＴＲＵＥの場合、フラグ変更処理によりフラグ値がＦＡＬＳＥに変更されるので、変更後の設定で撮像素子４００ａから画像信号を取得することとなるマイコン２００がＩ画像の読出しが可能か否かをここで判定する。判断基準は様々あるが、本実施形態ではメモリ２０３の空き容量に基づき、所定容量以上の空き容量がメモリ２０３内に確保できるか否かを判定する。もし、所定容量以上の空き容量が確保できる場合はＩ読出が可能と判定され、確保できない場合はＩ読出は不可能と判定される。
【００６１】
もしＩ読出が不可能と判定された場合、Ｓ７０３に進む。Ｓ７０３ではＣＰＵ１０２がマイコン１００のＩ画像処理が完了したかの判断を行い、完了と判断すれば、フラグ値変更処理を終了する。その後、処理はＳ５２１に移行する。完了していなければ、Ｓ７０３に戻り完了を判断する。これによりフラグ値を書き換えないため、次も同じマイコンで撮像素子４００ａから画像信号を取得し、処理することができる。
【００６２】
一方、Ｓ７０２でＩ読出が可能と判定された場合、Ｓ７０４においてフラグ値を変更する。当該変更処理では、フラグ値をＴＲＵＥからＦＡＬＳＥに変更する処理を行う。これにより、撮像素子４００ａからの画像信号の処理を、マイコン１００からマイコン２００へ切り替えることが可能となる。
【００６３】
また、Ｓ７０１でフラグ値がＴＲＵＥでない（ＦＡＬＳＥ）場合、Ｓ７０５に進む。Ｓ７０５ではＣＰＵ１０２がマイコン１００でＩ画像の読出しが可能か否か判定する。フラグ値がＦＡＬＳＥの場合、フラグ変更処理によりフラグ値がＴＲＵＥに変更されるので、変更後の設定で撮像素子４００ａから画像信号を取得することとなるマイコン１００がＩ画像の読出しが可能か否かをここで判定する。判定基準は、例えばメモリ２０３の場合と同様に空き容量に基づくものとできる。もしＩ読出が不可能の判定された場合、Ｓ７０６に進む。Ｓ７０６ではＣＰＵ２０２がマイコン２００のＩ画像処理が完了したか否かを判定し、完了した場合は終了する。完了でなければ、Ｓ７０６に戻り完了を判断する。これによりフラグ値を書き換えないため、次も同じマイコンで撮像素子４００ａからの画像信号を処理することができる。一方、Ｓ７０５でマイコン１００でＩ読出が可能と判断された場合、Ｓ７０７にてフラグ値を変更する。当該変更処理では、フラグ値をＦＡＬＳＥからＴＲＵＥに変更する。これにより、撮像素子４００ａからの画像信号の処理を、マイコン２００からマイコン１００へ切り替えることが可能となる。以上のようにして、フラグ値変更処理を行う。
【００６４】
以上の実施形態によれば、複数のマイコンと複数の撮像素子、例えば撮像素子と測光撮像素子でタイミングが不定期、かつ非同期行われる際の出力を並行処理する場合に、一方のマイコンで画像の読出が困難な場合には他方のマイコンでの読出を継続して行う。これによって撮像装置を高速に動作させることができる。
【００６５】
＜実施形態３＞
以下に、発明の第３の実施形態を説明する。実施形態３における撮像装置の構成は実施形態１で説明したカメラ７００と同じなので、説明を省略する。
【００６６】
上記実施形態１及び２では、複数の撮像素子からの非同期出力を複数のマイコンで並行処理する場合の撮像装置の動作の高速化について説明した。本実施形態では、当該複数の撮像素子と複数のマイコンを利用し、処理情報の通信の高速化を説明する。特に、静止画連続撮影からライブビュー撮影へ動作モードが切り替る場合の情報の引き継ぎに関して説明する。なお、以下の実施形態では、具体的に被写体の追尾を行う際のマイコン間での追尾情報の引き継ぎを説明するが、発明の実施形態は追尾情報に限定されるものではなく、引き継ぎが可能な情報であれば、撮影パラメータ等の他の情報であっても良い。また、被写体領域として特に顔領域を検出する例を説明するが、被写体は、顔に限定されるものではなく、撮像可能な被写体であって追尾が可能なものであればよい。
【００６７】
まず、図８を参照してカメラ７００の動作モードが切り替る際の追尾情報の引き継ぎについて説明する。本実施形態では、「静止画撮影モード」から「ライブビュー撮影モード」へ切り替わる場合について説明する。ライブビュー撮影モードとは、静止画や動画撮影を行う際に、撮像素子４００ａによる撮像画像を表示装置１０８やファインダ４００ｃに表示し、ユーザに撮像画像を確認しながら撮影を可能とする撮影モードである。
【００６８】
なお、静止画撮影モードでは撮像素子４００ａと測光撮像素子４００ｄとの両方を使用し、撮像画像の生成だけでなく、測光画像の生成も行うのに対し、ライブビュー撮影モードでは、撮像素子４００ａによる撮像のみが行われる。静止画撮影モードでは、測光撮像素子４００ｄから出力される画像信号に基づき顔検出を行うのに対し、ライブビュー撮影モードでは、撮像素子４００ａから出力された画像信号に基づき顔検出を行う。更に、静止画撮影モードでは、撮像素子４００ａ内の有効画素で構成される撮像領域に含まれる全画素の画像信号が出力されるが、ライブビュー撮影モードでは撮像領域に含まれる一部の画素の画像信号のみが出力されても良い。また、静止画撮影モードとライブビュー撮影モードでは、画像処理部１０１（２０１）における処理のレベルが異なっていても良い。即ち、ライブビュー撮影モードでは、記録目的での撮影を行うわけではないので、実行される画像処理は簡易的なものであっても良い。例えば、ライブビュー撮影モードの現像処理では、現像後の画像サイズを２００万画素以下に制限したり、ノイズ除去や光学的な歪補正を限定的な処理に留めたり或いは省いたりすることができる。
【００６９】
図８(ａ)は静止画撮影時の撮影画像を表示したスルー画像(表示装置１０８またはファインダ４００ｃに表示される撮影画像)の一例を示す。枠８０１は撮影対象となる撮影画角を表している。顔８０２は、静止画撮影時に撮影画角８０１内で発見された顔であって、かつ、ユーザが追尾対象に設定した顔である。顔８０３は静止画撮影時に撮影画角８０１内で発見された顔であって、かつ、ユーザが追尾対象に設定していない顔である。画像における顔検出方法は公知であるのでここでは詳細な説明は省略する。検出された顔領域は、例えば撮像画像において顔領域の位置を特定するための座標情報として管理される。また、追尾対象は顔領域を特定するための情報にフラグ値として付与されても良い。
【００７０】
枠８０４は追尾対象の顔を示す枠であり、追尾対象である顔８０２の周辺に表示されている。この静止画撮影では顔８０２を追尾対象としており、枠８０４が顔８０２の周辺に表示され、その枠８０４付近にフォーカスを合わせて撮影が行われる。その後、ユーザが撮影を終了してライブビュー撮影に切り替わる。このときに、測光撮像素子４００ｄから最後に出力された画像信号を処理したマイコンとは別のマイコンがライブビュー撮影での画像信号の処理を行う場合、直前の顔画像の検出結果がメモリに保持されないことになる。即ち、顔画像の検出結果及びどの顔を追尾対象としたかについての情報が引き継がれなくなってしまう。その結果、図８（ｂ）に示すように、追尾対象の顔が別の顔になってしまうことがある。
【００７１】
図８(ｂ)は、ライブビュー撮影開始時の撮影画像を表示したスルー画像である。このとき、撮影画角８０１内のどの顔を追尾するべきかという情報はメモリ内に保持されていない。よって静止画撮影時にユーザが追尾対象として設定した顔８０２を追尾するとは限らない。追尾対象は、その動作モードにおける事前の設定内容に基づき決定される場合がある。例えば、画角８０１の中央位置に近い顔を優先して追尾を行うという設定になっていれば、中央に近い顔８０３が追尾されることになり、枠８０４は顔８０３周辺に表示されてその付近にフォーカスされるようになる。
【００７２】
このように、静止画撮影からライブビュー撮影へ切り替る際に追尾対象に関する情報が引き継がれない場合、追尾対象が変更されてしまうおそれがある。その結果、ユーザが引き続き顔８０２を撮影したくても追尾対象を顔８０２に再度設定する手間が生ずるので次の撮影にスムーズに移行できない。
【００７３】
これに対して図８（ｃ）、（ｄ）では、追尾情報が引き継がれる場合を示している。図８(ｃ)は、図８（ａ）と同様、静止画撮影時の撮影画像を表示したスルー画像を示している。枠８０１内の顔８０２と顔８０３のうち、追尾対象を示す枠８０４が顔８０２の周辺に表示されている。よって、静止画撮影では顔８０２を追尾対象とし、枠８０４付近にフォーカスを合わせて撮影が行われる。その後、ユーザが撮影を終了するとライブビュー撮影に切り替わる。このとき測光撮像素子４００ｄから最後に出力された画像信号を処理するマイコンと同一マイコンがライブビュー撮影での画像信号の処理を行うと、どの顔を追尾対象としたかの情報を引き継ぐことが可能になる。
【００７４】
図８(ｄ)はライブビュー撮影開始時の撮影画像を表示したスルー画像である。このとき撮影画角８０１内のどの顔を追尾するべきかという追尾情報が静止画撮影時から引き継がれており、ライブビュー撮影開始時から静止画で追尾していた顔と同じ顔８０２を追尾することができる。これによってユーザが引き続き顔８０２を撮影したいときに再度追尾する顔を設定する必要はなくなり、スムーズに次の撮影に移行できるようになる。
【００７５】
次に図９を参照してカメラ７００の複数のマイコンおよび複数の撮像素子で静止画連写撮影からライブビュー撮影へ顔情報を引き継ぐときのタイミングチャートを説明する。図９では、上からミラー４００ｂ、撮像素子４００ａ、測光撮像素子４００ｄ、マイコン１００及びマイコン２００のそれぞれの動作を横軸の時間軸において示している。
【００７６】
まず、ミラー４００ｂの動作は、上位と下位の２つの動作状態として、ミラーアップ状態とミラーダウン状態を含む。また、撮像素子４００ａが結像した画像は、静止画撮影画像又はライブビュー撮影画像となる。測光撮像素子４００ｄが結像した画像はここでは顔検出のために用いられる。撮像素子４００ａはミラーアップ状態時にＩ蓄積を行う。また測光撮像素子４００ｄはミラーダウン状態時にＰ蓄積を行う。
【００７７】
マイコン１００及びマイコン２００はどちらも撮像素子４００ａまたは測光撮像素子４００ｄから画像信号を読み出すことができる。また、撮像素子４００ａの画像信号を画像処理することができる。さらに測光撮像素子４００ｄから取得した画像信号に基づき顔検出を行うことができる。
【００７８】
カメラ７００による静止画連続撮影では、撮像素子４００ａからの画像信号の読出及び画像処理を、マイコン１００及びマイコン２００を撮像画像１枚毎に交互に使用して行うことができる。また、測光撮像素子４００ｄから画像信号の読出及び顔検出は、撮像素子４００ａからの画像信号の読出及び画像処理を行っていない側のマイコンを使用できる。これによりマイコンを1つだけ使用したときよりも高速に静止画連続撮影を実現できる。また、カメラ７００は、ライブビュー撮影時にはマイコン１００のみを使用できる。このとき、マイコン２００はスリープ状態にすることで省電力を実現している。
【００７９】
次に、図９（ａ）のタイミングチャートに対応する具体的な動作を時系列に説明する。まず、タイミングＴ０ではミラー４００ｂがミラーアップ状態となっており、撮像素子４００ａが静止画撮影１枚目となるＩ蓄積iを開始する。タイミングＴ１０ではＩ蓄積iが終了し、ミラー４００ｂがミラーダウン動作を開始する。また、Ｉ蓄積i終了後、当該Ｉ蓄積iにより蓄積された画像信号を取得するためにマイコン１００がＩ読出iを開始し、Ｉ読出i終了後にＩ画像処理iを開始する。タイミングＴ２０ではミラー４００ｂのミラーダウン動作が終了し、測光撮像素子４００ｄによるＰ蓄積１を開始する。タイミングＴ３０ではＰ蓄積１が終了しミラー４００ｂのミラーアップ動作を開始する。また、Ｉ読出iを行っていない側のマイコン２００でＰ蓄積１のＰ読出１を開始し、Ｐ読出１終了後にＰ顔検出１を開始する。
【００８０】
タイミングＴ４０ではミラー４００ｂのミラーアップ動作が終了し、撮像素子４００ａが静止画撮影２枚目となるＩ蓄積iiを開始する。タイミングＴ５０ではＩ蓄積iiが終了しミラー４００ｂのミラーダウン動作を開始する。また、１枚目にＩ読出およびＩ画像処理を行わなかった側のマイコン２００でＩ蓄積iiのＩ読出iiを開始し、Ｉ読出ii終了後にＩ画像処理iiを開始する。タイミングＴ６０ではミラー４００ｂのミラーダウン動作が終了し、測光撮像素子４００ｄのＰ蓄積２を開始する。
【００８１】
次に、タイミングＴ７０で静止画連続撮影終了の要求が発生する。この後、静止画用の撮像素子４００ａの蓄積は行わない。静止画連続撮影はユーザによる操作部１１１のシャッターボタンの操作が継続されている間実行される。よって、ユーザがシャッターボタンから指を離して操作を終了すると、撮影終了指示と見なされ静止画連続撮影終了の要求が発生する。なお、本実施形態ではＴ７０において当該要求が発生しているが、ユーザが操作を終了するタイミングはＴ７０のタイミングに限定されるものではなく、より早いタイミングでもよいし、より遅いタイミングであっても良い。その場合、例えばＰ蓄積の途中、或いはそれ以前で静止画連続撮影終了の要求が発生した場合、次の撮影を行わずに静止画連続撮影を終了して良い。一方、Ｐ蓄積が完了し、ミラー４００ｂがミラーアップ動作を開始した後に静止画連続撮影終了の要求が発生した場合には、当該ミラーアップ後の撮影を行った後、撮影を終了しても良い。
【００８２】
次にタイミングＴ８０ではＰ蓄積２が終了するが、連続撮影が終了しているため、ミラーアップ動作は行わない。また、Ｉ読出iiを行っていない側のマイコン１００でＰ蓄積２のＰ読出２を開始し、Ｐ読出２終了後にＰ顔検出２を開始する。Ｐ顔検出２終了後のタイミングＴ９０で静止画連続撮影を完了し、ミラー４００ｂのミラーアップ動作を開始する。また、そのとき静止画顔検出結果はマイコン１００内のメモリ１０３に保持しておく。
【００８３】
タイミングＴ１００ではミラーアップ動作が終了し、撮像素子４００ａでライブビュー撮影用の蓄積を開始する。また、マイコン１００ではライブビュー用の読出、画像処理、顔検出を開始する。このときライブビュー撮影の顔検出では、マイコン１００内のメモリ１０３に保持されている静止画顔検出結果を参照する。当該検出結果には、撮像画像内で検出された被写体領域（顔領域）の位置を特定する情報及び追尾対象の顔を特定する情報が含まれている。
【００８４】
以上のように、静止画連続撮影の最後の顔検出結果が，ライブビュー撮影を行うマイコン１００内のメモリ１０３に保持されているときは、検出結果をマイコン１００内の処理で引き継ぐことができ(矢印９０１)、ＣＰＵ間通信は発生しないため大きな遅延なくライブビュー撮影の顔検出を開始することができる。
【００８５】
次に、図９（ｂ）のタイミングチャートに対応する具体的な動作を時系列に説明する。ミラー動作、撮像素子および測光撮像素子の動作の説明は図９(ａ)と同様のため省略する。
【００８６】
タイミングＴ０ではミラー４００ｂのミラーアップ状態で、撮像素子４００ａが静止画撮影１枚目となるＩ蓄積iを開始する。タイミングＴ１０では、図９(ａ)とは違い、マイコン２００でＩ蓄積iのＩ読出iを開始し、Ｉ読出i終了後にＩ画像処理iを開始する。タイミングＴ３０では、Ｉ読出iを行っていない側のマイコン１００でＰ蓄積１のＰ読出１を開始し、Ｐ読出１終了後にＰ顔検出１を開始する。Ｔ５０では１枚目にＩ読出およびＩ画像処理を行わなかった側のマイコン１００でＩ蓄積iiのＩ読出iiを開始し、Ｉ読出ii終了後にＩ画像処理iiを開始する。
【００８７】
次に、タイミングＴ７０で静止画連続撮影終了の要求が発生する。この後、静止画用の撮像素子４００ａの蓄積は行わない。タイミングＴ８０ではＩ読出iiを行っていない側のマイコン２００でＰ蓄積２のＰ読出２を開始し、Ｐ読出２終了後にＰ顔検出２を開始する。Ｐ顔検出２終了後のタイミングＴ９０で静止画連続撮影を完了し、そのとき静止画顔検出結果はマイコン２００内のメモリ２０３に保持しておく。タイミングＴ１００では撮像素子４００ａでライブビュー撮影用の蓄積を開始する。また、マイコン１００ではライブビュー用の読出、画像処理、顔検出を開始する。
【００８８】
このときライブビュー撮影の顔検出はマイコン１００で動作しており、静止画顔検出結果を参照したいのだが、結果はマイコン２００内のメモリ２０３に保持されている。このため顔検出結果のデータを参照する（矢印９０２）ためには、マイコン２００からマイコン１００へ通信部２０６、データバス３００、通信部１０６を経由してＣＰＵ間通信を行うことが必要となる。このため、ＣＰＵ間通信が完了してからライブビューの顔検出を行うまでの間、通信時間の分だけ検出開始が遅延してしまい、スムーズにライブビュー撮影が開始できないという問題が生じる。また、遅延時間の間に被写体の位置に変化が生じた場合、以前の顔検出結果を利用する効果が薄れてしまうおそれもある。
【００８９】
そこで、係る問題を解決するため、静止画連続撮影時の最後の顔検出処理を必ずライブビュー撮影が動作するマイコン１００上で行うように制御する。当該動作のタイミングチャートを図１０に示す。ミラー４００ｂ、撮像素子４００ａ、測光撮像素子４００ｄ、マイコン１００、マイコン２００の説明は図９と同様のため省略する。また、タイミングＴ０〜Ｔ７０は図９(ｂ)と同様のため省略する。
【００９０】
図９および図１０のＴ７０の静止画連続撮影終了要求までは、Ｐ読出とＰ顔検出はそのときＩ読出とＩ画像処理を行っていない側のマイコンで実施している。しかし図１０の方式では、Ｔ７０の後のＰ読出２およびＰ顔検出２を必ずマイコン１００で行うようにする。タイミングＴ８０では、マイコン１００でＩ画像処理iiを行っている途中だが、並行してＰ読出２を開始する。タイミングＴ９０でＩ画像処理iiが終了し、その後Ｐ顔検出２を開始する。Ｐ顔検出２終了後のタイミングＴ１００で静止画連続撮影を完了し、ミラーアップ動作を開始する。また、そのとき静止画顔検出結果はマイコン１００内のメモリ１０３に保持しておく。
【００９１】
タイミングＴ１１０ではミラーアップ動作が終了し、撮像素子４００ａでライブビュー撮影用の蓄積を開始する。また、マイコン１００ではライブビュー撮影用の読出、画像処理、顔検出を開始する。このときライブビュー撮影の顔検出では、マイコン１００内のメモリ１０３に保持されている静止画顔検出結果を参照する。
【００９２】
以上のように、静止画連続撮影の最後の顔検出を必ずライブビュー撮影が動作するマイコン１００で行うように制御すれば、顔検出結果をマイコン１００内の処理で引き継ぐことができる(矢印１００１)。これによって、ＣＰＵ間通信は発生しないため大きな遅延もなくライブビュー撮影の顔検出を開始することができる。
【００９３】
次に図１１のフローチャートを参照して、静止画連続撮影時の最後の顔検出処理をマイコン１００で実施するためのカメラ７００の制御を説明する。
【００９４】
まずＳ１１０１で、ユーザによる操作部１１１のシャッターボタンの操作に基づき静止画連続撮影を開始する。このときＣＰＵ１０２は撮影枚数をカウントするためのパラメータｎを１にセットする。次にＳ１１０２でＣＰＵ１０２は撮影枚数ｎの値が偶数か、奇数かを判定する。本実施形態では、撮影枚数ｎの値が偶数か奇数かに応じて画像処理を行うマイコンを決定する。撮影枚数が奇数の場合Ｓ１１０３で奇数時の設定を行う。このとき、ＣＰＵ１０２は画像振り分け部４００ｅによる各撮像素子からの画像信号の供給先を設定する。具体的に撮像枚数が奇数時は、画像振り分け部４００ｅは、撮像素子４００ａからの画像信号をマイコン１００に供給し、測光撮像素子４００ｄからの画像信号をマイコン２００に供給するように設定される。これにより、マイコン１００が図１０のＩ読出およびＩ画像処理を行い、マイコン２００が図１０のＰ読出およびＰ顔検出を行うことができる。
【００９５】
また撮影枚数が偶数の場合Ｓ１１０４で偶数時の設定を行う。このときＣＰＵ１０２は画像振り分け部４００ｅによる各撮像素子からの画像信号の供給先を設定する。具体的に撮像枚数が偶数時は、画像振り分け部４００ｅは、撮像素子４００ａからの画像信号をマイコン２００に供給し、測光撮像素子４００ｄからの画像信号をマイコン１００に供給するように設定される。これによりマイコン１００が図１０のＰ読出およびＰ顔検出を行い、マイコン２００がＩ読出およびＩ画像処理を行うことができる。
【００９６】
上記の設定が完了すると、Ｓ１１０５では、撮像素子４００ａがＩ蓄積により蓄積した画像信号につき、設定に従ってマイコン１００または２００がＩ読出およびＩ画像処理を行う。次にＳ１１０６でＣＰＵ１０２が撮影枚数ｎに１を加算して更新する。続くＳ１１０７では、ＣＰＵ１０２がユーザによる操作部１１１のシャッターボタンに対する操作が解除されたかどうかに基づき静止画連続撮影の終了要求の有無を判定する。当該判定は、測光撮像素子４００ｄによるＰ蓄積が完了するまで行う。当該Ｐ蓄積が完了するまでに終了要求が無い場合、Ｓ１１０８に移行して、測光撮像素子４００ｄがＰ蓄積により蓄積した画像信号につき、設定に従ってマイコン１００または２００がＰ読出およびＰ顔検出を行う。その後、次の撮影処理に移行し、再度Ｓ１１０２の処理を行う。もしＰ蓄積が完了するまでに終了要求があった場合、次の撮影処理は行わずにＳ１１０９以降の静止画連続撮影の終了処理に移行する。
【００９７】
本実施形態では、静止画連続撮影最後の顔検出処理を必ずマイコン１００で行うように制御している。Ｓ１１０９では、直近のＰ蓄積に基づく測光撮像素子４００ｄからの出力画像信号につきマイコン１００がＰ読出およびＰ顔検出を行い、Ｓ１１１０では顔検出結果をマイコン１００内のメモリ１０３に書き込む。Ｓ１１１０ではマイコン１００でライブビュー撮影を開始する。このとき顔検出結果をメモリ１０３から読み出すことでＣＰＵ間通信を行うことなく静止画撮影からライブビュー撮影へ結果を引き継ぐことができる。
【００９８】
以上のように、本実施形態では静止画連続撮影の最後の被写体検出を必ずライブビュー撮影が動作するマイコンで行うように制御することが可能となり、被写体検出結果を同一マイコン内の処理で引き継ぐことができる。よって、ＣＰＵ間通信を不要とし、大きな遅延もなくライブビュー撮影の被写体検出を開始することができる。
【００９９】
＜実施形態４＞
以下に、発明の第４の実施形態を説明する。実施形態４における撮像装置の構成は実施形態１で説明したカメラ７００と同じなので、説明を省略する。また、以下では実施形態３と同様、静止画連続撮影からライブビュー撮影への顔追尾情報の引き継ぎに関して説明する。
【０１００】
まず、図１２（ａ）を参照してカメラ７００の複数のマイコンおよび複数の撮像素子で静止画連写撮影からライブビュー撮影へ顔情報を引き継ぐときのタイミングチャートを説明する。図１２では、上からミラー４００ｂ、撮像素子４００ａ、測光撮像素子４００ｄ、マイコン１００及びマイコン２００のそれぞれの動作を横軸の時間軸において示している。また、タイミングＴ０からＴ８０までは図１０とほぼ同様のため、詳細な説明は省略する。ただし、Ｉ画像処理iおよびＩ画像処理iiが図１０の場合と比べて非常に長い時間の処理となっている。また、Ｔ９０以降の静止画顔検出結果をライブビュー撮影に引き継ぐ処理に関しても図１０とほぼ同様のため、説明は省略する。
【０１０１】
ただし、前述の通り、Ｉ画像処理iiの処理が長いため、顔検出用のＰ蓄積２が終了するＴ８０からライブビュー撮影が検出結果を受け取るタイミングＴ１１０までの時間Ｔａが非常に長い時間となっている。このため、この期間Ｔａに追尾対象となる顔が画角内で移動してしまった際は、ライブビュー撮影が検出結果を受け取ったとしても追尾対象を見失ったり、他の誤った顔を追尾するケースが増えてしまったりといった問題が生じるおそれがある。
【０１０２】
そこで、係る問題を解決するため、静止画連続撮影時の最後の画像処理時間が長い場合は一定期間ごとに改めて顔検出用のＰ蓄積を行うように制御する。当該動作のタイミングチャートを図１２（ｂ）に示す。ミラー４００ｂ、撮像素子４００ａ、測光撮像素子４００ｄ、マイコン１００、マイコン２００の説明は図１０と同様のため省略する。また、タイミングＴ０〜Ｔ８０は図１２（ａ）と同様のため省略する。
【０１０３】
図１２（ｂ）の例では、タイミングＴ８０のＰ蓄積２の終了から一定期間Ｔｂが経過したタイミングＴ９０で、もしＩ画像処理iiが終了していなかった場合、再度測光撮像素子４００ｄによりＰ蓄積３を行う。タイミングＴ１００では、最後の顔検出結果をマイコン１００で引き継ぐために必ずマイコン１００でＰ読出３を行う。その後、一定期間Ｔｂが経過する度に測光撮像素子４００ｄによりＰ蓄積を行う。一方、一定期間Ｔｂが経過する前にＩ画像処理iiが終了すればＰ顔検出３を行い、この顔検出結果をライブビュー撮影に引き継ぐ。図１２（ｂ）では、タイミングＴ１１０でＩ画像処理iiが終了した例を示している。
【０１０４】
ここで顔検出用のＰ蓄積３が終了するＴ１００からライブビュー撮影が検出結果を受け取るタイミングＴ１３０までの時間Ｔａは、図１２（ａ）よりも短い時間となっている。このように静止画連続撮影時の最終Ｐ蓄積後、一定期間ごとに再度顔検出用のＰ蓄積を行うということで期間Ｔａを短縮することができる。よって、期間Ｔａの間に追尾対象となる顔が移動してしまい追尾対象を見失う、或いは、他の誤った顔を追尾してしまうといった問題の発生を、図１２（ａ）の場合に比べて減少させることができる。
【０１０５】
次に図１３のフローチャートを参照して、静止画連続撮影時の最後の画像処理時間が長い場合は改めて顔検出用のＰ蓄積を行う解決策の制御を説明する。図１１と同一の処理を行う工程については同一の参照番号を付した。即ち、Ｓ１１０１〜Ｓ１１０８、Ｓ１１１０及びＳ１１１１は、図１１と同様の処理を行う。
【０１０６】
Ｓ１３０１では静止画連続撮影終了の要求後に完了するＰ蓄積の終了後に待機時間をカウントするためのタイマーを始動させる。次いでＳ１３０２では、Ｐ蓄積により測光撮像素子４００ｄにより蓄積された顔検出用の画像信号をマイコン１００がＰ読出により読み出す。次に、Ｓ１３０３では、Ｓ１３０１で開始したカウント値が一定の待機時間Ｔｂ以上となったか否かを判定する。もし、待機時間がＴｂ以上となった場合、Ｓ１３０４に移行して、ＣＰＵ１０２は測光撮像素子４００ｄにＰ蓄積を再度実行させる。その後Ｓ１３０１に戻ってタイマーをリスタートする。
【０１０７】
一方、待機時間がＴｂに満たない場合、Ｓ１３０５に移行して、ＣＰＵ１０２が静止画の最終画像処理が終了したか否かを判定する。もし終了していない場合はＳ１３０３に戻って待機時間を再度判定する。一方、画像処理が終了した場合、Ｓ１３０６に移行し、Ｓ１３０２でマイコン１００が読み出した最新の顔検出用Ｐ蓄積の画像信号を用いてマイコン１００がＰ顔検出を行う。この処理により、顔検出情報を最新の情報に保つことが可能となる。その後は、図１１のＳ１１１０以降と同様にして処理を終了する。
【０１０８】
以上のように、本実施形態によれば、静止画連続撮影終了後に画像処理に時間を要し、ライブビュー撮影モードに直ちに移行できない場合であっても、測光撮像素子４００ｄによる蓄積動作を定期的に行うことで、ライブビュー撮影モードに移行した場合に活用可能な顔検出情報を生成することが可能となる。
【０１０９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１１０】
マイコン：１００、２００、画像処理部：１０１、２０１、ＣＰＵ：１０２、２０２、メモリ：１０３、２０３、コーデック部：１０４、２０４、記録制御部：１０５、２０５、通信部：１０６、２０６、外部接続部：１０７、表示制御部１０８、操作制御部：１０９、表示部：１１０、操作部：１１１、通信バス：３００、撮像部：４００、撮像素子：４００ａ、測光撮像素子：４００ｂ、記録媒体：５００、カメラ：７００
【図１】
0006346508.tif 000002
【図２】
0006346508.tif 000003
【図３】
0006346508.tif 000004
【図４】
0006346508.tif 000005
【図５】
0006346508.tif 000006
【図６】
0006346508.tif 000007
【図７】
0006346508.tif 000008
【図８】
0006346508.tif 000009
【図９】
0006346508.tif 000010
【図１０】
0006346508.tif 000011
【図１１】
0006346508.tif 000012
【図１２】
0006346508.tif 000013
【図１３】
0006346508.tif 000014