(57)【特許請求の範囲】
【請求項１】
サーバ側装置に接続されたカメラの撮影条件を遠隔制御可能な遠隔カメラ制御システムであって、
サーバ側装置において、前記カメラの撮影条件を遠隔制御するためのカメラ制御権を有する第１クライアント側装置が前記カメラ制御権を保持できる残り保持時間を算出し、前記カメラ制御権を有さず前記カメラ制御権の取得要求を発行している第２クライアント側装置が前記カメラ制御権を取得できるまでの取得待ち時間を算出する算出手段と、
前記第１クライアント側装置に対して前記残り保持時間を通知し、前記第２クライアント側装置に対しては前記取得待ち時間を通知する通知手段と、
前記第１クライアント側装置において前記通知された残り保持時間を表示する第１表示手段と、
前記第２クライアント側装置において前記通知された取得待ち時間を表示する第２表示手段とを備えることを特徴とする遠隔カメラ制御システム。
【請求項２】
サーバ側装置に接続されたカメラの撮影条件を遠隔制御可能な遠隔カメラ制御システムであって、
各クライアント側装置について、カメラ制御権に関る状態を示す状態情報を前記サーバ側装置において生成する生成手段と、
前記生成手段で生成された状態情報を前記各クライアント側装置に通知する通知手段と、
各クライアント側装置において、前記通知手段で通知された前記状態情報を使用してカメラ制御権に関る状態の継続する残り時間を算出する算出手段と、
前記算出手段で算出された残り時間を表示する表示手段とを備えることを特徴とする遠隔カメラ制御システム。
【請求項３】
前記状態情報は、少なくとも現在のカメラ制御権に関る状態の継続時間を示す情報を含み、
前記算出手段は、前記通知手段によって前記状態情報が通知された通知時刻から経過時間を算出し、該状態情報に含まれる継続時間と該経過時間とから残り時間を算出することを特徴とする請求項２に記載の遠隔カメラ制御システム。
【請求項４】
前記通知手段は、前記第１クライアント側装置に対して前記残り保持時間を通知するが前記第２クライアントの前記待ち時間は通知せず、前記第２クライアント側装置に対しては前記取得待ち時間を通知するが前記第１クライアントの前記残り保持時間は通知しないことを特徴とする請求項１に記載の遠隔カメラ制御システム。
【請求項５】
前記第１クライアント側装置の制御権保持が終了し前記第２クライアント側装置が前記カメラ制御権を取得した場合、前記算出手段は、第２クライアント側装置が前記カメラ制御権を保持できる残り保持時間を算出し、
前記通知手段は、前記第２クライアント側装置に対して前記第２のクライアント側装置の前記残り保持時間を通知し、
前記第１表示手段は、前記通知された取得待ち時間の表示から、前記通知された前記第２のクライアント側装置の残り保持時間の表示に切り換えることを特徴とする請求項１または４に記載の遠隔カメラ制御システム。
【請求項６】
サーバ側装置に遠隔接続され、前記サーバ側装置に接続されたカメラを遠隔制御する遠隔カメラ制御装置であって、
前記サーバ側装置より当該カメラ制御装置のカメラ制御権に関る状態を示す状態情報を受信する受信手段と、
前記受信手段で受信した前記状態情報に基づいて、前記カメラ制御権に関る状態の残り時間を算出する算出手段と、
前記算出手段で算出された残り時間に基づいて制御権の状態を表示する表示手段とを備えることを特徴とする遠隔カメラ制御装置。
【請求項７】
前記状態情報は、少なくとも現在のカメラ制御権に関る状態の継続時間を示す情報を含み、
前記算出手段は、前記通知手段によって前記状態情報が通知された通知時刻から経過時間を算出し、該状態情報に含まれる継続時間と該経過時間とから残り時間を算出することを特徴とする請求項６に記載の遠隔カメラ制御装置。
【請求項８】
前記算出手段は所定時間間隔で実行されることを特徴とする請求項７に記載の遠隔カメラ制御装置。
【請求項９】
前記算出手段によって算出された残り時間が０以下もしくは負となった場合に前記表示手段による表示形態を所定の形態に変更することを特徴とする請求項６乃至８のいずれかに記載の遠隔カメラ制御装置。
【請求項１０】
前記表示手段は、前記残り時間をインジケータを用いて表示することを特徴とする請求項６乃至９のいずれかに記載の遠隔カメラ制御装置。
【請求項１１】
クライアント側装置と遠隔接続され、前記クライアント側装置からの制御情報に基づいてカメラの制御を行うサーバ装置であって、
前記カメラの撮影条件を遠隔制御するためのカメラ制御権を有する第１クライアント側装置が前記カメラ制御権を保持できる残り保持時間を算出し、前記カメラ制御権を有さず前記カメラ制御権の取得要求を発行している第２クライアント側装置が前記カメラ制御権を取得できるまでの取得待ち時間を算出する算出手段と、
前記第１クライアント側装置に対しては、前記第１クライアント側装置において表示される前記残り保持時間を通知し、前記第２クライアント側装置に対しては、２クライアント側装置において表示される前記取得待ち時間を通知する通知手段とを備えることを特徴とするサーバ装置。
【請求項１２】
前記通知手段は、前記第１クライアント側装置に対して前記残り保持時間を通知するが前記第２クライアントの前記待ち時間は通知せず、前記第２クライアント側装置に対しては前記取得待ち時間を通知するが前記第１クライアントの前記残り保持時間は通知しないことを特徴とする請求項１１に記載のサーバ装置。
【請求項１３】
前記第１クライアント側装置の制御権保持が終了し前記第２クライアント側装置が前記カメラ制御権を取得した場合、前記算出手段は、第２クライアント側装置が前記カメラ制御権を保持できる残り保持時間を算出し、
前記通知手段は、前記第２クライアント側装置に対して、前記通知された取得待ち時間の表示から切り換え表示するための、前記第２のクライアント側装置の残り保持時間を通知することを特徴とする請求項１１または１２に記載のサーバ装置。
【請求項１４】
クライアント側装置からの制御情報に基づいてカメラの制御を行うサーバ装置のカメラ制御方法であって、
前記カメラの撮影条件を遠隔制御するためのカメラ制御権を有する第１クライアント側装置が前記カメラ制御権を保持できる残り保持時間を算出し、前記カメラ制御権を有さず前記カメラ制御権の取得要求を発行している第２クライアント側装置が前記カメラ制御権を取得できるまでの取得待ち時間を算出する算出工程と、
前記第１クライアント側装置に対しては、前記第１クライアント側装置において表示される前記残り保持時間を通知し、前記第２クライアント側装置に対しては、２クライアント側装置において表示される前記取得待ち時間を通知する通知工程とを備えることを特徴とするカメラ制御方法。
【請求項１５】
サーバ側装置に遠隔接続され、前記サーバ側装置に接続されたカメラを遠隔制御する遠隔カメラ制御装置のカメラ制御方法であって、
前記サーバ側装置より当該カメラ制御装置のカメラ制御権に関る状態を示す状態情報を受信する受信工程と、
前記受信工程で受信した前記状態情報に基づいて、前記カメラ制御権に関る状態の残り時間を算出する算出工程と、
前記算出工程で算出された残り時間に基づいて制御権の状態を表示する表示工程とを備えることを特徴とするカメラ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、遠隔制御によりカメラの撮影条件等の変更が可能なカメラ遠隔制御装置及びその方法に関する。
【０００２】
【従来の技術】
従来、監視カメラのように、遠隔地から映像入力装置を制御することが可能な遠隔カメラ制御システムがある。この種の装置においては、複数台のカメラを一人の監視者が制御するのが一般的である。すなわち、映像入力装置の数が制御者の数に比して多く、複数の制御者が同時に一台の映像入力装置を制御することは無かった。
【０００３】
近年、インターネットの普及などにより、一台の映像入力装置によって取り込まれた映像を複数のユーザが見たり、当該映像入力装置を複数のユーザから制御可能にしたいという要求が高まっている。このような場合には、遠隔地からの複数の映像入力装置に対する制御要求を管理する機構が必要となる。また、一台の映像入力装置を複数のユーザによって制御しようとした場合、複数のユーザ間で制御要求の衝突が発生することは明らかである。従って、当該映像入力装置の操作に対する権限を適切に管理、制御する必要が生じた。
【０００４】
このような技術動向に鑑み、特願平０８−１９２５８５号において、カメラに対する制御要求及び制御権を管理し、カメラ制御権を要求した各ユーザが時間の経過に従って順次カメラの制御権を獲得し、カメラの制御を可能とする映像入力システムが提案されている。
【０００５】
【発明が解決しようとする課題】
上記出願による映像入力システムは、複数のユーザ（クライアント装置）がカメラ制御装置に対してカメラの制御権要求を発行した場合に、カメラ制御装置が当該複数のクライアント装置間における制御権の移行を適切に制御するものである。このため、映像入力装置の制御権及びそれを時間的に管理することが可能となり、多くのユーザが一台のカメラを制御することが可能となる。
【０００６】
本発明は、上記のような遠隔カメラ制御システムにおいて、各クライアント側装置の操作性を向上することを目的とする。
【０００７】
すなわち、本発明の目的は、カメラに関する複数のユーザ側装置からの制御要求を管理する遠隔カメラ制御システムにおいて、ユーザ側装置が制御権の管理状況の情報を獲得することを可能とし、これをユーザに提示することで操作性を向上する、遠隔カメラ制御システム、装置及びその方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記の目的を達成するための本発明の遠隔カメラ制御システムは以下の構成を備える。すなわち、
サーバ側装置に接続されたカメラの撮影条件を遠隔制御可能な遠隔カメラ制御システムであって、
サーバ側装置において、前記カメラの撮影条件を遠隔制御するためのカメラ制御権を有する第１クライアント側装置が前記カメラ制御権を保持できる残り保持時間を算出し、前記カメラ制御権を有さず前記カメラ制御権の取得要求を発行している第２クライアント側装置が前記カメラ制御権を取得できるまでの取得待ち時間を算出する算出手段と、
前記第１クライアント側装置に対して前記残り保持時間を通知し、前記第２クライアント側装置に対しては前記取得待ち時間を通知する通知手段と、
前記第１クライアント側装置において前記通知された残り保持時間を表示する第１表示手段と、
前記第２クライアント側装置において前記通知された取得待ち時間を表示する第２表示手段とを備える。
【０００９】
また、上記の目的を達成するための本発明の他の態様による遠隔カメラ制御システムは、
サーバ側装置に接続されたカメラの撮影条件を遠隔制御可能な遠隔カメラ制御システムであって、
各クライアント側装置について、カメラ制御権に関る状態を示す状態情報を前記サーバ側装置において生成する生成手段と、
前記生成手段で生成された状態情報を前記各クライアント側装置に通知する通知手段と、
各クライアント側装置において、前記通知手段で通知された前記状態情報を使用してカメラ制御権に関る状態の継続する残り時間を算出する算出手段と、
前記算出手段で算出された残り時間を表示する表示手段とを備える。
【００１０】
更に上記の目的を達成するための遠隔カメラ制御装置は、
サーバ側装置に遠隔接続され、前記サーバ側装置に接続されたカメラを遠隔制御する遠隔カメラ制御装置であって、
前記サーバ側装置より当該カメラ制御装置のカメラ制御権に関る状態を示す状態情報を受信する受信手段と、
前記受信手段で受信した前記状態情報に基づいて、前記カメラ制御権に関る状態の残り時間を算出する算出手段と、
前記算出手段で算出された残り時間に基づいて制御権の状態を表示する表示手段とを備える。
【００１１】
また、上記の目的を達成するための本発明のサーバ装置は、
クライアント側装置と遠隔接続され、前記クライアント側装置からの制御情報に基づいてカメラの制御を行うサーバ装置であって、
前記カメラの撮影条件を遠隔制御するためのカメラ制御権を有する第１クライアント側装置が前記カメラ制御権を保持できる残り保持時間を算出し、前記カメラ制御権を有さず前記カメラ制御権の取得要求を発行している第２クライアント側装置が前記カメラ制御権を取得できるまでの取得待ち時間を算出する算出手段と、
前記第１クライアント側装置に対しては、前記第１クライアント側装置において表示される前記残り保持時間を通知し、前記第２クライアント側装置に対しては、２クライアント側装置において表示される前記取得待ち時間を通知する通知手段とを備える。
【００１２】
また、上記の目的を達成する本発明のカメラ制御方法は、
クライアント側装置からの制御情報に基づいてカメラの制御を行うサーバ装置のカメラ制御方法であって、
前記カメラの撮影条件を遠隔制御するためのカメラ制御権を有する第１クライアント側装置が前記カメラ制御権を保持できる残り保持時間を算出し、前記カメラ制御権を有さず前記カメラ制御権の取得要求を発行している第２クライアント側装置が前記カメラ制御権を取得できるまでの取得待ち時間を算出する算出工程と、
前記第１クライアント側装置に対しては、前記第１クライアント側装置において表示される前記残り保持時間を通知し、前記第２クライアント側装置に対しては、２クライアント側装置において表示される前記取得待ち時間を通知する通知工程とを備える。
【００１３】
また、上記の目的を達成する本発明のカメラ制御方法は、
サーバ側装置に遠隔接続され、前記サーバ側装置に接続されたカメラを遠隔制御する遠隔カメラ制御装置のカメラ制御方法であって、
前記サーバ側装置より当該カメラ制御装置のカメラ制御権に関る状態を示す状態情報を受信する受信工程と、
前記受信工程で受信した前記状態情報に基づいて、前記カメラ制御権に関る状態の残り時間を算出する算出工程と、
前記算出工程で算出された残り時間に基づいて制御権の状態を表示する表示工程とを備える。
【００１４】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１５】
［第１の実施形態］
図１は第１の実施形態によるカメラ制御システムの構成を示すブロック図である。同図において、１１はカメラ制御を行うカメラ制御サーバである。１２はネットワークであり、ＬＡＮ、ＷＡＮ、あるいはインターネット等である。１０１、１０１ａ、１０１ｂは遠隔地からカメラ制御の命令を出すカメラ制御クライアントである。
【００１６】
カメラ制御サーバ１１において、１１ａは映像を撮影するカメラであり、パン、チルト、ズーム等、撮像視点を外部からの命令により制御可能となっている。１１ｂはカメラ制御部であり、遠隔地からの要求に応じてカメラを制御する。１１ｃは制御権管理部であり、複数のカメラ制御クライアントからの要求に対してカメラの制御権を管理する。１１ｄはメッセージ送受信部であり、ネットワーク１２を介してカメラ制御クライアント１０１、１０１ａ、１０１ｂ等からのメッセージを取得するとともに、これらカメラ制御クライアントに対してメッセージの送信を行う。
【００１７】
カメラ制御クライアント１０１（以下、単にクライアントともいう）において、１３ａはメッセージ送受信部であり、ネットワーク１２を介してカメラ制御サーバ１１とのメッセージのやり取りを行う。１３ｂは表示制御部であり、カメラ制御サーバ１１より受信した画像や制御状態等を表示する。１３ｃは操作入力部であり、カメラ制御サーバ１１に対して、カメラ制御権の獲得要求指示や、カメラ１１ａのパン角、チルト角、ズーム値の変更指示等を入力する。
【００１８】
なお、上記図１の構成において、カメラ制御サーバ及びカメラ制御クライアントの数は図示の範囲に限られるものではないし、カメラ制御サーバ１１に複数のカメラが接続されてもよい。
【００１９】
以下、第１の実施形態のカメラ制御システムを更に詳細に説明していくが、まず、カメラ制御サーバの構成と動作を説明し、次にカメラ制御クライアントの構成と動作を説明する。
【００２０】
図２は本実施形態によるカメラ制御サーバの構成を示すブロック図である。図２において、３０１はＣＰＵであり、当該カメラ制御サーバにおける各種制御を行う。３０２はＲＯＭであり、ＣＰＵ３０１によって実行される各種の制御プログラムを格納する。３０３はＲＡＭであり、ＣＰＵ３０１が各種の制御を実行するに際して必要な作業領域を提供する。３０４はカメラ映像インターフェースであり、カメラ１１ａよりの映像信号を受信する。３０５はカメラ駆動インターフェースであり、カメラ１１ａのパン、チルト、ズーム等を制御する。
【００２１】
３０６はネットワークインターフェースであり、ネットワーク１２に接続されたネットワーク１２上の他の装置（カメラ制御クライアント１０１等）との通信を実現する。３０７は外部記憶装置であり、例えばハードディスク等で構成される。３０８はＣＲＴであり、ＣＰＵ３０１の制御によって各種の表示を行う。３０９はキーボード等の入力部であり、ＣＰＵ３０１に対して各種の入力を行う。３１０はバスであり、上述の各構成を接続する。
【００２２】
なお、上記の構成において、ＣＰＵ３０１は、外部記憶装置３０７に格納された制御プログラムをＲＡＭ３０３上にロードして、該ロードされた制御プログラムを実行するようにしてもよい。また、外部記憶装置３０７、ＣＲＴ３０８、入力部３０９はオプションであり、必要がなければ省略してもかまわない。また、図１で示したカメラ制御部１１ｂ、制御権管理部１１ｃ、メッセージ取得部１１ｄは、ＣＰＵ３０１がＲＯＭ３０２に格納された制御プログラムもしくはＲＡＭ３０３にロードされた制御プログラムを実行することによって実現される機能を示したものである。
【００２３】
更に、カメラ１１ａは、撮影によって得られた映像信号をカメラインターフェース３０４へ出力する撮像部３２１と、駆動インターフェース３０５を介して入力される制御信号に従って、撮像部３２１のパン、チルト、ズーム等を行う機構制御部３２２を備える。
【００２４】
以上のような構成を備えた本実施形態のカメラ制御システムにおいて、カメラ制御サーバ１１の制御権管理部１１ｃは、複数のカメラ制御クライアントよりのカメラ１１ａに対する制御要求を管理し、各クライアントに対する制御権の付与を制御する。
【００２５】
制御権管理部１１ｃは、各クライアントに対するカメラ制御権の付与を管理するためにカメラ制御キューを有する。図３は第１の実施形態におけるカメラ制御キューの構造を示す図である。このカメラ制御キューはＲＡＭ３０３に格納されるものであり、カメラ制御を要求したクライアントのＩＤが登録される。Ｃ２１がキューの先頭要素であり、Ｃ２１（ＩＤ＝１１２）が、現在カメラ制御権を持っている。また、Ｃ２２はＣ２１の次にカメラ制御権を持つクライアントのＩＤ、Ｃ２３はＣ２２の次にカメラ制御権を持つクライアントのＩＤである。
【００２６】
遠隔地にあるカメラ制御クライアント１０１等（以下、単にクライアント１０１という）とカメラ制御サーバ１１との間では、種々のメッセージのやり取りが行なわれる。クライアント１０１から送られてくるメッセージには、カメラ制御権獲得要求、カメラ制御要求、カメラ制御権獲得放棄通知、の３種がある。図４はカメラ制御クライアントからカメラ制御サーバに送られるメッセージの構造を説明する図である。同図において、（ａ）はカメラ制御権獲得要求メッセージの構造を、（ｂ）はカメラ制御要求メッセージの構造を、（ｃ）はカメラ制御権獲得放棄通知メッセージの構造をそれぞれ示している。各メッセージは、当該メッセージの種別を表すメッセージＩＤと、当該メッセージの発行元であるクライアントを示すクライアントＩＤとを有する。以下、各メッセージの構造を説明する。
【００２７】
カメラ制御権獲得要求１１０１は、メッセージＩＤ１１１１に「１」を持ち、メッセージＩＤ１１１１とクライアントＩＤ１１１２とパスワード１１１３から成る。カメラ制御要求１１０２は、メッセージＩＤ１１１４に「２」を持ち、メッセージＩＤ１１１４とクライアントＩＤ１１１５とパン角１１１６、チルト角１１１７、ズーム１１１８のパラメータ値から成る。カメラ制御権獲得放棄通知１１０３は、メッセージＩＤ１１１９に「３」を持ち、メッセージＩＤ１１１９とクライアントＩＤ１１２０から成る。
【００２８】
クライアント１０１は、カメラ１１ａを制御したいとき、カメラ制御サーバ１１へネットワーク１２を介して、カメラ制御権獲得要求１１０１を出す。そしてその後、パン、チルト、ズームなどの値を含むカメラ制御要求１１０２を送る。また、クライアント１０１がカメラ制御権を得ることをあきらめる場合、または既得のカメラ制御権を放棄する場合は、カメラ制御権獲得放棄通知１１０３をカメラ制御サーバ１１に発行する。
【００２９】
一方、カメラ制御サーバ１１から各クライアントへ発行されるメッセージとしては、映像データメッセージ、カメラ姿勢メッセージ、制御権メッセージの３種類がある。図５はカメラ制御サーバからカメラ制御クライアントに送られるメッセージの構造を説明する図である。同図において、（ａ）は映像データメッセージ１２０１の構造を、（ｂ）はカメラ姿勢メッセージ１２０２の構造を、（ｃ）は制御権メッセージ１２０３の構造をそれぞれ示している。各メッセージは、当該メッセージの種別を表すメッセージＩＤ１２２１と、当該メッセージの発行元であるカメラ制御サーバを示すサーバＩＤ１２２２とを有する。以下、各メッセージの構造を説明する。
【００３０】
映像データメッセージ１２０１は、メッセージＩＤ１２２１として「１」を有する。また、属性情報１２２３は当該映像データメッセージに付属する映像データ１２２４の属性（例えばフレームレートや、圧縮処理が施されていればその圧縮処理の種別等）を示す。映像データ１２２４は、カメラ１１ａで撮像して得られた映像データである。この映像データメッセージ１２０１は、当該カメラ制御サーバにアクセスした各カメラ制御クライアントに対して随時発行される。
【００３１】
カメラ姿勢メッセージ１２０２は、メッセージＩＤ１２２１として「２」を有し、更にカメラ姿勢を表すデータとして、パン角１２２５、チルト角１２２６、ズーム値１２２７を有する。制御権メッセージ１２０３は、メッセージＩＤ１２２１として「３」を有するとともに、制御状態１２２８、有効時間１２２９のデータを有する。なお、制御状態１２２８は、当該クライアントのカメラに対する制御権の状態を示すものであり、「制御権要求中」「制御権有り」「制御権無し」のいずれかの状態を示す。有効時間１２２９は、制御状態が「制御権要求中」或いは「制御権有り」の場合において、当該制御状態が有効である継続時間の予測値である。これらのメッセージの活用、発行タイミングについては以下で順次説明する。
【００３２】
図６は第１の実施形態におけるカメラ制御サーバの制御手順を示すフローチャートである。本フローチャートでは、メッセージがカメラ制御サーバ１１に送られてきた際の、カメラ制御サーバ１１が行う処理が示されている。
【００３３】
メッセージ送受信部１１ｄがメッセージを受け取ると（ステップＳ１）、それを制御権管理部１１ｃに渡す。制御権管理部１１ｃは、そのメッセージの種別を当該メッセージに含まれているメッセージＩＤを元に判別する（ステップＳ２）。この結果、メッセージがカメラ制御権取得要求（メッセージＩＤが「１」）であれば、カメラ制御キューに当該クライアントＩＤがあるかどうか調べ（ステップＳ１０）、なければカメラ制御キューに当該クライアントＩＤを追加する（ステップＳ１１）。そして、ステップＳ１２において、メッセージ送受信部１１ｄにより、当該メッセージの発行元のクライアントに対して、制御権メッセージ１２０３を発行する。
【００３４】
このステップＳ１２において発行される制御権メッセージ１２０３の制御状態１２２８には制御権待ち状態を示す「制御権要求中」がセットされる。また有効時間１２２９には、その時点におけるカメラ制御キュー（図３）の先頭要素の残り制御時間と、当該カメラ制御キューに登録されている他の要素の数と最大所有時間ｔの積との和が設定される。すなわち、有効時間は、
（ｔ−先頭要素の制御権所有時間）＋（ｔ×（キューの登録数−２））
となる。ここで、キューの登録数から２を引いているのは、キューの登録数から先頭要素とステップＳ１１で追加された当該クライアントの要素を差し引くためである。
【００３５】
一方、メッセージがカメラ制御要求（メッセージＩＤが「２」）であれば、当該要求を発行したクライアントがカメラ制御キューの先頭要素であるかどうか調べる（ステップＳ３）。カメラ制御キューの先頭要素のクライアントであれば、カメラ制御が可能であるので、カメラ制御要求メッセージ１１０２に基づいてカメラ制御コマンド及びパラメータを生成し、カメラ制御部１１ｂに送る（ステップＳ７）。一方、当該クライアントがカメラ制御キューの先頭要素でなければ、カメラ制御キューの先頭要素の制御権所有時間があらかじめ定めた時間ｔより大きいかどうか調べる（ステップＳ４）。
【００３６】
ここで、現在のキューの先頭要素（現在の制御可能クライアント）の制御権所有時間が最大所有時間ｔ以下であれば、引き続き当該先頭要素に対して制御権を与える為、本処理をそのまま終了する。すなわち、ステップＳ１で受信したカメラ制御要求メッセージは破棄される。
【００３７】
一方、現在のキューの先頭要素の制御権所有時間がｔより大きければ、制御キューの更新と制御権メッセージの発行のために、引数ｉｄを制御キューの先頭要素としてサブルーチンＳｕｂＡを実行する（ステップＳ５）。
【００３８】
図７はサブルーチンＳｕｂＡにおける制御手順を示すフローチャートである。まず、引数ｉｄが先頭要素かどうか調べる（ステップＳ２１）。ステップＳ５において、引数ｉｄには先頭要素が与えられているので、ステップＳ２１へ進む。ステップＳ２１では、次の制御可能クライアントの制御権所有時間計測を行うために制御権所有時刻をセットしなおす。そして、カメラキューからｉｄで指定された要素を削除する（ステップＳ２３）。ここでは、カメラ制御キューから先頭要素（図２のＣ２１）が削除される。
【００３９】
更にステップＳ２４において、削除された要素に対応するクライアントに対して、制御状態１２２８を「制御権無し」として制御権メッセージを発行する。更に、ステップＳ２５において、制御キューに登録されている要素に対応するクライアントのそれぞれに対して制御権メッセージ１２０３を発行する。
【００４０】
図８は、制御キューに登録された要素に対応するクライアントへの制御権メッセージの発行手順を説明するフローチャートである。
【００４１】
まず、ステップＳ６０１において、制御キューの先頭要素となっているクライアントの制御権所有時間を獲得する。そして、ステップＳ６０２において、制御権メッセージとして送信すべき「有効時間ｔａ」を算出する。算出式は、
「有効時間ｔａ」＝ｔ−（制御権所有時間）
となる。この算出の結果、有効時間ｔａが０以下となった場合は、当該有効時間ｔａを０にセットする（ステップＳ６０３、Ｓ６０４）。これは、制御権が延長中であることを示すためである。続くステップＳ６０５では、先頭要素のクライアントへ制御権メッセージを発行する。ここで、制御権メッセージの制御状態には「制御権有り」が、有効時間にはステップＳ６０１〜Ｓ６０４で求めた有効時間ｔａがセットされる。なお、先頭要素が削除された直後に本処理が実行された場合は有効時間ｔａ＝ｔとなる。
【００４２】
ステップＳ６０６では、制御キューに登録された先頭要素以外の要素について各々の有効時間を算出する。この場合の算出式は、
「有効時間」＝（（キュー順位ｍ）−２）×ｔ＋（有効時間ｔａ）
となる。ここで、キュー順位ｍとは、先頭要素を１番とした場合の、制御キュー内の当該要素の順位である。例えば、Ｃ２３のキュー順位ｍは３である。
【００４３】
そして、ステップＳ６０７において、制御キューの先頭要素以外の各要素に対して、制御権メッセージを発行する。ここで、各々の要素への制御権メッセージの制御状態には「制御権要求中」がセットされ、有効時間にはステップＳ６０６で算出された各要素に対応する「有効時間」がセットされる。
【００４４】
以上の処理により、ステップＳ２４では、削除された要素のクライアントに対して、制御状態１２２８が「制御権無し」にセットされて制御権メッセージ１２０３が発行される。また、ステップＳ２５では，このＳｕｂＡによって新たに先頭要素となったクライアントに対して、制御状態１２２８を「制御権有り」とし、有効時間１２２９に最大所有時間ｔがセットされた制御権メッセージ１２０３が発行される。また、その他のクライアントに対しては、制御状態１２２８を「制御権要求中」にセットされるとともに、各クライアントのカメラ制御キューにおける位置に基づいて、制御権獲得までの予想時間が算出され、これが有効時間１２２９にセットされた制御権メッセージ１２０３が発行される。
【００４５】
なお、ステップＳ２２における制御権所有時刻のセットは、新たに制御可能クライアントとなるクライアントの制御開始時刻をセットしてもよいし、その制御終了時刻をセットしてもよいし、あるいはカウンタ、タイマ等に制御権所有時間を示すｔをセットするようにしてもよい。ステップＳ４においては、制御開始時刻がセットされれば現在時刻との差をｔと比較することになるし、制御終了時刻がセットされれば現在時刻が制御終了時刻を過ぎている否かを判定することになるし、カウンタ、タイマ等にｔがセットされた場合には当該カウンタのカウントアップ、もしくは当該タイマのタイムアップを調べることになる。
【００４６】
以上のように、引数ｉｄに先頭要素を与えてサブルーチンＳｕｂＡを実行することにより、次の要素（図３のＣ２２）に制御権が移り、当該要素に対する制御権所有時間の計測が開始されることになる。
【００４７】
再び図６のフローチャートにおいて、ステップＳ５のサブルーチンＳｕｂＡを抜けたら、キューの先頭要素が更新されたことで、カメラ制御要求を出したクライアントが制御可能クライアントになる可能性があるので、制御可能クライアントかどうかを再び調べる（ステップＳ６）。ここで、カメラ制御要求を出したクライアントが制御可能クライアントとなっていれば、当該カメラ制御要求メッセージに付与されているカメラ制御パラメータに基づいてカメラ制御コマンド及びパラメータを生成し、これらを駆動インターフェース３０５を介してカメラ制御部１１ｂに送る（ステップＳ７）。カメラ制御コマンド及びパラメータを受け取ったカメラ制御部１１ｂは、実際にカメラ１１ａを制御するために、カメラ１１ａの仕様に基づいた指示をカメラ１１ａ（機構制御部３２２）に送る。カメラ１１ａはその指示を受け取ると、指示に応じてチルト、パン、ズーム等を実行し、撮像視点を変える。
【００４８】
ステップＳ８では、ステップＳ７によるカメラ制御の結果、現在のカメラのチルト角、パン角、ズーム値を得て、カメラ姿勢メッセージを生成し、これを各クライアントに発行する。
【００４９】
また、ステップＳ２において、受信したメッセージがカメラ制御権獲得放棄通知であれば、上記のサブルーチンＳｕｂＡを実行する。ただし、ここでは引数ｉｄにメッセージ送信クライアントＩＤを渡してサブルーチンを実行する（ステップＳ１３）。サブルーチンＳｕｂＡでは、引数ｉｄが先頭要素であれば、次の制御可能クライアントの制御権所有時間計測のために制御権所有時刻をセットしてから（ステップＳ２２）、カメラ制御キューからその要素ＩＤを削除する（ステップＳ２３）。また、引数ｉｄの示す要素ＩＤが先頭要素でなければ、単に当該要素ＩＤをカメラ制御キューより削除する（ステップＳ２３）。以上の様にして、カメラ制御権獲得放棄通知メッセージによってカメラ制御キューより対応する要素ＩＤが削除され、制御キューが更新される。そして、ステップＳ２４、２５により、各クライアントに対する制御権メッセージが、削除された要素及び当該制御キューに登録されている各要素に対応するクライアントに発行される。
【００５０】
次に、本実施形態のカメラ制御システムにおけるカメラ制御クライアントについて説明する。
【００５１】
図９は第１の実施形態によるカメラ制御クライアント１０１の構成を示すブロック図である。同図において１０２はＣＰＵであり、ＲＯＭ１０３に格納された制御プログラム１０３ａに基づいて各種の制御を実現する。１０３はＲＯＭであり、制御プログラム１０３ａを始め、各種データ等を格納する。１０４はＲＡＭであり、ＣＰＵ１０２が各種制御実行するに際しての作業領域を提供する。また、ＲＡＭ１０４はタイマ値を格納するタイマ１０４ａを有するが、タイマ１０４ａの機能については後述する。
【００５２】
１０５は外部記憶装置であり、光磁気ディスク（ＭＯ）、コンパクトディスク（ＣＤＲＯＭ）、ハードディスク、フロッピーディスク等で構成される。１０６は表示装置であり、ＣＲＴや液晶表示器等で構成され、ＣＰＵ１０２の制御により各種表示を行う。１０７は入力部であり、ポインティングデバイス、キーボード等を備える。１０８はネットワークインターフェースであり、ネットワーク１２を介して当該ネットワーク上に接続された各種装置との通信を行う。１０９はバスであり、上述の各構成を相互に通信可能に接続する。特に本実施形態では、カメラ制御サーバ１１より映像データメッセージ１２０１、カメラ姿勢メッセージ１２０２、制御権メッセージ１２０３の各メッセージを受信し、カメラ制御権獲得要求メッセージ１１０１、カメラ制御要求メッセージ１１０２、カメラ制御権獲得放棄通知メッセージ１１０３の各メッセージを必要に応じてカメラ制御サーバへ送信する。
【００５３】
また、図１で示したメッセージ送受信部１３ａ、表示制御部１３ｂ、操作入力部１３ｃは、ＣＰＵ１０２がＲＯＭ１０３に格納された制御プログラムもしくはＲＡＭ１０４にロードされた制御プログラムを実行することによって実現される機能を示したものである。
【００５４】
図１０はクライアント１０１の表示画面の例を示す図である。２０１は映像表示ウインドウであり、カメラ制御サーバ１１より送られてくる映像データメッセージ１２０１の映像データ１２２４に基づいた表示を行う領域である。映像表示ウインドウ２０１のまわりにあるスクロールバーはそれぞれがカメラの撮影方向を指示する為のもので、横スクロールバー２０３はカメラのパン角を指定し、縦スクロールバー２０４はチルト角を指定する。また、縦スクロールバー２０５はカメラのズーム調整を行うためのものである。各スクロールバーのａ、ｂボタン（２０３ａ、２０３ｂ等）はスクロールバーの現在位置を示すｃボタン（２０３ｃ等）の位置を少しずつ移動させて、カメラの制御指示を行うためのボタンである。なお、ｃボタンをポインティングデバイスによってドラッグ操作することでｃボタンの位置を変更し、カメラの制御指示を行うことも可能である。
【００５５】
ボタン２０６は、カメラ制御権に関する要求をカメラ制御サーバ１１に送信するためのボタンである。ボタン２０６上の表示は当該クライアントのカメラ制御状態によって変化し、カメラ制御権が無い状態では「制御権獲得」と表示され、カメラ制御権を獲得した状態、或いはカメラ制御権の獲得待ちの状態では「権利放棄」と表示される。２０７は現在の制御権の状態を表示する表示ウインドウである。
【００５６】
次に、第１の実施形態によるカメラ制御クライアントの動作を説明する。カメラ制御クライアント１０１においては、ネットワーク１２を介してカメラ制御サーバより受信したメッセージを処理するメッセージ受信処理（図１１）と、カメラ制御サーバへメッセージを発行するメッセージ発行処理（図１２）と、現在の制御状態を表示する制御状態表示処理（図１３）が非同期に実行される。
【００５７】
まず、メッセージ受信処理を説明する。図１１は本実施形態のカメラ制御クライアントによるメッセージ受信処理を示すフローチャートである。まずステップＳ３０１において、サーバ１１よりのメッセージをメッセージ送受信部１３ａが受信したか否かを判定する。メッセージが受信されると、ステップＳ３０２へ進み、受信したメッセージのメッセージＩＤからその種別を判定する。メッセージＩＤが「１」の場合は、当該メッセージが映像データメッセージ１２０１であるので、映像データを表示するためにステップＳ３０３へ進む。ステップＳ３０３において、表示制御部１３ｂは当該メッセージに付けられた映像データ１２２４を、属性情報１２２３で示されたフレームレートで、映像表示ウインドウ２０１に映像を表示する。その後ステップＳ３０１に戻り、次のメッセージの受信を待つ。
【００５８】
また、ステップＳ３０２においてメッセージＩＤが「２」の場合は、当該メッセージはカメラ姿勢メッセージであるので、ステップＳ３０４へ進んでカメラの姿勢表示を行う。ステップＳ３０４では、表示制御部１３ｂが当該カメラ姿勢メッセージに含まれるパン角１２２５、チルト角１２２６、ズーム値１２２７に基づいて、スクロールバー２０３、２０４、２０５の各ボタン２０３ｃ、２０４ｃ、２０５ｃの表示位置を更新する。そして、ステップＳ３０１に戻り、次のメッセージの受信を待つ。
【００５９】
更に、ステップＳ３０２においてメッセージＩＤが「３」の場合は、当該メッセージは制御権メッセージであり、処理はステップＳ３０５へ進む。ステップＳ３０５では、受信した制御権メッセージの制御状態１２２８から制御権の状態（「制御権無し」「制御権要求中」「制御権有り」のいずれか）をＲＡＭ１０４に保持するとともに、当該制御権メッセージの有効時間１２２９をＲＡＭ１０４に保持する。そして、ステップＳ３０６において当該制御権メッセージの受信時刻をＲＡＭ１０４に保持する。その後、ステップＳ３０１へ戻り、次のメッセージの受信を待つ。なお、以降、ＲＡＭ１０４に保持された「制御権の状態」「有効時間」「受信時刻」に基づいて表示ウインドウ２０７が表示されるが、この制御は図１３のフローチャートにより後述する。
【００６０】
以上の手順で、カメラ制御サーバから送られてくる信号の処理を行い、サーバ側のカメラの状態と制御権の状態がクライアントに反映される。
【００６１】
また、ここで映像信号とカメラの状態を表す信号（姿勢及び制御権）が別々に送信される場合も考えられるが、その場合は映像信号用の受信処理が別に有るのと同じである。
【００６２】
次に、クライアント１０１からカメラ制御サーバ１１にメッセージを発行する処理を説明する。図１２は本実施形態のカメラ制御クライアントがカメラ制御サーバに対してメッセージを発行する手順を表すフローチャートである。
【００６３】
まず、ステップＳ４０１において、当該クライアントがカメラ制御権を有しているか、或いは制御権獲得待ちの状態であるかを調べる。これは、上述のステップＳ３０５でＲＡＭ１０４に保持された制御権の状態をチェックすればよい。ここで、「制御権有り」か「制御権要求中」であればステップＳ４０２へ進む。ステップＳ４０２では、ボタン２０６が操作されたか否かを判定する。この場合、ボタン２０６は「権利放棄」と表示されており、ボタン２０６が操作されると権利放棄が指示されたことになる。権利放棄が指示されるとステップＳ４０５へ進みカメラ制御権放棄通知１１０３（図４）を発行する。そしてステップＳ４０１へ戻る。
【００６４】
一方、ステップＳ４０２において制御権放棄が指示されていなければステップＳ４０３へ進み、姿勢変更指示が入力されているか否かを判断する。ここで、スクロール２０３、２０４、２０５のいずれかのボタンａ或いはボタンｂ或いはボタンｃがポインティングデバイス等で操作されると、姿勢変更指示が発生したものとしてステップＳ４０４へ進む。ステップＳ４０４では、姿勢変更指示の内容（例えば横スクロールバー２０３のボタン２０３ａが操作された場合は、パン角を所定角度分左方向へ移動）に基づいてカメラ制御要求１１０２を生成し、カメラ制御サーバへ発行する。なお、制御権放棄指示も姿勢変更指示も無い場合は、何も処理をせずステップＳ４０１へ戻る。
【００６５】
また、ステップＳ４０１において、制御権の状態が「制御権無し」であった場合は、ステップＳ４０６へ進む。ステップＳ４０６ではボタン２０６が操作されたか否かを判定する。この時点においてボタン２０６には「制御権獲得」と表示されており、ボタン２０６を操作することは制御権獲得要求を指示することとなり、ボタン２０６が操作された場合、処理はステップＳ４０７へ進む。ステップＳ４０７では、カメラ制御権獲得要求１１０１が生成され、カメラ制御サーバに対して発行される。
【００６６】
以上が、クライアントからカメラ制御サーバに対してメッセージを送信する処理の動作手順である。これにより、「制御権要求中」或いは「制御権有り」の場合にカメラ制御要求をカメラ制御サーバに対して発行することになる。
【００６７】
次に、表示ウインドウ２０７に制御権の状態を表示するための処理を説明する。図１３は本実施形態による制御権状態の表示手順を説明するフローチャートである。なお、本処理は、タイマ処理によって所定単位時間（例えば１秒）毎に行なわれる。タイマ処理としては、例えば１秒周期のクロックパルス発生器を設け、これをＣＰＵ１０２の割り込み信号として用いることが考えられる。本例では、不図示のシステムクロックをカウントし、そのカウント値をタイマ値１０４ａとし、タイマ値１０４ａが所定値に達する毎に制御権状態の表示処理を起動する。
【００６８】
まず、ステップＳ５０１において制御権の状態が「制御権有り」か否かを判定し、ステップＳ５０２において「制御権要求中」か否かを判定する。これらの処理は上述のステップＳ４０１と同様にＲＡＭ１０４に保持された制御権状態を示すデータを参照することで行う。
【００６９】
制御権の状態が「制御権無し」の場合は、ステップＳ５０１及びＳ５０２において「ＮＯ」へ分岐し、ステップＳ５１０へ処理が進む。ステップＳ５１０では、表示ウインドウ２０７に「制御権無し」を表示する。そして、「制御権有り」でも「制御権要求中」でもない場合には残り時間を表示する必要がないので、そのまま本処理を終了する。
【００７０】
一方、「制御権有り」の場合はステップＳ５０１からステップＳ５０３へ進み、表示ウインドウ２０７に「制御権有り」を表示し、残り時間表示を行うためにステップＳ５０５へ進む。また、「制御権要求中」の場合はステップＳ５０２からＳ５０４へ進み、表示ウインドウ２０７に「制御権要求中」を表示し、残り時間表示を行うためにステップＳ５０５へ進む。
【００７１】
ステップＳ５０５では現在の時刻を獲得するとともに、ＲＡＭ１０４からステップＳ３０５、Ｓ３０６で保持した受信時刻、有効時間を獲得し、ステップＳ５０６で残り時間の算出を行う。ここで残り時間は、
残り時間＝有効時間−（現在の時刻−受信時刻）
となる。
【００７２】
次にステップＳ５０７においてステップＳ５０６で算出された残りの時間が正であるか否かを判定し、正である場合にはステップＳ５０８へ進む。ステップＳ５０８ではこの残り時間を表示ウインドウ２０７に表示し、本処理を終了する。また、ステップＳ５０７において残り時間が０以下となった場合は、ステップＳ５０９へ進み、例外的な表示処理を行い、本処理を終了する。例えば、制御権を獲得した場合に、有効時間以上が経過した場合は、表示ウインドウ２０７に「制御権延長中」と表示する。この状態では、別のクライアントからサーバへ制御権獲得要求が発生した場合に、直ちに制御権を失うことになるからである。
【００７３】
図１４は、表示ウインドウ２０７による表示例を示す図である。（ｅ）は、例えば「制御権有り」の状態で算出された残り時間をそのまま数値で表示した例である。（ａ）は制御権有りの状態で、算出された残り時間をインジケータで行った例を示している。また、（ｂ）は「制御権要求中」の状態において、算出された残り時間をインジケータで示した例である。なお、（ｂ）では、インジケータの図形を「制御権有り」の場合と異ならせており、これにより「制御権有り」なのか「制御権要求中」なのかを一目で認識できる。なお、（ｂ）の「制御権要求中」の残り時間表示は、例えば人間の形状をしており、一つの人間パターンが制御キューにおける一つのクライアントに対応するようにしてもよい。この場合、図６、図７のステップＳ１２、Ｓ２４における制御権メッセージの有効時間１２２９は、制御キューにおいて当該クライアントより上に登録されているクライアントの数を示すものとなる。
【００７４】
更に、（ｃ）は「制御権無し」の場合の表示ウインドウ２０７の表示例であり、残り時間の表示はない。また、（ｄ）は制御権延長中における表示ウインドウ２０７の表示状態を示している。
【００７５】
なお、残り時間の表示を（ａ）、（ｂ）の如くインジケータで行う場合、与えられた制御時間の最大値（制御権状態が変化してから最初に獲得した有効時間）でインジケータを最大とし、残り時間０でインジケータを０にする相対的な方法を用いてもよいし、インジケータの１目盛りに対して絶対的な時間（たとえば１０秒）を割り当てて表示する方法を用いてもよい。
【００７６】
ここで、上記相対的な表示形態を採用する場合に、制御権状態が変化してから最初に獲得した有効時間を最大値とするのは、図６で説明したフローチャートに従った場合に、「制御権要求中」の状態では有効時間の異なる制御権メッセージが複数回受信される可能性が有るからである。なお、「制御権要求中」においてこのような制御権メッセージの複数回の受信が必要となる理由は次の通りである。例えば、制御キューに登録された要素が権利放棄を行うような事態が発生した場合、制御権要求中の有効時間は１つのクライアントに割り当てられた制御権の最大有効時間ｔだけ一気に短縮されることになり、クライアント側の表示ウインドウ２０７における残り時間との誤差が大きくなってしまう。従って、制御キューから要素が削除された際に制御権メッセージを発行し、当該メッセージの有効時間情報に従って表示ウインドウ２０７内の残り時間表示を補正する必要が有る。このため、本実施形態では、「制御権要求中」において複数回の制御権メッセージの発行、受信を行う。
【００７７】
以上説明したように、第１の実施形態によれば、サーバとクライアントとの制御権状態と、制御権の残り時間とを所定時間毎に表示ウインドウ２０７に表示するようにしたので、クライアントの操作者はサーバとの制御権の関係、その残り時間等を把握でき、操作性が向上する。
【００７８】
なお、上記実施形態では、１台のカメラ制御サーバに１台のカメラが接続されている状態が示されているが、１台のカメラ制御サーバに複数台のカメラが接続されてもよいことはいうまでもない。
【００７９】
［第２の実施形態］
上記第１の実施形態では、制御権獲得待ちのクライアントからカメラ制御要求が発生しないと制御キューの更新が行われず（図６）、カメラを操作したいユーザにカメラ制御権を与え続けることができる。なお、カメラ制御権の移行をカメラ制御要求の有無に応じて管理する方法としては、たとえば、制御キューに制御権獲得要求を行った他のクライアントが登録されているか否かに基づいて制御権の移行を制御するようにしてもよい。以下、この場合のカメラ制御サーバの制御を説明する。
【００８０】
図１５及び図１６は第２の実施形態におけるカメラ制御サーバのカメラ制御権の管理制御を説明するフローチャートである。図１５のフローチャートにおいて図６と同様の処理を行うステップには同一のステップ番号が付されている。ステップＳ３において、カメラ制御要求を発行したクライアントが制御可能クライアントであればステップＳ７でカメラ制御を実行し、ステップＳ８でカメラ姿勢メッセージ１２０２（図５）を発行する。一方、カメラ制御要求を発行したクライアントが制御可能クライアントで無ければそのままステップＳ１に戻る。
【００８１】
制御キューに登録されたクライアントへのカメラ制御権の移行管理は、図１６のフローチャートで示される手順で行われる。なお、図１６のフローチャートで示される処理は、所定の時間間隔（たとえば１秒）でくり返し実行される。
【００８２】
ステップＳ３１では、制御キューの先頭要素が制御権を獲得してからの時間、すなわち制御権所有時間を獲得する。次にステップＳ３２において、制御権所有時間が最大所有時間ｔを越えたか否かを判断し、越えていなければまだ制御権を与えつづけることができるのでそのまま本処理を終了する。一方、ステップＳ３２において制御権所有時間がｔを越えた場合はステップＳ３３へ進み、他の要素が制御キューに登録されているか否かをチェックする。制御キューに当該先要素しか登録されていなければ、制御権を移行する必要が無いので、そのまま本処理を終了する。ステップＳ３３において、他の要素が１つでも制御キューに登録されている場合は、ステップＳ３４へ進み、制御権所有時間が満了している現在の先頭のキューをカメラ制御キューから削除する。ステップＳ３４の処理は図７、図８で説明した通りである。
【００８３】
以上のようなカメラ制御サーバに対しても、第１の実施形態で説明したようなカメラ制御クライアントの制御を実行することで、ユーザに制御状態を適切に表示することが可能となる。
【００８４】
［第３の実施形態］
上記第１及び第２の実施形態では、カメラ制御サーバ１１から送信された制御権メッセージにセットされた有効時間をクライアントで保持し、時間の経過による残り時間の更新はクライアント側で行っている。第３の実施形態では、このような制御権の状態の残り時間の計算をサーバ側で行って、これを一定時間毎にクライアント側へ送信する構成を説明する。
【００８５】
図１７は第３の実施形態によるカメラ制御サーバの処理手順を説明するフローチャートである。同図において第１の実施形態で示した手順（図６）と同じ処理内容のステップには同一のステップ番号を付してある。第３の実施形態の処理手順で第１の実施形態と異なる点は、ステップＳ９ａ、ステップＳ９ｂが挿入された点と、ステップＳ１２のかわりにステップＳ１４が配されている点である。
【００８６】
ステップＳ９ａ、Ｓ９ｂ、Ｓ１４においては、カメラ制御キューに登録されているクライアントのうち、先頭要素のクライアントに対しては制御権の残り時間を算出し、制御権メッセージの有効時間にセットして当該クライアント宛に発行する。また、制御キューの先頭要素以外の要素の各々に対しては、制御権獲得までの残り時間を算出し、これを制御権メッセージの有効時間にセットして、対応するクライアント宛に発行する。すなわち、ステップＳ９ａ、Ｓ９ｂ及びＳ１４では、図８で説明した処理が実行されることになる。
【００８７】
以上のような手順を取ることにより、カメラ制御権獲得要求、カメラ制御要求、カメラ制御権獲得法規通知のいずれかのメッセージを受信する毎に、制御キューに登録されている各要素に対応するクライアントにカメラ制御権メッセージが発行されることになる。このため、各クライアントは、自身の制御状態とその残り時間を取得することができる。従って、各クライアントは、この残り時間を表示ウインドウ２０７に表示することで、操作者に制御状態と、その制御状態の残り時間を通知することができる。
【００８８】
図１８は第３の実施形態によるクライアントのメッセージ受信処理を示すフローチャートである。同図において、第１の実施形態におけるメッセージ受信処理（図１１）と同じ処理を行うステップ（Ｓ３０１〜Ｓ３０４）には同一のステップ番号を付し、ここでは説明を省略する。第３の実施形態のクライアントは、制御権メッセージによって送信された「制御権状態」と「有効時間」を表示すればよい。従って、制御権メッセージを受信した場合は、ステップＳ３０２からステップＳ３１５へ進み、制御権メッセージの制御状態１２２８を獲得し、「制御権有り」「制御権要求中」「制御権無し」のいずれかを表示ウインドウ２０７（図１０）に表示する。続いて、ステップＳ３１６において当該制御権メッセージより有効時間１２２９を獲得し、これを表示ウインドウ２０７の残り時間として表示する。
【００８９】
なお、上記第３の実施形態において、図１７の手順によれば、いずれかのクライアントからカメラ制御に関るメッセージを受信した場合に、制御キューに登録された各クライアントに制御権メッセージが配信されるが、制御権メッセージの背信のタイミングはこれに限るものではない。例えば、カメラ制御サーバにおいて所定時間毎に制御権メッセージを配信するようにしてもよい。この場合、図８で示した制御手順を所定時間間隔（例えば５秒）で実行することが考えられる。このようにすれば、各クライアントは所定時間間隔で制御状態とその残り時間を取得することが可能となる。
【００９０】
なお、上記実施形態では、各クライアントにおけるカメラ制御権の最大所有時間ｔは一定である。しかしながら、各クライアントに優先度を設定し、優先度に応じて最大所有時間を異ならせてもよい。この場合、例えばカメラ制御サーバに、図１９に示すようなテーブルを設けておき、各クライアントに対して最大所有時間を登録する。そして、制御キュー内の各要素の有効時間の算出にあたっては、この最大所有時間を参照する。
【００９１】
また、カメラ制御サーバにおいて、制御キューへの登録順位を優先度に基づいて変更するように構成した場合でも上記第１乃至第３の実施形態が適用可能であることは明らかである。優先度に基づいて制御キューの順位が入れ代わったとしても、有効時間の算出は、制御キューにおける順位に基づいて行なわれるからである。
【００９２】
以上説明したように、上記各実施形態によれば、クライアント側においてカメラ制御権の状態（制御権獲得までの待ち時間や制御権の残り継続時間等）を把握でき、これを操作者に提示することが可能となる。このため、操作者は遠隔地のカメラをあとどれくらい操作できるのか、あとどれくらい待ち時間が有るかなどを把握できる。このため、操作者は制御権の状態の変化を容易に把握できるようになり、操作性が向上する。
【００９３】
【発明の効果】
以上説明したように本発明によれば、カメラに関する複数のユーザ側装置からの制御要求を管理する遠隔カメラ制御システムにおいて、ユーザ側装置が制御権の管理状況の情報を獲得することが可能となる。また、この獲得された情報に基づいて管理状況がユーザに提示さるので、操作性が向上する。
【００９４】
【図面の簡単な説明】
【図１】第１の実施形態によるカメラ制御システムの構成を示すブロック図である。
【図２】本実施形態によるカメラ制御サーバの構成を示すブロック図である。
【図３】第１の実施形態におけるカメラ制御キューの構造を示す図である。
【図４】カメラ制御クライアントからカメラ制御サーバに送られるメッセージの構造を説明する図である。
【図５】カメラ制御サーバからカメラ制御クライアントに送られるメッセージの構造を説明する図である。
【図６】第１の実施形態におけるカメラ制御サーバの制御手順を示すフローチャートである。
【図７】サブルーチンＳｕｂＡにおける制御手順を示すフローチャートである。
【図８】制御キューに登録された要素に対応するクライアントへの制御権メッセージの発行手順を説明するフローチャートである。
【図９】第１の実施形態によるカメラ制御クライアント１０１の構成を示すブロック図である。
【図１０】クライアント１０１の表示画面の例を示す図である。
【図１１】本実施形態のカメラ制御クライアントによるメッセージ受信処理を示すフローチャートである。
【図１２】本実施形態のカメラ制御クライアントがカメラ制御サーバに対してメッセージを発行する手順を表すフローチャートである。
【図１３】本実施形態による制御権状態の表示手順を説明するフローチャートである。
【図１４】表示ウインドウ２０７による表示例を示す図である。
【図１５】第２の実施形態におけるカメラ制御サーバのカメラ制御権の管理制御を説明するフローチャートである。
【図１６】第２の実施形態におけるカメラ制御サーバのカメラ制御権の管理制御を説明するフローチャートである。
【図１７】第３の実施形態によるカメラ制御サーバの処理手順を説明するフローチャートである。
【図１８】第３の実施形態によるクライアントのメッセージ受信処理を示すフローチャートである。
【図１９】クライアントの優先度を登録したテーブルを示す図である。
【図１】
0003548352.tif 000002
【図２】
0003548352.tif 000003
【図３】
0003548352.tif 000004
【図４】
0003548352.tif 000005
【図５】
0003548352.tif 000006
【図６】
0003548352.tif 000007
【図７】
0003548352.tif 000008
【図８】
0003548352.tif 000009
【図９】
0003548352.tif 000010
【図１０】
0003548352.tif 000011
【図１１】
0003548352.tif 000012
【図１２】
0003548352.tif 000013
【図１３】
0003548352.tif 000014
【図１４】
0003548352.tif 000015
【図１５】
0003548352.tif 000016
【図１６】
0003548352.tif 000017
【図１７】
0003548352.tif 000018
【図１８】
0003548352.tif 000019
【図１９】
0003548352.tif 000020