(58)【調査した分野】(Int.Cl.,DB名)
撮像装置の撮像面とフォーカスレンズとが第1位置関係にある状態で撮像された第1撮像画像に含まれる第1画像のぼけ量と、前記撮像面と前記フォーカスレンズとが第2位置関係にある状態で撮像された第2撮像画像に含まれる第2画像のぼけ量とを取得し、
前記第1画像のぼけ量及び前記第2画像のぼけ量に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す第1予測値を取得し、
前記撮像面とフォーカスレンズとが第3位置関係にある状態で撮像された第3撮像画像に含まれる第3画像のぼけ量を取得し、
前記第2画像のぼけ量及び前記第3画像のぼけ量に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す第2予測値を取得し、
前記第1予測値と前記第2予測値との差に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す目標値を決定する
ように構成された回路を備え、
前記第1位置関係、前記第2位置関係、及び前記第3位置関係のそれぞれは、前記撮像面に対する前記フォーカスレンズの位置を示し、
前記第1予測値は、被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの第1目標位置を示し、
前記第2予測値は、被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの第2目標位置を示し、
前記第1位置関係及び前記第2位置関係の少なくとも一方に基づいて定められる前記フォーカスレンズの位置を第1基準位置とし、前記第2位置関係及び前記第3位置関係の少なくとも一方に基づいて定められる前記フォーカスレンズの位置を第2基準位置として、前記回路は、
前記第1基準位置と前記第2基準位置との差に対する前記第1目標位置と前記第2目標位置との差の比率を算出し、
前記第2目標位置を前記比率で除することによって前記第2目標位置の補正値を算出し、
前記第2基準位置に対する前記補正値が示す位置を、前記被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの目標位置を示す前記目標値として算出するよう構成される
装置。
撮像装置の撮像面とフォーカスレンズとが第1位置関係にある状態で撮像された第1撮像画像に含まれる第1画像のぼけ量と、前記撮像面と前記フォーカスレンズとが第2位置関係にある状態で撮像された第2撮像画像に含まれる第2画像のぼけ量とを取得し、
前記第1画像のぼけ量及び前記第2画像のぼけ量に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す第1予測値を取得し、
前記撮像面とフォーカスレンズとが第3位置関係にある状態で撮像された第3撮像画像に含まれる第3画像のぼけ量と、前記撮像面と前記フォーカスレンズとが第4位置関係にある状態で撮像された第4撮像画像に含まれる第4画像のぼけ量を取得し、
前記第3画像のぼけ量及び前記第4画像のぼけ量に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す第2予測値を取得し、
前記第1予測値と前記第2予測値との差に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す目標値を決定する
ように構成された回路を備え、
前記第1位置関係、前記第2位置関係、前記第3位置関係、及び前記第4位置関係のそれぞれは、前記撮像面に対する前記フォーカスレンズの位置を示し、
前記第1予測値は、被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの第1目標位置を示し、
前記第2予測値は、被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの第2目標位置を示し、
前記第1位置関係及び前記第2位置関係の少なくとも一方に基づいて定められる前記フォーカスレンズの位置を第1基準位置とし、前記第3位置関係及び前記第4位置関係の少なくとも一方に基づいて定められる前記フォーカスレンズの位置を第2基準位置として、前記回路は、
前記第1基準位置と前記第2基準位置との差に対する前記第1目標位置と前記第2目標位置との差の比率を算出し、
前記第2目標位置を前記比率で除することによって前記第2目標位置の補正値を算出し、
前記第2基準位置に対する前記補正値が示す位置を、前記被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの目標位置を示す前記目標値として算出するよう構成される
装置。
撮像装置の撮像面とフォーカスレンズとが第1位置関係にある状態で撮像された第1撮像画像に含まれる第1画像のぼけ量と、前記撮像面と前記フォーカスレンズとが第2位置関係にある状態で撮像された第2撮像画像に含まれる第2画像のぼけ量とを取得する段階と、
前記第1画像のぼけ量及び前記第2画像のぼけ量に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す第1予測値を取得する段階と、
撮像装置の撮像面とフォーカスレンズとが第3位置関係にある状態で撮像された第3撮像画像に含まれる第3画像のぼけ量を取得する段階と、
前記第2画像のぼけ量及び前記第3画像のぼけ量に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す第2予測値を取得する段階と、
前記第1予測値と前記第2予測値との差に基づいて、被写体に合焦するときの前記撮像面と前記フォーカスレンズとの間の位置関係を示す目標値を決定する段階と
を備え、
前記第1位置関係、前記第2位置関係、及び前記第3位置関係のそれぞれは、前記撮像面に対する前記フォーカスレンズの位置を示し、
前記第1予測値は、被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの第1目標位置を示し、
前記第2予測値は、被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの第2目標位置を示し、
前記第1位置関係及び前記第2位置関係の少なくとも一方に基づいて定められる前記フォーカスレンズの位置を第1基準位置とし、前記第2位置関係及び前記第3位置関係の少なくとも一方に基づいて定められる前記フォーカスレンズの位置を第2基準位置として、前記目標値を決定する段階は、
前記第1基準位置と前記第2基準位置との差に対する前記第1目標位置と前記第2目標位置との差の比率を算出し、
前記第2目標位置を前記比率で除することによって前記第2目標位置の補正値を算出し、
前記第2基準位置に対する前記補正値が示す位置を、前記被写体に合焦するときの前記撮像面に対する前記フォーカスレンズの目標位置を示す前記目標値として算出する
方法。
【発明を実施するための形態】
【0020】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0021】
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【0022】
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、プログラマブル回路、及び/またはプロセッサによって実装されてよい。専用回路は、デジタル及び/またはアナログハードウェア回路を含んでよい。集積回路(IC)及び/またはディスクリート回路を含んでよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等の様なメモリ要素等を含んでよい。
【0023】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0024】
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0025】
図1は、本実施形態に係る撮像装置100の外観斜視図の一例を示す図である。
図2は、本実施形態に係る撮像装置100の機能ブロックを示す図である。
【0026】
撮像装置100は、撮像部102、レンズ部200を備える。撮像部102は、イメージセンサ120、撮像制御部110、メモリ130、指示部162、及び表示部160を有する。
【0027】
イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、レンズ部200が有するレンズ210を介して光を受光する。イメージセンサ120は、レンズ210を介して結像された光学像の画像データを撮像制御部110に出力する。
【0028】
撮像制御部110は、CPUまたはMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。撮像制御部110は回路に対応する。メモリ130は、撮像制御部110がイメージセンサ120などを制御するのに必要なプログラム等を格納する。メモリ130は、撮像装置100の筐体の内部に設けられてよい。メモリ130は、撮像装置100の筐体から取り外し可能に設けられてよい。
【0029】
指示部162は、撮像装置100に対する指示をユーザから受け付けるユーザインタフェースである。表示部160は、イメージセンサ120により撮像され、撮像制御部110により処理された画像、撮像装置100の各種設定情報などを表示する。表示部160は、タッチパネルで構成されてよい。
【0030】
撮像制御部110は、レンズ部200及びイメージセンサ120を制御する。例えば、撮像制御部110は、レンズ210の焦点の位置や焦点距離を制御する。撮像制御部110は、ユーザからの指示を示す情報に基づいて、レンズ部200が備えるレンズ制御部220に制御命令を出力することにより、レンズ部200を制御する。
【0031】
レンズ部200は、1以上のレンズ210、レンズ駆動部212、レンズ制御部220、及びメモリ222を有する。本実施形態において1以上のレンズ210のことを「レンズ210」と総称する。レンズ210は、フォーカスレンズ及びズームレンズを含んでよい。レンズ210が含むレンズのうちの少なくとも一部または全部は、レンズ210の光軸に沿って移動可能に配置される。レンズ部200は、撮像部102に対して着脱可能に設けられる交換レンズであってよい。
【0032】
レンズ駆動部212は、レンズ210のうちの少なくとも一部または全部を、レンズ210の光軸に沿って移動させる。レンズ制御部220は、撮像部102からのレンズ制御命令に従って、レンズ駆動部212を駆動して、レンズ210全体又はレンズ210が含むズームレンズやフォーカスレンズを光軸方向に沿って移動させることで、ズーム動作やフォーカス動作の少なくとも一方を実行する。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令等である。
【0033】
レンズ駆動部212は、複数のレンズ210の少なくとも一部または全部を光軸方向に移動させるボイスコイルモータ(VCM)を含んでよい。レンズ駆動部212は、DCモータ、コアレスモータ、または超音波モータ等の電動機を含んでよい。レンズ駆動部212は、電動機からの動力をカム環、ガイド軸等の機構部材を介して複数のレンズ210の少なくとも一部または全部に伝達して、レンズ210の少なくとも一部または全部を光軸に沿って移動させてよい。
【0034】
メモリ222は、レンズ駆動部212を介して移動するフォーカスレンズやズームレンズ用の制御値を記憶する。メモリ222は、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。
【0035】
撮像制御部110は、指示部162等を通じて取得したユーザの指示を示す情報に基づいて、イメージセンサ120に制御命令を出力することにより、イメージセンサ120に撮像動作の制御を含む制御を実行する。撮像制御部110は、イメージセンサ120により撮像された画像を取得する。撮像制御部110は、イメージセンサ120から取得した画像に画像処理を施してメモリ130に格納する。
【0036】
本実施形態における撮像制御部110の動作を説明する。撮像制御部110は、撮像装置100の撮像面とフォーカスレンズとが第1位置関係にある状態で撮像された第1撮像画像に含まれる第1画像のぼけ量と、撮像面とフォーカスレンズとが第2位置関係にある状態で撮像された第2撮像画像に含まれる第2画像のぼけ量とを取得する。撮像制御部110は、第1画像のぼけ量及び第2画像のぼけ量に基づいて、被写体に合焦するときの撮像面とフォーカスレンズとの間の位置関係を示す第1予測値を取得する。撮像制御部110は、撮像面とフォーカスレンズとが第3位置関係にある状態で撮像された第3撮像画像に含まれる第3画像のぼけ量を取得する。撮像制御部110は、第2画像のぼけ量及び第3画像のぼけ量に基づいて、被写体に合焦するときの撮像面とフォーカスレンズとの間の位置関係を示す第2予測値を取得する。撮像制御部110は、第1予測値と第2予測値との差に基づいて、被写体に合焦するときの撮像面とフォーカスレンズとの間の位置関係を示す目標値を決定する。
【0037】
第1位置関係、第2位置関係、及び第3位置関係のそれぞれは、撮像面に対するフォーカスレンズの位置を示してよい。第1予測値は、被写体に合焦するときの撮像面に対するフォーカスレンズの第1目標位置を示してよい。第2予測値は、被写体に合焦するときの撮像面に対するフォーカスレンズの第2目標位置を示してよい。この場合、撮像制御部110は、第1目標位置と第2目標位置との差を用いて、被写体に合焦するときの撮像面に対するフォーカスレンズの目標位置を示す目標値を決定してよい。
【0038】
撮像制御部110は、第1位置関係及び第2位置関係の少なくとも一方に基づいて定められるフォーカスレンズの位置を第1基準位置とし、第2位置関係及び第3位置関係の少なくとも一方に基づいて定められるフォーカスレンズの位置を第2基準位置として、撮像制御部110は、第1基準位置と第2基準位置との差に対する第1目標位置と第2目標位置との差を用いて、被写体に合焦するときの撮像面に対するフォーカスレンズの目標位置を示す目標値を決定する。
撮像制御部110は、第1基準位置と第2基準位置との差に対する第1目標位置と第2目標位置との差の比率を、変化情報として算出してよい。撮像制御部110は、第2目標位置を当該比率で除することによって第2目標位置の補正値を算出してよい。撮像制御部110は、第2基準位置に対する補正値が示す位置を、目標値として算出してよい。撮像制御部110は、目標値に基づいて、撮像装置100の合焦制御を実行してよい。
【0039】
撮像制御部110は、第1画像のぼけ量と第2画像のぼけ量とを取得してよい。撮像制御部110は、第1画像のぼけ量及び第2画像のぼけ量に基づいて第1予測値を取得してよい。撮像制御部110は、第1予測値の信頼値が予め定められた第1の値以上の場合に、第1予測値に基づいて撮像装置100の合焦制御を実行してよい。撮像制御部110は、第1予測値の信頼値が予め定められた第1の値より低い場合に、第3画像のぼけ量を取得し、第2画像のぼけ量及び第3画像のぼけ量に基づいて第2予測値を取得し、目標値に基づいて、撮像装置100の合焦制御を実行してよい。
【0040】
撮像制御部110は、第1予測値の信頼値が、第1の値より低い第2の値より低い場合に、第3画像を取得せずに、第1予測値に基づく撮像装置100の合焦制御を行わなくてよい。撮像制御部110は、第1予測値の信頼値が第1の値より低く、かつ、第2の値以上の場合に、第3画像のぼけ量を取得し、第2画像のぼけ量及び第3画像のぼけ量に基づいて第2予測値を取得し、目標値に基づいて、撮像装置100の合焦制御を実行してよい。
【0041】
なお、撮像制御部110は、撮像装置100の撮像面とフォーカスレンズとが第1位置関係にある状態で撮像された第1撮像画像に含まれる第1画像のぼけ量と、撮像面とフォーカスレンズとが第2位置関係にある状態で撮像された第2撮像画像に含まれる第2画像のぼけ量とを取得してよい。撮像制御部110は、第1画像のぼけ量及び第2画像のぼけ量に基づいて、被写体に合焦するときの撮像面とフォーカスレンズとの間の位置関係を示す第1予測値を取得しえよい。撮像制御部110は、撮像面とフォーカスレンズとが第3位置関係にある状態で撮像された第3撮像画像に含まれる第3画像のぼけ量と、撮像面とフォーカスレンズとが第4位置関係にある状態で撮像された第4撮像画像に含まれる第4画像のぼけ量を取得してよい。撮像制御部110は、第3画像のぼけ量及び第4画像のぼけ量に基づいて、被写体に合焦するときの撮像面とフォーカスレンズとの間の位置関係を示す第2予測値を取得してよい。撮像制御部110は、第1予測値と第2予測値との差に基づいて、被写体に合焦するときの撮像面とフォーカスレンズとの間の位置関係を示す目標値を決定してよい。
【0042】
撮像装置100が実行するAF方式について説明する。撮像装置100は、AF処理を実行するために、レンズ210から被写体までの距離(被写体距離)を決定する。被写体距離を決定するための方式として、フォーカスレンズを移動させることによって、フォーカスレンズとイメージセンサ120の受光面との位置関係が異なる状態で撮像された複数の画像のぼけ量に基づいて決定する方式がある。ここで、この方式を用いたAFを、ぼけ検出オートフォーカス(Bokeh Detection Auto Foucus:BDAF)方式と称する。具体的には、BDAFでは、DFD(Depth From Defocus)演算を行ってAFを行う。
【0043】
例えば、画像のぼけ量(Cost)は、ガウシアン関数を用いて次式(1)で表すことができる。式(1)において、xは、水平方向における画素位置を示す。σは、標準偏差値を示す。
【数1】
【0044】
図3は、画像のぼけ量(Cost)とフォーカスレンズの位置との関係を示す曲線の一例を示す。C1は、フォーカスレンズがx1に位置するときに得られた画像のぼけ量である。C2は、フォーカスレンズがx2に位置するときに得られた画像のぼけ量である。ぼけ量C1及び量C2からレンズ210の光学特性を考慮して定められる曲線500の極小点502に対応するレンズ位置x0にフォーカスレンズを合わせることで、被写体に焦点を合わせることができる。
【0045】
図4は、BDAF方式における距離算出手順の一例を示すフローチャートである。撮像制御部110は、レンズ210とイメージセンサ120の撮像面とが第1位置関係にある状態で、第1画像を撮像してメモリ130に格納する。撮像制御部110は、レンズ210を光軸方向に移動させることで、レンズ210と撮像面とが第2位置関係にある状態にして、撮像装置100で第2画像を撮像してメモリ130に格納する(S201)。例えば、撮像制御部110は、フォーカスレンズを光軸方向に移動させることで、レンズ210と撮像面との位置関係を第1位置関係から第2位置関係に変更する。レンズの移動量は、例えば、10μm程度でよい。
【0046】
次いで、撮像制御部110は、第1画像を複数の領域に分割する(S202)。撮像制御部110は、第1画像内の画素ごとに特徴量を算出して、類似する特徴量を有する画素群を一つの領域として第1画像を複数の領域に分割してよい。撮像制御部110は、第1画像のうちAF処理枠に設定されている範囲の画素群を複数の領域に分割してもよい。撮像制御部110は、第2画像を、第1画像の複数の領域に対応する複数の領域に分割する。撮像制御部110は、第1画像の複数の領域のそれぞれのぼけ量と、第2画像の複数の領域のそれぞれのぼけ量とに基づいて、複数の領域ごとに複数の領域のそれぞれに含まれるオブジェクトに対応する被写体までの距離を算出する(S203)。
【0047】
なお、レンズ210とイメージセンサ120の撮像面との位置関係を変える方法は、レンズ210が備えるフォーカスレンズを移動させる方法に限られない。例えば、撮像制御部110は、レンズ210の全体を光軸方向に移動させてよい。撮像制御部110は、イメージセンサ120の撮像面を光軸方向に移動させてよい。撮像制御部110は、レンズ210が備える少なくとも一部のレンズ及びイメージセンサ120の撮像面の双方を光軸方向に移動させてよい。撮像制御部110は、レンズ210の焦点とイメージセンサ120の撮像面の相対的な位置関係を光学的に変えるための任意の方法を用いてよい。
【0048】
図5を参照して被写体距離の算出手順についてさらに説明する。レンズLの主点から被写体510(物面)までの距離をA、レンズLの主点から被写体510からの光束が結像する位置(像面)までの距離をB、レンズLの焦点距離をFとする。この場合、距離A、距離B、及び焦点距離Fの関係は、レンズの公式から次式(2)で表すことができる。
【数2】
【0049】
焦点距離FはレンズLが備える各レンズの位置から定まる。したがって、被写体510からの光束が結像する距離Bが特定できれば、式(2)を用いて、レンズLの主点から被写体510までの距離Aを特定することができる。
【0050】
ここで、レンズLと撮像面との位置関係を、イメージセンサの撮像面をレンズL側に移動させることによって変えたとする。
図5に示すように、レンズLの主点から距離D1の位置やレンズLの主点から距離D2の位置に撮像面があるとすると、撮像面上に投影された被写体510の像にはぼけが生じる。撮像面上に投影された被写体510の像のぼけの大きさ(錯乱円512及び514)から被写体510が結像する位置を算出することで、距離Bを特定し、さらに距離Aを特定することができる。つまり、ぼけの大きさ(ぼけ量)が撮像面と結像位置とに比例することを考慮して、ぼけの量の差から結像位置を特定できる。
【0051】
ここで、撮像面から距離D1の位置の像I
1及び撮像面から距離D2の位置の像I
2のそれぞれの画像はぼけている。像I
1について、点像分布関数(Point Spread Function)をPSF
1、被写体像をI
d1とすると、像I
1は、畳み込み演算により次式(3)で表すことができる。
【数3】
【0052】
像I
2もPSF
2による畳み込み演算によって同様に表される。被写体像のフーリエ変換をfとして、点像分布関数PSF
1及びPSF
2をフーリエ変換した光学伝達関数(Optical Transfer Function)をOTF
1及びOTF
2として、次式(4)のように比をとる。
【数4】
【0053】
式(4)に示す値Cは、レンズLの主点から距離D1の位置の像及びレンズLの主点から距離D2の位置の像のそれぞれのぼけ量の変化量、つまり、値Cは、レンズLの主点から距離D1の位置の像とレンズLの主点から距離D2の位置の像のぼけ量との差に相当する。
【0054】
図5において、撮像面をレンズL側に移動させることによって、レンズLと撮像面との位置関係を変えた場合について説明した。フォーカスレンズを撮像面に対して移動させることによって、レンズLの焦点の位置と撮像面との位置関係を変えることによっても、ぼけ量に違いが生じる。本実施形態では、主にフォーカスレンズを撮像面に対して移動させることによってぼけ量が異なる画像を取得し、取得した画像に基づいてDFD演算を行ってデフォーカス量を表すDFD演算値を取得して、DFD演算値に基づいて被写体に合焦するためのフォーカスレンズの位置の目標値を算出するものとする。
【0055】
図6は、異なる被写体に対するDFD演算値とデフォーカス量との関係を示す。グラフ610、グラフ620及びグラフ630の横軸はデフォーカス量であり、縦軸はDFD演算値である。デフォーカス量及びDFD演算値の単位はfδである。グラフ610、グラフ620及びグラフ630の丸印のそれぞれは、フォーカスレンズの位置を変えて得られた2つの画像に基づくDFD演算によって得られた1つのDFD演算値を示す。グラフ610、グラフ620及びグラフ630の実線は、DFD演算の理想値を示す。
【0056】
グラフ610は、特定の物体Aを被写体とした画像に対するDFD演算値と実際のデフォーカス量との関係を示す。グラフ620は、物体Aとは異なる特定の物体Bを被写体とした画像に対するDFD演算値とデフォーカス量との関係を示す。グラフ630は、物体A及び物体Bとは異なる特定の物体Cを被写体とした画像に対するDFD演算値とデフォーカス量との関係を示す。なお、実際に撮像された画像から最も合焦状態にあると判断された場合のデータ点を、グラフ610、グラフ620及びグラフ630のグラフの原点としている。
【0057】
グラフ650は、物体Aの画像に対するDFD演算値の理想値からのずれを示す。グラフ660は、物体Bの画像に対するDFD演算値の理想値からのずれを示す。グラフ670は、物体Cの画像に対するDFD演算値の理想値からのずれを示す。
【0058】
物体Aは、物体B、及び物体Cの中で、物体自体のコントラストが最も高い物体であり、物体Cは、物体自体のコントラストが最も低い物体である。物体Cは、例えば雲である。グラフ610、グラフ620、グラフ630、グラフ650、グラフ660及びグラフ670から分かるように、物体Aの画像については、DFD演算値の誤差が極めて小さく、デフォーカス量が大きい場合でもDFD演算値の精度が高いことが分かる。一方、物体Cの画像については、DFD演算値の誤差が比較的に大きく、特にデフォーカス量が大きいほどDFD演算値の精度が低くなっている。このように、被写体となる物体によって、デフォーカス量の変化量に対するDFD演算値の変化量は、DFD演算の理想値に比べて小さくなる場合がある。また、被写体となる物体によって、DFD演算の理想値からのズレが生じる場合がある。
【0059】
図7は、撮像制御部110が行う2回のDFD演算に基づく合焦制御の原理を示す。グラフ710の縦軸はDFD演算値であり、横軸はデフォーカス量である。グラフ710は、
図6のグラフ630に、合焦制御に用いる2つのデータ点711及びデータ点712を示したものである。グラフ720は、グラフ710のデータを、デフォーカス量に対応するレンズパルス数を単位として表したものである。レンズパルス数は、合焦制御のためにレンズ210を駆動するステッピングモータに供給するパルス数を示す。レンズパルス数は、光軸方向の予め定められた基準点に対するレンズ210の位置を示す。
【0060】
図7において、データ点711は、第1のDFD演算によって得られたDFD演算値と、レンズパルス数とを示す。データ点712は、第2のDFD演算によって得られたDFD演算値と、レンズパルス数とを示す。レンズパルス数は、それぞれのDFD演算を行うための画像を撮像したときのレンズ位置の基準位置を示す。1回のDFD演算には、レンズ位置が異なる状態で撮像した2つの画像を用いるため、1回のDFD演算に用いた画像を撮像したときのレンズ位置の平均値を、レンズ基準位置とする。また、DFD演算によって得られるDFD演算値は、その基準位置におけるデフォーカス量を示すものとする。DFD演算値は、その基準位置から、合焦状態にするためのレンズ210の目標移動量を示す。
【0061】
撮像制御部110は、レンズ基準位置を互いに異ならせて、第1のDFD演算及び第2のDFD演算を行う。撮像制御部110は、レンズ基準位置の変化量に対するDFD演算値の変化量を算出する。この値は、データ点711とデータ点712を結ぶ直線722の傾きを示す。第2のDFD演算値を直線722の傾きの値で除算することにより、第2のDFD演算値を補正して、レンズ210を移動させる。これにより、撮像制御部110は、第2のDFD演算値を補正しない場合に比べて、合焦状態(レンズパルス数2000)により近づけることができる。
【0062】
撮像制御部110の動作を具体的な数値を用いて説明する。撮像制御部110は、レンズ位置が互いに異なる状態で3つの画像P1、画像P2及び画像P3を撮像して、3つの画像P1、画像P2及び画像P3を用いて2回のDFD演算を行う。具体的には、撮像制御部110は、画像P1及びP2に基づいて第1のDFD演算を行い、画像P2及びP3に基づいて第2のDFD演算を行う。
【0063】
画像P1を撮像したときのレンズ位置をLensP1、画像P2を撮像したときのレンズ位置をLensP2、画像P3を撮像したときのレンズ位置をLensP3とする。具体的には、LensP1=1160、LensP2=1440、LensP3=1720であったとする。
【0064】
画像P1及びP2に基づく第1のDFD演算により得られた第1のDFD演算値をDFD1とする。具体的には、DFD1=−514であったとする。LensP1及びLensP2の平均値をDFDLensP1とすると、レンズ基準位置DFDLensP1は1300である。
図7のグラフ720のデータ点711は、座標(DFDLensP1,DFD1)を表す。
【0065】
画像P2及びP3に基づく第2のDFD演算値をDFD2とする。具体的には、DFD2=−311であったとする。LensP2及びLensP3の平均値をDFDLensP2とすると、DFDLensP2=1580である。
図7のグラフ720のデータ点712は、(DFDLensP2,DFD2)を表す。
【0066】
まず、第2のDFD演算のみに基づくレンズ210の目標位置(Peak2)は、次の式により算出される。
Peak2=DFDLensP2-DFD2
これにより、Peak2=1580−(−311)=1891が得られる。
図7において、合焦状態となるレンズ位置は2000であるため、−109パルス分の誤差が発生することになる。したがって、レンズ210の位置をPeak2に移動させても、被写体に十分に合焦していない状態となり得る。
【0067】
次に、撮像制御部110による合焦制御について説明する。撮像制御部110は、データ点711及びデータ点712を通る直線722の傾きslopeを、次の式により算出する。
slope = (DFD2 - DFD1)/(DFDLensP2 - DFDLensP1) ・・・(5)
これにより、slope=0.725が得られる。
【0068】
撮像制御部110は、slopeの値を用いて、次の式のようにDFD2を補正することによって、レンズ210の目標位置PeakCorrectionを算出する。
PeakCorrection = DFDLensP2 - DFD2/slope
これにより、PeakCorrection=1580−(−311)/0.725=2009となる。合焦状態となるレンズ位置は2000であるため、誤差は9パルス分となる。このように、第2のDFD演算のみに基づいて算出されるPeak2に比べて、誤差を1/10以下に抑制できることがわかる。
【0069】
図8は、撮像制御部110が実行する合焦制御の処理手順を示すフローチャートである。撮像制御部110は、合焦制御を行うためのアルゴリズムにより実装される合焦制御処理800と、DFD演算を行うためのアルゴリズムにより実装されるDFD処理850とを並行して実行する。
【0070】
まず、合焦制御処理800において、撮像制御部110は、現在のレンズ位置でイメージセンサ120に撮像させて、第1画像の画像データを取得する(S802)。撮像制御部110は、DFD処理850において、第1画像の画像データをDFD演算に必要な情報に加工する(S852)。
【0071】
撮像制御部110は、合焦制御処理800において、レンズ210のフォーカスレンズの位置を予め定められた移動量だけ移動させ(S804)、イメージセンサ120に撮像させて、第2画像の画像データを取得する(S806)。撮像制御部110は、DFD処理850において、第2画像の画像データをDFD演算に必要な情報に加工し、第1画像と第2画像のデータに基づいて第1のDFD演算を行って、DFD演算値としての現在のデフォーカス量とDFD演算値の信頼性値とを算出する(S852)。撮像制御部110は、第1のDFD演算により得られたDFD演算値に基づいて、フォーカスレンズの移動量を算出する(S854)。撮像制御部110は、DFD演算値の信頼性値を、画像内の被写体のぼけ量に基づいて算出してよい。撮像制御部110は、例えば、式(1)で表される画像のぼけ量(Cost)に基づいて、DFD演算値の信頼性値を算出してよい。撮像制御部110は、ぼけ量が小さいほど信頼性値を小さくしてよい。
【0072】
S856において、撮像制御部110は、第1のDFD演算により得られた信頼性値を、第1閾値及び第1閾値より低い第2閾値と比較する。撮像制御部110は、第1のDFD演算により得られた信頼性値を第1しきい値又は第1しきい値より低い第2しきい値と比較してよい。具体的には、撮像制御部110は、第1のDFD演算により得られた信頼性値が第1閾値以上であれば、S812に処理を移行して、DFD演算値が示すレンズ目標位置までレンズ位置を駆動する。第1のDFD演算により得られた信頼性値が予め定められた第1閾値より低く、第2閾値以上であれば、S808に処理を進めて、レンズ位置を移動させる。また、撮像制御部110は、S808においてレンズを移動させる場合、S852で算出したDFD演算値を考慮して、合焦位置をオーバーしないようにフォーカスレンズの移動量を決定してよい。また、撮像制御部110は、第2画像の画像データをDFD演算に必要な情報に加工する(S858)。
【0073】
第1のDFD演算により得られた信頼性値が第2閾値より低い場合は、BDAF方式の合焦制御を停止する。BDAF方式の合焦制御を停止した場合、撮像制御部110は、コントラストAF等、BDAF以外の方法を用いて合焦制御を行ってよい。撮像装置100が動画撮像中であれば、撮像制御部110は、BDAF方式の合焦制御を停止した場合に、レンズ210を無限遠合焦状態にしてよい。撮像装置100が静止画を撮像しようとしていたときは、撮像制御部110は、BDAF方式の合焦制御を停止した場合に、ユーザに合焦エラーを通知してよい。
【0074】
撮像制御部110は、S808においてフォーカスレンズを移動させた後、イメージセンサ120に撮像させて、第3画像の画像データを取得する(S810)。撮像制御部110は、DFD処理850において、第3画像の画像データをDFD演算に必要な情報に加工し、第2画像と第3画像のデータに基づいて第2のDFD演算を行って、DFD演算値としての現在のデフォーカス量とDFD演算値の信頼性値とを算出する(S858)。撮像制御部110は、S852の第1のDFD演算により得られたDFD演算値と、S858の第2のDFD演算によって得られたDFD演算値と、第1画像、第2画像及び第3画像のそれぞれを撮像したときのレンズ位置とに基づいて、式(5)に従ってslopeを算出し、slopeを用いてDFD演算値を補正して、フォーカスレンズの移動量を算出する(S860)。
【0075】
撮像制御部110は、第2のDFD演算により算出された信頼性値が第2の閾値以上であるか否かを判断する(S862)。第2のDFD演算により算出された信頼性値が第2の閾値より低い場合、撮像制御部110は、BDAF方式の合焦制御を停止する。第2のDFD演算により得られた信頼性値が第2の閾値以上である場合、撮像制御部110は、S812に処理を移行して、S860で算出した移動量に従って、フォーカスレンズを移動する(S812)。また、撮像制御部110は、第3画像の画像データをDFD演算に必要な情報に加工する(S864)。
【0076】
撮像制御部110は、S812においてレンズを移動させた後、イメージセンサ120に撮像させて、合焦確認用画像の画像データを取得する(S814)。撮像制御部110は、DFD処理850において、第3画像及び合焦確認用画像の画像データに基づいてDFD演算を行い、DFD演算値として得られた現在のデフォーカス量とDFD演算の信頼性値を算出する(S864)。撮像制御部110は、S864のDFD演算で得られたDFD演算値が示すデフォーカス量とDFD演算の信頼性値に基づいて被写体に合焦した状態にあるか否かを判断して(S866)、合焦状態にあると判断した場合はBDAF方式のAF動作を完了させ、合焦状態にないと判断した場合は、S812に処理を移動して、S864のDFD演算で得られたDFD演算値が示す目標位置にフォーカスレンズを移動する。以後、合焦状態になったと判断されるまで、フォーカスレンズの移動、DFD演算用の画像の撮像、DFD演算、合焦判断の動作を繰り返す。
【0077】
以上に説明したように、撮像制御部110は、第1のDFD演算により得られたDFD演算値と第2のDFD演算により得られたDFD演算値との差に基づいてフォーカスレンズの移動量を算出する。これにより、DFD演算の感度が低い物体を被写体とする場合でも、精度よくAF動作を行うことが可能となる。
【0078】
なお、以上の説明では、2回のDFD演算を行うために、3回の撮像を行うものとした。しかし、2回のDFD演算を行うために4回の撮像を行ってもよい。例えば、レンズ位置が異なる第1画像及び第2画像に基づいて第1のDFD演算を行い、レンズ位置が異なる第3画像及び第4画像に基づいて第2のDFD演算を行ってもよい。
【0079】
また、以上の説明において、2回のDFD演算の結果を用いてslopeを算出するものとした。しかし、3回以上のDFD演算の結果を用いてslopeを算出してもよい。
【0080】
上記のような撮像装置100は、移動体に搭載されてもよい。撮像装置100は、
図9に示すような、無人航空機(UAV)に搭載されてもよい。UAV10は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備えてよい。ジンバル50、及び撮像装置100は、撮像システムの一例である。UAV10は、推進部により推進される移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機などの飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。
【0081】
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV10を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV10を飛行させる。回転翼の数は、4つには限定されない。また、UAV10は、回転翼を有さない固定翼機でもよい。
【0082】
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
【0083】
複数の撮像装置60は、UAV10の飛行を制御するためにUAV10の周囲を撮像するセンシング用のカメラである。2つの撮像装置60が、UAV10の機首である正面に設けられてよい。更に他の2つの撮像装置60が、UAV10の底面に設けられてよい。正面側の2つの撮像装置60はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像装置60もペアとなり、ステレオカメラとして機能してよい。複数の撮像装置60により撮像された画像に基づいて、UAV10の周囲の3次元空間データが生成されてよい。UAV10が備える撮像装置60の数は4つには限定されない。UAV10は、少なくとも1つの撮像装置60を備えていればよい。UAV10は、UAV10の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像装置60を備えてもよい。撮像装置60で設定できる画角は、撮像装置100で設定できる画角より広くてよい。撮像装置60は、単焦点レンズまたは魚眼レンズを有してもよい。
【0084】
遠隔操作装置300は、UAV10と通信して、UAV10を遠隔操作する。遠隔操作装置300は、UAV10と無線で通信してよい。遠隔操作装置300は、UAV10に上昇、下降、加速、減速、前進、後進、回転などのUAV10の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV10の高度を上昇させる指示情報を含む。指示情報は、UAV10が位置すべき高度を示してよい。UAV10は、遠隔操作装置300から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV10を上昇させる上昇命令を含んでよい。UAV10は、上昇命令を受け付けている間、上昇する。UAV10は、上昇命令を受け付けても、UAV10の高度が上限高度に達している場合には、上昇を制限してよい。
【0085】
図10は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。例えば、コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、撮像制御部110として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」の機能を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0086】
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
【0087】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR−ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
【0088】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0089】
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0090】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0091】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0092】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0093】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。