(58)【調査した分野】(Int.Cl.,DB名)
前記回路は、前記複数の距離の中から、前記撮像装置のレンズ光軸を通る被写体までの距離を特定できない場合、前記撮像装置により撮像される画像のコントラスト評価値に基づいて前記撮像装置の合焦制御を実行するように構成される、請求項2に記載の制御装置。
【発明を実施するための形態】
【0016】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0017】
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【0018】
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、プログラマブル回路、及び/またはプロセッサによって実装されてよい。専用回路は、デジタル及び/またはアナログハードウェア回路を含んでよい。集積回路(IC)及び/またはディスクリート回路を含んでよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等の様なメモリ要素等を含んでよい。
【0019】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0020】
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0021】
図1は、本実施形態に係る撮像システム10の外観斜視図の一例である。撮像システム10は、撮像装置100、支持機構200、及び把持部300を備える。支持機構200は、撮像装置100を、アクチュエータを用いてロール軸、ピッチ軸、ヨー軸のそれぞれを中心に回転可能に支持する。支持機構200は、ロール軸、ピッチ軸、及びヨー軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更、または維持してよい。支持機構200は、ロール軸駆動機構201、ピッチ軸駆動機構202、及びヨー軸駆動機構203を備える。支持機構200は、ヨー軸駆動機構203が固定される基部204をさらに備える。把持部300は、基部204に固定される。把持部300は、操作インタフェース301、及び表示部302を備える。撮像装置100は、ピッチ軸駆動機構202に固定される。
【0022】
操作インタフェース301は、撮像装置100及び支持機構200を操作するための命令をユーザから受け付ける。操作インタフェース301は、撮像装置100による撮影または録画を指示するシャッター/録画ボタンを含んでよい。操作インタフェース301は、撮像システム10の電源をオンまたはオフ、及び撮像装置100の静止画撮影モードまたは動画撮影モードの切り替えを指示する電源/ファンクションボタンを含んでよい。
【0023】
表示部302は、撮像装置100により撮像される画像を表示してよい。表示部302は、撮像装置100及び支持機構200を操作するためのメニュー画面を表示してよい。表示部302は、撮像装置100及び支持機構200を操作するための命令を受け付けるタッチパネルディスプレイでよい。
【0024】
ユーザは、把持部300を把持して撮像装置100により静止画または動画を撮影する。
【0025】
図2は、撮像システム10の機能ブロックを示す図である。撮像装置100は、撮像制御部110、イメージセンサ120、メモリ130、レンズ制御部150、レンズ駆動部152、複数のレンズ154、及びTOFセンサ160を備える。
【0026】
イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、撮像用の第2イメージセンサの一例である。イメージセンサ120は、複数のレンズ154を介して結像された光学像の画像データを撮像制御部110に出力する。撮像制御部110は、CPUまたはMPU等のマイクロプロセッサ、MCU等のマイクロコントローラ等により構成されてよい。
【0027】
撮像制御部110は、把持部300からの撮像装置100の動作命令に応じて、撮像制御部110は、イメージセンサ120から出力された画像信号にデモザイク処理を施すことで画像データを生成する。撮像制御部110は、画像データをメモリ130に格納する。撮像制御部110は、TOFセンサ160を制御する。撮像制御部110は、回路の一例である。TOFセンサ160は、対象物までの距離を測距する飛行時間型センサである。撮像装置100は、TOFセンサ160により測距された距離に基づいて、フォーカスレンズの位置を調整することで、合焦制御を実行する。
【0028】
メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリ等のフラッシュメモリの少なくとも1つを含んでよい。メモリ130は、撮像制御部110がイメージセンサ120等を制御するのに必要なプログラム等を格納する。メモリ130は、撮像装置100の筐体の内部に設けられてよい。把持部300は、撮像装置100により撮像された画像データを保存するための他のメモリを備えてよい。把持部300は、把持部300の筐体からメモリを取り外し可能なスロットを有してよい。
【0029】
複数のレンズ154は、ズームレンズ、バリフォーカルレンズ、及びフォーカスレンズとして機能してよい。複数のレンズ154の少なくとも一部または全部は、光軸に沿って移動可能に配置される。レンズ制御部150は、撮像制御部110からのレンズ制御命令に従って、レンズ駆動部152を駆動して、1または複数のレンズ154を光軸方向に沿って移動させる。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令である。レンズ駆動部152は、複数のレンズ154の少なくとも一部または全部を光軸方向に移動させるボイスコイルモータ(VCM)を含んでよい。レンズ駆動部152は、DCモータ、コアレスモータ、または超音波モータ等の電動機を含んでよい。レンズ駆動部152は、電動機からの動力をカム環、ガイド軸等の機構部材を介して複数のレンズ154の少なくとも一部または全部に伝達して、複数のレンズ154の少なくとも一部または全部を光軸に沿って移動させてよい。
【0030】
撮像装置100は、姿勢制御部210、角速度センサ212、及び加速度センサ214をさらに備える。角速度センサ212は、撮像装置100の角速度を検出する。角速度センサ212は、撮像装置100のロール軸、ピッチ軸、及びヨー軸回りのそれぞれの角速度を検出する。姿勢制御部210は、角速度センサ212から撮像装置100の角速度に関する角速度情報を取得する。角速度情報は、撮像装置100のロール軸、ピッチ軸、及びヨー軸回りのそれぞれの角速度を示してよい。姿勢制御部210は、加速度センサ214から撮像装置100の加速度に関する加速度情報を取得する。加速度情報は、撮像装置100のロール軸、ピッチ軸、及びヨー軸のそれぞれの方向の加速度を示してもよい。
【0031】
角速度センサ212、及び加速度センサ214は、イメージセンサ120及びレンズ154等を収容する筐体内に設けられてよい。本実施形態では、撮像装置100と支持機構200とが一体的に構成される形態について説明する。しかし、支持機構200が、撮像装置100を着脱可能に固定する台座を備えてよい。この場合、角速度センサ212、及び加速度センサ214は台座等、撮像装置100の筐体の外に設けられてよい。
【0032】
姿勢制御部210は、角速度情報及び加速度情報に基づいて、撮像装置100の姿勢を維持または変更すべく、支持機構200を制御する。姿勢制御部210は、撮像装置100の姿勢を制御するための支持機構200の動作モードに従って、撮像装置100の姿勢を維持または変更すべく、支持機構200を制御する。
【0033】
動作モードは、支持機構200の基部204の姿勢の変化に撮像装置100の姿勢の変化を追従させるように支持機構200のロール軸駆動機構201、ピッチ軸駆動機構202、及びヨー軸駆動機構203の少なくとも1つを動作させるモードを含む。動作モードは、支持機構200の基部204の姿勢の変化に撮像装置100の姿勢の変化を追従させるように支持機構200のロール軸駆動機構201、ピッチ軸駆動機構202、及びヨー軸駆動機構203のそれぞれを動作させるモードを含む。動作モードは、支持機構200の基部204の姿勢の変化に撮像装置100の姿勢の変化を追従させるように支持機構200のピッチ軸駆動機構202、及びヨー軸駆動機構203のそれぞれを動作させるモードを含む。動作モードは、支持機構200の基部204の姿勢の変化に撮像装置100の姿勢の変化を追従させるようにヨー軸駆動機構203のみを動作させるモードを含む。
【0034】
動作モードは、支持機構200の基部204の姿勢の変化に撮像装置100の姿勢の変化を追従させるように支持機構200を動作させるFPV(First Person View)モードと、撮像装置100の姿勢を維持するように支持機構200を動作させる固定モードとを含んでよい。
【0035】
FPVモードは、支持機構200の基部204の姿勢の変化に撮像装置100の姿勢の変化を追従させるように、ロール軸駆動機構201、ピッチ軸駆動機構202、及びヨー軸駆動機構203の少なくとも1つを動作させるモードである。固定モードは、撮像装置100の現在の姿勢を維持するように、ロール軸駆動機構201、ピッチ軸駆動機構202、及びヨー軸駆動機構203の少なくとも1つを動作させるモードである。
【0036】
TOFセンサ160は、発光部162、受光部164、発光制御部166、受光制御部167、及びメモリ168を備える。TOFセンサ160は、測距センサの一例である。
【0037】
発光部162は、少なくとも1つの発光素子163を含む。発光素子163は、LEDまたはレーザ等の高速変調されたパルス光を繰り返し出射するデバイスである。発光素子163は、赤外光であるパルス光を出射してよい。発光制御部166は、発光素子163の発光を制御する。発光制御部166は、発光素子163から出射されるパルス光のパルス幅を制御してよい。
【0038】
受光部164は、複数の領域のそれぞれに関連する被写体までの距離を測距する複数の受光素子165を含む。受光部164は、測距用の第1イメージセンサの一例である。複数の受光素子165は、複数の領域のそれぞれに対応する。受光素子165は、対象物からのパルス光の反射光を繰り返し受光する。受光制御部167は、受光素子165の受光を制御する。受光制御部167は、予め定められた受光期間に受光素子165が繰り返し受光する反射光の量に基づいて、複数の領域のそれぞれに関連する被写体までの距離を測距する。受光制御部167は、予め定められた受光期間に受光素子165が繰り返し受光する反射光の量に基づいて、パルス光と反射光との間の位相差を特定することで、被写体までの距離を測距してよい。
【0039】
メモリ168は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、及びEEPROMの少なくとも1つを含んでよい。メモリ168は、発光制御部166が発光部162を制御するために必要なプログラム、及び受光制御部167が受光部164を制御するのに必要なプログラム等を格納する。
【0040】
このように構成された撮像システム10において、撮像装置100のレンズ光軸とTOFセンサ160のレンズ光軸とは物理的にずれている。例えば、
図3に示すように、撮像装置100のレンズ光軸101と、TOFセンサ160のレンズ光軸161とは、平行であるが、レンズ光軸101とレンズ光軸161とは距離hだけ離れている。レンズ光軸101は、撮像装置100のイメージセンサ120の受光面に光を結像させるレンズ154を含むレンズ系の光軸である。レンズ光軸161は、TOFセンサ160の受光部164であるイメージセンサの受光面に光を結像させるレンズ系の光軸である。撮像装置100の画角は、θであり、TOFセンサ160の画角は、φである。
【0041】
このように2つの光軸がずれているので、TOFセンサ160が測距する測距範囲に存在する被写体までの距離が異なると、TOFセンサ160の複数の受光素子165のうち被写体までの距離を測距する受光素子165が異なる。
【0042】
図3では、説明を簡略化するために、TOFセンサ160の測距範囲1601を4×4の受光素子165で示している。例えば、被写体までの距離がX
1の場合、測距範囲1601内の上から3列目に対応する受光素子165が、撮像装置100のレンズ光軸101を通る被写体までの距離を測距する。一方、被写体までの距離がX
2の場合、測距範囲1601内の上から4列目に対応する受光素子165が、撮像装置100のレンズ光軸101を通る被写体までの距離を測距する。つまり、レンズ光軸101を通る被写体までの距離が異なると、その被写体の距離を測距する受光素子165は異なる。
【0043】
そこで、撮像制御部110は、TOFセンサ160によって測距された複数の距離X
n、撮像装置100のレンズ光軸101とTOFセンサ160のレンズ光軸161との距離h、及びTOFセンサ160の画角φに基づいて、複数の距離X
nの中から、撮像装置100のレンズ光軸101を通る被写体までの距離を特定する。撮像装置100は、複数の距離X
nのそれぞれ、距離h、及び画角φに基づいて、複数の距離X
nのそれぞれにおけるTOFセンサ160の測距範囲1601の、撮像装置100のレンズ光軸101からTOFセンサ160のレンズ光軸161に向かう方向の幅H
nを特定してよい。さらに、撮像制御部110は、それぞれの幅H
nと距離hとの比h/H
nに基づいて、複数の距離X
nの中から、撮像装置100のレンズ光軸101を通る被写体までの距離を特定してよい。
【0044】
ここで、H
nは、H
n=2×X
n×tan(φ/2)を満たす。例えば、TOFセンサ160が、4×4の受光素子165を有する。この場合、0<h/H
n<1/4を満たす場合、測距範囲1601内の上から3列目に対応する受光素子165が、撮像装置100のレンズ光軸101を通る被写体までの距離X
1を測距する。一方、1/4<h/H
n<1/2を満たす場合、測距範囲1601内の上から4列目に対応する受光素子165が、撮像装置100のレンズ光軸101を通る被写体までの距離X
2を測距する。
【0045】
このように、撮像制御部110は、TOFセンサ160によって測距された複数の距離X
n、距離h、及び画角φに基づいて、複数の距離X
nの中から、撮像装置100のレンズ光軸101を通る被写体までの距離を特定する。さらに、撮像制御部110は、特定された距離に基づいて、撮像装置100の合焦制御を実行する。
【0046】
ここで、被写体までの距離が短すぎると、TOFセンサ160の画角によっては、TOFセンサ160によって測距された複数の距離X
nのいずれも、撮像装置100のレンズ光軸101を通る被写体までの距離に該当しない場合がある。この場合、TOFセンサ160により被写体までの距離を測距できない。そこで、撮像制御部110は、複数の距離X
nの中から、撮像装置100のレンズ光軸101を通る被写体までの距離を特定できない場合、画像のコントラスト評価値に基づいて撮像装置100の合焦制御を実行してよい。すなわち、撮像制御部110は、複数の距離X
nの中から、撮像装置100のレンズ光軸101を通る被写体までの距離を特定できない場合、コントラスオートフォーカスを実行してよい。
【0047】
図4は、撮像制御部110の合焦制御の手順の一例を示すフローチャートである。
【0048】
撮像制御部110は、複数の領域(受光素子165)のそれぞれにおける被写体までの距離をTOFセンサ160に測距させる(S100)。撮像制御部110は、測距された複数の距離X
nのそれぞれに対応するTOFセンサ160の測距範囲の幅H
nを、H
n=2×X
n×tan(φ/2)に従って算出する(S102)。撮像制御部110は、幅H
n及びレンズ光軸101とレンズ光軸161との間の距離hに基づいて、複数の距離X
nの中から撮像装置100のレンズ光軸101を通る被写体までの距離を特定できるか判定する(S104)。
【0049】
撮像制御部110は、撮像装置100のレンズ光軸101を通る被写体までの距離を特定できた場合、撮像制御部110は、特定された距離に基づいて、その被写体に合焦させるためのフォーカスレンズの目標位置を特定する(S106)。撮像制御部110は、撮像装置100のレンズ光軸101を通る被写体までの距離を特定できなかった場合、コントラストAFを実行して、画像のコントラスト評価値に基づいて、その被写体に合焦させるためのフォーカスレンズの目標位置を特定する(S108)。
【0050】
次いで、撮像制御部110は、特定された目標位置に向けてフォーカスレンズを移動させる(S110)。
【0051】
以上の通り、本実施形態によれば、TOFセンサ160の測距対象の複数の領域のうち、撮像装置100のレンズ光軸101を通る被写体の距離を測距する領域を正確に特定できる。したがって、被写体までの距離を精度よく測距でき、TOFセンサ160による測距結果に基づく合焦制御の精度を向上させることができる。
【0052】
ところで、撮像装置100による合焦制御の方式として、被写体距離を決定するための方式として、フォーカスレンズを移動させながら、フォーカスレンズとイメージセンサ120の受光面との位置関係が異なる状態で撮像された複数の画像のぼけ量に基づいて決定する方式がある。ここで、この方式を、ぼけ検出オートフォーカス(Bokeh Detection Auto Foucus:BDAF)方式と称する。
【0053】
例えば、画像のぼけ量(Cost)は、ガウシアン関数を用いて次式(1)で表すことができる。式(1)において、xは、水平方向における画素位置を示す。σは、標準偏差値を示す。
【数1】
【0054】
図5は、式(1)に表される曲線の一例を示す。曲線500の極小点502に対応するレンズ位置にフォーカスレンズを合わせることで、画像Iに含まれるオブジェクトに焦点を合わせることができる。
【0055】
図6は、BDAF方式の距離算出手順の一例を示すフローチャートである。まず、撮像装置100で、レンズと撮像面とが第1位置関係にある状態で、1枚目の画像I
1を撮像してメモリ130に格納する。次いで、フォーカスレンズまたはイメージセンサ120の撮像面を光軸方向に移動させることで、レンズと撮像面とが第2位置関係にある状態にして、撮像制御部110は、撮像装置100で2枚目の画像I
2を撮像してメモリ130に格納する(S201)。例えば、いわゆる山登りAFのように、合焦点を超えないようにフォーカスレンズまたはイメージセンサ120の撮像面を光軸方向に移動させる。フォーカスレンズまたはイメージセンサ120の撮像面の移動量は、例えば、10μmでよい。
【0056】
次いで、撮像制御部110は、画像I
1を複数の領域に分割する(S202)。撮像制御部110は、画像I2内の画素ごとに特徴量を算出して、類似する特徴量を有する画素群を一つの領域として画像I
1を複数の領域に分割してよい。撮像制御部110は、画像I
1のうちAF処理枠に設定されている範囲の画素群を複数の領域に分割してもよい。撮像制御部110は、画像I
1の複数の領域に対応する複数の領域に画像I
2を分割する。撮像制御部110は、画像I
1の複数の領域のそれぞれのぼけ量と、画像I
2の複数の領域のそれぞれのぼけ量とに基づいて、複数の領域ごとに複数の領域のそれぞれに含まれるオブジェクトまでの距離を算出する(S203)。
【0057】
図7を参照して距離の算出手順についてさらに説明する。レンズL(主点)から被写体510(物面)までの距離をA、レンズL(主点)から被写体510が撮像面で結像する位置(像面)までの距離をB、焦点距離をFとする。この場合、距離A、距離B、及び焦点距離Fの関係は、レンズの公式から次式(2)で表すことができる。
【数2】
【0058】
焦点距離Fはレンズ位置で特定される。したがって、被写体510が撮像面で結像する距離Bが特定できれば、式(2)を用いて、レンズLから被写体510までの距離Aを特定することができる。
【0059】
図7に示すように、撮像面上に投影された被写体510のぼけの大きさ(錯乱円512及び514)から被写体510が結像する位置を算出することで、距離Bを特定し、さらに距離Aを特定することができる。つまり、ぼけの大きさ(ぼけ量)が撮像面と結像位置とに比例することを考慮して、結像位置を特定できる。
【0060】
ここで、撮像面から近い像I
1からレンズLまでの距離をD
1とする。像面から遠い像I
2からレンズLまでの距離をD
2とする。それぞれの画像はぼけている。このときの点像分布関数(Point Spread Function)をPSF、D
1及びD
2における画像をそれぞれ、I
d1及びI
d2とする。この場合、例えば、像I
1は、畳み込み演算により次式(3)で表すことができる。
【数3】
【0061】
さらに、画像データI
d1及びI
d2のフーリエ変換関数をfとして、画像I
d1及びI
d2の点像分布関数PSF
1及びPSF
2をフーリエ変換した光学伝達関数(Optical Transfer Function)をOTF
1及びOTF
2として、次式(4)のように比をとる。
【数4】
【0062】
式(4)に示す値Cは、画像I
d1及びI
d2のそれぞれのぼけ量の変化量、つまり、値Cは、画像I
d1のぼけ量と画像I
d2nのぼけ量との差に相当する。
【0063】
ここで、上記のように特定された距離であっても、TOFセンサ160により測距された被写体までの距離に誤差が生じる可能性がある。そこで、撮像制御部110は、TOFセンサ160の測距に基づく合焦制御と、BDAF方式での合焦制御とを組み合わせてもよい。
【0064】
撮像制御部110は、複数の距離X
nの中から、撮像装置100のレンズ光軸101を通る被写体までの距離を特定し、その距離に基づいて、撮像装置100のフォーカスレンズの第1目標位置を特定してよい。さらに、撮像制御部110は、フォーカスレンズを第1目標位置に基づいて移動させる間に撮像装置100により撮像される少なくとも2つの画像のぼけ量に基づいてフォーカスレンズの第2目標位置を特定してよい。すなわち、撮像制御部110は、第1目標位置に向けてフォーカスレンズを移動させている間に、BDAFを実行して、被写体に合焦させるフォーカスレンズの目標位置をさらに精度よく特定してよい。そして、撮像制御部110は、フォーカスレンズを第2目標位置まで移動させることで合焦制御を実行してよい。
【0065】
ここで、撮像制御部110が、BDAF方式の合焦制御を行う場合には、ぼけの大きさが異なる少なくとも2つの画像が必要である。しかし、フォーカスレンズの移動量が小さいと、2つの画像のぼけの大きさの違いが小さすぎ、撮像制御部110が精度よく目標位置を特定できない可能性がある。
【0066】
そこで、撮像制御部110は、複数の距離X
nの中から、撮像装置100のレンズ光軸101を通る被写体までの距離を特定し、その距離に基づいて、撮像装置100のフォーカスレンズの第1目標位置を特定する。その後、撮像制御部110は、フォーカスレンズの現在の位置からフォーカスレンズを第1目標位置まで移動させるのに必要なフォーカスレンズの移動量を特定する。撮像制御部110は、その移動量が、BDAFを実行できる予め定められた閾値以上であるか否かを判定する。
【0067】
移動量が閾値以上あれば、撮像制御部110は、フォーカスレンズを第1目標位置に向けて移動を開始させる。一方、移動量が閾値より小さい場合、撮像制御部110は、フォーカスレンズの移動量が閾値以上になるようにフォーカスレンズを第1目標位置から遠ざける方向に一旦移動させた後、フォーカスレンズを第1目標位置に向けて逆方向に移動させる。これにより、撮像制御部110は、フォーカスレンズを第1目標位置に移動させている間に、BDAFを実行して、より精度よく合焦制御を実行できる。
【0068】
撮像制御部110は、
図8Aに示すように、フォーカスレンズの移動量が閾値以上になるように、一旦、第1目標位置に向かう方向と逆方向801にフォーカスレンズを移動させた後、第1目標位置に向かう方向802にフォーカスレンズを移動させてよい。もしくは、撮像制御部110は、
図8Bに示すように、第1目標位置に向かう方向803に移動を開始して、フォーカスレンズの移動量が閾値以上になるように、第1目標位置を超えてフォーカスレンズを一旦移動させた後、改めて第1目標位置に向かうように逆方向804にフォーカスレンズを移動させてもよい。
【0069】
図9は、撮像制御部110の合焦制御の手順の他の一例を示すフローチャートである。
【0070】
撮像制御部110は、複数の領域(受光素子165)のそれぞれにおける被写体までの距離をTOFセンサ160に測距させる(S300)。撮像制御部110は、測距された複数の距離X
nのそれぞれに対応するTOFセンサ160の測距範囲の幅H
nを、H
n=2×X
n×tan(φ/2)に従って算出する(S302)。撮像制御部110は、幅H
n及びレンズ光軸101とレンズ光軸161との間の距離hに基づいて、複数の距離X
nの中から撮像装置100のレンズ光軸101を通る被写体までの距離を特定する(S304)。
【0071】
撮像制御部110は、特定された距離に基づいて、その被写体に合焦させるためのフォーカスレンズの第1目標位置を特定する(S306)。次いで、撮像制御部110は、特定された第1目標位置に向けてフォーカスレンズを移動させる(S308)。
【0072】
撮像制御部110は、フォーカスレンズを第1目標位置に向けて移動させている間に、撮像装置100により撮像された第1画像を取得する(S310)。さらに、撮像制御部110は、予め定められた距離だけフォーカスレンズを移動させた後、撮像装置100により撮像された第2画像をさらに取得する(S312)。撮像制御部110は、第1画像及び第2画像のぼけ量に基づいてBDAF方式でフォーカスレンズの第2目標位置を導出する(S314)。撮像制御部110は、第1目標位置から第2目標位置にフォーカスレンズの目標位置に修正して、フォーカスレンズを目標位置まで移動させる(S316)。
【0073】
以上の通り、本実施形態によれば、TOFセンサ160により測距された距離に誤差が含まれる場合でも、BDAFを実行することで、フォーカスレンズの目標位置を修正できるので、精度よく所望の被写体に合焦させることができる。また、TOFセンサ160により測距された距離に基づく目標位置に基づいて、撮像制御部110は、フォーカスレンズの移動を開始させる方向を正確に判断できる。すなわち、撮像制御部110が、フォーカスレンズを逆方向に無駄に移動させてしまうことで、合焦制御の時間が長くなる、または消費電力が増加することを防止できる。
【0074】
撮像システム10の他の形態を示す外界斜視図の一例である。
図10に示すように、撮像システム10は、把持部300の脇に、スマートフォン400などのディスプレイを備えるモバイル端末を固定した状態で、使用されてよい。
【0075】
上記のような撮像装置100は、移動体に搭載されてもよい。撮像装置100は、
図11に示すような、無人航空機(UAV)に搭載されてもよい。UAV1000は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備えてよい。ジンバル50、及び撮像装置100は、撮像システムの一例である。UAV1000は、推進部により推進される移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機などの飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。
【0076】
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV1000を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV1000を飛行させる。回転翼の数は、4つには限定されない。また、UAV1000は、回転翼を有さない固定翼機でもよい。
【0077】
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
【0078】
複数の撮像装置60は、UAV1000の飛行を制御するためにUAV1000の周囲を撮像するセンシング用のカメラである。2つの撮像装置60が、UAV1000の機首である正面に設けられてよい。更に他の2つの撮像装置60が、UAV1000の底面に設けられてよい。正面側の2つの撮像装置60はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像装置60もペアとなり、ステレオカメラとして機能してよい。複数の撮像装置60により撮像された画像に基づいて、UAV1000の周囲の3次元空間データが生成されてよい。UAV1000が備える撮像装置60の数は4つには限定されない。UAV1000は、少なくとも1つの撮像装置60を備えていればよい。UAV1000は、UAV1000の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像装置60を備えてもよい。撮像装置60で設定できる画角は、撮像装置100で設定できる画角より広くてよい。撮像装置60は、単焦点レンズまたは魚眼レンズを有してもよい。
【0079】
遠隔操作装置600は、UAV1000と通信して、UAV1000を遠隔操作する。遠隔操作装置600は、UAV1000と無線で通信してよい。遠隔操作装置600は、UAV1000に上昇、下降、加速、減速、前進、後進、回転等のUAV1000の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV1000の高度を上昇させる指示情報を含む。指示情報は、UAV1000が位置すべき高度を示してよい。UAV1000は、遠隔操作装置600から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV1000を上昇させる上昇命令を含んでよい。UAV1000は、上昇命令を受け付けている間、上昇する。UAV1000は、上昇命令を受け付けても、UAV1000の高度が上限高度に達している場合には、上昇を制限してよい。
【0080】
図12は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0081】
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
【0082】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR−ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
【0083】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0084】
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0085】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0086】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0087】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0088】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【解決手段】制御装置は、第1イメージセンサを用いて複数の領域のそれぞれに関連する被写体までの距離を測距する測距センサを備える撮像装置を制御する制御装置でよい。制御装置は、測距センサによって測距された複数の距離、撮像装置のレンズ光軸と測距センサのレンズ光軸との第1距離、及び測距センサの画角に基づいて、複数の距離の中から、撮像装置のレンズ光軸を通る被写体までの距離を特定するように構成される回路を備えてよい。