まず、図1を参照して、本発明の実施例1におけるカメラシステムについて説明する。図1は、本実施例におけるカメラシステム10(撮像装置または撮像システム)のブロック図である。本実施例において、カメラシステム10は、カメラ本体100(撮像装置または撮像装置本体)と、カメラ本体100に着脱可能な交換レンズ200(レンズ装置)とを備えて構成されるレンズ交換式カメラシステムである。
図1に示されるように、本実施例のカメラ本体100には、レンズマウント部12を介して交換レンズ200が着脱可能に装着されている。カメラ本体100に装着可能な交換レンズ200には、フォーカスレンズ201、ズーム制御ユニット202、絞り203、および、防振制御レンズ204を備えて構成される撮像光学系が設けられている。なお図1には、フォーカスレンズ201、ズーム制御ユニット202(ズームレンズ)、または、防振制御レンズ204として1枚のレンズが示されているが、それぞれのレンズは、複数枚のレンズから構成されるレンズ群でもよい。撮像光学系を介して形成された光束は、撮像素子102に導かれ、撮像素子102に光学像として結像される。
まず、カメラ本体100の構成について説明する。シャッタ101は、撮像素子102への露光量を制御する。撮像素子102は、CCDセンサやCMOSセンサを備え、被写体の光学像をアナログ画像信号に変換する。すなわち撮像素子は、撮像光学系を介して形成された光学像を光電変換して画像信号を出力する。また撮像素子102は、焦点検出に用いられる複数の画素(焦点検出画素)を有してもよい。A/D変換部103は、撮像素子102から出力されるアナログ画像信号をデジタル画像信号に変換し、デジタル画像信号を画像処理部140およびメモリ制御部105へ出力する。被写体の光学像は、ミラー112がダウンしている間、ミラー112、113を介して光学ファインダ114により観察可能である。タイミング発生部104は、撮像素子102、A/D変換部103、画像処理部140、メモリ制御部105、および、システム制御部130にクロック信号および同期信号を供給する。
画像処理部140は、A/D変換部103からのデジタル画像信号またはメモリ制御部105からのデータに対して、所定の画素補完処理や色変換処理を行い、画像データを生成する。また画像処理部140は、デジタル画像信号を用いて所定の演算処理を行う。画像処理部140は、被写体位置を判定し、被写体の色や形状に基づいて被写体を追尾する。また画像処理部140は、動きベクトル検出部141(動きベクトル検出手段)を有する。動きベクトル検出部141は、追尾した被写体の複数のフレームにわたる被写体位置に基づいて、第1の期間に動きベクトル(動きベクトル量)を検出する。被写体位置は、被写体の左上座標と高さと幅とで構成される。画像処理部140の演算結果は、メモリ制御部105を介してシステム制御部130に出力される。
メモリ制御部105は、A/D変換部103、タイミング発生部104、画像処理部140、メモリ107、記録部108、および、画像表示部106を制御する。A/D変換部103からの出力データは、画像処理部140およびメモリ制御部105を介して、メモリ107および記録部108に書き込まれる。メモリ107および記録部108は、撮影した静止画像や動画像を格納する。メモリ107は、揮発性メモリで構成され、システム制御部130の作業領域としても使用される。記録部108は、カメラ本体100の内部または外部に取り付けられた不揮発性メモリで構成される画像記録領域として使用される。
画像表示部106は、LCDなどを用いて構成され、EVFの場合、撮像した画像データを逐次表示し、EVF機能を実現する。また画像表示部106は、画像再生の際に、記録部108に記録された画像(撮影画像)を表示する。シャッタ制御部110は、システム制御部130からの制御信号に基づいて、ミラー制御部111と連携しながら、シャッタ101を制御する。ミラー制御部111は、システム制御部130からの制御信号に基づいて、ミラー112を制御する。
システム制御部130は、シャッタスイッチ115(SW1)、シャッタスイッチ116(SW2)、カメラ操作部117、および、メモリ制御部105などからの入力信号に従って、カメラ本体100を含むカメラシステム10の全体を制御する。すなわちシステム制御部130は、前述の各入力信号に従って、撮像素子102、メモリ制御部105、シャッタ制御部110、ミラー制御部111、および、I/F120を介して交換レンズ200などを制御する。
シャッタスイッチ115(SW1)は、AF処理、AE処理、および、AWB処理などの動作開始をシステム制御部130へ指示する。シャッタスイッチ116(SW2)は、露光開始をシステム制御部130へ指示する。露光開始指示を受けたシステム制御部130は、ミラー制御部111、シャッタ制御部110、メモリ制御部105、および、I/F120を介して交換レンズ200を制御して、撮像素子102の露光(記録部108に画像データを記録する処理)を開始する。システム制御部130は、シャッタスピードの時間が経過した場合、露光を終了する。そしてシステム制御部130は、撮像素子102で露光した静止画をA/D変換部103を介してデジタルデータに変換し、メモリ制御部105に保持する。この際、メモリ制御部105には、撮影条件や流し撮りアシスト結果を合わせて保持される。その後、システム制御部130は、メモリ制御部105に保持された静止画をJPEGやRAWデータとして保存する。撮影条件や流し撮りアシスト結果は、EXIF情報として静止画データに埋め込まれる。
カメラ操作部117は、各種ボタン、タッチパネル、および、電源オンオフボタンなどからなり、撮影者の操作により受け付けた指示をシステム制御部130に出力する。カメラ操作部117を介した撮影者の操作に従って、システム制御部130は、カメラ本体100に搭載された各種機能の一つである、AFモード、AEモード、および、流し撮りアシストモードなどの各動作モードの切り替えを行う。カメラ電源制御部118は、カメラ本体100の外部電池や内蔵電池の管理を行う。電池が取り外された場合や電池残量がなくなった場合、カメラ電源制御部118は、カメラ本体100の制御の緊急遮断処理を行う。このとき、システム制御部130は、交換レンズ200に供給する電源を遮断する。
AF制御部131は、システム制御部130に設けられており、カメラ本体100のAF処理を司る。AF処理の際、AF制御部131は、AFモードに従い、I/F120を介して交換レンズ200から得られるフォーカス位置や焦点距離などのレンズ情報とAF評価値とに基づいて、フォーカスレンズ201の駆動量を演算する。フォーカスレンズ201の駆動量は、システム制御部130に設けられるレンズ通信制御部133、およびI/F120を介して、交換レンズ200に入力される。例えば位相差AFモードの場合、AF制御部131は、被写体の光学像をミラー112および不図示の焦点検出用サブミラーを介して不図示の合焦状態判定部に入射させて得られる位相差AF評価値などに基づいて、フォーカスレンズ201の駆動量を演算する。コントラストAFモードの場合、AF制御部131は、画像処理部140にて演算されるコントラストAF評価値に基づいて、フォーカスレンズ201の駆動量を演算する。撮像面位相差AFモードの場合、AF制御部131は、撮像素子102の画素(焦点検出のために用いられる画素)から出力された撮像面位相差AF評価値に基づいて、フォーカスレンズ201の駆動量を演算する。またAF制御部131は、1点AFモード、多点AFモード、および、顔検出AFモードなどのAF評価モードに従い、評価値を演算するためのAF枠の位置を切り替える。
AE制御部132は、システム制御部130に設けられており、カメラ本体100のAE処理を司る。AE処理の際、AE制御部132は、AEモードに従い、I/F120を介して交換レンズ200から得られる開放F値や焦点距離などのレンズ情報、およびAE評価値などに基づいて、AE制御量(絞り制御量、シャッタ制御量、露光感度など)を演算する。絞り制御量は、レンズ通信制御部133およびI/F120を介して交換レンズ200に入力される。シャッタ制御量は、シャッタ制御部110に入力される。露光感度は、撮像素子102に入力される。例えばファインダ撮影モードの場合、AE制御部132は、被写体の光学像をミラー112およびミラー113を介して不図示の明るさ判定部に入射させて得られるAE評価値に基づいて、AE制御量を演算する。ライブビュー撮影モードの場合、AE制御部132は、画像処理部140にて演算されるAE評価値に基づいてAE制御量を演算する。またAE制御部132は、評価測光モード、平均測光モード、および、顔検出測光モードなどの測光モードに従い、評価値を演算するAE枠位置および重み付け量を切り替える。
流し撮りアシスト制御部134(演算手段)は、システム制御部130に設けられており、カメラ本体100の流し撮りアシスト処理を司る。流し撮りアシスト機能は、ライブビュー撮影モードに設定され、かつ装着されている交換レンズ200が流し撮りアシストに対応している場合にのみ実行可能である。流し撮りアシスト機能が実行不可能な場合、流し撮りアシスト制御部134は、流し撮りアシストモードに従い、画像の流れ量のみを制御する。具体的には流し撮りアシスト制御部134は、交換レンズ200の角速度検出部208から得られる角速度情報(レンズ角速度情報)などに基づいて、露光中の振れ角が任意の量になるようにシャッタ制御量をAE制御部132へ通知し、画像の流れ量のみを制御する。なお角速度情報は、カメラ本体100に不図示の角速度検出部を搭載した場合、この角速度検出部から得ることもできる。
一方、流し撮りアシスト機能が実行可能な場合、流し撮りアシスト制御部134は、流し撮りアシストモードに従い、I/F120を介して交換レンズ200に流し撮りアシスト処理の実行可否を指示する。また、I/F120を介して交換レンズ200から得られる角速度情報や焦点距離などのレンズ情報、画像処理部140から入力される動きベクトル量などに基づいて、被写体角速度や被写体角加速度などの被写体の動きに対応する情報としての被写体の角速度情報を算出する。
また流し撮りアシスト制御部134は、レンズ角速度検出期間が動きベクトル検出期間(第1の期間、第1のタイミング)と一致する(対応する)ように、フレームレートおよびシャッタ速度などに基づいて、レンズ角速度検出期間(第2の期間、第2のタイミング)の設定値を演算する。被写体角速度情報およびレンズ角速度検出期間の設定値は、レンズ通信制御部133およびI/F120を介して、交換レンズ200に送信される。このとき、レンズ角速度検出期間の設定値は、検出期間ID(検出期間ID情報)を含む。検出期間ID情報(第1のID情報)は、交換レンズ200から受け取るレンズ角速度がどの期間に取得した角速度であるかを、流し撮りアシスト制御部134が判定するために付加される。このため、角速度情報も検出期間ID(検出期間ID情報)を含み、検出期間ID情報(第2のID情報)と角速度情報とは互いに紐付けられてカメラ本体100へ送信される。
カメラ本体100は、動きベクトル検出期間(第1の期間)に検出期間ID(第1のID情報)を割り当て、その期間に検出された動きベクトル(動きベクトル量)と検出期間IDとを対応付けて(関連付けて)記憶する。動きベクトルおよびそれに対応する検出期間IDは、例えば、システム制御部130の内部メモリ(不図示)またはメモリ107などに記憶される。また、カメラ本体100は、動きベクトル検出期間に一致するように演算したレンズ角速度検出期間の設定値に、割り当てた検出期間ID(第1のID情報)を付加する。そしてカメラ本体100は、レンズ角速度検出期間の設定値および検出期間IDを交換レンズ200へ送信する。
交換レンズ200は、カメラ本体100から受信した検出期間IDを、カメラ本体100から受信したレンズ角速度検出期間の設定値に基づいて検出された角速度と対応付けて、角速度情報として記憶する。角速度情報は、例えば、レンズ制御部210の内部メモリ(不図示)またはメモリ212に記憶される。また交換レンズ200は、カメラ本体100からの要求に応じて、検出期間ID(第2のID情報)を含む角速度情報をカメラ本体100へ送信する。カメラ本体100は、被写体角速度情報を演算する際に、動きベクトルに対応付けられた検出期間ID(第1のID情報)と角速度情報に含まれる(角速度情報に対応付けられた)検出期間ID(第2のID情報)とを比較する。これにより、カメラ本体100は、想定されたタイミングでレンズ通信を実施することができたか否かを判定する。
レンズ通信制御部133は、システム制御部130に設けられており、カメラ本体100と交換レンズ200との通信処理を司る。I/F120を介して交換レンズ200が装着されたことを検知すると、レンズ通信制御部133は、カメラ本体100と交換レンズ200は通信を開始し、適宜、レンズ情報を受信するとともに、カメラ情報や駆動命令などを送信する。例えば、ライブビュー撮影モードに設定され、かつ装着されている交換レンズ200が流し撮りアシストに対応している場合を考える。この場合にタイミング発生部104から撮像同期信号が入力されると、レンズ通信制御部133は、撮像同期信号から通信を開始するまでの通信開始遅延時間を通知するための同期信号通信を実施する。また、シャッタスイッチ116(SW2)による露光が終了した場合、レンズ通信制御部133は、流し撮りアシスト結果情報を交換レンズ200から受信する。ライブビュー撮影モードの場合、タイミング発生部104から撮像同期信号が入力されると、レンズ通信制御部133は、レンズ情報(フォーカスレンズ位置、フォーカスレンズ状態、絞り状態、焦点距離など)をまとめて受信する。
I/F120は、カメラ本体100と交換レンズ200との間の通信のインタフェースである。I/F120は、コネクタ20を介して、カメラ本体100のシステム制御部130とレンズ制御部210との間で電気信号を用いて通信を実施することにより、レンズ情報や制御命令などを送受信する。
次に、交換レンズ200の構成について説明する。フォーカスレンズ201は、光軸OAに沿った方向(光軸方向)に移動して撮像光学系のピント(焦点状態)を変化させる。フォーカス制御部205は、レンズ制御部210により制御され、フォーカスレンズ201を駆動する。またフォーカス制御部205は、フォーカスレンズ201の位置などのフォーカス情報をレンズ制御部210へ出力する。
ズーム制御ユニット202は、光軸方向に移動して撮像光学系の焦点距離を変化させる。ズーム制御部206は、レンズ制御部210により制御され、ズーム制御ユニット202を駆動する。またズーム制御部206は、焦点距離などのズーム情報をレンズ制御部210へ出力する。絞り203は、その開口径(絞り値)が可変であり,開口径に応じて光量を変化させる。絞り制御部207は、レンズ制御部210により制御され、絞り203を駆動する。また絞り制御部207は、絞り値(F値)などの絞り情報をレンズ制御部210へ出力する。
防振制御レンズ204は、光軸OAに直交する方向(光軸直交方向)に移動することにより、手振れなどによるカメラ振れに起因する像ブレを低減する。防振制御部209は、レンズ制御部210により制御され、防振制御レンズ204を駆動する。また防振制御部209は、防振可能範囲などの防振情報をレンズ制御部210へと出力する。
角速度検出部208(角速度検出手段)は、交換レンズ200の角速度(Yaw方向およびPitch方向の速度)を検出し、レンズ制御部210へ出力する。角速度検出部208は、レンズ制御部210により制御される。なお、角速度検出部をカメラ本体100に設けることもできる。
レンズ操作部211は、フォーカスリング、ズームレンズ、AF/MFスイッチ、および、ISオンオフスイッチなどからなり、撮影者の操作により受け付けた指示をレンズ制御部210に出力する。レンズ操作部211を介した撮影者の操作に従って、システム制御部130は、交換レンズ200に搭載された各種機能についての動作モードを切り替える。メモリ212は、揮発性メモリで構成されている。
レンズ制御部210は、レンズ操作部211またはI/F220からの入力信号に従って、フォーカス制御部205、ズーム制御部206、絞り制御部207、防振制御部209、および、角速度検出部208などを制御する。これによりレンズ制御部210は、交換レンズ200の全体を制御する。またレンズ制御部210は、各制御部や検出部などから入力された情報を、I/F220を介して受信したレンズ情報取得命令に応答して、I/F220を介してカメラ本体100へ送信する。
I/F220は、カメラ本体100と交換レンズ200との間の通信のためのインタフェース(通信手段)である。I/F220は、コネクタ20を介して、カメラ本体100のシステム制御部130とレンズ制御部210との間で電気信号を用いて通信を実施することにより、レンズ情報や制御命令などを送受信する。
次に、図2を参照して、本実施例におけるカメラ本体100の撮像同期通信処理について説明する。図2は、カメラ本体100の撮像同期通信処理のフローチャートであり、カメラ本体100がライブビュー撮影モードであって、かつ装着されている交換レンズ200が流し撮りアシストに対応している場合におけるカメラ本体100の動作を示している。撮像同期通信処理は、ライブビュー撮影モードの際に開始される処理であり、レンズ制御部210が撮像同期信号のタイミングで交換レンズ200と通信をするための処理である。
まずステップS201において、システム制御部130は、ライブビュー撮影が継続中であるか否かを判定する。ライブビュー撮影が継続中の場合、ステップS202へ進む。一方、ライブビュー撮影が継続していない場合、本フローの撮像同期通信処理を終了する。
ステップS202において、システム制御部130は、撮像同期信号が入力されたか否かを判定する。撮像同期信号が入力された場合、ステップS203へ進む。一方、撮像同期信号が入力されていない場合、ステップS201へ戻る。ステップS203において、システム制御部130は、撮像同期信号が入力された時刻を、撮像同期信号時刻としてシステム制御部130の内部メモリ(不図示)またはメモリ107などに記憶する。続いてステップS204において、システム制御部130は、未処理のレンズ通信が残っているか否かを判定する。未処理のレンズ通信が残っている場合、ステップS205へ進む。一方、未処理のレンズ通信が残っていない場合、ステップS206へ進む。ステップS205において、システム制御部130は、未処理のレンズ通信を完了させ、ステップS206へ進む。
ステップS206において、システム制御部130は、同期信号通信を実施するか否かを判定する。交換レンズ200が流し撮りアシストに対応しており、かつ、流し撮りアシストモードが有効である場合、システム制御部130は同期信号通信を実施すると判定し、ステップS207へ進む。一方、システム制御部130が同期信号通信を実施しないと判定した場合、ステップS201へ戻る。
ステップS207において、システム制御部130は、撮像同期信号時刻からの経過時間を測定し、この経過時間を遅延時間(同期信号通信遅延時間)として内部メモリまたはメモリ107に記憶する。続いてステップS208において、システム制御部130は、I/F120を介して交換レンズ200へ同期信号通信を実施する。同期信号通信の送信データには、同期信号遅延時間が含まれる。続いてステップS209において、システム制御部130は、I/F120を介して交換レンズ200へレンズ角速度検出期間の設定値通信を実施し、ステップS201へ戻る。レンズ角速度検出期間の設定値通信の送信データとして、システム制御部130は、流し撮りアシスト制御部134から入力された前述のレンズ角速度検出期間の設定値を送信する。レンズ角速度検出期間の設定値には、流し撮りアシスト制御部134から出力された検出期間ID(検出期間ID情報、第1のID情報)が含まれる。
以上の処理を実施することより、カメラ本体100から交換レンズ200へ撮像同期信号を通知することができるとともに、レンズ角速度検出期間を設定することが可能となる。
次に、図3を参照して、カメラ本体100の露光設定処理について説明する。図3は、カメラ本体100の露光設定処理のフローチャートであり、カメラ本体100がライブビュー撮影モードであって、かつ装着されている交換レンズ200が流し撮りアシストに対応している場合の、カメラ本体100の露光設定処理の動作を示している。露光設定処理は、ライブビュー撮影モードの際にフレームごとに実施される処理であり、次フレームの露光制御をするための処理である。
まずステップS301において、システム制御部130は、ライブビュー撮影が継続中であるか否かを判定する。ライブビュー撮影が継続中の場合、ステップS302へ進む。一方、ライブビュー撮影が継続中でない場合、本フローの露光設定処理を終了する。
ステップS302において、システム制御部130は、次フレームの撮像素子102の露光設定タイミングか否かを判定する。露光設定タイミングである場合、ステップS303へ進む。一方、露光設定タイミングでない場合、ステップS301へ戻る。
ステップS303において、システム制御部130は、AE制御量やカメラモードなどに基づいて露光設定値を算出する。またシステム制御部130は、メモリ制御部105に露光設定値を出力することにより、次フレームの露光制御を行う。続いてステップS304において、流し撮りアシスト制御部134は、流し撮りアシスト処理を実施するか否かを判定する。交換レンズ200が流し撮りアシストに対応しており、かつ、流し撮りアシストモードが有効である場合、流し撮りアシスト制御部134は、流し撮りアシスト処理を実施すると判定し、ステップS305へ進む。一方、流し撮りアシスト制御部134が流し撮りアシスト処理を実施しないと判定した場合、ステップS301へ戻る。
ステップS305において、流し撮りアシスト制御部134は、次フレームの露光設定などに基づいて、動きベクトル検出期間と角速度の検出期間とが一致する(対応する)ように、レンズ角速度検出期間の設定値を、撮像同期信号からの相対時間として算出する。算出された角速度検出期間の設定値は、前述のステップS209にて交換レンズ200へ送信される。レンズ角速度検出期間の設定値は、検出期間ID情報(第1のID情報)を含む。検出期間ID情報は、交換レンズ200から受け取る角速度がいずれの期間に取得した角速度であるかを、流し撮りアシスト制御部134が判定するために付加される。このため、角速度情報も検出期間ID情報(第2のID情報)を含み、検出期間ID情報と角速度情報とは互いに紐付けられてカメラ本体100へ送信される。
続いてステップS306において、流し撮りアシスト制御部134は、使用する動きベクトル量の検出期間に対応する検出期間ID情報と、交換レンズ200から受け取った角速度情報に含まれる検出期間ID情報とが互いに一致するか否かを判定する。これらが互いに一致する場合、ステップS307へ進む。一方、これらが互いに一致しない場合、ステップS308へ進む。
ステップS307において、流し撮りアシスト制御部134は、交換レンズ200から受け取る角速度情報や焦点距離などのレンズ情報と、画像処理部140から入力される動きベクトル量とに基づいて、被写体の角速度情報を算出する。被写体の角速度情報は、被写体角速度や被写体角加速度を含む。また流し撮りアシスト制御部134は、算出した被写体の角速度情報をレンズ通信制御部133へ入力する。被写体の角速度情報には、算出に使用した角速度情報に対応する角速度情報取得時刻が含まれる。ステップS308において、レンズ通信制御部133は、被写体角速度情報を交換レンズ200へ送信するため、被写体角速度通信を実施し、ステップS301へ戻る。本実施例において、被写体角速度通信の受信データには、検出期間ID情報を含む角速度情報が含まれる。
以上の処理を実施することより、次フレームの露光制御を行うとともに、次の撮像同期信号で交換レンズ200へ通知するレンズ角速度検出期間を設定することが可能である。また、交換レンズ200へ被写体角速度を通知でき、交換レンズ200から角速度情報を取得することができる。
次に、図4を参照して、カメラ本体100の露光処理について説明する。図4は、カメラ本体100の露光処理のフローチャートである。図4は、ライブビュー撮影モードであって、かつ装着されている交換レンズ200が流し撮りアシストに対応している場合の、カメラ本体100のライブビュー露光処理の動作を示している。ライブビュー露光処理は、ライブビュー撮影モードの際に、シャッタスイッチ116(SW2)を介した露光開始指示(撮影開始指示)により開始される処理である。
まずステップS401において、システム制御部130は、レンズ通信制御部133を介して、交換レンズ200に対して露光開始タイミング(撮影開始タイミング)であることを通信により通知する。続いてステップS402において、システム制御部130は、シャッタ制御部110および撮像素子102を制御して露光処理を実施し、画像データを取得する。画像データは、画像処理部140およびメモリ制御部105を介してメモリ107に保持される。
続いてステップS403において、レンズ通信制御部133は、流し撮りアシスト処理を実施するか否かを判定する。交換レンズ200が流し撮りアシストに対応しており、かつ、流し撮りアシストモードが有効である場合、レンズ通信制御部133は、流し撮りアシスト処理を実施すると判定し、ステップS404へ進む。一方、流し撮りアシスト処理を実施しない場合、ステップS405へ進む。
ステップS404において、レンズ通信制御部133は、交換レンズ200から流し撮りアシスト結果情報を受信する通信を実施する。ここでは、レンズ通信制御部133は、被写体の角速度情報に基づいて実行された露光中の防振制御の結果(流し撮りアシスト結果)を取得する。
ステップS405において、システム制御部130は、画像ファイルに付加されるEXIF情報を作成する。EXIF情報は、メモリ制御部105を介してメモリ107に記録される。本実施例において、EXIF情報は、レンズ情報、シャッタスピード、および、絞り値などの撮影条件(カメラモード)などと共に、ステップS404にて受信した流し撮りアシスト結果情報を含む。
続いてステップS406において、システム制御部130は、画像処理部140を制御して、画像データとEXIF情報から画像ファイルを作成する。またシステム制御部130は、メモリ制御部105を介してメモリ107に画像データを保持した後、画像データを記録部108に記録する。
以上の処理を実施することより、露光の際に施された流し撮りアシストの結果を交換レンズ200から取得できるとともに、取得した画像データに流し撮りアシスト結果を記録し、または画像表示部106に表示することが可能となる。
次に、図5を参照して、交換レンズ200による同期信号通信の受信処理について説明する。図5は、交換レンズ200の同期信号通信の受信処理のフローチャートである。図5は、ライブビュー撮影モードかつ装着されている交換レンズ200が流し撮りアシストに対応している場合の、交換レンズ200がカメラ本体100から同期信号通信を受信した際に開始される処理を示している。
まずステップS501において、レンズ制御部210は、交換レンズ200内での時間管理に使用されるフリーランタイマの現在時刻を記憶することにより、通信が実施された時刻を記憶する。この時刻は、レンズ制御部210の内部メモリ(不図示)またはメモリ212に記憶される。
続いてステップS502において、レンズ制御部210は、予め決められた同期信号通信の通信データ長だけ通信されたか否か(全データの送受信が完了したか否か)を判定する。全データの通信(送受信)が完了していない場合、全データの通信が完了するまでステップS502を繰り返す。一方、全データの通信が完了した場合、ステップS503へ進む。ステップS503において、レンズ制御部210は、ステップS501にて記憶された時刻(通信が実施された時刻)から、同期信号通信の受信データに含まれる遅延時間(同期信号遅延時間)を差し引く。これにより、カメラ本体100内の撮像同期信号タイミングと一致したレンズ内撮像同期信号の時刻を演算(設定)することができる。
以上の処理を実施することより、交換レンズ200は、カメラ本体100内の撮像同期信号タイミングと一致したレンズ内撮像同期信号時刻を知ることができる。
次に、図6を参照して、交換レンズ200によるレンズ角速度検出期間の設定値通信の受信処理について説明する。図6は、交換レンズ200によるレンズ角速度検出期間の設定値通信の受信処理のフローチャートである。図6は、ライブビュー撮影モードかつ装着されている交換レンズ200が流し撮りアシストに対応している場合の、交換レンズ200がカメラ本体100からのレンズ角速度検出期間の設定値通信を受信したときに開始される処理を示している。
まずステップS601において、レンズ制御部210は、予め決められたレンズ角速度検出期間の設定値通信の通信データ長だけ通信されたか否か(全データの送受信が完了したか否か)を判定する。全データの通信(送受信)が完了していない場合、全データの通信が完了するまでステップS601を繰り返す。一方、全データの通信が完了した場合、ステップS602へ進む。
ステップS602において、レンズ制御部210は、レンズ角速度検出期間の設定値通信の受信データに含まれるレンズ角速度検出期間および、前述のステップS503にて算出されたレンズ内撮像同期信号の時刻に基づいて、レンズ角速度検出期間を設定する。レンズ制御部210は、角速度検出部208からレンズ角速度検出期間におけるレンズ角速度を取得する。そしてレンズ制御部210は、レンズ角速度検出期間の設定値通信に含まれる検出期間ID情報と、角速度情報取得時刻とを、角速度情報に付加して、内部メモリまたはメモリ212に記憶する。好ましくは、レンズ制御部210は、メモリ212に流し撮りアシストが有効であることを記憶する。
以上の処理を実施することより、交換レンズ200は、カメラ本体100内の動きベクトル検出期間と一致したレンズ角速度検出期間を設定することができる。
次に、図7を参照して、交換レンズ200による被写体角速度通信の受信処理について説明する。図7は、交換レンズ200による被写体角速度通信の受信処理のフローチャートである。図7は、ライブビュー撮影モードかつ装着されている交換レンズ200が流し撮りアシストに対応している場合の、交換レンズ200がカメラ本体100から被写体角速度通信を受信したときに開始される処理を示している。
まずステップS701において、レンズ制御部210は、ステップS602にて記憶された角速度情報および検出期間ID情報をカメラ本体100に送信するため、角速度情報および検出期間ID情報を送信バッファに準備(保持)する。続いてステップS702において、レンズ制御部210は、予め決められた被写体角速度通信の通信データ長だけ通信されたか否か(全データの送受信が完了したか否か)を判定する。全データの送受信(通信)が完了していない場合、全データの通信が完了するまでステップS702を繰り返す。一方、全データの通信が完了した場合、ステップS703へ進む。ステップS703において、レンズ制御部210は、露光開始タイミングに備えて被写体角速度情報を内部メモリまたはメモリ212に格納する。
以上の処理を実施することより、交換レンズ200は、カメラ本体100の動きベクトル検出期間と一致したレンズ角速度検出期間を設定することができる。
次に、図8を参照して、交換レンズ200による露光開始タイミング通信の受信処理について説明する。図8は、交換レンズ200による露光開始タイミング通信の受信処理のフローチャートである。図8は、本実施例において、ライブビュー撮影モードかつ装着されている交換レンズ200が流し撮りアシストに対応している場合の、交換レンズ200がカメラ本体100から露光開始タイミング通信を受信したときに実施される処理を示している。
まずステップS801において、レンズ制御部210は、流し撮りアシスト処理を実施すべき露光であるか否かを判定する。例えば、ステップS602にて書き込むメモリ212の領域を参照して判定を行う。流し撮りアシスト処理を実施する場合、ステップS802へ進む。一方、流し撮りアシスト処理を実施しない場合、ステップS804へ進む。
ステップS802において、レンズ制御部210(予測手段)は、ステップS703にて記憶された被写体角速度情報と、現在時刻とから、現在時刻での被写体角速度を予測する(静止画撮影前に被写体の予測角速度を算出する)。現在時刻をT、現在時刻Tでの被写体角速度をV、被写体角速度情報に含まれる被写体角速度および被写体角加速度、および、角速度情報取得時刻をそれぞれv、a、tとするとき、レンズ制御部210は、以下の式(1)で表されるように予測演算を行う。
ただし、予測演算は式(1)に限定されるものではなく、他の式や手法を用いてもよい。
続いてステップS803において、レンズ制御部210は、現時刻での被写体角速度を用いて防振制御部209を制御し、流し撮りアシスト処理を実行する。例えば、レンズ制御部210は、角速度検出部208から防振量g(パンニング量)を取得し、以下の式(2)を用いて流し撮りアシスト防振量Gを算出する。
ただし、流し撮りアシスト防振量Gの演算方法はこれに限定されるものではない。露光の際に流し撮りアシスト防振量を打ち消すように防振制御レンズ204を制御することにより、移動している被写体を静止することが可能となる。
ステップS804において、レンズ制御部210は、角速度検出部208からの防振量のみを用いて防振処理を行うことにより、通常の手振れ補正が実施される。
以上の処理を実施することより、交換レンズ200は、露光の際に施された流し撮りアシスト結果をカメラ本体100へ送信できるとともに、カメラ本体100は、取得した画像データに流し撮りアシスト結果を記録することができる。
次に、図9を参照して、交換レンズ200による流し撮りアシスト結果通信の受信処理について説明する。図9は、交換レンズ200による流し撮りアシスト結果通信の受信処理のフローチャートである。図9は、ライブビュー撮影モードかつ装着されている交換レンズ200が流し撮りアシストに対応している場合の、交換レンズ200がカメラ本体100から流し撮りアシスト結果通信を受信したときに開始される処理を示している。
まずステップS901において、レンズ制御部210は、ステップS802にて予測演算した被写体角速度などを、流し撮りアシスト結果としてカメラ本体100に送信するため、流し撮りアシスト結果を送信バッファに準備(保持)する。続いてステップS902において、レンズ制御部210は、予め決められた流し撮りアシスト結果通信の通信データ長だけ通信されたか否か(全データの送受信が完了したか否か)を判定する。全データの通信(送受信)が完了していない場合、前データの通信が完了するまでステップS902を繰り返す。一方、全データの通信が完了した場合、本フローの受信処理を終了する。
以上の処理を実施することより、交換レンズ200は、レンズ角速度検出時刻を取得した時刻から露光開始までの経過時間を加味した被写体角速度を得られ、より高精度の流し撮りアシストを施すことができる。
次に、図10を参照して、カメラシステム10(カメラ本体100および交換レンズ200)による流し撮りアシスト処理について説明する。図10は、カメラシステム10による流し撮りアシスト処理のタイミングチャートである。図10は、ライブビュー撮影モードかつ装着されている交換レンズ200が流し撮りアシストに対応している場合の、流し撮りアシストモード中のカメラシステム10の処理タイミングを示している。
撮像同期信号1001は、タイミング発生部104が出力する同期信号である。撮像蓄積1002は、撮像素子102の蓄積期間であり、撮像同期信号1001を受けて画面上部から順に読み出しを開始する。同期信号通信1003は、図2のステップS208にて実施される同期信号通信のタイミングである。レンズ角速度検出期間の設定値通信1004は、図2のステップS209にて実施されるレンズ角速度検出期間の設定値通信のタイミングである。
被写体角速度通信1005は、図3のステップS308にて実施される被写体角速度通信のタイミングである。レンズ角速度検出期間1006は、図6のステップS602にて設定されるレンズ角速度検出期間である。レンズ角速度検出期間が完了すると、その期間に相当するレンズ角速度を演算し、レンズ角速度検出期間の設定値通信に含まれている検出期間ID情報と、角速度情報取得時刻とを、角速度情報に付加して記憶する。角速度出力1007は、角速度検出部208からの出力である。レンズ制御部210は、レンズ角速度検出期間1006の間、角速度出力1007をサンプリングする。
例えば、撮像同期信号1010を受けて同期信号通信1011が実施され、レンズ制御部210は、撮像同期信号1010と一致する(対応する)レンズ内撮像同期信号時刻を演算する。その後、レンズ角速度検出期間の設定値通信1012が実施される。その結果、一つ前の撮像同期信号の露光設定処理で動きベクトル検出期間1013(第1の期間)と一致するように演算されたレンズ角速度検出期間の設定値(角速度の検出期間)が、交換レンズ200へ送信される。また、この設定値に関連付けられた状態で、動きベクトル検出期間1013に割り当てられた検出期間ID1020(第1のID情報)が、交換レンズ200へ送信される。これによりレンズ制御部210は、レンズ角速度検出期間1014(角速度の検出期間)を設定することができる。レンズ角速度検出期間1014が完了して得られた角速度情報は、レンズ角速度検出期間の設定値通信1012により得られた検出期間IDとともに、被写体角速度通信1015によりカメラ本体100に通知される。流し撮りアシスト制御部134は、そのときの角速度情報と、動きベクトル検出期間1013(第1の期間)で得られる動きベクトル情報と、検出期間IDとに基づいて、被写体角速度情報を演算する。
以上の処理を繰り返すことにより、交換レンズ200に正確な被写体角速度情報を送信し続けることが可能となる。
このように本実施例において、撮像装置(制御装置)は、動きベクトル検出手段(動きベクトル検出部141)、演算手段(流し撮りアシスト制御部134)、および、通信手段(レンズ通信制御部133)を有する。動きベクトル検出手段は、第1の期間(動きベクトル検出期間1013)において動きベクトルを検出する。演算手段は、第1の期間に基づいて角速度検出手段(角速度検出部208)による角速度の検出期間を設定する(角速度の検出期間は、第1の期間と同一または第1の期間に対応する所定の期間である)。通信手段は、角速度の検出期間と第1の期間に対応する第1のID情報とを互いに関連付けて送信する。また通信手段は、角速度の検出期間に検出された角速度と角速度に対応する第2のID情報とを互いに関連付けて受信する。演算手段は、第1のID情報と第2のID情報とが互いに一致する(対応する)場合、第1のID情報に対応する第1の期間に検出された動きベクトルと第2のID情報に対応する角速度とに基づいて、被写体の角速度情報を算出する(S306、S307)。好ましくは、演算手段は、第1のID情報と第2のID情報とが互いに対応しない場合、第1のID情報に対応する第1の期間に検出された動きベクトルと第2のID情報に対応する角速度とを用いて被写体の角速度情報を算出しない(S306)。
第1のID情報と第2のID情報とが一致している場合、適切なタイミングでレンズ通信が実施されていることを示している。一方、第1のID情報と第2のID情報とが一致していない場合、レンズ通信帯域の枯渇やCPU負荷集中などにより、適切なタイミングでレンズ通信を実施することができない状態を示している。このため、カメラ本体100は、交換レンズ200に送信した第1のID情報と、交換レンズ200から受信した第2のID情報とを比較することにより、レンズ通信が適切に実施されたか否かを判定することができる。
また本実施例において、レンズ装置(制御装置)は、通信手段(I/F220)および角速度検出手段(角速度検出部208)を有する。通信手段は、動きベクトルの検出期間である第1の期間に基づいて設定された角速度の検出期間と、第1の期間に対応する第1のID情報とを互いに関連付けて受信する。角速度検出手段は、角速度の検出期間に角速度を検出する。通信手段は、角速度と、角速度に対応する第2のID情報とを互いに関連付けて送信する。第1のID情報と第2のID情報とは互いに一致している。
本実施例は、カメラ本体から交換レンズへ、検出期間ID情報を付加したレンズ角速度検出期間の設定値を通信する。また、交換レンズからカメラ本体へ、レンズ角速度検出期間の設定値に基づいて検出された角速度情報に検出期間ID情報を付加して通信する。これにより、カメラ本体は検出期間ID情報に基づいて取得した角速度情報の検出タイミングを判定することができる。このため、正確な被写体角速度演算が可能な、流し撮りアシスト機能を搭載したレンズ交換式カメラシステムを実現することが可能である。