以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(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を前面から見た図である。図2は、撮像システム10を背面から見た図である。撮像システム10は、メインカメラ100、ジンバル200、把持部300、及び表示端末400を備える。ジンバル200は、メインカメラ100を、アクチュエータを用いてロール軸、ピッチ軸、ヨー軸のそれぞれを中心に回転可能に支持する。ジンバル200は、支持機構の一例である。ジンバル200は、ロール軸、ピッチ軸、及びヨー軸の少なくとも1つを中心にメインカメラ100を回転させることで、メインカメラ100の姿勢を変更、または維持してよい。ジンバル200は、ロール軸駆動機構201、ピッチ軸駆動機構202、及びヨー軸駆動機構203を備える。ジンバル200は、ヨー軸駆動機構203が固定される基部204をさらに備える。把持部300は、基部204に固定される。把持部300は、操作インタフェース301、表示部302、及び広角カメラ310を備える。メインカメラ100は、ピッチ軸駆動機構202に固定される。基部204は把持部300から機械的に取り外し可能でも良い。基部204は把持部300から電気的に取り外し可能でも良い。基部204は把持部300から電気的かつ機械的に取り外し可能でも良い。
操作インタフェース301は、メインカメラ100及びジンバル200を操作するための命令をユーザから受け付ける。操作インタフェース301は、メインカメラ100による撮影または録画を指示するシャッター/録画ボタンを含んでよい。操作インタフェース301は、撮像システム10の電源をオンまたはオフ、及びメインカメラ100の静止画撮影モードまたは動画撮影モードの切り替えを指示する電源/ファンクションボタンを含んでよい。
表示部302は、メインカメラ100により撮像される画像を表示してよい。表示部302は、メインカメラ100及びジンバル200を操作するためのメニュー画面を表示してよい。表示部302は、メインカメラ100及びジンバル200を操作するための命令を受け付けるタッチパネルディスプレイでよい。
広角カメラ310は、メインカメラ100より広い画角を有する。表示端末400は、広角カメラ310で撮像された画像を表示する表示部410と、内蔵カメラ401とを備える。表示端末400は、把持部300に着脱可能に装着される。表示端末400は、例えば、スマートフォンでよい。広角カメラ310は、第1撮像部の一例である。メインカメラ100は、広角カメラ310より画角が狭い第2撮像部の一例である。広角カメラ310の代わりに、内蔵カメラ401で撮像された画像を表示部410に表示してもよい。
表示端末400は、広角カメラ310により撮像される画像上に、メインカメラ100で撮像される撮像領域を示す画枠500を重畳して表示する。ユーザが表示部410に表示される画像上で画枠500をタッチしながら移動させると、移動後の画枠500に対応する撮像領域をメインカメラ100が撮像できるように、ジンバル200がメインカメラ100の姿勢を制御する。ユーザが指等で表示部410に表示される画像上の画枠500のサイズを変化させると、メインカメラ100は、変化後の画枠500のサイズに対応する画角にすべくズーム倍率を調整する。
ユーザは、表示端末400に表示される広角カメラ310で撮像される画像上で、メインカメラ100で撮像される撮像領域を示す画枠500を確認しながら、メインカメラ100で撮像されている画像を表示部302で確認できる。
図3は、撮像システム10の機能ブロックを示す図である。メインカメラ100は、撮像制御部110、イメージセンサ120、メモリ130、レンズ制御部150、レンズ駆動部152、複数のレンズ154、及び測距センサ160を備える。イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、撮像用のイメージセンサの一例である。イメージセンサ120は、複数のレンズ154を介して結像された光学像の画像データを撮像制御部110に出力する。撮像制御部110は、CPUまたはMPU等のマイクロプロセッサ、MCU等のマイクロコントローラ等により構成されてよい。
撮像制御部110は、把持部300からのメインカメラ100の動作命令に応じて、イメージセンサ120から出力された画像信号にデモザイク処理を施すことで画像データを生成する。撮像制御部110は、画像データをメモリ130に格納する。撮像制御部110は、測距センサ160を制御する。撮像制御部110は、回路の一例である。測距センサ160は、対象物までの距離を測距する飛行時間型センサ(TOFセンサ)でよい。メインカメラ100は、測距センサ160により測距された距離に基づいて、フォーカスレンズの位置を調整することで、合焦制御を実行する。
メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリ等のフラッシュメモリの少なくとも1つを含んでよい。メモリ130は、撮像制御部110がイメージセンサ120等を制御するのに必要なプログラム等を格納する。メモリ130は、メインカメラ100の筐体の内部に設けられてよい。把持部300は、メインカメラ100により撮像された画像データを保存するための他のメモリを備えてよい。把持部300は、把持部300の筐体からメモリを取り外し可能なスロットを有してよい。
複数のレンズ154は、ズームレンズ、バリフォーカルレンズ、及びフォーカスレンズとして機能してよい。複数のレンズ154の少なくとも一部または全部は、光軸に沿って移動可能に配置される。レンズ制御部150は、撮像制御部110からのレンズ制御命令に従って、レンズ駆動部152を駆動して、1または複数のレンズ154を光軸方向に沿って移動させる。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令である。レンズ駆動部152は、複数のレンズ154の少なくとも一部または全部を光軸方向に移動させるボイスコイルモータ(VCM)を含んでよい。レンズ駆動部152は、DCモータ、コアレスモータ、または超音波モータ等の電動機を含んでよい。レンズ駆動部152は、電動機からの動力をカム環、ガイド軸等の機構部材を介して複数のレンズ154の少なくとも一部または全部に伝達して、複数のレンズ154の少なくとも一部または全部を光軸に沿って移動させてよい。本実施形態では、複数のレンズ154は、メインカメラ100と一体型の例について説明する。しかし、複数のレンズ154は、交換レンズでよく、メインカメラ100とは別体で構成されてもよい。
メインカメラ100は、姿勢制御部210、角速度センサ212、及び加速度センサ214をさらに備える。角速度センサ212は、メインカメラ100の角速度を検出する。角速度センサ212は、メインカメラ100のロール軸、ピッチ軸、及びヨー軸回りのそれぞれの角速度を検出する。姿勢制御部210は、角速度センサ212からメインカメラ100の角速度に関する角速度情報を取得する。角速度情報は、メインカメラ100のロール軸、ピッチ軸、及びヨー軸回りのそれぞれの角速度を示してよい。姿勢制御部210は、加速度センサ214からメインカメラ100の加速度に関する加速度情報を取得する。加速度情報は、メインカメラ100のロール軸、ピッチ軸、及びヨー軸のそれぞれの方向の加速度を示してもよい。
角速度センサ212、及び加速度センサ214は、イメージセンサ120及びレンズ154等を収容する筐体内に設けられてよい。姿勢制御部210は、角速度情報及び加速度情報に基づいて、メインカメラ100の姿勢を維持または変更すべく、ジンバル200を制御する。
メモリ168は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、及びEEPROMの少なくとも1つを含んでよい。メモリ168は、撮像システム10を制御するために必要なプログラム等を格納する。
ここで、メインカメラ100と、広角カメラ310とは物理的に異なる位置に配置されている。メインカメラ100の撮像領域と、広角カメラ310の撮像領域との位置関係が特定できなければ、広角カメラ310で撮像される画像上に、メインカメラ100の撮像領域に対応する画枠500を重畳させて表示させることはできない。
そこで、撮像制御部110は、広角カメラ310の画角を示す第1画角情報と、メインカメラ100の画角を示す第2画角情報と、ジンバル200により制御されるメインカメラ100の姿勢を示す姿勢情報とに基づいて、広角カメラ310により撮像される撮像領域と、メインカメラ100により撮像される撮像領域との位置関係を特定する。撮像制御部110は、広角カメラ310の撮像領域とメインカメラ100の撮像領域との位置関係に基づいて、広角カメラ310により撮像される画像上にメインカメラ100の撮像領域の位置を示す画枠500を重畳して表示部410に表示させる。画枠500は、広角カメラ310で撮像される画像上でのメインカメラ100の撮像領域の位置、及びメインカメラ100の撮像領域のサイズを示す指標の一例である。
図4Aは、水平方向から見たメインカメラ100の垂直画角αv、広角カメラ310の垂直画角βv、及びメインカメラ100のピッチ方向の回転角度θvを示す。回転角度θvは、水平方向から見た広角カメラ310の光軸521とメインカメラ100の光軸522との成す角度を示す。
図4Bは、垂直方向から見たメインカメラ100の水平画角αh、広角カメラ310の水平画角βh、及びメインカメラ100のヨー方向の回転角度θhを示す。回転角度θhは、垂直方向から見た広角カメラ310の光軸521とメインカメラ100の光軸522との成す角度を示す。図4Bでは、広角カメラ310の光軸521と平行な一点鎖線521'とメインカメラ100の光軸522との成す角度で、回転角度θhを表している。
広角カメラ310の垂直画角βv、及び広角カメラ310の水平画角βhは、広角カメラ310の画角を示す。メインカメラ100の垂直画角αv、及びメインカメラ100の水平画角αhは、メインカメラ100の画角を示す。回転角度θh及び回転角度θvは、メインカメラ100の姿勢を示す。なお、本実施形態では、便宜上、広角カメラ310の画角は、撮像範囲の半分の角度を示す。
メインカメラ100と、広角カメラ310とは、物理的に異なる位置に配置されている。したがって、メインカメラ100の光軸522と、広角カメラ310の光軸521とは、離間している。しかし、近接撮影でなければ、メインカメラ100の光軸522が広角カメラ310の光軸521と平行の場合、メインカメラ100の光軸522は、広角カメラ310の光軸521と重なっていると近似しても、ある程度の精度で、広角カメラ310の撮像領域とメインカメラ100の撮像領域との位置関係を特定できる。
図5は、メインカメラ100の光軸522が広角カメラ310の光軸521と平行である場合、メインカメラ100の光軸522と、広角カメラ310の光軸521とが重なっていると近似した場合の、水平方向から見たメインカメラ100の垂直画角αv、広角カメラ310の垂直画角βv、及びピッチ方向のメインカメラ100の回転角度θvを示す。このように近似した場合、広角カメラ310の撮像領域とメインカメラ100の撮像領域との位置関係を特定する演算を簡素化できる。広角カメラ310で撮像された画像上で、ある程度の精度でメインカメラ100が撮像すべき撮像領域を特定できる。これにより、広角カメラ310で撮像された広範囲の画像上で、メインカメラ100の所望の撮像領域を即座に特定して、メインカメラ100が所望の撮像領域を撮像できるように自動的にジンバル200を制御してメインカメラ100の姿勢を調整できる。
撮像制御部110は、広角カメラ310で撮像される画像に基づいて測距された広角カメラ310から移動後の画枠500内の被写体までの距離に基づいて、メインカメラ100の合焦制御を実行してよい。メインカメラ100の合焦制御は、メインカメラ100が所望の撮像領域を撮像できる姿勢に制御される前、または制御中に実行されてよい。これにより、メインカメラ100が所望の撮像領域を撮像できる姿勢になった直後に、メインカメラ100は、主要被写体に合焦させた状態で所望の撮像領域を撮像できる。
図6は、広角カメラ310で撮像される画像510の座標系を示す。図6では、メインカメラ100の光軸522と広角カメラ310の光軸521とが平行である場合、メインカメラ100の光軸522と、広角カメラ310の光軸521とが重なっていると仮定している。原点C10(0,0)は、広角カメラ310の光軸中心を示し、かつ画像510の中心を示す。広角カメラ310の画角は、原点C10(0,0)を中心として、第1象限から左周りに第4象限までの4点、C11(P,Q)、C12(-P,Q)、C13(-P,-Q)、及びC14(P,-Q)で画定される。ここで、P=kh×tan(βh)、Q=kv×tan(βv)である。kh及びkvは、予め定められた係数であり、例えば、画像510のピクセル数(水平方向のピクセル数及び垂直方向のピクセル数)に基づいて定められてよい。
点C20(x,y)は、メインカメラ100の姿勢が回転角度θh及び回転角度θvである場合のメインカメラ100の光軸中心を示す。ここでは、メインカメラ100の光軸522と広角カメラ310の光軸521とが平行である場合、メインカメラ100の光軸522と、広角カメラ310の光軸521とが重なっていると仮定している。したがって、回転角度θh及び回転角度θvが0の場合、点C20は、原点C10に位置する。原点C10(x,y)は、x=kh×tan(θh)、y=kv×tan(θv)である。また、画枠500の水平方向の幅をW1及びW2と定義し、画枠500の垂直方向の幅をH1及びH2と定義する。ここで、W1=x-kh×tan(θh-αh)、W2=-x+kh×tan(θh+αh)、H1=y-kv×tan(θv-αv)、及びH2=-y+kv×tan(θh+αv)である。
原点C10(0,0)から第1象限に存在するメインカメラ100の画枠500は、W2>W1、及びH2>H1の関係を満たす。広角カメラ310で撮像された画像510上に表示されるメインカメラ100の光軸中心座標である点C20(x,y)に対する画枠500は、一般的には点対称にならない。
撮像制御部110は、第1画角情報である広角カメラ310の水平画角βh及び垂直画角βv、第2画角情報であるメインカメラ100の水平画角αh及び垂直画角αv、並びにメインカメラ100の姿勢情報である回転角度θh及び回転角度θvに基づいて、広角カメラ310により撮像される撮像領域と、メインカメラ100により撮像される撮像領域との位置関係を特定する。撮像制御部110は、広角カメラ310で撮像される画像510の座標系で、画枠500の位置を特定することで、広角カメラ310により撮像される撮像領域と、メインカメラ100により撮像される撮像領域との位置関係を特定する。
画像510上でユーザが画枠500を移動させると、撮像制御部110は、広角カメラ310の水平画角βh及び垂直画角βv、及びメインカメラ100の水平画角αh及び垂直画角αvに基づいて、画像510上における移動後の画枠500で示される第2撮像領域を撮像するメインカメラ100の姿勢を特定する。撮像制御部110は、メインカメラ100の姿勢として、回転角度θh及び回転角度θvを特定する。姿勢制御部210は、特定された回転角度θh及び回転角度θvに基づいて、ジンバル200を制御する。
撮像制御部110は、画像510上でユーザが画枠500のサイズを変化させることに対応して、変化後の画枠500のサイズに基づいて、メインカメラ100の画角を調整する。すなわち、撮像制御部110は、変化後の画枠500のサイズに基づいて、メインカメラ100のズーム倍率を調整する。
上記では、メインカメラ100の光軸522が広角カメラ310の光軸521と平行にある場合、メインカメラ100の光軸522と、広角カメラ310の光軸521とが重なると仮定している。したがって、メインカメラ100の光軸中心座標(x,y)をx=kh×tan(θh)、y=kv×tan(θv)としている。しかし、広角カメラ310の光軸521と、メインカメラ100の光軸522との位置ずれを考慮して、x=kh×tan(θh)+Xh、y=kv×tan(θv)+YVとしてもよい。Xh、及びYVは、広角カメラ310の光軸522と、メインカメラ100の光軸522との位置ずれを示す定数である。Xh、及びYVは、被写体までの距離に応じた定数でよい。すなわち、被写体までの距離をlとして、メインカメラ100の光軸中心座標(x,y)は、x=kh×tan(θh)+Xh(l)、y=kv×tan(θv)+YV(l)で表されてよい。メインカメラ100の光軸522を広角カメラ310の光軸521と平行にした状態で、被写体までの距離を変化させながらメインカメラ100及び広角カメラ310が撮像する。そして、被写体までの距離ごとにメインカメラ100で撮像される画像と広角カメラ310で撮像される画像とを比較することで、被写体までの距離ごとのXh、及びYVを予め計測し、メモリ168に格納してよい。
撮像制御部110は、広角カメラ310の画角、メインカメラ100の画角、及び被写体までの距離に対応する位置関係の補正量を示す予め定められた補正条件に基づいて、測距センサ160により測距された被写体までの距離に応じた補正量を決定し、決定された補正量に基づいて、メインカメラ100の光軸中心座標(x,y)を補正してよい。撮像制御部110は、補正量に対応するピクセル数だけ、画像510上のメインカメラ100の光軸中心座標を補正してよい。
図7は、画像上で画枠を移動させる場合の処理手順の一例を示すフローチャートである。撮像制御部110は、広角カメラ310の水平画角βh及び垂直画角βvを示す第1画角情報、及びメインカメラ100の水平画角αh及び垂直画角αvを示す第2画角情報を取得する(S100)。広角カメラ310の画角が固定である場合、撮像制御部110は、例えば、メモリ168に予め格納された第1画角情報を読み出すことで、第1画角情報を取得してよい。撮像制御部110は、レンズ制御部150からメインカメラ100の画角を示すレンズ154の制御情報を取得することで、第2画角情報を取得してよい。
さらに、撮像制御部110は、メインカメラ100の回転角度θh及び回転角度θvを示す姿勢情報を取得する。撮像制御部110は、姿勢制御部210からジンバル200の制御情報を取得することで、メインカメラ100の姿勢情報を取得してよい。
撮像制御部110は、第1画像情報、第2画像情報、及び姿勢情報に基づいて、表示端末400に表示される画像上のメインカメラ100の光軸中心座標を演算する(S104)。撮像制御部110は、画枠500の水平方向の幅W1及びW2、画枠500の垂直方向の幅H1及びH2を、W1=x-kh×tan(θh-αh)、W2=-x+kh×tan(θh+αh)、H1=y-kv×tan(θv-αv)、及びH2=-y+kv×tan(θh+αv)の式に従って、演算する。W1とW2との境界点は、光軸中心座標(x,y)を通るY軸に沿った線上に位置する。H1とH2との境界点は、光軸中心座標(x,y)を通るX軸に沿った線上に位置する。
撮像制御部110は、演算されたメインカメラ100の光軸中心座標、画枠500の水平方向の幅W1及びW2、画枠500の垂直方向の幅H1及びH2に従って、表示端末400に表示される画像上に画枠500を重畳して表示させる(S106)。
ユーザが表示端末400に表示される画像上で、画枠500を移動させると(S108)、撮像制御部110は、画枠500の移動量を演算する(S110)。撮像制御部110は、移動前の画枠500の画像上の位置と移動後の画枠500の画像上の位置とを比較することで、画枠500の移動量(画枠500が垂直方向に移動したピクセル数及び画枠500が水平方向に移動したピクセル数)を演算する。次いで、撮像制御部110は、画枠500の移動量に関連するメインカメラ100の光軸中心座標を演算する(S112)。撮像制御部110は、x=kh×tan(θh)、y=kv×tan(θv)に従って、回転角度θh及び回転角度θvを演算する。撮像制御部110は、メインカメラ100が演算された回転角度θh及び回転角度θvの姿勢になるようにジンバル200を制御して、メインカメラ100の姿勢を変更する(S114)。
撮像制御部110は、メインカメラ100及び広角カメラ310の画角情報、並びにメインカメラ100の姿勢情報に基づいて、メインカメラ100の光軸中心座標、画枠500の水平方向の幅W1及びW2、画枠500の垂直方向の幅H1及びH2を演算する。撮像制御部110は、演算されたメインカメラ100の光軸中心座標、画枠500の水平方向の幅W1及びW2、画枠500の垂直方向の幅H1及びH2に基づいて、広角カメラ310で撮像された画像510上における画枠500の位置を演算する。これにより、画枠500の位置に応じて、ユーザが所望する撮像領域をメインカメラ100が撮像できるように、ジンバル200がメインカメラ100の姿勢を制御できる。
ところで、画像510上での画枠500の位置が同じでも、被写体までの距離が異なれば、画枠500の撮像領域内の被写体を撮像できるメインカメラ100の姿勢は異なる。被写体までの距離が近い場合には、被写体までの距離を考慮しないと、移動後の画枠500内の被写体を撮像できる適切な姿勢にメインカメラ100の姿勢を制御できない場合がある。したがって、所望の被写体を撮像領域内に収めるようにメインカメラ100の姿勢をより精度よく制御する場合には、被写体までの距離を考慮したほうが好ましい。
撮像制御部110は、移動後の画枠500に存在する主要被写体までの距離を特定してよい。撮像制御部110は、広角カメラ310で撮像された画像に基づいて特定された距離情報に基づいて、主要被写体までの距離を特定してよい。撮像制御部110は、主要被写体までの距離にさらに基づいて、画像510上における移動後の画枠500内の撮像領域を撮像するメインカメラ100の回転角度θh及び回転角度θvを特定してよい。
撮像制御部110は、被写体までの距離に応じた画像510上における画枠500のサイズ及び位置とメインカメラ100の回転角度θh及び回転角度θvとの予め定められた対応関係に基づいて、画枠500内の主要被写体までの距離に対応する画像500上における画枠500内の撮像領域を撮像するメインカメラ100の回転角度θh及び回転角度θvを特定してよい。
撮像制御部110は、主要被写体までの距離に対応する画枠500のサイズ及び位置とメインカメラ100の回転角度θh及び回転角度θvとの対応関係をメモリ168から読み出し、その対応関係に従って、画像500上における画枠500に対応するメインカメラ100の回転角度θh及び回転角度θvを特定してよい。撮像制御部110は、被写体までの距離ごとに、画枠500のサイズ及び位置に対応するメインカメラ100の回転角度θh及び回転角度θvを予め演算してよい。撮像制御部110は、被写体までの距離ごとの画枠500のサイズ及び位置に対応するメインカメラ100の回転角度θh及び回転角度θvを予め定められた対応関係として、メモリ168に格納してよい。
上記のようなメインカメラ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に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。