本発明の一態様に係る制御装置は、発光素子が発した光に対する対象物からの戻り光を受光するように構成される受光素子を有する測距センサの制御装置であってよい。制御装置は、受光素子が受光した戻り光の検出信号に基づいて取得した対象物までの第1の距離情報と、対象物の画像から取得した第2の距離情報とに基づいて、外乱情報を取得するように構成される回路を備えてよい。
回路は、第1の距離情報と第2の距離情報とが整合しない場合に、外乱の発生を検出するように構成されてよい。
回路は、第1の距離情報と第2の距離情報との差が予め定められた値を超える場合に、外乱の発生を検出するように構成されてよい。
回路は、第1の距離情報と第2の距離情報とが整合しない場合に、測距センサの測定タイミングを変更するように構成されてよい。
回路は、周期的な複数の測定期間のそれぞれにおいて、発光素子を周期的に発光させて受光素子に戻り光を受光させ、第1の距離情報と第2の距離情報とが整合しない場合に、複数の測定期間の開始タイミングの位相を変更するように構成されてよい。
回路は、周期的な複数の測定期間のそれぞれにおいて、発光素子を周期的に発光させるとともに受光素子に戻り光を受光させ、第1の距離情報と第2の距離情報とが整合しない場合に、複数の測定期間の長さを変更するように構成されてよい。
回路は、周期的な複数の測定期間のそれぞれにおいて、発光素子を周期的に発光させるとともに受光素子に戻り光を受光させ、第1の距離情報と第2の距離情報とが整合しない場合に、複数の測定期間の位相及び長さを変更するように構成されてよい。
回路はさらに、画像の時間的な変化量が予め定められた値より小さく、第1の距離情報の時間的な変化量が予め定められた値以上の場合に、外乱の発生を検出するように構成されてよい。
回路はさらに、画像の時間的な変化量が予め定められた値以上であり、第1の距離情報の時間的な変化量が予め定められた値より小さい場合に、外乱の発生を検出するように構成されてよい。
回路は、撮像装置が備える光学系のフォーカスレンズを第1の距離情報から予測される合焦位置に移動させ、フォーカスレンズの移動中に撮像装置により撮像された複数の画像に基づいて、第2の距離情報を取得するように構成されてよい。
回路は、複数の画像と、フォーカスレンズの位置に基づいて定まる光学系のぼけ特性情報とに基づいて、第2の距離情報を取得するように構成されてよい。
回路は、撮像装置が備える光学系の焦点位置を異ならせて撮像することにより得られた複数の画像と光学系のぼけ特性情報とに基づいて、第2の距離情報を取得するように構成されてよい。
測距センサは、TOF(Time Of Flight)センサであってよい。
本発明の一態様に係る測距センサは、上記の制御装置を備えてよい。
本発明の一態様に係る撮像装置は、上記の制御装置と、測距センサとを備えてよい。
本発明の一態様に係る制御方法は、発光素子が発した光に対する対象物からの戻り光を受光するように構成される受光素子を有する測距センサの制御装置の制御方法であってよい。制御方法は、受光素子が受光した戻り光の検出信号に基づいて取得した対象物までの第1の距離情報と、対象物の画像から取得した第2の距離情報とに基づいて、外乱情報を取得する段階を備えてよい。
本発明の一態様に係るプログラムは、コンピュータを、発光素子が発した光に対する対象物からの戻り光を受光するように構成される受光素子を有する測距センサの制御装置として機能させるためのプログラムであってよい。プログラムは、コンピュータに、受光素子が受光した戻り光の検出信号に基づいて取得した対象物までの第1の距離情報と、対象物の画像から取得した第2の距離情報とに基づいて、外乱情報を取得させてよい。プログラムは、非一時的記録媒体に記録されてよい。
本発明の一態様によれば、外乱情報を取得することができる。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(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は、本実施形態に係る撮像装置100の機能ブロックの一例を示す。撮像装置100は、撮像部102、TOFセンサ160、及びレンズ部200を備える。撮像部102は、イメージセンサ120、撮像制御部110、メモリ170、表示部180、及び操作部182を有する。
イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、複数のレンズ154を介して結像された光学像の画像データを撮像制御部110に出力する。撮像制御部110は、CPUまたはMPU等のマイクロプロセッサ、MCU等のマイクロコントローラ等により構成されてよい。
撮像制御部110は、操作部182からの撮像装置100の動作命令に応じて、撮像制御部110は、イメージセンサ120から出力された画像信号にデモザイク処理を施すことで画像データを生成する。撮像制御部110は、画像データをメモリ170に格納する。撮像制御部110は、TOFセンサ160を制御する。撮像制御部110は、回路の一例である。TOFセンサ160は、対象物までの距離を測距する飛行時間型センサである。撮像装置100は、TOFセンサ160により測距された距離に基づいて、フォーカスレンズの位置を調整することで、合焦制御を実行する。
メモリ170は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリ等のフラッシュメモリの少なくとも1つを含んでよい。メモリ170は、撮像制御部110がイメージセンサ120等を制御するのに必要なプログラム等を格納する。メモリ170は、撮像装置100の筐体の内部に設けられてよい。
複数のレンズ154は、ズームレンズ、バリフォーカルレンズ、及びフォーカスレンズとして機能してよい。複数のレンズ154の少なくとも一部または全部は、光軸に沿って移動可能に配置される。レンズ制御部150は、撮像制御部110からのレンズ制御命令に従って、レンズ駆動部152を駆動して、1または複数のレンズ154を光軸方向に沿って移動させる。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令である。レンズ駆動部152は、複数のレンズ154の少なくとも一部または全部を光軸方向に移動させるボイスコイルモータ(VCM)を含んでよい。レンズ駆動部152は、DCモータ、コアレスモータ、または超音波モータ等の電動機を含んでよい。レンズ駆動部152は、電動機からの動力をカム環、ガイド軸等の機構部材を介して複数のレンズ154の少なくとも一部または全部に伝達して、複数のレンズ154の少なくとも一部または全部を光軸に沿って移動させてよい。本実施形態では、複数のレンズ154は、撮像装置100と一体型の例について説明する。しかし、複数のレンズ154は、交換レンズでよく、撮像装置100とは別体で構成されてもよい。
表示部180は、イメージセンサ120から出力された画像を表示してよい。表示部180は、撮像装置100の各種の設定情報を表示してよい。表示部180は、液晶ディスプレイ、タッチパネルディスプレイなどでよい。表示部180は、複数の液晶ディスプレイ、またはタッチパネルディスプレイを含んでよい。
TOFセンサ160は、発光部162、受光部164、発光制御部166、受光制御部167、及びメモリ168を備える。TOFセンサ160は、測距センサの一例である。撮像装置100は、TOFセンサ160に加えて、視差に基づいて測距するステレオカメラなどの他の測距センサを備えてもよい。発光部162は、少なくとも1つの発光素子163を含む。発光素子163は、LEDまたはレーザ等の高速変調されたパルス光を繰り返し出射するデバイスである。発光素子163は、赤外光であるパルス光を出射してよい。発光制御部166は、発光素子163の発光を制御する。発光制御部166は、発光素子163から出射されるパルス光のパルス幅を制御してよい。
受光部164は、受光部164の画素数に対応する複数の測距領域のそれぞれに関連する被写体までの距離を測距する複数の受光素子165を含む。複数の受光素子165は、複数の測距領域のそれぞれに対応する。受光素子165は、予め定められた測定期間において、対象物からのパルス光の戻り光としての反射光を、繰り返し受光する。受光制御部167は、受光素子165の受光を制御する。受光制御部167は、予め定められた測定期間に受光素子165が繰り返し受光する反射光の量に基づいて、複数の測距領域のそれぞれに関連する被写体までの距離を測距する。受光制御部167は、予め定められた測定期間に受光素子165が繰り返し受光する反射光の量に基づいて、パルス光と反射光との間の位相差を特定することで、被写体までの距離を測距してよい。なお、受光制御部167は、反射波の周波数変化を読み取ることで、被写体までの距離を測距してもよい。この方式はFMCW(Frequency Modulated Continuous Wave)方式と呼ばれる。すなわち、測距センサとしては、TOFセンサ160以外に、出射した光に対する対象物からの戻り光に基づいて対象物までの距離を測定する任意の方式のセンサを適用できる。
メモリ168は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、及びEEPROMの少なくとも1つを含んでよい。メモリ168は、発光制御部166が発光部162を制御するために必要なプログラム、及び受光制御部167が受光部164を制御するのに必要なプログラム等を格納する。
撮像制御部110は、TOFセンサ160の制御装置として機能する。ここで、撮像制御部110によるTOFセンサ160の制御内容を説明する。
上述したように、受光素子165は、発光素子163が発した光に対する対象物からの戻り光を受光するように構成される。撮像制御部110は、受光素子165が受光した戻り光の検出信号に基づいて取得した対象物までの第1の距離情報と、対象物の画像から取得した第2の距離情報とに基づいて、外乱情報を取得する。
外乱とは、所定の信号を妨害する信号をいう。外乱とは、例えば受光部164が受光すべき光以外の光をいう。外乱とは、例えば受光部164で検出すべき以外の信号をいう。外乱とは、検出すべき信号以外の信号をいう。外乱とは、予定していない影響を及ぼす信号又は光をいう。外乱とは、ノイズともいう。外乱とは、例えば受光部164がTOFセンサ160外から受ける光学的な作用のことをいう。外乱情報とは、意図していなかった情報をいう。外乱情報とは、例えば、発光素子163が発した光に対する対象物からの戻り光を受光素子165がTOFセンサ160の制御通りに受光しない状態となる情報をいう。外乱情報を取得することで、例えば別のTOFセンサから光が発せられていることが間接的に検出できる。
例えば、撮像制御部110は、第1の距離情報と第2の距離情報とが整合しない場合に、外乱の発生を検出する。撮像制御部110は、第1の距離情報と第2の距離情報との差が予め定められた値を超える場合に、外乱の発生を検出してよい。撮像制御部110は、第1の距離情報と第2の距離情報とが整合しない場合に、TOFセンサ160の測定タイミングを変更してよい。
撮像制御部110は、周期的な複数の測定期間のそれぞれにおいて、発光素子163を周期的に発光させて受光素子165に戻り光を受光させる。撮像制御部110は、第1の距離情報と第2の距離情報とが整合しない場合に、複数の測定期間の開始タイミングの位相を変更してよい。撮像制御部110は、周期的な複数の測定期間のそれぞれにおいて、発光素子163を周期的に発光させて受光素子165に戻り光を受光させ、第1の距離情報と第2の距離情報とが整合しない場合に、複数の測定期間の開始タイミングの位相を変更してよい。撮像制御部110は、周期的な複数の測定期間のそれぞれにおいて、発光素子163を周期的に発光させるとともに受光素子165に戻り光を受光させ、第1の距離情報と第2の距離情報とが整合しない場合に、複数の測定期間の長さを変更してよい。撮像制御部110は、第1の距離情報と第2の距離情報とが整合しない場合に、複数の測定期間の位相及び長さを変更してもよい。
撮像制御部110は、画像の時間的な変化量が予め定められた値より小さく、第1の距離情報の時間的な変化量が予め定められた値以上である場合に、外乱の発生を検出してよい。撮像制御部110は、画像の時間的な変化量が予め定められた値以上であり、第1の距離情報の時間的な変化量が予め定められた値より小さい場合に、外乱の発生を検出してよい。
撮像制御部110は、第1の距離情報に基づいて撮像装置が備える光学系のフォーカスレンズを第1の距離情報から予測される合焦位置に移動させ、フォーカスレンズの移動中に撮像装置により撮像された複数の画像に基づいて、第2の距離情報を取得してよい。
撮像制御部110は、撮像装置が備える光学系の焦点位置を異ならせて撮像することにより得られた複数の画像と光学系のぼけ特性情報とに基づいて、第2の距離情報を取得してよい。撮像制御部110は、撮像装置が備える光学系のフォーカスレンズを第1の距離情報から予測される合焦位置に移動させ、フォーカスレンズの移動中に撮像装置により撮像された複数の画像と、フォーカスレンズの位置に基づいて定まる光学系のぼけ特性情報とに基づいて、第2の距離情報を取得してよい。具体的には、撮像制御部110は、複数の画像を用いてDFD(Depth From Defocus)演算を行うことによって第2の距離情報を算出する。なお、撮像制御部110は、複数の画像のそれぞれから抽出したコントラスト量に基づいて、コントラスト量がピークとなるフォーカスレンズの位置を推定できる場合には、当該フォーカスレンズの位置に基づいて第2の距離情報を算出してもよい。
図2は、発光素子163及び受光部164の動作シーケンスを模式的に示す。撮像制御部110は、測定期間201、測定期間202、及び測定期間203を含む複数の測定期間のそれぞれにおいて、受光部164に光を受光させる。測定期間201、測定期間202、及び測定期間203を含む複数の測定期間は、予め定められた時間長さTの期間である。複数の測定期間は、周期Tの長さを持つ周期的な期間である。このように、撮像制御部110は、対象物までの距離を取得するための受光部164の受光動作を、予め定められた周期Tで受光部164に繰り返し実行させる。
撮像制御部110は、測定期間201、測定期間202、及び測定期間203のそれぞれにおいて、発光素子163を発光させて、受光部164に対象物からの反射光を受光させる。例えば、撮像制御部110は、測定期間201、測定期間202、及び測定期間203のそれぞれの開始タイミングで、発光素子163にパルス光を発光させる。撮像制御部110は、測定期間201内の予め定められたタイミングで受光素子165の受光量を複数回の読み出しを行い、複数回の読み出しによって取得した受光素子165の受光量に基づいて遅延時間Δtを算出して、遅延時間Δtに基づいて対象物までの距離を算出する。遅延時間Δtは、受光素子165が発光してから受光素子165が対象物からの戻り光を受光するまでの時間である。同様に、撮像制御部110は、測定期間202内における受光素子165の受光量に基づいて対象物までの距離を算出し、測定期間203内における受光素子165の受光量に基づいて対象物までの距離を算出する。
図3は、外乱がある場合の動作シーケンスを模式的に示す。外乱の一例として、他の撮像装置のTOFセンサが発光する光を取り上げて説明する。他の撮像装置のTOFセンサが測定期間202内で発光して、その光の反射光等が受光部164に入射したとする。この場合、受光部164には、測定期間202内において、発光部162からの光の反射光に加えて、他の撮像装置のTOFセンサからの光の反射光等による受光量が重畳して検出される。そのため、測定期間204内の受光部164の受光量から距離情報を算出すると、比較的に大きな誤差を含む距離情報が取得され得る。
図4は、外乱の有無を判定するための判定条件の一例を示す。判定条件は、フォーカス状態に関する条件と、イメージセンサ120により撮像された複数の画像に基づいて算出される第2の距離情報に関する条件と、TOFセンサ160により取得された第1の距離情報に関する条件とを含む。
フォーカス状態に関する条件は、「変化中」及び「一定」を含む。「変化中」は、例えば、レンズ154のうちのフォーカスレンズが移動中の状態を示す。「一定」は、例えば、レンズ154のうちのフォーカスレンズが移動していない状態を示す。
フォーカス状態が変化中の場合、撮像制御部110は、DFD演算によって被写体距離Dcを算出する。図4の「被写体距離Dc算出不可」は、DFD演算に基よって予め定められた閾値より高い信頼度で被写体距離Dcを算出できなかった場合を表す。この場合、撮像制御部110は、TOFセンサ160から取得された距離情報がどのような値(図4の「any」)であっても、TOFセンサ160が外乱を受けていないと判断する(TOFセンサ160が外乱を受けているとは判断しない)。
次に、DFDに基づいて被写体距離Dcを予め定められた閾値より高い信頼度で被写体距離Dcを算出できた場合を説明する。まず、DFD演算によって算出される被写体距離Dcが特定の範囲内の場合、撮像制御部110は、TOFセンサ160から取得された距離情報DTが被写体距離Dcの範囲内にある場合に、TOFセンサ160が外乱を受けていないと判断する。一方、撮像制御部110は、TOFセンサ160から取得された距離情報DTが被写体距離Dcの範囲内にない場合に、TOFセンサ160が外乱を受けていると判断する。例えば、図4に示されるように、d1より大きくd2未満のDcが算出された場合、d1<DT<d2の場合は外乱を受けていないと判断し、DT≦d1又はd2≦DTの場合は外乱を受けていると判断する。一例として、1mから10mの範囲のDcが検出された場合に、DT=5mのときは、外乱を受けていないと判断する。
また、DFD演算によって予め定められた閾値より高い信頼度で被写体距離Dcを算出できた場合であって、DFDを用いて算出される被写体距離Dcが特定の値の場合、撮像制御部110は、TOFセンサ160から取得された距離情報DTと被写体距離Dcとの差が予め定められた値Δ未満の場合に、外乱を受けていないと判断する。一方、撮像制御部110は、TOFセンサ160から取得された距離情報DTと被写体距離Dcとの差が予め定められた値Δ以上の場合に、TOFセンサ160が外乱を受けていると判断する。例えば、図4に示されるように、Dc=d3の場合、d3-Δ<DT<d3+Δの場合は外乱を受けていないと判断し、DT≦d3-Δ又はd3+Δ≦DTの場合は外乱を受けていると判断する。一例として、Dc=20mの場合に、DT=1mのときは、外乱を受けていると判断する。
次にフォーカス状態が一定の場合を説明する。フォーカス状態が一定の場合、DFD演算によって被写体距離Dcを算出することができない。この場合、撮像制御部110は、複数の画像における時間的な変化量を、画像に基づく第2の距離情報として取得する。画像の時間的な変化量は、例えば、複数の画像の間の画像の差分値であってよい。画像の時間的な変化量は、例えば、複数の画像から抽出されたオブジェクトの大きさの変化量であってよい。
図4において、「画像変化量小」は、単位時間あたりの画像の変化量が予め定められた値より小さいことを示す。「画像変化量大」は、単位時間あたりの画像の変化量が予め定められた値以上であることを示す。「DTの変化量小」は、単位時間あたりの距離情報DTの変化量が予め定められた値より小さいことを示す。「DTの変化量大」は、単位時間あたりの距離情報DTの変化量が予め定められた値以上であることを示す。
図4に示されるように、画像の時間的な変化量が予め定められた値未満であり、かつ、距離情報DTの時間的な変化量が予め定められた値以上である場合、撮像制御部110は、TOFセンサ160が外乱を受けていると判断する。また、画像の時間的な変化量が予め定められた値以上であり、かつ、距離情報DTの時間的な変化量が予め定められた値未満である場合、撮像制御部110は、TOFセンサ160が外乱を受けていると判断する。また、画像の時間的な変化量が予め定められた値未満であり、かつ、距離情報DTの時間的な変化量が予め定められた値未満である場合、撮像制御部110は、TOFセンサ160が外乱を受けていないと判断する。また、画像の時間的な変化量が予め定められた値以上であり、かつ、距離情報DTの時間的な変化量が予め定められた値以上である場合、撮像制御部110は、TOFセンサ160が外乱を受けていないと判断する。
図5は、TOFセンサ160の制御方法に関する処理手順の一例を示すフローチャートである。S500において、撮像制御部110はオートフォーカス処理を実行する。撮像制御部110は、少なくともTOFセンサ160から取得した距離情報DTを用いて、オートフォーカス処理を行う。オートフォーカス処理において、撮像制御部110は、レンズ154のうちのフォーカスレンズを、測距領域の距離情報DTから予測される対する合焦位置に向けて移動させる(S502)。具体的には、撮像制御部110は、撮像装置100からDTだけ離れた距離にある被写体からの光をイメージセンサ120に合焦させるためのフォーカスレンズの移動量を算出して、算出した移動量だけフォーカスレンズを移動させる。
S504において、フォーカスレンズの位置を移動中にイメージセンサ120から取得された複数の画像に基づいて、DFD演算により距離情報Dcを算出する。S506において、撮像制御部110は、DTとDcとが整合するか否かを判断する。例えば、撮像制御部110は、図4に関連して説明したように、フォーカス状態が変化中における判定条件に基づいて、DTとDcとが整合するか否かを判断する。DTとDcとが整合しない場合、S560に処理を移行して、撮像制御部110はTOFセンサ160が外乱を受けていると判断する。DTとDcとが整合する場合、フォーカスレンズが合焦位置に到達したか否かを判断する。例えば、撮像制御部110は、S502で算出した移動量だけフォーカスレンズを移動させたか否かを判断する。フォーカスレンズが合焦位置に到達していない場合、S502に処理を移行する。フォーカスレンズが合焦位置に到達している場合、S510に処理を移行する。
S510において、撮像制御部110は、フォーカスレンズの移動を停止して、フォーカスレンズの位置を固定させる。これにより、フォーカス状態は一定となる。
S520において、撮像制御部110は、イメージセンサ120により取得された複数の画像に基づいて、画像の時間的な変化量が大きいか否かを判断する。例えば、撮像制御部110は、複数の画像の間の画像の差分値が予め定められた値以上であるか否かを判断してよい。また、撮像制御部110は、複数の画像の間でオブジェクトの大きさの変化量が予め定められた値以上であるか否かを判断してよい。撮像制御部110は、画像の時間的な変化量が小さいと判断した場合、S530に処理を移行する。画像の時間的な変化量が大きいと判断した場合、S550に処理を移行する。
S530において、撮像制御部110は、DTの時間的な変化量が大きいか否かを判断する。例えば、撮像制御部110は、単位時間あたりのDTの変化量が予め定められた値以上であるか否かを判断してよい。撮像制御部110は、S530においてDTの時間的な変化量が小さいと判断した場合、TOFセンサ160が外乱を受けていないと判断する(S540)。一方、撮像制御部110は、S530においてDTの時間的な変化量が大きいと判断した場合、TOFセンサ160が外乱を受けていると判断し(S560)、本フローチャートの処理を終了する。
S550において、撮像制御部110は、S530と同様にDTの時間的な変化量が大きいか否かを判断する。撮像制御部110は、S550においてDTの時間的な変化量が小さいと判断した場合、S560において、TOFセンサ160が外乱を受けていると判断する。一方、撮像制御部110は、S530においてDTの時間的な変化量が大きいと判断した場合、S540において、TOFセンサ160が外乱を受けていないと判断する。
S560においてTOFセンサ160が外乱を受けていると判断した場合、S570において、撮像制御部110はTOFセンサ160が測距動作を行うタイミングを変更して、S600に処理を移行する。TOFセンサ160の測距動作のタイミングを変更する手法の具体例については、図6及び図7に関連して説明する。
図4及び図5等に関連して説明したように、撮像制御部110の制御によれば、フォーカスレンズが移動中の場合には、フォーカスレンズを移動しながら撮像された複数の画像を用いてDFD演算によって算出された距離情報と、TOFセンサ160で取得された距離情報との整合性に基づいて、外乱情報を取得することができる。また、フォーカスレンズが移動中でない場合は、複数のタイミングで撮像された画像の変化量とTOFセンサ160で取得された距離情報との整合性に基づいて、外乱情報を取得することができる。また、撮像制御部110の制御によれば、画像から取得された距離情報とTOFセンサ160で取得された距離情報が整合しない場合には、TOFセンサ160の周期的な測距動作のタイミングを変更するので、外乱の影響を低減し得る。
図6は、測距動作のタイミングを変更する場合の動作シーケンスの一例を示す。この例において、撮像制御部110は、TOFセンサ160が測距動作を行う測定期間の位相を変更する。例えば、測定期間203の測定期間で検出されたDcを用いて外乱が検出された場合、次の測定期間204の開始時刻を測定期間203の終了タイミングから予め定められた時間δT(例えば、5ms)だけ遅延させる。そして、測定期間204、測定期間205及び測定期間206を含む測定期間において、周期T毎に測距動作を行わせる。このように測定期間の位相を変えることによって、測定期間の位相を固定している場合に比べて、外乱の影響を低減できる可能性を高めることができる場合がある。
図7は、測距動作のタイミングを変更する場合の動作シーケンスの他の例を示す。この例において、撮像制御部110は、TOFセンサ160が測距動作を行う測定期間の周期を変更する。例えば、撮像制御部110は、測定期間203の測定期間で検出されたDcを用いて外乱が検出された場合、測定期間の長さを2Tにして、以後の測定期間304及び測定期間305の周期を長くする。例えば、撮像制御部110は、測定期間304及び測定期間305の周期を2Tにする。このように測定期間の周期を変えることによって、測定期間の周期を固定している場合に比べて、外乱の影響を低減できる可能性を高めることができる場合がある。
撮像制御部110は、外乱が検出された場合に、TOFセンサ160が測距動作を行う測定期間の位相及び周期を変更してもよい。これにより、測定期間の周期及び位相の一方を固定している場合に比べて、外乱の影響を低減できる可能性を高めることができる場合がある。
なお、外乱が検出された場合に、TOFセンサ160が測距動作を行う測定期間の位相や周期を変更しなくてもよい。例えば、撮像制御部110は、外乱が検出された場合に、外乱が検出されたタイミングを含む予め定められた期間内の測定期間で取得されたTOFセンサ160の距離情報を破棄してよい。撮像制御部110は、複数の測定期間においてTOFセンサ160で取得された距離情報のうち、外乱が検出されたタイミングを含む予め定められた期間内の測定期間で取得されたTOFセンサ160の距離情報を破棄して、合焦制御等の処理を行ってよい。
以上に説明したTOFセンサ160の制御によれば、外乱情報を適切に取得することができる。また、TOFセンサ160により取得される距離情報の信頼性を高めることができる。
上記のような撮像装置100は、移動体に搭載されてもよい。撮像装置100は、図8に示すような、無人航空機(UAV)に搭載されてもよい。UAV1000は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備えてよい。ジンバル50、及び撮像装置100は、撮像システムの一例である。UAV1000は、推進部により推進される移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機などの飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV1000を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV1000を飛行させる。回転翼の数は、4つには限定されない。また、UAV1000は、回転翼を有さない固定翼機でもよい。
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
複数の撮像装置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は、単焦点レンズまたは魚眼レンズを有してもよい。
遠隔操作装置600は、UAV1000と通信して、UAV1000を遠隔操作する。遠隔操作装置600は、UAV1000と無線で通信してよい。遠隔操作装置600は、UAV1000に上昇、下降、加速、減速、前進、後進、回転等のUAV1000の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV1000の高度を上昇させる指示情報を含む。指示情報は、UAV1000が位置すべき高度を示してよい。UAV1000は、遠隔操作装置600から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV1000を上昇させる上昇命令を含んでよい。UAV1000は、上昇命令を受け付けている間、上昇する。UAV1000は、上昇命令を受け付けても、UAV1000の高度が上限高度に達している場合には、上昇を制限してよい。
図9は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。または、当該プログラムは、コンピュータ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に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。