以下、添付の図面に沿って本発明の実施の形態を説明する。
(第1の実施の形態)
図1は、複数のカメラ装置が接続するコンピュータ・システム端末の概略構成ブロック図である。図1に示す構成の1又は複数のコンピュータ及びこれに類似する構成の1又は複数のコンピュータが、コンピュータ・ネットワークを介して相互に接続してカメラ制御システム全体を構成している。
図1において、10(10−1,10−2,10−3,・・・)は、パン,チルト、ズーム、焦点位置、逆光補正などを調節可能なビデオカメラであり、12(12−1,12−2,12−3,・・・)は、ビデオカメラ10(10−1,10−2,10−3,・・・)のパン、チルト、ズーム、焦点調節及び絞りなどを外部制御信号に基づいて制御するカメラ制御回路であり、14は、ビデオカメラ10の制御およびその出力映像を取り込むかどうかを選択するカメラ入力選択装置である。その制御信号線として、例えば、RS−232C等があるが、これには限定されない。
20はカメラ入力選択装置14を制御し、当該カメラ入力選択装置14を介して所望のカメラ制御回路12に制御コマンドを送ることにより、カメラ制御回路12に付随するビデオカメラ10を制御するコンピュータ・システムからなるカメラ操作装置である。22は全体を制御するCPU、24は主記憶部、26はカメラを自動制御する際に、その制御するカメラの撮像方向の軌跡あるいは制御する撮像方向の位置などを記憶する二次記憶装置(例えば、ハード・ディスク装置)、28はポインティング・デバイスとしてのマウス、30はキーボードである。
32はカメラ入力選択装置14を接続し、カメラ制御コマンドなどカメラ入力選択装置14に供給するI/Oポート、34はカメラ入力選択装置14により選択されたビデオカメラ10の出力映像信号を取り込むと共に、ビットマップ・ディスプレイ35に種々の映像を表示するビデオ・ボード、36は、装置20をコンピュータ・ネットワーク又は通信回線網に接続するネットワーク・インターフェース、38は、CPU22などの各デバイスを相互に接続するシステム・バスである。ネットワーク・インタフェース36により、カメラ操作装置20にネットワークを経由して遠隔地からカメラ制御信号を送り、カメラ10を制御させることができる。
タイマー39は、CPU22の各動作処理を実行した時間を計時したり、カメラの制御時間を計時したりする。また、カメラ10のそれぞれに対応して、制御指令が受信されてからの時間を計時する。また、カメラサーバ(あるいはカメラサーバに接続される複数のカメラ)に対する制御権が解除されてからの時間を計時することが可能である。
カメラ入力選択装置14は、複数のカメラ制御回路12に繋がる制御信号線及び映像出力のうちの1つを選択し、選択されたビデオ出力をビデオ・ボード34に供給すると共に、選択された制御信号線をI/Oポート32に論理的に接続する。ビデオ信号の形式としては、例えば、輝度色差分離式のNTSC信号がある。ビデオ・ボード34は、カメラ入力選択装置14によって選択されたビデオ出力を取り込む。取り込まれたビデオ信号に基づいて、ビットマップ・ディスプレイ35の所定ウインドウに動画表示される。
また、二次記憶装置26には、カメラ10に関する種々の情報、例えば、カメラ位置情報データ及びカメラ軌跡データ等を記憶する。これらの情報の詳細は後述する。
1台のカメラ10しか接続しない場合には、カメラ入力選択装置14は不要であり、I/Oポート32にカメラ制御回路12を直接接続すればよい。また、映像を送信しない端末の場合には、カメラ10、カメラ制御回路12及びカメラ入力選択装置14が不要となる。
図1に示す装置は、例えば、図2に示すようにネットワークに接続される。端末Aは図1に示す装置構成と同じ構成を具備し、端末Bは、1台のカメラのみが接続するので、そのカメラ制御回路をI/Oポートに直結した構成になっており、端末Cは、カメラを1台も接続していない構成になっている。一般的に、このような種々の構成の端末A,B,Cが、一つのネットワークに混在することになる。なお、本実施の形態で用いるネットワークは、ディジタル動画データ及びカメラ制御信号を送信するのに十分な伝送帯域幅を有するLAN又はWANを想定している。
ビデオ・ボード34は、先に説明したように、ビデオ・キャプチャ機能を具備し、取り込んだビデオ・データをビットマップ・ディスプレイ35に供給して映像表示させるだけでなく、バス38を介してCPU22にも供給する。
CPU22は、ビデオ・データをパケット化し、ネットワーク・インタフェース36を介してネットワークに出力する。ネットワーク・インタフェース36からは、カメラ操作命令およびカメラ切替命令なども、パケット化されてネットワークに送出される。更には、システム全体に関する情報もパケット化されて、ネットワークに送出される。データの内容の送信は、特定された転送先に向けて送信される場合と、全端末に送信される場合とが考えられる。
また、受信に関しても同様である。即ち、パケット化されたビデオ・データ並びにカメラ操作命令及びカメラ切替え命令を受信すると、各装置A,B,Cは、受信したビデオ・データを内部でのキャプチャ・データと同様に扱い、受信したカメラ操作命令およびカメラ切替え命令を内部の同様の命令と同様に扱う。システム全体に関する情報(カメラの動作状況あるいは通信状況など)は、後述するユーザ・インターフェースのシステム表示の更新に用いられる。
図3は、本実施の形態におけるソフトウエア構成を示したものである。図3では、カメラ操作に関して、カメラ装置が直接接続する端末(カメラサーバ50)にインストールするソフトウエアと、そのカメラ装置を遠隔操作しようとする端末(カメラクライアント52、54)にインストールするソフトウエアを分けて図示してある。カメラ装置を接続し、さらにネットワーク上のカメラを制御しようとする場合には、1つの端末にどちらのソフトウエアもインストールされることになる。
また、図3では、端末(ここではパーソナルコンピュータ、ワークステーションなど)50,52,54がネットワーク57に接続されている。さらに、端末50には、カメラ10であるカメラ装置58が接続し、端末52,54には、それぞれモニタ(ビットマップ・ディスプレイ)60,62が接続しているとする。
端末50(カメラサーバ)には、カメラ58によって得られた画像情報(動画)をネットワーク57を介して他の端末に送信する映像送受信ソフトウエア64と、接続されているカメラ58の制御権を管理し、他の端末52,54からのカメラ制御信号に応じてカメラ装置58を制御するカメラ制御サーバ(ソフトウエア)66が格納されている。
端末52,54には、端末50からの画像(動画)を受信してモニタ60,62に表示する映像送受信ソフトウエア70と、カメラ(ここでは、カメラ58)の状態を表示すると共に、操作可能なカメラを遠隔制御するためのカメラ表示制御パネルを表示し、その操作を処理するカメラ制御クライアント(ソフトウエア)72とが格納されている。
映像送受信ソフトウエア64,70は映像送信と映像受信の両方の機能を具備している。一般に、ソフトウエアは、単一のプログラム又は一群のプログラム・モジュールからなる。図2に示す端末A,Cは、図3に示す端末50と同52又は同54と同一のものであり、図2に示す端末Bは、端末52又は同54からなるものと同一である。
図4および図5は、ビットマップディスプレイ1−21上に表示されるユーザインタフェース画面を示している。図4は、ビデオカメラが配置されている地図ウインドウ140を表示している。142−1〜142−7は配置されているビデオを示すカメラアイコンである。このカメラアイコン142−1〜142−7のいずれかをカーソル2−29を用いてクリックすると、図4に示す画面が表示され、映像ウインドウにクリックしたカメラアイコンに対応するビデオカメラの映像が表示される。
図5において、2−28a、2−28b、2−28c、2−28dは、それぞれカメラ58を上下左右に撮像方向の制御命令を生成するボタンであり、これらの撮像方向の制御命令の生成は、2−21、2−22のスクロールバー上に表示される指標2−212、2−221にカーソル2−29を移動させ、ドラッグ操作を実行することによっても可能である。スクロールバー2−21、2−22はそれぞれ、チルト方向、パン方向の撮像方向の制御命令の発行が可能である。
またスクロールバー2−23は、ズーム倍率の変更を行うためのスクロールバーであり、マウス28を用いてドラッグ操作することでカメラ制御命令が生成される。このように上述したスクロールバーあるいはボタンなどは制御指令生成手段として機能する。
さらに、自動制御ボタン2−30は、映像ウインドウ2−1に表示される複数のビデオカメラを切り換えて自動制御を実行するボタンである。
これら、発行された命令は、ネットワーク1−0を介してカメラ管理サーバ56に出力され、さらにカメラサーバ装置1−1に出力される。
なお、カメラ58のパン・チルト角度は、ある特定の初期位置とレンズ中心軸の角度で与えるものとする。特定の初期位置とは、例えば、物理的なパン・チルト可能な範囲のちょうど中間の方向に設定されているものとする。
ユーザはカメラ58を制御したい場合、制御ONボタン2−24をクリックしてカメラサーバに接続されるビデオカメラの制御権獲得要求を発行しカメラ制御サーバ66へ出力する。
カメラサーバ50に接続されるビデオカメラの制御権が獲得できると、カメラ制御ウインドウ2−2上の各種ボタンの表示形態が変化し、カメラの各種操作が可能となる。なお、表示メッセージ2−26は、他のカメラクライアント装置が制御しているかまたはビデオカメラが故障しているなどの理由によってカメラ58が制御不可能な場合に「制御不可」の表示が点灯する。
制御権が獲得出来なければ、制御ONボタン2−24を除く各種ボタンなどの操作はできない。また、カメラ制御OFFボタン2−25をクリックすると、カメラ制御権解放命令が発行され、カメラ制御サーバ66に出力されると、カメラ制御サーバ66によってそのカメラクライアントのカメラ制御操作は解除される。
また、接続OFFボタン2−27をクリックすると、映像ウインドウ2−1に表示されているカメラ58との通信が終了し、図4の地図ウインドウの表示画面に戻る。
図6は、本実施の形態におけるカメラサーバの動作処理を示すフローチャートである。なお、この制御を実行する制御プログラムは二次記憶装置26に記憶されており、実行時に主記憶部24にロードされ、CPU22によって実行されるものとする。尚、本実施の形態においては一つのカメラサーバ50に一つのカメラ58が接続するものとする。
図6において、まず、s101で、カメラ制御権がどのカメラクライアントからも獲得されていない場合、s106において、アクセス者がいるかどうか(映像データの出力先のクライアントが存在するかどうか)判断する。アクセス者がいない場合、ビデオカメラの制御を停止させたままにしておく。
一方、s106においてアクセス者がいる場合、s107に進み、カメラ制御権が解放されてからの時間をタイマー39によって計時する。所定時間が計時された場合、s104において、二次記憶装置26から自動制御の際のビデオカメラ10の軌跡及びその自動制御の際のビデオカメラ10の撮像方向に対応するズーム値を主記憶部24に読み出し、その情報に基づいてビデオカメラ10の自動運転の制御を実行する。s107においては、所定時間が0つまりカメラ制御権が解除されてすぐに自動運転の制御を実行してもよい。
また、s101において、制御権が獲得されている場合、s102において、制御指令が受信されているかどうか判断する。制御指令が受信されている場合、s105に進み、その指令に基づいてビデオカメラ10の撮像方向あるいはズームなどの制御を実行する。s103において、また、撮像方向あるいはズームなどの制御指令が受信されてからタイマー39の計時によって所定時間が経過したと判断した場合、s104において、上述したビデオカメラ10の自動運転の制御を実行する。
以上のように、本実施の形態においては、制御権を有しているカメラクライアントが制御権を有しているのにもかかわらず、カメラの制御を実行していない場合、最後にカメラ制御要求をカメラサーバが受け取ってから所定時間が経過したときに、ビデオカメラの自動制御モードに入るので、制御権を有していないアクセス者により、ビデオカメラが設置される周辺を確認することができ、臨場感のある映像を提供することができる。
また、カメラ制御権が解除された場合においてもビデオカメラの自動制御モードに入るので、ビデオカメラの映像を受信しているカメラクライアントに対して違和感なく臨場感のある映像を提供することができる。
また、制御権を獲得しているカメラクライアントおよびその他のアクセスしているカメラクライアントがいない場合は、自動運転の制御を実行していないので電力消費の削減を行うことができる。
上記の実施の形態においては、二次記憶装置26にビデオカメラ10の自動運転を実行する軌跡を記憶しておいたが、ある所定の撮像方向とその撮像方向に制御されたときのズーム倍率などを二次記憶装置26に記憶し、その記憶された情報を読みだし、その情報に基づいて、ビデオカメラの撮像方向とそのときのズーム倍率などを自動制御することも本実施の形態の構成及び動作処理において可能である。このような場合、ビデオカメラが設置される場所の最も撮影したい方向に制御することができる。また、下記に記す第2の実施の形態〜第7の実施の形態についても同様である。
また、その記憶する所定の撮像方向が、ビデオカメラの制御可能な撮像範囲の中央位置であってもよい。
本実施の形態においては、ビデオカメラの撮像方向及びズームの自動制御を実行したが、フォーカス位置(被写体距離)、逆光補正のON/OFFなどに関する自動制御を実行してもよい。
また、上述したカメラ制御システムにおいては、カメラサーバ50に接続されるビデオカメラを一台としたが、図1のように、カメラサーバにカメラがカメラ入力選択装置14を介して複数台設置され、そのそれぞれに対してカメラ制御権がカメラクライアント54に与えられる場合においても本発明の目的は達成される。このとき、カメラサーバ50に接続される複数のカメラのそれぞれに対して設置番号を付与する。そして、カメラクライアント54からのカメラ制御権獲得指令あるいはカメラ制御指令などの情報にカメラの設置番号の情報を付加することによってカメラ制御サーバ66は、どのカメラに対する情報を送受信しているのかを把握することができ、本発明の動作処理を実行することができる。
(第2の実施の形態)
本実施の形態は、1つのカメラサーバに複数のビデオカメラが接続されており、そのカメラサーバに接続された複数のカメラの制御権を一つのカメラクライアントに付与する実施の形態である。本実施の形態のカメラ制御システムの構成は、図1〜図3に示したものと同一であるのでその説明は省略する。
図1の構成において、カメラ入力選択装置14を介してカメラサーバ50に接続された複数のカメラ(例えば、カメラA,B,Cとする)の映像データを同時に出力する場合、カメラ入力選択装置14によるカメラA,B,Cの切り換えを時分割的に出力するモジュール、あるいはカメラA,B,Cそれぞれ専用の送信モジュールなどを映像送受信ソフトウエア64に組み込めばよい。
図10及び図11は、カメラクライアント側のビットマップディスプレイ35上に表示されるウインドウの一例を示したものである。
図10において、地図ウインドウ300は、第1の実施の形態の地図ウインドウ140と同様のものであり、地図ウインドウ上にはカメラの位置を示すカメラアイコン(Camera1〜Camera5のアイコン)が表示されている。尚、本実施の形態においては、一つの地図上に表示されている複数のカメラアイコンに対応する複数のカメラは一つのカメラサーバに接続されているものとする。
また、301は、地図リストウインドウであり、地図リストウインドウにあげられている名称をカーソル2−29を移動させて一回クリックすると、地図表示ウインドウ300上にクリックした名称の地図が表示される(図10の場合、「office3」が地図ウインドウ300上に表示されている。
さらに、二回連続してクリックすると、表示画像が図11に示すような形態に変化し、管理サーバ56を介して、カメラサーバに接続される複数のカメラの映像(図11においては、「office3」のカメラサーバに接続されるCamera1〜Camera5の映像)がそれぞれ映像表示ウインドウ302a〜302eに表示される。
また、図11に表示されるカメラ制御ウインドウ2−2は、カメラクライアントがカメラサーバに接続されるカメラの制御権を獲得したい場合、制御ONボタン2−24をクリックするなど、カメラサーバにビデオカメラが複数接続されていることによってカメラ制御権が複数のビデオカメラにわたって制御可能であるほかは、図5において説明したものと同一であるので、その説明は省略する。
図11において、カメラサーバに接続される複数のビデオカメラの制御権が獲得され、映像表示ウインドウ302a〜302eの中から制御したいカメラを選択する場合、カーソル2−29を移動させて制御したい映像が表示されている映像表示ウインドウ(図11の場合、302c)を選択する(一回クリックする)。
すると、制御したいカメラの映像表示ウインドウの枠が太く表示される(図11においてはCamera3の映像表示ウインドウ302c)。そしてカメラクライアントからカメラ制御サーバ66に対して、カメラサーバに接続される複数のビデオカメラのうち、制御されるビデオカメラの情報(設置番号)をカメラ制御サーバ66に出力する。カメラ制御サーバ66は、その情報を認識してビデオカメラの制御が可能となる。ビデオカメラの制御は、制御指令とともに制御されるビデオカメラの情報(設置番号)付加することによって行われる。
図12は、本実施の形態のカメラサーバ50の動作処理を実行するフローチャートである。なお、この制御を実行する制御プログラムは二次記憶装置26に記憶されており、実行時に主記憶部24にロードされ、CPU22によって実行されるものとする。図12は、「office3」のカメラサーバに接続される5つのビデオカメラ(Camera1〜Camera5)について説明するが、一般的に複数のビデオカメラが接続されるカメラサーバに適用することができる。
図12において、まず、s301で、カメラサーバに接続される複数のビデオカメラの制御権がどのカメラクライアントからも獲得されていない場合、s306において、アクセス者がいるかどうか(映像データの出力先のクライアントが存在するかどうか)判断する。アクセス者がいない場合、s310においてビデオカメラを停止させたままにしておく。
一方、アクセス者がいる場合、s307に進み、カメラサーバに接続される複数のビデオカメラ制御権が解放されてからの時間が所定時間経過した場合、s308に進み、カメラサーバに接続される複数のビデオカメラのそれぞれに対応して予め二次記憶装置26に記憶されたビデオカメラの軌跡及びその自動制御の際のビデオカメラの撮像方向に対応するズーム値に関する情報を読み出し、全てのビデオカメラ(Camera1〜Camera5)について自動制御を実行させる。
また、s301において、制御権が獲得されている場合、s302において、制御指令が受信されているかどうか判断する。制御指令が受信されている場合、s302a〜s302eにおいて、その制御指令に付加されたビデオカメラの設置番号に基づいてどのビデオカメラの制御指令であるかを認識する。
s302a〜s302eにおいて、どのビデオカメラに対する制御指令であるかを判別した後、s305a〜s305eにおいて、その判別されたビデオカメラに対して撮像方向あるいはズームなどの制御をその制御指令基づいて実行する。s309a〜s309eにおいて、制御指令の受信に応じて、制御が実行されるビデオカメラ(例えば、Camera3)に対してタイマー39による時間の計測を開始する。
一方、s302において、ビデオカメラの制御指令が受信されていない場合、s309a〜s309eにおいて計測された時間(ビデオカメラの制御指令が受信されていない時間)がCamera1〜Camera5のそれぞれについて所定時間経過されたかどうかを判断する(s303a〜s303e)。
s303a〜s303eにおいて、いずれかのビデオカメラが所定時間経過したと判断された場合、s304a〜s304eに進み、2次記憶装置26から予め記憶された自動制御情報(自動制御を実行する際のビデオカメラの撮像方向の軌跡及びズーム倍率に関する情報)を基づいてビデオカメラの自動制御を実行する。例えば、Camera2に対する制御指令が所定時間受信されなかったと303bにおいて判断された場合、s304cにおいて、Camera2の自動制御を実行することとなる。なお、s310a〜s310dは、ビデオカメラが自動制御中であった場合に次のビデオカメラの所定時間の経過を判別している。
以上のように、一つのカメラサーバに複数のビデオカメラが接続され、そのカメラサーバに接続された複数のカメラの制御権を一つのカメラクライアントに付与する場合において、カメラサーバは、制御権を有しているカメラクライアントが一つのビデオカメラを制御しているときに、他の制御されていないビデオカメラに対して制御指令を受信してから所定時間経過した後に自動制御モードに入るので、そのカメラサーバにアクセスしている(映像を受信している)カメラクライアントが存在する場合に、そのアクセスしているカメラクライアントは、制御されていないビデオカメラが設置される周辺を確認することができ、臨場感のある映像を提供することができる。
(第3の実施の形態)
本実施の形態は、一つのカメラサーバに複数のビデオカメラが接続された場合の図5に示したような受信されたビデオカメラの映像を大画面表示可能な形態である。
本実施の形態の目的はカメラサーバ(に接続される複数のビデオカメラ)の制御権がどのカメラクライアントにおいても獲得されていない場合、あるいはカメラサーバ(に接続される複数のビデオカメラ)の制御権が他のカメラクライアントによって獲得されており、そのカメラサーバに接続される全てのビデオカメラのいずれに対してもビデオカメラの撮像方向あるいはズーム制御などの制御指令が所定時間受信されていない場合、カメラの切換えをしながら自動制御を実行する。
図10は第2の実施の形態と同様のカメラクライアント側の表示画面であるが、本実施の形態においては地図ウインドウ上のカメラアイコン(図10においてはCamera1〜Camera5)のいずれかを連続して二回クリックする。すると、カメラクライアントから映像情報の獲得要求(図10の場合、例えば「office3」のCamera3の映像情報の獲得要求)を映像送受信ソフトウエア64に出力する。
映像送受信ソフトウエア64は、その映像獲得要求に応じたビデオカメラの映像の出力を行う。このようにしてカメラサーバから得られたあるビデオカメラの映像を映像ウインドウ2−1に表示する。
図13は、本実施の形態のカメラサーバ50側の動作処理フローチャートである。なお、この制御を実行する制御プログラムは二次記憶装置26に記憶されており、また、図13において示した符号が図12において示した符号と同一のものは、図12に示した動作処理を行うので、その説明は省略する。
図13のs308aにおいて、カメラサーバ50に対してどのカメラクライアントも制御権を獲得していないが、アクセス(カメラサーバ50からの映像の受信)しているものが存在する場合には、2次記憶装置によって予め記憶されたビデオカメラの撮像方向の軌跡、その撮像方向に応じたズーム値、ビデオカメラから出力される映像信号の切換えの順番などの情報を呼び出し、タイマー39の計時に基づいて、アクセスしているカメラクライアントに対する複数のビデオカメラの映像信号の出力を切換える。
また、s311において、あるカメラクライアントによって制御権が獲得されているのにもかかわらず、カメラサーバ50に接続される全てのビデオカメラに対する制御指令が所定時間受信されていないため、全てのビデオカメラが自動制御をしていると判断すると、s308aと同様に、2次記憶装置26から予め記憶されたビデオカメラの撮像方向の軌跡、その撮像方向に応じたズーム値、ビデオカメラから出力される映像信号の切換えの順番などの情報を呼び出し、タイマー39の計時に基づいて、アクセスしているカメラクライアントに対する複数のビデオカメラの映像信号の出力を切換える。
以上のように、カメラサーバに接続される複数のビデオカメラの制御権がどのカメラクライアントによっても有されていない場合、あるいはカメラサーバに接続される複数のビデオカメラの制御権が他のカメラクライアントによって獲得されているにもかかわらず、接続される全てのビデオカメラにおいても制御指令が所定時間受信されない場合、カメラから出力される映像信号を所定時間ごとに切り換えてアクセスしているカメラサーバに送信することができるので、アクセスしているカメラサーバに対して、カメラサーバに接続される全てのビデオカメラの映像を容易に確認することができ、臨場感のあるカメラの映像を提供することができる。
本実施の形態においては、接続されるカメラを切り換えて自動制御を実行していたが、予め自動制御する代表的なカメラを指定しておき、その指定したカメラのみを自動制御して得られた映像データのみを出力してもよい。このとき、図13のフローチャートのs312の動作処理において、予め指定したカメラの自動制御を実行すると置き換えればこのような動作処理を実行することができる。
(第4の実施の形態)
本実施の形態においては、第1〜第3の実施の形態に相当する撮像方向の自動制御をアクセス頻度の高い撮像方向及びズーム値に制御する実施の形態である。なお、以下の説明においてはその簡略化のため、一つのカメラサーバに一台のカメラサーバが接続されているものとする。
本実施の形態においては、ビデオカメラ10の制御可能な撮像範囲及びズーム値を複数の範囲に分割し、その複数の範囲のそれぞれにおいて、クライアントの制御指令に基づいて制御されたビデオカメラの撮像方向及びズーム値に該当している時間を計測し、その合計が最も多い撮像方向及びズーム値にビデオカメラを自動制御する。
図7は、本実施の形態におけるカメラサーバの動作処理を示すフローチャートである。なお、この制御を実行する制御プログラムは二次記憶装置26に記憶されており、実行時に主記憶部24にロードされ、CPU22によって実行されるものとする。
s105において、制御権を有しているカメラクライアントから制御指令を受信すると、その制御指令に基づいてビデオカメラ10の制御を実行する。s105aにおいて、分割された複数の撮像方向及びズーム範囲のどの撮像方向の範囲に現在ビデオカメラが位置しているかを調べ、その位置している撮像範囲及びズーム範囲におけるビデオカメラの制御時間を計測して主記憶部24に記憶しておく。
そして、s106において、自動制御が実行される場合、複数の範囲のうち、それぞれの範囲におけるビデオカメラの制御時間の合計が最も多い範囲にビデオカメラ10を制御する。
第4の実施の形態において、上述した動作処理のほかは第1の実施の形態と同様であるのでその他の説明は省略する。
このように、第4の実施の形態においては制御される撮像方向の最も頻度の高いポジションに撮像方向を制御できるので、自動制御を行う際においてカメラクライアントに人気の高い撮像方向を制御することができる。
なお、第1の実施の形態〜第4の実施の形態においては、ビデオカメラの制御権を獲得しているカメラクライアント以外にそのビデオカメラにアクセスしている(そのビデオカメラの撮影画像を取得している)カメラクライアントがいない場合、制御権を取得しているカメラクライアントから所定時間ビデオカメラの制御信号を受信していないときにおいてもビデオカメラの自動制御の実行を禁止することができる。この場合、カメラ制御サーバ66によってカメラ制御権を取得しているカメラクライアントがいるかどうか、また、制御権を獲得しているカメラクライアント以外にアクセスしているのもがいるかどうかを把握することによって自動制御を禁止することができる。
(第5の実施の形態)
例えば、図14に示す摸式図のようにネットワークに接続されるカメラサーバをグループA、グループB、グループC…のように分け、管理サーバ56は、そのグループ毎に制御権を要求に応じてカメラクライアントに授与する実施の形態である。
なお、本実施の形態から第7の実施の形態までのカメラ制御システムの構成は、図17に示すように管理サーバ56が備えられている。
端末56(管理サーバ)には、カメラ管理サーバ(ソフトウエア)68がインストールされており、カメラ制御サーバ66は、カメラ58の起動時に、カメラ管理サーバ68にカメラ58がネットワーク57を介して現実に利用可能になったことの登録を要求し、カメラ管理サーバ68はそのカメラ58の動作状況を記憶する。
カメラ管理サーバ68は、ネットワーク57に接続される全てのカメラを管理するソフトウエアであり、不図示のCPUによってその処理が実行される。カメラ管理サーバ68は、ネットワーク57へのカメラの接続に伴う登録及びネットワーク57からの分離に伴う抹消に加えて、ユーザからのカメラのアクセス要求に対するアクセス許可/拒否を管理し、更には、カメラ動作情報を定期的に全てのカメラクライアントにネットワークを介して告知する。
また、管理サーバ56は、このようにして得られた管理情報を、ネットワークに接続されるカメラサーバに対してどのカメラクライアントによって制御権が獲得されているかを通知する。さらに、管理サーバ56は、そのカメラサーバに対してアクセス者がいるかどうか(映像データの出力先のクライアントが存在するかどうか)を通知する。
カメラ管理サーバ68は、複数のビデオカメラを自動制御して切換える際に切換え時間を計時するタイマー39および切り換えられたときに制御すべきそれぞれのビデオカメラの撮像方向を記憶する。また、カメラ管理サーバ68は、それぞれのビデオカメラにおいて獲得された制御権の回数を記憶している。
また、カメラ管理サーバ68は、カメラパラメータを送信してからの時間の計時を実行している。
図17のその他の構成は図3と同様であるのでその説明は省略する。
また、管理サーバ56は、図2におけるA〜Cのどの構成でもよい。
図15は、本実施の形態の管理サーバ56の動作処理フローチャートである。管理サーバ56の動作処理は不図示の記憶媒体によって記憶されるプログラムを読み出すことによって実行される。
図15において、まず、s401で、カメラサーバのグループ(本実施の形態においてはグループAについて説明する)の制御権がどのカメラクライアントからも獲得されていない場合、s406において、アクセス者がいるかどうか(グループA内のビデオカメラの映像データの出力先のクライアントが存在するかどうか)判断する。アクセス者がいない場合、s410においてグループA内のビデオカメラを停止させたままにしておく。
一方、アクセス者がいる場合、s407に進み、グループAの制御権が解放されてからの時間が所定時間経過した場合、s408aに進む。s408aにおいて、グループAに対してどのカメラクライアントも制御権を獲得していないが、アクセス(カメラサーバからの映像の受信)しているものが存在する場合には、グループAのカメラサーバのそれぞれに、2次記憶装置26によって予め記憶されたビデオカメラの撮像方向の軌跡、その撮像方向に応じたズーム値、ビデオカメラから出力される映像信号の切換えの順番などの情報を呼び出す。そして、タイマー39の計時に基づいて、アクセスしているカメラクライアントに対する複数のカメラサーバの映像信号の出力を切換える。
このようにして出力された映像信号は、カメラクライアント側において図5に示す映像ウインドウ2−1に表示される。また、カメラクライアント側において、例えば、図11に示すような画面によってカメラサーバ1〜カメラサーバ5までの画像を同時に表示することもできる。このとき、カメラサーバ1〜5までの映像出力を切換える必要がなくなる。本実施の形態に対応して、図11をCamera1〜5をカメラサーバ1〜5に置き換え、さらにoffice3をグループAに置き換えればよい。
s401において、グループAの制御権が獲得されている場合、s402において、制御指令が受信されているかどうか判断する。制御指令が受信されている場合、s402a〜s402eにおいて、その制御指令に付加されたカメラサーバの設置番号に関する情報に基づいてどのカメラサーバの制御指令であるかを認識する。
s402a〜s402eにおいて、どのカメラサーバのどのビデオカメラに対する制御指令であるか判別した後、s405a〜s405eにおいて、その判別されたカメラサーバに対して撮像方向あるいはズームなどの制御指令を出力する。
s409a〜s409eにおいて、ビデオカメラの制御指令の受信に応じて、制御が実行されるカメラサーバ(例えば、カメラサーバ3)に対してタイマー39による時間の計測を開始する。
一方、s402において、カメラサーバに接続されるビデオカメラの制御指令が受信されていない場合、s409a〜s409eにおいて計測された時間(ビデオカメラの制御指令が受信されていない時間)がカメラサーバ1〜カメラサーバ5のそれぞれについて所定時間経過されたかどうかを判断する(s403a〜s403e)。
s403a〜s403eにおいて、いずれかのカメラサーバが所定時間経過したと判断された場合、s404a〜s404eに進み、2次記憶装置26から予め記憶された自動制御情報(自動制御を実行する際のビデオカメラの撮像方向の軌跡あるいはズーム倍率に関する情報)を基づいてビデオカメラの自動制御を実行し、アクセスしているカメラクライアントにその映像を出力する。
例えば、Camera2に対する制御指令が所定時間受信されなかったとs303bにおいて判断された場合、s304cにおいて、Camera2の自動制御を実行することとなる。なお、s310a〜s310dは、ビデオカメラが自動制御中であった場合に次のビデオカメラの所定時間の経過を判別している。
また、s411において、あるカメラクライアントによってカメラサーバの制御権が獲得されているのにもかかわらず、グループAの全てのカメラサーバに対する制御指令が所定時間受信されていないため、グループAのカメラサーバが自動制御を実行していると判断すると、s408aと同様に、それぞれのカメラサーバの2次記憶装置26から予め記憶されたビデオカメラの撮像方向の軌跡、その撮像方向に応じたズーム値、ビデオカメラから出力される映像信号の切換えの順番などの情報を呼び出し、タイマー39の計時に基づいて、アクセスしているカメラクライアントに対する複数のビデオカメラの映像信号の出力を切換える。
以上のように、本実施の形態は、制御権を取得していないカメラクライアントに対してもグループAにおける全てのカメラサーバに接続されるビデオカメラの映像を確認することができ、臨場感のあるカメラの映像を提供することができる。
(第6の実施の形態)
本実施の形態は、ネットワークに接続された複数のビデオカメラを切り換えて自動制御を実行する実施の形態である。
図8は、カメラクライアントからカメラ制御権獲得要求が受信された際のカメラ管理サーバ68の不図示のCPUにおける動作処理フローチャートを示している。
まず、s501において、ネットワーク上のあるカメラクライアントからカメラ制御権の獲得要求が受信された場合、s502において、その制御要求対象であるビデオカメラが他のカメラクライアントによって制御権を獲得されているかあるいはセキュリティー上制御要求を発行しているカメラクライアントによって制御されるのは好ましくないカメラであるかどうかを判断する。
制御権獲得可能であると判断された場合、s503において、制御要求を発行していたカメラクライアントに制御権を発行し、ビデオカメラに接続して制御要求を供給可能とする。
s504において、それぞれのビデオカメラに対応して、制御権が発行されるたびに制御権の授与回数をカウントする。
図9は、カメラクライアントから複数のビデオカメラの自動制御を実行する際のカメラ管理サーバ68の不図示のCPUにおける動作処理フローチャートを示している。
s601において、あるカメラクライアントから自動制御ボタン2−30がONされ、カメラ管理サーバ68において自動運転制御指令が受信されると、s302において、他のカメラクライアントに自動運転制御対象のビデオカメラが獲得されているかどうか判断する。他のカメラクライアントによって自動運転制御対象のビデオカメラの制御が獲得されていると判断された場合、s605において、自動制御不可と判断し、自動運転の制御を要求したカメラクライアントにその旨を通知する。
一方、他のカメラクライアントによって自動運転制御対象のビデオカメラの制御権が獲得されていないと判断された場合、s603において、それぞれのビデオカメラに対応して制御権の授与回数をメモリ40から読み出す。
s604において、カメラ管理サーバ68は、その授与回数に比例してビデオカメラの制御時間の切換えを実行する。そして、その切換えに応じてそれぞれのビデオカメラの撮像方向の指令をそれぞれのビデオカメラに対応して出力する。
以上のように、各ビデオカメラの制御権の授与回数に応じて、ビデオカメラの複数の自動制御の際にビデオカメラの撮影時間の重み付けを実行しているので、人気のあるビデオカメラの撮影時間を長くすることができるなど、ユーザーフレンドリーな制御が可能となる。なお、本実施の形態においては各ビデオカメラの制御権の授与回数に応じて、ビデオカメラの複数の自動制御の際にビデオカメラの撮影時間の重み付けを実行していたが、制御権獲得要求の受信回数あるいは映像をカメラクライアントに送信(アクセス)した回数に応じて撮影時間の重み付けを実行してもよい。
また、それぞれのビデオカメラの切換えにあたって、予め記憶された撮像方向にビデオカメラを制御するように指令を発信しているので、管理者側においては常に見せたい画像を提供することができる。
(第7の実施の形態)
本実施の形態は、図14に示すように、複数のグループに分け、そのグループ内で第6の実施の形態のような切換え時間の重み付けをしながら自動制御を実行するという形態である。なお、本実施の形態においては、カメラサーバごとに制御権の獲得が可能であるとする。
管理サーバ56において、カメラサーバの制御権の獲得要求がカメラクライアントから受信された場合、図5に示すように、それぞれのカメラサーバについて制御権の授与回数をカウントする。
さらに、図16は、本実施の形態の管理サーバ56の動作処理フローチャートである。図16の動作処理は、管理サーバ56内の不図示の記憶媒体から読み出すことによって実行される。
まずs701において、グループ(例えば、グループAとする)内のカメラサーバの制御権が獲得されているかどうか判断する。グループA内のカメラサーバの制御権がひとつでも獲得されている場合、s703に進む。一方、グループA内のカメラサーバの制御権が獲得されていない場合、s702に進む。
s702において、グループAに対してアクセスしているカメラクライアントがいる場合、s704において、第6の実施の形態において説明したように、制御権の授与回数に応じてそれぞれのカメラサーバの映像信号の出力時間を切換え、アクセスしているカメラクライアントに映像信号を出力する。
また、s703において、グループ内のカメラサーバのそれぞれに対して所定時間制御指令が受信されていないかどうか判断する。全てのカメラサーバのそれぞれにおいて、制御指令が所定時間受信されていないと判断された場合、s702に進み、s702において、グループAに対してアクセスしているカメラクライアントがいる場合、s704において前述した自動制御を実行する。
また、それぞれのビデオカメラの切換えにあたって、予め記憶された撮像方向にビデオカメラを制御するように指令を発信しているので、管理者側においては常に見せたい画像を提供することができる。
さらに、制御権が獲得されている場合においても、制御指令が管理サーバ56において所定時間受信されていないときは、制御権の授与回数に応じてカメラサーバから出力される映像信号の切換え時間を制御することができる。そのため、ユーザーフレンドリーなシステムを提供することが可能となる。
なお、カメラ制御クライアント72は、制御要求発行手段および制御指令生成手段および自動制御指令生成手段に対応する。また、映像送受信ソフトウエア70は映像要求発行手段に対応する。また、映像送受信ソフトウエア64は映像送信手段に対応する。また、カメラ制御サーバ66は、許可指令発行手段および自動制御手段および制御手段および撮像方向制御手段に対応する。また、二次記憶装置26は記憶手段に対応する。また、タイマー39は計測手段に対応する。また、カメラ管理サーバ68は、カウント手段および切換手段および制御手段に対応する。また、メモリ40は記憶手段に対応する。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し、実行することによっても達成できる。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示にもとづき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、本発明のカメラ制御システムに不可欠なモジュールを、記憶媒体に格納することになる。
各実施の形態においてはカメラ制御システムについて説明したが、カメラサーバのみを提供することによっても本発明の目的は達成される。