以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本実施形態におけるドローン制御システムのシステム構成を示す図である。
本実施形態のドローン制御システムは、撮像装置(カメラ)103を備えたドローン101(無人飛行体や無人航空機や無人飛行機とも言う)、ネットワークカメラ102、中継BOX104、制御用コンピュータ105(以下、情報処理装置とも称する)、および操作卓106が、ネットワーク110や無線LAN(移動体通信網を含む)120を介して通信接続可能に接続されている。尚、図1のシステム構成は一例であり、用途や目的に応じて様々な構成例がある。
また、ドローン101は、情報処理装置105により遠隔操縦が可能な無人の航空機である。情報処理装置105からの指示に応じて、複数の回転翼を動作させて飛行する。
なお、ドローン101は、プロポ(不図示)により遠隔操縦も可能である。
この回転翼の回転数を増減させることで、ドローン101の前進・後退・旋回・ホバリング等を行う。尚、図1に示すドローン101の回転翼は4枚であるが、これに限らない。3枚であっても、6枚であっても、8枚であってもよい。
また、ドローン101は、無線で飛行するものと有線で飛行するものとがあり、本発明では無線で飛行するものとする。
ドローン101は、本発明における無人航空機や無人飛行機や無人飛行体の一例である。
ネットワークカメラ102は、例えば、ビルの屋上などに設置されお天気カメラとして利用することもできるし、建物の出入り口や街中に設置され監視カメラとして利用することもできる。
ネットワークカメラ102は、レンズおよびカメラを内蔵し、その撮影方向を可変させるため、カメラのレンズの向きを左右に動かすパン、上下に動かすチルト、そして、望遠にしたり広角にしたりするズームの機能を有し、遠隔地から操作(PTZ制御)できるようになっている。
中継BOX104は、ネットワークカメラ102やドローン101に対して電源を供給したり、操作卓106からの制御信号を伝えたりする機能を有する。
情報処理装置(制御用コンピュータ)105や操作卓106は、ネットワークカメラ102が設置された場所と物理的に距離が離れた遠隔地に設置されていてもよいし、例えば同一の敷地内等の物理的な距離はそれほど離れていない近距離に設置されていてもよい。
また、複数のドローン101やネットワークカメラ102をまとめて管理する集中管理センターに設定することも可能である。
情報処理装置105は、複数のドローン101やネットワークカメラ102を制御するための操作卓106の制御回線を接続する機器であり、操作卓106は、ドローン101やネットワークカメラ102を制御するための機器である。
ネットワーク110および無線LAN120は、本ドローン制御システムの各機器を接続するネットワークであって、各機器は、ネットワークで接続されていても無線LANで接続されていても、移動体通信網で接続されていても本システムは実施可能なものである。
情報処理装置105は、本発明の情報処理装置の適用例であり、撮像装置103を備えたドローン101に対して飛行動作の指示を行ったり、ネットワークカメラ102にPTZ動作を行う指示を行ったりする。
そして、情報処理装置105は、操作卓106からネットワークカメラ102を操作する。パン・チルト操作により撮影方向が変化する。ズーム操作で画角が変わり、フォーカス操作でピントが合う。
そして、情報処理装置105は、ネットワークカメラ102の映像と同じ映像が取得できるようドローン101を移動させたり、撮像装置103の内蔵レンズをズーミングさせたりする。
情報処理装置105は、第一の撮像装置に対して、当該第一の撮像装置のパン、チルト、またはズームを調整する指示を行い、第二の撮像装置を備えた無人飛行機に対して撮像にかかる動作の指示を行う情報処理装置の適用例である。
図2は、ドローン101のハードウェア構成を示す図である。尚、図2に示すドローン101のハードウェア構成は一例であり、用途や目的に応じて様々な構成例がある。
フライトコントローラ200はドローン101の飛行制御を行うためのマイクロコントローラであり、CPU201、ROM202、RAM203、周辺バスインタフェース204(以下、周辺バスI/F204という。)を備えている。
CPU201は、システムバスに接続される各デバイスを統括的に制御する。また、ROM202あるいは周辺バスI/F304に接続される外部メモリ280には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラムが記憶されている。
また外部メモリ280(記憶手段)には、ドローン101の実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM203(記憶手段)は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
周辺バスI/F204は、各種周辺デバイスと接続するためのインタフェースである。周辺バスI/F204には、PMU210、SIMアダプタ220、無線LAN用BBユニット230、移動体通信用BBユニット240、GPSユニット250、センサ260、GCU270、外部メモリ280が接続されている。
PMU210はパワーマネジメントユニットであり、ドローン101が備えるバッテリからESC211への電源供給を制御することができる。ESC211は、エレクトロニックスピードコントローラであり、ESC211に接続されるモータ212の回転数を制御することができる。ESC211によってモータ212を回転させることで、モータ212に接続されるプロペラ213(回転翼)を回転させる。
尚、ESC211、モータ212、プロペラ213のセットは、プロペラ213の数に応じて複数備えられている。例えば、クアッドコプターであれば、プロペラ213の数は4枚であるので、このセットが4つ必要となる。
SIMアダプタ220は、SIMカード221を挿入するためのカードアダプタである。SIMカード221の種類は特に問わない。移動体通信網を提供する通信事業者に応じたSIMカード221であればよい。
無線LAN用BBユニット230は、無線LANを介して通信を行うためのベースバンドユニットである。無線LAN用BBユニット230は、送信したいデータや信号からベースバンド信号を生成して変復調回路へ送出することができる。更に、受信したベースバンド信号から元のデータや信号を得ることができる。
また、無線LAN用RFユニット231は、無線LANを介して通信を行うためのRF(Radio Frequency)ユニットである。無線LAN用RFユニット231は、無線LAN用BBユニット230から送出されたベースバンド信号を無線LANの周波数帯に変調してアンテナから送信することができる。更に、無線LANの周波数帯の信号を受信すると、これをベースバンド信号に復調することができる。
移動体通信用BBユニット240は、移動体通信網を介して通信を行うためのベースバンドユニットである。移動体通信用BBユニット240は、送信したいデータや信号からベースバンド信号を生成して変復調回路へ送出することができる。更に、受信したベースバンド信号から元のデータや信号を得ることができる。
また、移動体通信用RFユニット241は、移動体通信網を介して通信を行うためのRF(Radio Frequency)ユニットである。移動体通信用RFユニット241は、移動体通信用BBユニット240から送出されたベースバンド信号を移動体通信網の周波数帯に変調してアンテナから送信することができる。更に、移動体通信網の周波数帯の信号を受信すると、これをベースバンド信号に復調することができる。
GPSユニット250は、グローバルポジショニングシステムにより、ドローン101の現在位置を取得することの可能な受信機である。GPSユニット250は、GPS衛星からの信号を受信し、現在位置を推定することができる。
センサ260は、ドローン101の傾き、向き、速度や周りの環境を計測するためのセンサである。ドローン101はセンサ260として、ジャイロセンサ、加速度センサ、気圧センサ、磁気センサ、超音波センサ等を備えている。これらのセンサから取得したデータに基づいて、CPU201がドローン101の姿勢や移動を制御する。
GCU270はジンバルコントロールユニットであり、カメラ271とジンバル272の動作を制御するためのユニットである。ドローン101が飛行することにより機体に振動が発生したり、機体が不安定になったりするため、カメラ271で撮像した際にブレが発生しないよう、ジンバル272によってドローン101の振動を吸収し水平を維持する。また、ジンバル272によってカメラ271の遠隔操作を行うことも可能である。
本発明のドローン101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ280に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ280に格納されている。
図3は、ネットワークカメラ102のハードウェアの構成の一例を示す図である。
CPU301は、システムバス304に接続される各デバイスやコントローラを統括的に制御する。
また、ROM302あるいは外部メモリ305には、CPU301の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、画像処理サーバ108の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM303は、CPU301の主メモリ、ワークエリア等として機能する。
CPU301は、処理の実行に際して必要なプログラム等をRAM303にロードして、プログラムを実行することで各種動作を実現するものである。
メモリコントローラ(MC)306は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ、画像データ等を記憶するハードディスク(HD)やPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリやスマートメディア(登録商標)等の外部メモリ305へのアクセスを制御する。
カメラ部307は、画像処理部308と接続されており、監視対象に対して向けられたレンズを透過して得られた光をCCDやCMOS等の受光セルによって光電変換を行った後、RGB信号や補色信号を画像処理部308に対して出力する。
画像処理部308は、RGB信号や捕色信号に基づいて、ホワイトバランス調整、ガンマ処理、シャープネス処理を行い、更に、YC信号処理を施して輝度信号Yとクロマ信号(以下、YC信号)を生成し、YC信号を所定の圧縮形式(例えばJPEGフォーマット、あるいはMotionJPEGフォーマット等)で圧縮し、この圧縮されたデータは、画像データとして外部メモリ305へ一時保管される。
通信I/Fコントローラ(通信I/FC)309は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行しており、外部メモリ305に記憶された画像データは、通信I/Fコントローラ309によって外部機器へ送信される。
図4は、情報処理装置105のハードウェア構成の一例を示す図である。
CPU401は、システムバス404に接続される各デバイスやコントローラを統括的に制御する。
また、ROM402あるいは外部メモリ411(記憶手段)には、CPU401の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、情報処理装置の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM403は、CPU401の主メモリ、ワークエリア等として機能する。
CPU401は、処理の実行に際して必要なプログラム等をRAM403にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ405は、キーボードや不図示のマウス等のポインティングデバイス等の入力デバイス409からの入力を制御する。
ビデオコントローラ406は、ディスプレイ410等の表示器への表示を制御する。表示器の種類はCRTや、液晶ディスプレイを想定するが、これに限らない。
メモリコントローラ407は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ411へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)408は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU401は、例えばRAM403内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ410上での表示を可能としている。
また、CPU401は、ディスプレイ410上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の各端末が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ411に記録されており、必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。
さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ411に格納されている。
図5は、情報処理装置105の機能構成の一例を示す図である。尚、図5に示す情報処理装置105の機能構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置105は機能部として、受付部501、判定部502、指示部503を有する。
受付部501は、ネットワークカメラ102のパン、チルト、またはズームを調整する指示を受け付ける。
判定部502は、受付部501により受け付けた指示に従って、ネットワークカメラ102の調整動作を実行し、調整動作の限界に達するかを判定することができる。
指示部503は、判定部502により調整動作の限界に達すると判定された場合には、調整指示に対応した動作をドローン101に行わせることができる。
次に図6を用いて、ネットワークカメラ102のズームイン動作における模式図の一例を説明する。
定点のネットワークカメラ102をズーム操作し、ネットワークカメラ102のズームイン動作のテレ端に達したら、ネットワークカメラ102と連動して飛行するドローン101が飛行してネットワークカメラ102では撮影できない部分を撮像装置(カメラ)103が撮影し、かつネットワークカメラ102の映像から、ドローン101の撮像装置103の映像に自動的に切り替わるものである。
図6の実施形態では、通常、ドローン101は、図6の(A)の位置に停止(待機)ており、ネットワークカメラ102は被写体を撮影しているものとする。そして、ネットワークカメラ102は、ユーザによる操作卓106の操作によるズームイン動作の指示に応じて動作する。そして、ネットワークカメラ102のテレ端に達しそうになると、図6の(B)に示す通り、ドローン101が被写体107に向かって飛行を開始する。被写体107に向かって飛行を開始する理由として、ネットワークカメラ102がテレ端に達した場合に、時間のズレがなくドローン101が撮像する映像を切り替えられるようにするためである。ネットワークカメラ102がテレ端に達すると、図6の(C)に示すように、ドローン101が被写体107を撮像する。
次に、図8と図9を用いて、ネットワークカメラ102がパン端、チルト端に達した場合に、ネットワークカメラ102からドローン101の映像に切り替わるイメージ図の一例について説明する。。
まず、図8について説明する。定点のネットワークカメラ102をチルト操作し、定点のネットワークカメラ102のチルト端に達したら、ネットワークカメラ102と連動して飛行するドローン101が背面飛行し、定点のネットワークカメラ102では撮影できないチルト端を越える部分をドローン101の撮像装置103が撮影する。このとき定点のネットワークカメラ102の映像から、ドローン101の撮像装置103の映像に自動的に切り替わるものである。
図10に示す処理を開始する前に、例えば図8の(A)に示すように、ネットワークカメラ102で飛行機が上空を飛行する際の映像を撮影する。図8の(A)は、チルト動作範囲のためネットワークカメラ102で撮影可能な被写体107をネットワークカメラ102で撮影している様子を示している。
そして、ネットワークカメラ102でチルトアップ撮影したい場合、ユーザによる操作で操作卓106のチルトレバーが操作される。操作卓106のチルトレバーが操作されるとネットワークカメラ102のチルト装置が駆動し、ネットワークカメラ102の撮影方向が上方向になる。
図8の(B)では、チルト端のためネットワークカメラ102による被写体107の撮影が限界となっている様子を示している。そして図8の(C)に示すように、ネットワークカメラ102がチルト端に達すると、ネットワークカメラ102は、チルト端以上はチルトアップできない。そのため、チルトアップ撮影ができないにも関わらず、操作卓106のチルトアップ操作が継続されている場合、ドローン101が背面飛行し、ドローン101の撮像装置103が撮影された映像に切り替える。
ここで図9について説明する。
図9は、パン端に達した場合に、ネットワークカメラ102からドローン101の映像に切り替わるイメージ図である。パン操作もチルト操作と同様で、定点のネットワークカメラ102をズーム操作し、定点のネットワークカメラ102のズームイン動作のパン端に達したら、ネットワークカメラ102と連動して飛行するドローン101が飛行して定点のネットワークカメラ102では撮影できないパン端を超える部分を撮像装置(カメラ)103が撮影し、定点のネットワークカメラ102の映像から、ドローン101の撮像装置103の映像に自動的に切り替わるものである。
具体的には、例えば、操作卓106のパンレバーがユーザにより操作されることで、ネットワークカメラ102を左右に動かし、被写体107を撮影することが出来るが、図9の(A)のように、パン端のためネットワークカメラ102で被写体107を撮影するのが限界になることがある。
そこで、図9の(B)に示すように、パン端のためネットワークカメラ102の撮影限界を超えた位置に被写体107が移動しているにも関わらず、操作卓106のパン操作が継続されている場合、ドローン101の撮像装置103にネットワークカメラ102の撮影限界を超えた位置の被写体107の撮影を行わせる。
図7を用いて、情報処理装置105のCPU(制御手段)が実行するズーム動作の制御処理手順を説明する。
図7は、情報処理装置105のCPU(制御手段)が実行する制御処理手順を示すフローチャートの一例を示す図である。
最初に、情報処理装置105は、操作卓106からの回線接続指令により電話回線を介して出先のネットワークカメラ102の制御回線が確立する。操作卓106、ネットワークカメラ102は屋内、屋外どちらに存在してもよい。
本実施形態では、ドローン101は内蔵バッテリを用いて飛行することを想定しており、飛行可能時間に限界があるため、ネットワークカメラ102が被写体107を撮像できている間は、ドローン101は飛行しないことで、バッテリを節約することができる。
ステップS701では、情報処理装置105は、ネットワークカメラ102のズームイン動作の指示を受け付けたか否かを判定する。
ステップS701は、本発明の受付手段の適用例であり、前記第一の撮像装置のパン、チルト、またはズームを調整する指示を受け付ける。
情報処理装置105は、ネットワークカメラ102のズームイン動作の指示を受け付けていないと判定した場合には(ステップS701:NO)、ステップS711に移行する。
情報処理装置105は、ネットワークカメラ102のズームイン動作の指示を受け付けたと判定した場合には(ステップS701:YES)、ステップS702に移行する。
そして、ステップS702では、情報処理装置105は、ネットワークカメラ102が、ズームイン動作でテレ端に達しそうか否かを判定する。例えば、テレ端が678mmの場合は、ズームレンズの焦点距離が578mmに達したら、テレ端に達しそうであると判定する。
情報処理装置105は、テレ端に達しそうであると判定した場合には(ステップS701:YES)、ステップS703に移行する。
情報処理装置105は、テレ端に達しそうでないと判定した場合には(ステップS701:NO)、ステップS702に移行する。
ステップS703では、情報処理装置105は、ドローン101に対して飛行開始を指示する。
そして、ステップS704では、情報処理装置105は、ネットワークカメラ102が、ズームイン動作でテレ端に達したか否かを判定する。例えば、テレ端が678mmの場合は、ズームレンズの焦点距離が678mmに達したらテレ端と判定する。
ステップS704は、本発明の判定手段の適用例であり、前記受付手段により受け付けたパン、チルト、またはズームを調整する指示に従って前記第一の撮像装置による調整動作を実行すると当該第一の撮像装置で実行可能な調整動作の限界に達するかを判定する。
情報処理装置105は、ネットワークカメラ102がズームイン動作でテレ端に達したと判定した場合には(ステップS704:YES)、ステップS705に移行する。
情報処理装置105は、ネットワークカメラ102がズームイン動作でテレ端に達していないと判定した場合には(ステップS704:NO)、処理を終了する。またフローには不図示だが、ドローン101に対して飛行開始を指示してから所定の時間が経過してもテレ端に達していない場合は、ドローン101を元の位置に戻すようにしてもよい。
ステップS705では、情報処理装置105は、ユーザによるズームイン操作を更に受け付けているか否かを判定する。
情報処理装置105は、ユーザによるズームイン操作を更に受け付けていると判定した場合には(ステップS705:YES)、ステップS706に移行する。
情報処理装置105は、ユーザによるズームイン操作を更に受け付けていない判定した場合には(ステップS705:NO)、ステップS708に移行する。
ステップS706では、情報処理装置105は、ネットワークカメラ102がズームイン動作の限界(テレ端)を超えているため、ドローン101の撮像装置103で撮影する映像に自動的に切り替える。切り替える被写体の特定方法の一例としては、ネットワークカメラ102では、パン(角度)情報、チルト(角度)情報、レンズのフォーカス(距離)情報が取得できるため、取得したパン情報、チルト情報、レンズのフォーカス情報とネットワークカメラ102の位置から、ネットワークカメラ102で撮影している範囲(画角)や被写体107を特定し、ドローン101の撮像装置103で撮影する映像に切り替える。なお、被写体の特定方法はステップS716、ステップS1006、ステップS1017等でも同様の方法で特定する。
ステップS707では、情報処理装置105は、ドローン101に搭載されたズームをテレ方向に駆動させ、撮影するように指示する。本実施例では、ドローン101にズームして撮影させるようにしたが、ズームをしないで撮影させてもよい(ドローン101を被写体に接近させてもよい)。
ステップS707は、本発明の指示手段の適用例であり、前記判定手段により前記第一の撮像装置の調整動作の限界に達すると判定された場合には、前記調整指示に対応した動作を前記無人飛行機に行わせる指示を前記無人飛行機に行う。
ステップS708では、情報処理装置105は、ドローン101を待機させる。
そして、ステップS709では、情報処理装置105は、ユーザによる操作卓106からネットワークカメラ102に対する操作がテレ方向とは逆方向の動作を受け付けているかを判定する。
情報処理装置105は、テレ方向とは逆方向に動作指示を受け付けている場合には(ステップS709:YES)、ステップS710に移行する。
情報処理装置105は、テレ方向とは逆方向に動作指示を受け付けていない場合には(ステップS709:NO)、ステップS701に移行する。なお、ステップS709からステップ701に移行した場合には、ステップS702の処理は行わなくてもよい。
ステップS710では、情報処理装置105は、ドローン101を、元の位置(元の位置とは、つまりステップS703にて飛行指示される前にいた位置)に戻るように指示をする。
なお、本実施形態では、ステップS708ではドローン101を待機させるとしたが、他の実施形態として、ステップS705で、情報処理装置105は、ユーザによるズームイン操作を更に受け付けていると判定されなかった場合には、ステップS708のようにドローン101を待機させる処理をさせず、ドローン101を元の位置に戻す処理を終了させてもよい。
このように、ネットワークカメラ102がズームイン動作を行い、ズームイン動作の限界であるテレ端に達したにも関わらず、更に、ズームイン動作の指示をユーザから受け付けた場合であっても、ドローン101が被写体107に近づき被写体107を撮影することで、あたかもズームイン動作で撮影された映像(ズームされた映像)を取得することができるようになる。
情報処理装置105は、ネットワークカメラ102のズームイン動作の指示を受け付けていないと判定すると(ステップS701:NO)、ネットワークカメラ102のズームアウト動作の指示を受け付けたか否かを判定する。
情報処理装置105は、ネットワークカメラ102のズームアウト動作の指示を受け付けていないと判定した場合には(ステップS711:NO)、ステップS724に移行する。
情報処理装置105は、ネットワークカメラ102のズームアウト動作の指示を受け付けたと判定した場合には(ステップS711:YES)、ステップS712に移行する。
そして、ステップS712では、情報処理装置105は、ネットワークカメラ102が、ズームアウト動作でワイド端に達しそうか否かを判定する。例えば、ワイド端が34mmの場合には、ズームレンズの焦点距離が24mmに達したら、ワイド端に達しそうと判定する。
情報処理装置105は、ワイド端に達しそうであると判定した場合には(ステップS712:YES)、ステップS713に移行する。
情報処理装置105は、ワイド端に達しそうであると判定されなかった場合には(ステップS712:NO)、ステップS712に移行する。
ステップS713では、情報処理装置105は、ドローン101に対して飛行開始を指示する。具体的には、ネットワークカメラ102よりもよりワイドに撮影できるように、ネットワークカメラ102の後方に向かってドローン101を飛行させ、ネットワークカメラ102と同じ方向を撮影するように指示する。
そして、ステップS714では、情報処理装置105は、ネットワークカメラ102が、ズームアウト動作でワイド端に達したか否かを判定する。例えば、ワイド端が34mmの場合は、ズームレンズの焦点距離が34mmに達したらワイド端と判定する。
情報処理装置105は、ネットワークカメラ102がズームアウト動作でワイド端に達したと判定した場合には(ステップS714:YES)、ステップS715に移行する。
情報処理装置105は、ネットワークカメラ102がズームアウト動作でワイド端に達していないと判定した場合には(ステップS714:NO)、処理を終了する。またフローには不図示だが、所定の時間たってもワイド端に達していない場合は、ドローン101を元の位置に戻すようにしてもよい。
ステップS715では、情報処理装置105は、ユーザによるズームアウト操作を更に受け付けているか否かを判定する。
情報処理装置105は、ユーザによるズームアウト操作を更に受け付けていると判定した場合には(ステップS715:YES)、ステップS716に移行する。
情報処理装置105は、ユーザによるズームアウト操作を更に受け付けていると判定されなかった場合には(ステップS715:NO)、ステップS718に移行する。
ステップS716では、情報処理装置105は、ネットワークカメラ102がズームイン動作の限界(ワイド端)を超えているため、ドローン101の撮像装置103で撮影する映像に自動的に切り替える。
ステップS717では、情報処理装置105は、ドローン101に搭載されたズームをワイド方向に駆動させ、撮影するように指示する。本実施例では、ドローン101をズームして撮影するようにしたが、ズームをしないで撮影してもよい。
ステップS718では、情報処理装置105は、ドローン101を待機させる。
そして、ステップS719では、情報処理装置105は、ユーザによる操作卓106からの操作がワイド方向とは逆方向の動作を受け付けているかを判定する。
情報処理装置105は、ワイド方向とは逆方向に動作指示を受け付けている場合には(ステップS719:YES)、ステップS720に移行する。
情報処理装置105は、ワイド方向とは逆方向に動作指示を受け付けていない場合には(ステップS719:NO)、ステップS701に移行する。なお、ステップS720からステップ701に移行した場合には、ステップS712の処理は行わなくてもよい。
ステップS720では、情報処理装置105は、ドローン101を、元の位置(元の位置とは、つまりステップS713にて飛行指示される前にいた位置)に戻るように指示をする。
なお、本実施例では、ステップS718ではドローン101を待機させるとしたが、他の実施例として、ステップS715では、情報処理装置105は、ユーザによるズームアウト操作を更に受け付けていると判定されなかった場合には、ステップS718のようにドローン101を待機させる処理をさせず、ドローンを元の位置に戻す処理を終了させてもよい。
このように、ネットワークカメラ102がズームアウト動作を行い、ズームアウト作の限界であるワイド端に達したにも関わらず、更に、ズームアウト動作の指示をユーザから受け付けた場合であっても、ドローン101が被写体107から離れ被写体107を撮影することで、あたかもズームアウト動作で撮影された映像(ズームアウトされた映像)を取得することができるようになる。
ステップS722では、情報処理装置105は、ネットワークカメラ102のズームアウトの動作を受け付けていないと判定されると、ネットワークカメラ102のパン動作、またはネットワークカメラ102のチルト動作の指示に従った処理を行う。ステップS724の詳細については、図10にて後述する。
図10は、図7のステップS723より呼び出されるネットワークカメラ102のパン動作、またはネットワークカメラ102のチルト動作の指示を受け付けた場合の詳細フローである。
ステップS1001では、情報処理装置105は、ネットワークカメラ102のパン動作の指示を受け付けたか否かを判定する。
情報処理装置105は、ネットワークカメラ102のパン動作の指示を受け付けていないと判定した場合には(ステップS1001:NO)、ステップS1011に移行する。
情報処理装置105は、ネットワークカメラ102のパン動作の指示を受け付けたと判定した場合には(ステップS1001:YES)、ステップS1002に移行する。
そして、ステップS1002では、情報処理装置105は、ネットワークカメラ102が、パン動作でパン端(パン動作の限界)に達しそうか否かを判定する。例えば、パン端の角度が180°の場合は、ネットワークカメラ102の角度が160°に達したら、パン端に達しそうと判定する。
情報処理装置105は、パン端に達しそうと判定した場合には(ステップS1002:YES)、ステップS1003に移行する。
情報処理装置105は、パン端に達しそうと判定されなかった場合には(ステップS1001:NO)、ステップS1002に移行する。
ステップS1003では、情報処理装置105は、ドローン101の飛行開始を指示する(具体的には、例えば、図9の場合には(B)の方向に飛行するように指示する)。
そして、ステップS1004では、情報処理装置105は、ネットワークカメラ102が、パン動作でパン端に達したか否かを判定する。例えば、パン端の角度が180°の場合は、ネットワークカメラ102の角度が180°に達したらパン端と判定する。
情報処理装置105は、ネットワークカメラ102がパン動作でパン端に達したと判定した場合には(ステップS1004:YES)、ステップS1005に移行する。
情報処理装置105は、ネットワークカメラ102がパン動作でパン端に達していないと判定した場合には(ステップS1004:NO)、処理を終了する。またフローには不図示だが、所定の時間たってもパン端に達していない場合は、ドローンを元の位置に戻すようにしてもよい。
ステップS1005では、情報処理装置105は、ユーザによる操作卓106からのパン操作を更に受け付けているか否かを判定する。
情報処理装置105は、ユーザによる操作卓106からのパン操作を更に受け付けていると判定した場合には(ステップS1005:YES)、ステップS1006に移行する。
情報処理装置105は、ユーザによる操作卓106からのパン操作を更に受け付けていると判定されなかった場合には(ステップS1005:NO)、ステップS1008に移行する。
ステップS1006では、情報処理装置105は、ネットワークカメラ102がパン動作の限界(パン端)を超えているため、ドローン101の撮像装置103で撮影する映像に自動的に切り替える。
ステップS1007では、情報処理装置105は、ドローン101をパン方向に駆動させ、撮影するように指示する。
ステップS1008では、情報処理装置105は、ドローン101を待機させる。
そして、ステップS1009では、情報処理装置105は、ユーザによる操作卓106からの動作がパン方向とは逆方向の動作を受け付けているかを判定する。
情報処理装置105は、パン方向とは逆方向に動作指示を受け付けている場合には(ステップS1009:YES)、ステップS1010に移行する。
情報処理装置105は、パン方向とは逆方向に動作指示を受け付けていない場合には(ステップS1009:NO)、ステップS701に移行する。なお、ステップS1010からステップ701に移行した場合には、ステップS1002の処理は行わなくてもよい。
ステップS1010では、情報処理装置105は、ドローン101を、元の位置(元の位置とは、つまりステップS1003にて飛行指示される前にいた位置)に戻るように指示をする。
なお、本実施形態では、ステップS1008ではドローン101を待機させるとしたが、他の実施形態として、ステップS1005では、情報処理装置105は、ユーザによるパン操作を更に受け付けていると判定されなかった場合には、ステップS1008のようにドローン101を待機させる処理をさせず、ドローン101を元の位置に戻す処理を終了させてもよい。
このように、ネットワークカメラ102がパン動作を行い、パン動作の限界であるパン端に達したにも関わらず、更に、パン動作の指示をユーザから受け付けた場合であっても、ドローン101が被写体107に近づき被写体107を撮影することで、あたかもパン動作で撮影された映像(パンされた映像)を取得することができるようになる。
情報処理装置105は、ネットワークカメラ102のパン動作の指示を受け付けていないと判定されると(ステップS1001:NO)、ステップS1011において、ネットワークカメラ102のチルト動作の指示を受け付けたか否かを判定する。
情報処理装置105は、ネットワークカメラ102のチルト動作の指示を受け付けていないと判定した場合には(ステップS1011:NO)、ステップS701に移行する。
情報処理装置105は、ネットワークカメラ102のチルト動作の指示を受け付けたと判定した場合には(ステップS1011:YES)、ステップS1012に移行する。
そして、ステップS1012では、情報処理装置105は、ネットワークカメラ102が、チルト動作でチルト端に達しそうであるか否かを判定する。例えば、チルト端の角度が220°の場合は、ネットワークカメラ102の角度が200°に達したら、チルト端に達しそうと判定する。
情報処理装置105は、チルト端に達しそうであると判定した場合には(ステップS1012:YES)、ステップS1013に移行する。
情報処理装置105は、チルト端に達しそうであると判定されなかった場合には(ステップS1012:NO)、ステップS1012に移行する。
ステップS1013では、情報処理装置105は、ドローン101の飛行開始を指示する。
そして、ステップS1014では、情報処理装置105は、ネットワークカメラ102が、チルト動作でチルト端に達したか否かを判定する。例えば、チルト端の角度が220°の場合は、ネットワークカメラ102の角度が220°に達したら、チルト端と判定する。
情報処理装置105は、ネットワークカメラ102がチルト動作でチルト端に達したと判定した場合には(ステップS1014:YES)、ステップS715に移行する。
情報処理装置105は、ネットワークカメラ102がチルト動作でチルト端に達していないと判定した場合には(ステップS1014:NO)、処理を終了する。
ステップS1015では、情報処理装置105は、ドローン101に背面飛行し、被写体107を撮影する指示をする。
ステップS1016では、情報処理装置105は、ユーザによる操作卓106からのチルト操作を更に受け付けているか否かを判定する。
情報処理装置105は、ユーザによる操作卓106からのチルト操作を更に受け付けていると判定した場合には(ステップS1016:YES)、ステップS1017に移行する。
情報処理装置105は、ユーザによる操作卓106からのチルト操作を更に受け付けていると判定されなかった場合には(ステップS1016:NO)、ステップS1019に移行する。
ステップS1017では、情報処理装置105は、ネットワークカメラ102がチルト動作の限界(チルト端)を超えているため、ドローン101の撮像装置103で撮影する映像に自動的に切り替える。
ステップS1018では、情報処理装置105は、ドローン101にチルトアップ撮影するように指示する。
ステップS1019では、情報処理装置105は、ドローン101を待機させる。
そして、ステップS1020では、情報処理装置105は、ユーザによる操作卓106からの動作がチルト方向とは逆方向の動作を受け付けているかを判定する。
情報処理装置105は、チルト方向とは逆方向に動作指示を受け付けている場合には(ステップS1020:YES)、ステップS1021に移行する。
情報処理装置105は、チルト方向とは逆方向に動作指示を受け付けていない場合には(ステップS1020:NO)、ステップS701に移行する。なお、ステップS1021からステップ701に移行した場合には、ステップS1012の処理は行わなくてもよい。
ステップS1021では、情報処理装置105は、ドローン101を、元の位置(元の位置とは、つまりステップS1013にて飛行指示される前にいた位置)に戻るように指示をする。
なお、ステップS1016では、情報処理装置105は、ユーザによるチルト操作を更に受け付けていると判定されなかった場合には、ステップS1019のようにドローン101を待機させる処理をさせず、ドローン101を元の位置に戻す処理を終了させてもよい。
このように、ネットワークカメラ102がチルト動作を行い、チルト動作の限界であるチルト端に達したにも関わらず、更に、チルト動作の指示をユーザから受け付けても、ドローン101が被写体107に近づき被写体107を撮影することで、あたかもチルト動作で撮影された映像(チルトされた映像)を取得することができるようになる。
本発明によれば、ネットワークカメラが調整可能なパン、チルト、またはズームの範囲外を撮影することができる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現(実行可能と)するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。