以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、プログラマブル回路、及び/またはプロセッサによって実装されてよい。専用回路は、デジタル及び/またはアナログハードウェア回路を含んでよい。集積回路(IC)及び/またはディスクリート回路を含んでよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD−ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図1は、本実施形態に係る撮像システム10の外観斜視図である。撮像システム10は、撮像装置100、支持機構200、及び把持部380を備える。支持機構200は、撮像装置100を、アクチュエータを用いてロール軸、ピッチ軸、ヨー軸のそれぞれを中心に回転可能に支持する。支持機構200は、ロール軸、ピッチ軸、及びヨー軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更、または維持してよい。支持機構200は、ロール軸駆動機構201、ピッチ軸駆動機構202、及びヨー軸駆動機構203を備える。支持機構200は、ヨー軸駆動機構203が固定される基部204をさらに備える。把持部380は、基部204に固定される。把持部380は、操作インタフェース301、及び表示部302を備える。撮像装置100は、ピッチ軸駆動機構202に固定される。
操作インタフェース301は、撮像装置100及び支持機構200を操作するための命令をユーザから受け付ける。操作インタフェース301は、撮像装置100による撮影及び/又は録画を指示するシャッター及び/又は録画ボタンを含んでよい。操作インタフェース301は、撮像システム10の電源をオンまたはオフ、及び撮像装置100の静止画撮影モードまたは動画撮影モードの切り替えを指示する電源及び/又はファンクションボタンを含んでよい。
表示部302は、撮像装置100により撮像される画像を表示してよい。表示部302は、撮像装置100及び支持機構200を操作するためのメニュー画面を表示してよい。表示部302は、撮像装置100及び支持機構200を操作するための命令を受け付けるタッチパネルディスプレイでよい。
ユーザは、把持部380を把持して撮像装置100により静止画または動画を撮影する。撮像装置100は、合焦制御を実行する。撮像装置100は、コントラストオートフォーカス(コントラストAF)、位相差AF、像面位相差AFなどを実行してよい。撮像装置100は、撮像装置100により撮像された少なくとも2つの画像のぼけ度合いからフォーカスレンズの合焦位置を予測することで合焦制御を実行してもよい。
図2は、撮像システム10の機能ブロックを示す図である。撮像装置100は、撮像制御部110、イメージセンサ120、メモリ130、レンズ制御部150、レンズ駆動部152、及び複数のレンズ154を備える。
イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、複数のレンズ154を介して結像された光学像の画像データを撮像制御部110に出力する。撮像制御部110は、CPUまたはMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラ、システムオンチップ(SOC)などにより構成されてよい。撮像制御部110は、回路の一例である。撮像制御部110は、把持部380からの撮像装置100の動作命令に応じて、撮像装置100を制御してよい。
メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。メモリ130は、撮像制御部110がイメージセンサ120などを制御するのに必要なプログラム等を格納する。メモリ130は、撮像装置100の筐体の内部に設けられてよい。把持部380は、撮像装置100により撮像された画像データを保存するための他のメモリを備えてよい。把持部380は、把持部380の筐体からメモリを取り外し可能なスロットを有してよい。
複数のレンズ154は、ズームレンズ、バリフォーカルレンズ、及びフォーカスレンズとして機能してよい。複数のレンズ154の少なくとも一部または全部は、光軸に沿って移動可能に配置される。レンズ制御部150は、撮像制御部110からのレンズ制御命令に従って、レンズ駆動部152を駆動して、1または複数のレンズ154を光軸方向に沿って移動させる。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令である。レンズ駆動部152は、複数のレンズ154の少なくとも一部または全部を光軸方向に移動させるボイスコイルモータ(VCM)を含んでよい。レンズ駆動部152は、DCモータ、コアレスモータ、または超音波モータなどの電動機を含んでよい。レンズ駆動部152は、電動機からの動力をカム環、ガイド軸などの機構部材を介して複数のレンズ154の少なくとも一部または全部に伝達して、複数のレンズ154の少なくとも一部または全部を光軸に沿って移動させてよい。本実施形態において、複数の154の全体を「レンズ154」と呼ぶ場合がある。
撮像装置100は、姿勢制御部210、角速度センサ212、及び加速度センサ214をさらに備える。角速度センサ212は、撮像装置100の角速度を検出する。角速度センサ212は、撮像装置100のロール軸、ピッチ軸、及びヨー軸回りのそれぞれの角速度を検出する。姿勢制御部210は、角速度センサ212から撮像装置100の角速度に関する角速度情報を取得する。角速度情報は、撮像装置100のロール軸、ピッチ軸、及びヨー軸回りのそれぞれの角速度を示してよい。姿勢制御部210は、加速度センサ214から撮像装置100の加速度に関する加速度情報を取得する。加速度情報は、撮像装置100の振動の大きさを表す振動レベルを示してよい。加速度情報は、撮像装置100のロール軸、ピッチ軸、及びヨー軸のそれぞれの方向の加速度を示してもよい。
角速度センサ212、及び加速度センサ214は、イメージセンサ120及びレンズ154などを収容する筐体内に設けられてよい。本実施形態では、撮像装置100と支持機構200とが一体的に構成される形態について説明する。しかし、支持機構200が、撮像装置100を着脱可能に固定する台座を備えてよい。この場合、角速度センサ212、及び加速度センサ214は台座など撮像装置100の筐体の外に設けられてよい。
姿勢制御部210は、角速度情報及び加速度情報に基づいて、撮像装置100の姿勢を維持または変更すべく、支持機構200を制御する。
撮像制御部110は、撮像装置100に撮像される画像内の予め定められた領域に位置付けられる被写体に焦点が合うように合焦制御を実行する。撮像制御部110は、PDAF(Phase Detection Auto Focus)を実行する。撮像制御部110は、例えば、像面位相差検出方式でオートフォーカス制御を実行する。
イメージセンサ120は、像面位相差検出用の複数の受光素子対を有してよい。撮像制御部110は、複数の受光素子対から出力される複数の一対の画像信号から位相差検出値(PD値)を取得してよい。撮像制御部110は、PD値からデフォーカス量、及びフォーカスレンズの移動方向を特定してよい。撮像制御部110は、特定されたデフォーカス量及びフォーカスレンズの移動方向に従って、フォーカスレンズを移動させて、合焦制御を実行してよい。
撮像制御部110は、動画を構成するフレームから予め定められた条件を満たす被写体を検出して、検出された被写体を含む領域の画像信号からPD値を導出する。撮像制御部110は、PD値からデフォーカス量及びフォーカスレンズの移動方向を特定して、特定されたデフォーカス量及びフォーカスレンズの移動方向に基づいて、フォーカスレンズを移動させることで、合焦制御を実行する。
撮像制御部110は、撮像システム10の使用者が指定した領域の画像信号からPD値を取得してよい。撮像制御部110は、検出された被写体を含む領域のPD値からデフォーカス量及びフォーカスレンズの移動方向を特定して、特定されたデフォーカス量及びフォーカスレンズの移動方向に基づいて、フォーカスレンズを移動させることで、合焦制御を実行してよい。
本実施形態において、撮像制御部110は、レンズ154の異なる瞳を通過した光束を受光する受光素子対を用いて像の位相差を検出する。なお、レンズ154の異なる瞳を通過した光束を受光する受光素子対のことを単に「受光素子対」と呼ぶ場合がある。
撮像制御部110は、レンズ154が第1の向きを向いている状態で受光素子対によって検出された第1の位相差情報を取得する。本実施形態では、撮像装置100におけるレンズ154の向きは固定されているので、レンズ154の向きを「撮像装置100の向き」と言い換えることができる。撮像制御部110は、第1の向きを向いている状態で検出したときの受光素子対に対応する第2の向きにレンズ154を変化させ、レンズ154が第2の向きを向いている状態で受光素子対によって検出された第2の位相差情報を取得する。具体的には、撮像制御部110は、レンズ154の焦点の位置が瞳分割方向における複数の受光素子対の間隔のN+x倍だけ変化するように、レンズ154の向きを瞳分割方向に第1の向きから第2の向きに変化させ、レンズ154が第2の向きを向いている状態で受光素子対によって検出された第2の位相差情報を取得する。Nは0以上の整数である。xは0.1以上、0.9以下である。例えば、イメージセンサ120が備える撮像用の受光素子の間隔をd1とし、受光素子対の間隔をd2とすると、Nは、0から256の整数にd1を乗じた値をd2で除算したときの商である。Nの上限が256に基づいて定められるのは、一般的にイメージセンサで注目領域とされる領域(ROI: Region Of Interest)の画素数が256であるからである。撮像制御部110は、第1の位相差情報及び第2の位相差情報に基づいて位相差を検出する。
第1の位相差情報は、レンズ154が第1の向きを向いている状態で受光素子対によって検出された像の第1の位相差を示す。第2の位相差情報は、レンズ154が第2の向きを向いている状態で受光素子対によって検出された像の第2の位相差を示す。撮像制御部110は、第1の位相差及び第2の位相差を平均化することによって、位相差を検出する。このように、位相差情報は、複数の受光素子対から得られる1対の画像信号に基づいて算出されるPD値であってよい。なお、位相差情報は、複数の受光素子対から得られる1対の画素信号そのものであってよい。
レンズ154の焦点距離をf、対となる受光素子対の間隔をd、第1の向きと第2の向きとがなす角度をθとすると、撮像制御部110は、f・tanθ=d×(N+x)を満たすように、レンズ154向きを第1の向きから第2の向きに変化させる。受光素子対は、撮像装置が備えるイメージセンサの撮像面に設けられる。
撮像制御部110は、撮像装置の向きを変化させることで、レンズ154を第1の向きから第2の向きに変化させる。撮像制御部110は、支持機構200を用いてレンズ154を第1の向きから第2の向きに変化させる。撮像制御部110は、検出した位相差に基づいてレンズ154が備えるフォーカスレンズの位置を制御する。
撮像制御部110は、受光素子対を露光する第1の期間における撮像装置100の平均的な位置と、受光素子対を露光する第2の期間における撮像装置100の平均的な位置との差が異なるように、レンズ154の向きを変えながら第1の期間及び第2の期間にそれぞれ受光素子対を露光する。具体的には、撮像制御部110は、受光素子対を露光する第1の期間におけるレンズ154の焦点の平均的な位置と、受光素子対を露光する第2の期間におけるレンズ154の焦点の平均的な位置との差が瞳分割方向に受光素子対の間隔のN+x倍になるように、レンズ154の向きを変えながら第1の期間及び第2の期間にそれぞれ受光素子対を露光する。撮像制御部110は、第1の期間に受光素子対によって検出された第1の位相差情報と、第2の期間に受光素子対によって検出された第2の位相差情報とに基づいて位相差を検出する。
図3は、イメージセンサ120が備える複数の受光素子の配列の一部を概念的に示す。イメージセンサ120はマトリクス状に配置された複数の受光素子を備える。イメージセンサ120の撮像面は、図3に示す受光素子の配列パターンの繰り返しによって形成される。
イメージセンサ120が備える受光素子のうち、一部の受光素子310及び受光素子310が焦点検出用の受光素子として用いられ、他の受光素子300が撮像用の受光素子として用いられる。撮像用の受光素子300は、それぞれ予め定められた色成分の画素信号を生成する。受光素子300は、例えば、ベイヤ配列の画素信号を生成する。本実施形態において、受光素子300を「画素」と呼ぶ場合がある。
本実施形態では、瞳分割方向が水平画素方向である例を示す。本実施形態では、瞳分割方向が左右方向であるとして説明する。受光素子310は、左側に設けられた開口を通過した光束を受光する。受光素子320は、右側に設けられた開口を通過した光束を受光する。受光素子310及び受光素子320は、複数のレンズ154の射出瞳のうち互いに異なる瞳を通過した光を受光する位相差検出用の受光素子対を形成する。本実施形態では、焦点検出用の1つの受光素子対を形成する受光素子310及び受光素子320は、垂直画素方向に異なる位置に設けられる。具体的には、受光素子310と受光素子320との間隔は6画素である。
焦点検出用の受光素子対は、瞳分割方向に予め定められた間隔で配置されている。本実施形態では、受光素子310及び受光素子320はそれぞれ、水平方向に8画素毎に設けられている。
なお、焦点検出の精度を高めるためには受光素子310及び受光素子320を近くに配置することが望ましいが、画質向上のためには、受光素子310及び受光素子320を離して配置することが望ましい。図3に示されるように、垂直方向において焦点検出用の受光素子は、受光素子310、受光素子320、受光素子320、及び受光素子310の順で配置される。これにより、焦点検出用の受光素子全体としてみた場合に、受光素子310及び受光素子320の繰り返しパターンが現れないようにしている。
図4は、デフォーカス量とPD値の関係性の一例を模式的に示す。PD値は、受光素子310から出力される画像信号と受光素子320から出力される画像信号から算出される位相差を示す。
図4の7本の線410、線420、線430、線440、線450、線460及び線470はそれぞれ、フォーカスレンズを全範囲で動かしたときに得られるPD値のデフォーカス量依存性を示す。図4の7本の線は、被写体の7個の状態に対応する。図4に示されるように、デフォーカス量とPD値の関係性は、被写体の状態によって変わることが分かる。特に、デフォーカス量が小さい範囲、すなわち、合焦状態に近い場合に、被写体の状態によるPD値のばらつきが大きくなる。
理想的には、デフォーカスの全領域において、被写体の状態によらずデフォーカス量とPD値とは線型関係があることが望まれる。しかし、図4に示されるように、被写体の状態によっては、デフォーカス量とPD値とが線型関係から大きく外れる場合がある。そのため、被写体の状態によっては、被写体に速やかに合焦させることができない場合がある。
図5から図14は、デフォーカス量とPD値とが線形関係から外れる原因を説明するための図である。図5から図9は、斜めの傾斜部分を持つ被写体の像がイメージセンサ120上に投影された状態を模式的に示す。なお、図5から図9は、被写体に対してレンズ154が合焦している状態を示す。
図5、図6、図7、図8及び図9は順に、焦点検出用の受光素子対の位置に対して、被写体の像の位置を瞳分割方向に2画素ずつずらしていった場合の状態を示す。焦点検出用の受光素子対の間隔(本実施形態では8画素)を1ピッチとすると、受光素子の「2画素」は1/4ピッチに対応する。よって、図5の状態と図9の状態とは、被写体の位置が1ピッチ分異なる位置にある状態を示す。
図10から図14は、図5から図9の各状態における複数の受光素子310の出力波形Lと複数の受光素子320の出力波形Rとを示す。図10、図11、図12、図13及び図14は、それぞれ図5、図6、図7、図8及び図9の状態における複数の受光素子310の出力波形Lと複数の受光素子320の出力波形Rとを示す。なお、受光素子310の出力波形Lは、水平方向に同じ位置にある2つの受光素子310の出力値の平均値を規格化することにより得られた波形である。また、受光素子320の出力波形Rは、水平方向に同じ位置にある2つの受光素子320の出力値の平均値を規格化することにより得られた波形である。図10、図11、図12、図13及び図14の横軸は、図5、図6、図7、図8及び図9の状態における複数の受光素子310と複数の受光素子320を紙面左側から番号付けしたものに対応する。紙面の一番左側の列方向に存在する複数の受光素子310と複数の受光素子320が1に対応する。
まず、図12に示されるように、被写体が図7に示される状態にある場合、受光素子310の出力波形Lは受光素子320の出力波形Rと一致している。したがって、位相差は0である。
図10は、図5の状態における受光素子310及び受光素子320の出力波形を示す。すなわち、図10は、被写体が図7の状態に比べて左に0.5ピッチずれた状態で得られた出力波形を示す。図10に示されるように、受光素子310の出力波形Lと受光素子320の出力波形Rは、受光素子対の2番目と受光素子対の3番目の間の位置において縦軸を基準として線対称な波形を示している。したがって、図5のように、図7の状態に比べて被写体が左に0.5ピッチずれている場合、出力波形Lと出力波形Rを平均すると、位相差は0と算出される。
図11は、図6の状態における受光素子310及び受光素子320の出力波形を示す。すなわち、図11は、被写体が図7の状態に比べて左に0.25ピッチずれた状態で得られた出力波形を示す。図11に示されるように、受光素子310の出力波形Lと受光素子320の出力波形Rは、受光素子対の2番目と受光素子対の3番目の間の位置において縦軸を基準として非対称である。したがって、図6のように、図7の状態に比べて被写体が左に0.25ピッチずれている場合、出力波形Lと出力波形Rを平均しても、位相差は0にはならい。出力波形Lを基準とすると出力波形Rはマイナスになる。
図13は、図8の状態における受光素子310及び受光素子320の出力波形を示す。すなわち、図13は、被写体が図7の状態に比べて右に0.25ピッチずれた状態で得られた出力波形を示す。図13に示されるように、受光素子310の出力波形Lと受光素子320の出力波形Rは、受光素子対の2番目と受光素子対の3番目の間の位置において縦軸を基準として非対称である。したがって、図8のように、図7の状態に比べて被写体が右に0.25ピッチずれている場合、出力波形Lと出力波形Rを平均しても、位相差は0にはならい。出力波形Lを基準とすると出力波形Rはプラスになる。
図14は、図9の状態における受光素子310及び受光素子320の出力波形を示す。すなわち、図14は、被写体が図7の状態に比べて右に0.5ピッチずれた状態で得られた出力波形を示す。図14に示されるように、受光素子310の出力波形Lと受光素子320の出力波形R受光素子対の3番目と受光素子対の4番目の間の位置において縦軸を基準として線対称な波形を示している。したがって、図14のように、図7の状態に比べて被写体が左に0.5ピッチずれている場合、出力波形Lと出力波形Rを平均すると、位相差は0と算出される。
図5から図14にかけて、被写体を−0.5ピッチから+0.5ピッチの範囲内で0.25ピッチずつずらした場合について説明した。被写体をさらに大きくずらしていくと、0.25ピッチ毎に例えば図6、図7、図8、図9の状態が繰り返し現れることになる。
以上に説明したように、焦点検出用の受光素子対と被写体との間の位置関係によって、焦点検出用の受光素子対の出力波形に位相差が生じる場合が生じ得る。合焦状態から大きく外れている場合は、被写体像がぼけることによって複数の受光素子対で同じ被写体像を検出することになるため、位相差の検出誤差は比較的に小さくなる。一方、被写体に合焦している場合に、相差の検出誤差が大きくなり得る。これにより、図4に示したように、被写体の位置関係等によって、特に合焦状態の近くにおいてPD値にばらつきが生じ得る。
図15は、被写体のずれ量とPD値の誤差との関係を示すものである。横軸は被写体のずれ量を示し、縦軸はPD値の誤差を示す。図15からわかるように、被写体の位置ずれが0の場合、PD値の誤差は0となる。被写体ずれが±0.25ピッチの場合にPD値の誤差の大きさが最大となり、符号が反転する。そして被写体ずれが±0.5ピッチの場合に、PD値の誤差はゼロとなる。
図15に示されるように、被写体の位置にかかわらず相対的にN+xピッチ分ずれた状態の被写体から得られる2つのPD値を平均することにより、PD値の誤差を減らすことができる。一例として、符号1500の位置で得られたPD値を、符号1510に示すようにN+xピッチ分マイナス方向にずれた位置で得られたPD値と平均することによって、PD値の誤差が小さくなる。同様に、符号1520の位置で得られたPD値を、符号1530に示すようにN+xピッチ分プラスの位置で得られた位置のPD値と平均することにより、PD値の誤差が小さくなる。
そこで、撮像制御部110は、位相差を取得する場合に、支持機構200を用いて撮像装置100の向きをN+xピッチ分異なる状態にしてPD値を取得する。撮像制御部110は、撮像装置100が異なる向きを向いている状態で得られた2つのPD値を平均化することによって、位相差を算出する。
図16は、レンズ154の角度とイメージセンサ120上におけるレンズ154の焦点の変化量との関係を示す。図16では、撮像装置100が備えるレンズ154の全体を「レンズ154」として示している。レンズ154の焦点距離をf、撮像装置100の向きを変化させる角度をΔθ、レンズ154の焦点の位置の変化量をDとすると、式1が成立する。
f×tanΔθ=D (式1)
したがって、焦点検出用の受光素子対のピッチをdとした場合、式2を満たす角度Δθだけ撮像装置100を変化させてPD値を取得して平均化することで、PD値の誤差を低減することができる。
f×tanΔθ=d×(N+x) (式2)
一例として、イメージセンサ120の受光素子の間隔を2μmとすると、d=16[μm]である。Nを0、xを0.5、焦点距離を5mmとすると、式2より、5×tanΔθ=16×0.5[μm]を満たすΔθは、0.091673°となる。この角度は微小であるため、撮像中に撮像装置100の向きをこの角度だけ変えても、見た目の画像変動はほとんど生じない。つまり、撮像装置100をわずかに振ることで位相差の検出誤差を低減し得る。これにより、撮像システム10のユーザに気づかれない程度に撮像装置100の向きを変えることで、焦点状態を正確に検出することができる。
図17は、被写体のずれ量とPD値の誤差の関係を、被写体のずらし量毎に示す図である。図15と同様に、図17の横軸は被写体のずれ量であり、縦軸はPD値の誤差を示す。線1600は、撮像装置100の向きを変えて被写体をずらさずに得られるPD値の誤差を示す。すなわち線1600は、図15と同様に、焦点検出用の受光素子対のピッチに起因して生じるPD値の誤差を表す。
線1610、線1620、線1630、線1640及び線1650は、それぞれ撮像装置100の向きを変えて被写体をずらすことによって得られるPD値の誤差を示す。具体的には、線1610、線1620、線1630、線1640及び線1650は、それぞれ0.1ピッチ、0.2ピッチ、0.3ピッチ、0.4ピッチ、及び0.5ピッチだけ被写体をずらすことによって得られるPD値の誤差を示す。一般に、ずれ量をpとして線1600をE(p)で表すとすると、被写体をnピッチだけずらすことによって得られるPD値の誤差は、{E(p−n/2)+E(p+n/2)}/2となる。
図17に示されるように、被写体を0.5ピッチずらした状態で得られるPD値を平均化すれば、理想的にはPD値の誤差はゼロになる。被写体をずらすピッチが0.4、0.3、0.2、0.1と小さくなるにつれてPD値の誤差は大きくなるが、被写体をずらしてPD値を平均化しない場合に比べて、PD値の誤差は減ることがわかる。このことから、撮像装置100を角度Δθだけ変化させればPD値の誤差は減ることがわかる。
図18は、撮像制御部110が実行する合焦制御フローを示す。S1702において、撮像制御部110は、イメージセンサ120から出力される信号から、第1のPD値を取得する(S1702)。
撮像制御部110は、レンズ154の現在の焦点距離に基づいて、撮像装置100の向きを変化させる角度Δθを算出する。具体的には、撮像制御部110は、式2によって角度Δθを算出する(S1704)。
撮像制御部110は、支持機構200を制御して、S1704において算出した角度Δθだけ、撮像装置100の向きを瞳分割方向に変化させる(S1706)。例えば、撮像制御部110は、ヨー軸駆動機構203により、ヨー軸まわりの角度をΔθだけ変化させる。
撮像制御部110は、イメージセンサ120から出力される信号から、第2のPD値を取得する(S1708)。
撮像制御部110は、第1のPD値と第2のPD値を平均化することにより、焦点調節用のPD値を算出する(S1710)。上述したように、第1のPD値と第2のPD値を平均することにより、画素ピッチに起因する誤差を低減したPD値を得ることができる。
撮像制御部110は、S1712で算出したPD値に基づいてデフォーカス量を算出すする(S1712)。そして、撮像制御部110は、S1714で算出したデフォーカス量に基づいてフォーカスレンズを駆動する(S1714)。フォーカスレンズの駆動が完了したことにより、合焦制御フローを終了する。
以上の合焦制御フローによって自動焦点(AF)動作を行うことにより、特に合焦状態の近傍において生じ得る位相差検出誤差を抑制することができる。
なお、撮像制御部110は、撮像装置100の向きを瞳分割方向に時間的に振動させながら第1のPD値及び第2のPD値を取得してよい。例えば、撮像制御部110は、撮像装置100の向きを瞳分割方向にΔθの振幅で振動させてよい。この場合、撮像制御部110は、撮像装置100が第1の向きを向いている状態における受光素子310及び受光素子320の画像信号から得られる第1のPD値と、撮像装置100が第1の向きから瞳分割方向に角度Δθだけ異なる第2の向きを向いている状態における受光素子310及び受光素子320の画像信号から得られる第2のPD値とに基づいて、焦点調節用のPD値を算出してもよい。
なお、2つのPD値を平均化することに代えて、受光素子310及び受光素子320のそれぞれの画像信号を合成した画像から、焦点調整を行うためのPD値を算出してもよい。例えば、撮像制御部110は、S1702においてイメージセンサ120から出力される受光素子310の画像信号とS1708においてイメージセンサ120から出力される受光素子310の画像信号とを合成した第1の画像と、S1702においてイメージセンサ120から出力される受光素子320の画像信号とS1708においてイメージセンサ120から出力される受光素子320の画像信号とを合成した第2の合成画像とから、焦点調節用のPD値を算出してもよい。
図19は、撮像装置100の向きを変えながら撮像する場合の制御例を示す。撮像制御部110は、撮像装置100の角度θを時間的に変化させる。図19は、撮像装置100の角度θを時間に関して正弦波状に変化させる場合の例である。
撮像制御部110は、露光期間T1にイメージセンサ120を露光することによって受光素子310から得られた画像信号と受光素子320から得られた画像信号とに基づいて、第1のPD値を算出する。また、撮像制御部110は、露光期間T2にイメージセンサ120を露光することによって受光素子310から得られた画像信号と受光素子320から得られた画像信号とに基づいて、第2のPD値を算出する。撮像制御部110は、第1のPD値と第2のPD値とに基づいて、焦点調節用のPD値を算出する。撮像制御部110は、露光期間T1及び露光期間T2を、露光期間T1における撮像装置100の向きの時間的な平均値θ1と、露光期間T2における撮像装置100の向きの時間的な平均値θ2との差が角度Δθとなるように選択する。
露光期間T3は、露光期間T1と同位相の期間であり、露光期間T4は露光期間T2と同位相の期間である。撮像制御部110は、露光期間T3にイメージセンサ120を露光することによって受光素子310から得られた画像信号と受光素子320から得られた画像信号とに基づいて、第1のPD値を算出する。撮像制御部110は、露光期間T4にイメージセンサ120を露光することによって受光素子310から得られた画像信号と受光素子320から得られた画像信号とに基づいて、第2のPD値を算出する。撮像制御部110は、第1のPD値と第2のPD値とを平均化することにより、焦点調節用のPD値を算出する。
なお、撮像制御部110は、撮像装置100の角度を時間に関して矩形波状に変化させてよい。この場合も、撮像制御部110は、第1のPD値を取得するための第1の露光期間及び第2のPD値を取得するための第2の露光期間を、第1の露光期間における撮像装置100の向きの時間的な平均値と、第2の露光期間における撮像装置100の向きの時間的な平均値との差が角度Δθとなるように選択すればよい。図19で示すように、1周期だけ角度Δθを変化させ、この角度Δθを変化させている間を露光期間T1として設定してもよい。この場合には、結果的に第1のPD値と第2のPD値の平均値を取得したことになる。よって精度の高い合焦が可能となる。
以上に説明したとおり、撮像制御部110は、撮像装置100の向きを変えて撮像することによって取得された位相差情報に基づいて、焦点調節用の位相差を算出する。これにより、特に合焦状態に近い場合に生じ得る位相差の検出誤差を低減することができる。なお、撮像制御部110は、撮像装置100の向きを変えて焦点調節用の位相差を算出する処理を、イメージセンサ120の受光素子300から得られた画像のぼけ量が予め定められた値未満の場合に実行し、受光素子300の画像のぼけ量が予め定められた値以上の場合には実行しなくてよい。撮像制御部110は、例えば1フレーム毎に出力波形L、出力波形Rを取得し、表示部302には出力波形Lで得られたフレーム又は出力波形Rで得られたフレームだけを表示してもよい。このようにすることで、角度Δθの変化が大きな場合にも画角の変化を抑えることができる。ほかにも、出力波形Lで得られたフレーム出力波形Rで得られたフレームに共通する部分を抽出することで、画角の変化を抑えることができる。
上記のような撮像装置100は、移動体に搭載されてもよい。撮像装置100は、図20に示すような、無人航空機(UAV)に搭載されてもよい。UAV1100は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備えてよい。ジンバル50、及び撮像装置100は、撮像システムの一例である。UAV1100は、推進部により推進される移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機などの飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV1100を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV1100を飛行させる。回転翼の数は、4つには限定されない。また、UAV1100は、回転翼を有さない固定翼機でもよい。
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
複数の撮像装置60は、UAV1100の飛行を制御するためにUAV1100の周囲を撮像するセンシング用のカメラである。2つの撮像装置60が、UAV1100の機首である正面に設けられてよい。更に他の2つの撮像装置60が、UAV1100の底面に設けられてよい。正面側の2つの撮像装置60はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像装置60もペアとなり、ステレオカメラとして機能してよい。複数の撮像装置60により撮像された画像に基づいて、UAV1100の周囲の3次元空間データが生成されてよい。UAV1100が備える撮像装置60の数は4つには限定されない。UAV1100は、少なくとも1つの撮像装置60を備えていればよい。UAV1100は、UAV1100の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像装置60を備えてもよい。撮像装置60で設定できる画角は、撮像装置100で設定できる画角より広くてよい。撮像装置60は、単焦点レンズまたは魚眼レンズを有してもよい。
遠隔操作装置1300は、UAV1100と通信して、UAV1100を遠隔操作する。遠隔操作装置1300は、UAV1100と無線で通信してよい。遠隔操作装置1300は、UAV1100に上昇、下降、加速、減速、前進、後進、回転などのUAV1100の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV1100の高度を上昇させる指示情報を含む。指示情報は、UAV1100が位置すべき高度を示してよい。UAV1100は、遠隔操作装置1300から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV1100を上昇させる上昇命令を含んでよい。UAV1100は、上昇命令を受け付けている間、上昇する。UAV1100は、上昇命令を受け付けても、UAV1100の高度が上限高度に達している場合には、上昇を制限してよい。
図21は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。例えば、コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、撮像制御部110として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」の機能を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR−ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。