(57)【特許請求の範囲】
【請求項１】
ネットワークを介してカメラと相互に制御情報を送受信することによってカメラを制御するカメラ制御装置において、
前記カメラによって撮像された画像を表示するための表示手段と、
前記カメラのズーム制御命令を入力するための入力手段と、
前記入力手段によって前記カメラのズーム制御命令が入力された場合、その入力された前記カメラのズーム制御命令に基づいて、前記表示手段によって表示されている画像の電子ズーム処理を実行する電子ズーム処理手段と、
前記カメラからズームレンズの位置が前記入力手段によって入力された前記カメラのズーム制御命令の目標位置に達したことを示すレンズ制御情報を取得した場合、前記電子ズーム処理手段によって処理された画像の表示から前記レンズ制御情報を取得した後に前記カメラから受信される画像の表示に切換える切換手段と、
を備えることを特徴とするカメラ制御装置。
【請求項２】
ネットワークを介してカメラと相互に制御情報を送受信することによってカメラを制御するカメラ制御装置において、
前記カメラによって撮像された画像を表示するための表示手段と、
前記カメラのズーム制御命令を入力するための入力手段と、
前記入力手段によって前記カメラのズーム制御命令が入力された場合、前記カメラから前記ズーム制御命令に応じて制御されている途中のズームレンズの位置を示すレンズ制御情報を取得し、前記表示手段によって表示されている画像が前記カメラのズーム制御命令のズーム画像となるように、前記カメラのズーム制御命令に基づき、前記取得したレンズ制御情報に対応した倍率で前記表示手段によって表示されている画像の電子ズーム処理を実行する電子ズーム処理手段と、
を備えることを特徴とするカメラ制御装置。
【請求項３】
さらに、前記カメラから前記ズームレンズの位置が前記ズーム制御命令の目標位置に達したことを示すレンズ制御情報を取得した場合、前記電子ズーム処理手段によって処理された画像の表示から前記目標位置に達したことを示すレンズ制御情報を取得した後に前記カメラから受信される画像の表示に切換える切換手段と、
を備えることを特徴とする請求項２に記載のカメラ制御装置。
【請求項４】
カメラと、ネットワークを介してカメラと相互に制御情報を送受信することによってカメラを制御するカメラ制御装置とを含むカメラ制御システムにおいて、
前記カメラ制御装置は、
前記カメラによって撮像された画像を表示するための表示手段と、
前記カメラのズーム制御命令を入力するための入力手段と、
前記入力手段によって前記カメラのズーム制御命令が入力された場合、その入力された前記カメラのズーム制御命令に基づいて、前記表示手段によって表示されている画像の電子ズーム処理を実行する電子ズーム処理手段と、
前記カメラからズームレンズの位置が前記入力手段によって入力された前記カメラの前記ズーム制御命令の目標位置に達したことを示すレンズ制御情報を取得した場合、前記電子ズーム処理手段によって処理された画像の表示から前記レンズ制御情報を取得した後に前記カメラから受信される画像の表示に切換える切換手段と、
を備えることを特徴とするカメラ制御システム。
【請求項５】
カメラと、ネットワークを介してカメラと相互に制御情報を送受信することによってカメラを制御するカメラ制御装置とを含むカメラ制御システムにおいて、
前記カメラ制御装置は、
前記カメラによって撮像された画像を表示するための表示手段と、
前記カメラのズーム制御命令を入力するための入力手段と、
前記入力手段によって前記カメラのズーム制御命令が入力された場合、前記カメラから前記ズーム制御命令に応じて制御されている途中のズームレンズの位置を示すレンズ制御情報を取得し、前記表示手段によって表示されている画像が前記カメラのズーム制御命令のズーム画像となるように、前記カメラのズーム制御命令に基づき、前記取得したレンズ制御情報に対応した倍率で前記表示手段によって表示されている画像の電子ズーム処理を実行する電子ズーム処理手段と、
を備えることを特徴とするカメラ制御システム。
【請求項６】
ネットワークを介してカメラと相互制御情報を送受信することによってカメラを制御するカメラ制御装置の制御方法において、
前記カメラによって撮像された画像を表示手段に表示するための表示工程と、
前記カメラのズーム制御命令を入力するための入力工程と、
前記入力工程によって前記カメラのズーム制御命令が入力された場合、その入力された前記カメラのズーム制御命令に基づいて、前記表示工程によって表示されている画像の電子ズーム処理を実行する電子ズーム処理工程と、
前記カメラからズームレンズの位置が前記入力された前記カメラの前記ズーム制御命令の目標位置に達したことを示すレンズ制御情報を取得した場合、前記電子ズーム処理工程によって処理された画像の表示から前記レンズ制御情報を取得した後に前記カメラから受信される画像の表示に切換える切換工程と、
を備えることを特徴とするカメラ制御装置の制御方法。
【請求項７】
ネットワークを介してカメラと相互制御情報を送受信することによってカメラを制御するカメラ制御装置の制御方法において、
前記カメラによって撮像された画像を表示手段に表示するための表示工程と、
前記カメラのズーム制御命令を入力するための入力工程と、
前記入力工程によって前記カメラのズーム制御命令が入力された場合、前記カメラから前記ズーム制御命令に応じて制御されている途中のズームレンズの位置を示すレンズ制御情報を取得し、前記表示手段によって表示されている画像が前記カメラのズーム制御命令のズーム画像となるように、前記カメラのズーム制御命令に基づき、前記取得したレンズ制御情報に対応した倍率で前記表示手段によって表示されている画像の電子ズーム処理を実行する電子ズーム処理工程と、
を備えることを特徴とするカメラ制御装置の制御方法。
【請求項８】
さらに、前記カメラから前記ズームレンズの位置が前記ズーム制御命令の目標位置に達したことを示すレンズ制御情報を取得した場合、前記電子ズーム処理工程によって処理された画像の表示から前記目標位置に達したことを示すレンズ制御情報を取得した後に前記カメラから受信される画像の表示に切換える切換工程と、
を備えることを特徴とする請求項７に記載のカメラ制御装置の制御方法。
【請求項９】
ネットワークを介してカメラと相互に制御情報を送受信することによってカメラを制御するカメラ制御装置のプログラムを記憶した記憶媒体であって、
前記カメラによって撮像された画像を表示手段に表示させ、
前記カメラのズーム制御命令の入力を可能とさせ、
前記カメラのズーム制御命令が入力された場合、その入力された前記カメラのズーム制御命令に基づいて、表示させている画像の電子ズーム処理を実行させ、
前記カメラからズームレンズの位置が前記入力手段によって入力された前記カメラの前記ズーム制御命令の目標位置に達したことを示すレンズ制御情報を取得した場合、前記電子ズーム処理された画像の表示から前記レンズ制御情報を取得した後に前記カメラから受信される画像の表示に切換えるプログラムを記憶した記憶媒体。
【請求項１０】
ネットワークを介してカメラと相互に制御情報を送受信することによってカメラを制御するカメラ制御装置のプログラムを記憶した記憶媒体であって、
前記カメラによって撮像された画像を表示手段に表示させ、
前記カメラのズーム制御命令の入力を可能とさせ、
前記カメラのズーム制御命令が入力された場合、前記カメラから前記ズーム制御命令に応じて制御されている途中のズームレンズの位置を示すレンズ制御情報を取得し、前記表示手段によって表示されている画像が前記カメラのズーム制御命令のズーム画像となるように、前記カメラのズーム制御命令に基づき、前記取得したレンズ制御情報に対応した倍率で前記表示手段によって表示されている画像の電子ズーム処理を実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、ネットワークを介してカメラ制御を実行するカメラ制御装置、カメラ制御システム、カメラ制御装置の制御方法、及び記憶媒体に関するものである。
【０００２】
【従来の技術】
本出願人は、カメラをコンピュータ（カメラサーバ）に接続して、コンピュータから制御可能とする技術を開発している。これらのカメラの出力映像は、キャプチャーボードなどを介して、コンピュータに入力される。
【０００３】
さらに、本出願人は、このコンピュータをインターネットなどのネットワークに接続し、コンピュータに入力された映像情報や音声情報などのメディアデータを、ネットワークを介して複数のクライアントに受け渡し再生するカメラ制御システムを実現している。この場合のネットワークは、世界的に広がるインターネットでも社内ネットワークなどのいわゆるイントラネットワークでもよい。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来のこのようなカメラ制御システムでは、ネットワークの通信速度に制限があるため、カメラ制御を行なった時点からカメラ制御を受けた結果の映像が到着するまでに時間差が生じてしまい、例えばカメラのズームレンズの制御などのカメラ制御の結果を適切に把握することができず、意図した制御ができないおそれがあった。
【０００５】
本発明は、このような不具合を解消し、適切な遠隔カメラ制御を可能とするカメラ制御システムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
上述した目的を達成するために、本発明のカメラ制御装置は、ネットワークを介してカメラと相互に制御情報を送受信することによってカメラを制御するカメラ制御装置において、前記カメラによって撮像された画像を表示するための表示手段と、前記カメラのズーム制御命令を入力するための入力手段と、前記入力手段によって前記カメラのズーム制御命令が入力された場合、その入力された前記カメラのズーム制御命令に基づいて、前記表示手段によって表示されている画像の電子ズーム処理を実行する電子ズーム処理手段と、前記カメラからズームレンズの位置が前記入力手段によって入力された前記カメラのズーム制御命令の目標位置に達したことを示すレンズ制御情報を取得した場合、前記電子ズーム処理手段によって処理された画像の表示から前記レンズ制御情報を取得した後に前記カメラから受信される画像の表示に切換える切換手段と、を備えることを特徴とする。
また、本発明のカメラ制御装置は、ネットワークを介してカメラと相互に制御情報を送受信することによってカメラを制御するカメラ制御装置において、前記カメラによって撮像された画像を表示するための表示手段と、前記カメラのズーム制御命令を入力するための入力手段と、前記入力手段によって前記カメラのズーム制御命令が入力された場合、前記カメラから前記ズーム制御命令に応じて制御されている途中のズームレンズの位置を示すレンズ制御情報を取得し、前記表示手段によって表示されている画像が前記カメラのズーム制御命令のズーム画像となるように、前記カメラのズーム制御命令に基づき、前記取得したレンズ制御情報に対応した倍率で前記表示手段によって表示されている画像の電子ズーム処理を実行する電子ズーム処理手段と、を備えることを特徴とする。
【００３４】
【発明の実施の形態】
以下、添付の図面に沿って本発明の実施の形態を説明する。
【００３５】
（第１の実施の形態）
図１は、本発明のカメラ制御システムを用いた実施例の典型的な実施形態を示した図であり、１０１はカメラサーバ、１０２はクライアント、１０３はカメラである。カメラ１０３は、外部からの命令によってパンチルトなどの撮像方向、不図示のズームレンズのパルス値を制御することによってズームなどの制御を可能とする。
【００３６】
カメラサーバ１０１およびクライアント１０２は、それぞれコンピュータなどの情報処理装置によって構成され、インターネットあるいはイントラネットなどのネットワークに接続されている。本実施の形態のカメラシステムは、クライアント１０２からネットワークを介してリクエストがカメラサーバ１０１へ送られ、これが受け入れられるとカメラサーバ１０１からクライアント１０２へ映像データが配送され、クライアントでカメラ１０３によって撮像された映像を見ることを可能としている。また、クライアント１０２からカメラ制御コマンドがカメラサーバ１０１へ送られ、カメラ１０３のズーム、パン、チルトなどの操作を可能としている。クライアント１０２は、複数のカメラサーバ１０２の中からアクセスするカメラサーバを選択することが可能である。
【００３７】
図２は、図１のカメラ制御システムの変形例を示したもので、広く普及しているWeb技術を併用した構成を示したものであり、ネットワークに接続されたWWW（World Wide Web）サーバ１０４が必要となる。WWWサーバ１０４内のWebページデータには、どのアドレスでカメラサーバへ接続できるかを示すリンクが配置され、これにより、容易に所望のカメラサーバへ接続することが可能となる。
【００３８】
なお、図１において、インターネット上のＷＷＷシステムに接続したカメラサーバは、それぞれＷＷＷサーバとして機能し、クライアント１０２にはＷＷＷブラウザのソフトが組み込まれ、その相互間ではＨＴＴＰ（Hyper Text Transfer Protocol）などで通信が行なわれている。
【００３９】
ＷＷＷでは、直接、あるいはゲートウエイを使って他のプロトコルを使うサーバにアクセスしてそれらの結果を最終的にハイパーテキストにしてユーザに表示している。つまり、ＷＷＷブラウザからは、文書データやイメージデータの格納先であるＷＷＷサーバに対して、対象とするデータの格納先が示されたＵＲＬ（Universal Resource Locator）に従ってその情報を提示する。ＷＷＷサーバは、これに応えて、対応する文書データやイメージデータをＷＷＷブラウザに返答する。
【００４０】
図３はカメラサーバ１０１およびカメラ１０３のハードウェア構成の一例を示したものである。図３において、所定のプログラムを格納したハードディスクあるいはＲＯＭなどの二次記憶装置１０５およびメモリ（ＲＡＭ）１０６、カメラ１０３から映像データを取り込むための映像キャプチャボード１０７、カメラ１０３に制御コマンドを送るためのカメラＩ／Ｆ１０８、ネットワークとカメラサーバを接続するためのネットワークＩ／Ｆ１０９、プログラムに基づいて各種の処理を実行するＣＰＵ１１０、プログラムを外部からロードするための外部記憶装置１１５などからなる。
【００４１】
なお、キーボード１１３およびマウス１１４、カメラ１０３をカメラサーバ１０１側において制御する場合に制御命令を入力可能とする。周辺コントローラ１１５は、これらキーボード１１３およびマウス１１４から入力された信号を取得している。また、カメラ１０３によって撮像された画像信号は、表示ボード１１１を介して所定の信号に変換され、その変換された信号に基づきディスプレイ装置１１２によって画像が表示される。
【００４２】
カメラ１０３は、光学的に撮像画角を制御するための不図示のズームレンズを備えており、撮像方向にズームレンズの位置（パルス値）を変化させることによって制御する。なお、ズームレンズはＣＰＵ１１０によって制御可能である。また、カメラ１０３は、その撮像方向を移動するための雲台を備えており、同様にＣＰＵ１１０によって制御可能である。
【００４３】
図４はクライアント１０２のハードウェア構成の一例を示したものであり、クライアント１０２は、プログラムを格納したハードディスクあるいはＲＯＭなどの二次記憶装置２０５およびメモリ（ＲＡＭ）２０６、ネットワークと接続するためのネットワークＩ／Ｆ、プログラムによる各種の処理を実行するCPU２１０、プログラムを外部からロードするための外部記憶装置２１５、ネットワークを介してカメラサーバ１０１に接続されるカメラ１０３に対する制御命令を入力するためのマウス２１４およびキーボード２１３、マウス２１４およびキーボード２１３の入力信号を取り込むための周辺コントローラ、カメラによって撮像された画像を表示する表示装置２１２、表示装置２１２に表示するためにカメラサーバから送信された信号を所定の信号に変換する表示ボード２１１などによって構成される。
【００４４】
図９は、本実施の形態のクライアント１０２のディスプレイ装置２１２に表示されるウインドウを示すものである。図９において、画像表示領域１３６は、カメラ１０３によって撮影された画像を表示する。また、つまみ１３１は、カメラ１０３のズームの制御を行なうためのものであり、つまみ１３１をマウス２１４などを用いて上に移動させるとテレ方向にズーム制御を実行させることができ、下に移動させるとワイド方向にズーム制御を実行させることができる。
【００４５】
また、つまみ１３２は、カメラ１０３の撮像方向のチルト方向の制御を行なうためのつまみであり、マウス２１４などを用いてつまみを左右に移動させると、それに応じてカメラ１０３の撮像方向を左右に移動させることができる。
【００４６】
また、つまみ１３３は、カメラ１０３のの撮像方向のパン方向の制御を行なうためのつまみであり、マウス２１４などを用いてつまみを上下に移動させると、それに応じてカメラ１０３の撮像方向を上下に移動させることができる。
【００４７】
１３４は、カメラ１０３の制御権をカメラサーバ１０１に要求するためのボタンであり、１３５は逆光補正用のボタンである。
【００４８】
図９のウインドウは、上述したように、カメラ制御命令を入力するためのGUI（Graphical User Interface）であり、カメラサーバ１０１から得られた映像データを基にして画像が映像表示領域１３６に表示され、つまみ１３１〜１３３あるいは操作ボタンなどからの指示は、カメラサーバ１０１へ送られる。
【００４９】
図５は本実施の形態のカメラ制御システムのプログラムの構成する部分を模式化した図である。同図において、カメラサーバ１０１内には、カメラの制御命令の基づいてカメラ１０３の制御をつかさどるカメラ制御サーバ５０１と、カメラ１０３によって撮像された画像信号を取り込み、アクセスしているクライアント１０２に対して画像の配送をつかさどる映像サーバ５０２の２つのモジュールを備える。
【００５０】
クライアント１０２内にはカメラ制御の指令やカメラサーバ１０２から送信されたカメラ１０３の状態通知に対応するカメラ制御部５０３とカメラ映像の表示処理を行なう映像表示部５０４を備える。
【００５１】
図６はクライアント１０２側でのＣＰＵ２１０による動作処理を詳細に示したフローチャートである。ステップｓ６０１において、二次記憶装置２０５に備えられるプログラムのWebブラウザは、指示されたURLに対応するWWWサーバと接続し、HTML（Hyper Text Markup Language）形式で記述されたWebページデータをリクエストする。続いてステップｓ６０２でWWWサーバからWebページデータを受け取り、このデータに基づいてディスプレイ装置２１２に表示する。
【００５２】
本実施の形態において、Webページデータの情報として、ネットワークに接続されるカメラサーバ１０１へ接続するための情報を示した以下のようなembedタグもしくはハイパーリンクが含まれる。
【００５３】
<embed src="camera1.wvp" width=480 height=320>
次にステップｓ６０３において、Webブラウザは、embedタグで指定されたデータファイル（上の場合、"camera1.wvp"ファイル）をWWWサーバへアクセスしてダウンロードする。
【００５４】
ステップｓ６０４において、Webブラウザは、ダウンロードされたデータファイルの識別子に対応するプログラム、すなわち本実施の形態のカメラ制御システムのクライアント側のプログラム（カメラ制御部５０３、映像表示部５０４）を起動させる。
【００５５】
ステップｓ６０５において、起動したプログラムは、ダウンロードしたデータファイルを読み込み、そこに記載されている各カメラサーバ１０１のアドレスおよび接続ポートの情報に基づいてディスプレイ装置２１２に表示を行い、その中からユーザによって指定されたカメラサーバ１０１の映像サーバ５０２に接続する。
【００５６】
ここで、ステップｓ６１１において、カメラサーバ１０１と接続後の処理を行うためのプログラムとして、映像表示部５０４が起動（実現方法としては、スレッドあるいはプロセスの起動となる）しているが、このプログラムによってカメラサーバ１０１との接続終了まで映像サーバ５０２からの映像データが届くたびにカメラ１０３の撮像画像がディスプレイ装置２１２上に表示される。ステップｓ６１２においてカメラサーバ１０１との接続が終了すると、撮影画像の表示が終了する。
【００５７】
さらに、ｓ６０６において、カメラ１０３を制御するためのカメラ制御部５０３は、ダウンロードしたデータファイルに記載されているカメラ制御サーバ５０１のアドレスおよび接続ポートの情報に従い、カメラ制御サーバ５０１へ接続する。
【００５８】
ステップｓ６０７において、マウス２１４の操作あるいはキーボード２１３の操作によってユーザからの制御命令が入力されたとする。すると、ステップｓ６０８において、その入力された制御命令がカメラ制御に関する場合には、カメラ制御部５０３は、カメラ制御サーバ５０１へコマンドを出力し、必要があれば映像表示部５０４にそのコマンドを通知する。
【００５９】
また、ステップｓ６０９において、ユーザの制御命令が、映像サーバ５０２によって処理が実行されるものに関する命令である場合には、映像表示部５０４は、映像サーバ５０２へコマンドを発する。
【００６０】
また、ステップｓ６１０において、ユーザの制御命令がクライアント１０２の状態を変更する（たとえば、画像表示サイズを変更する）ものの場合には、不図示のクライアント１０２のＯＳによってクライアント１０２の内部状態を更新し、また、ユーザ操作を終了させる場合には、クライアントの動作に関連する各プログラム（カメラ制御部５０３、映像表示部５０４など）を順次終了させる。S６０８〜S６１０の処理が完了するとS６０７へ戻り、ユーザの次の操作入力を待ち、制御命令が入力された場合には、ステップｓ６０８〜ｓ６１０と同様の処理を行なう。
【００６１】
図１２は、図６におけるステップｓ６１１の処理を詳細に示したフローチャートである。
【００６２】
まず、ステップｓ１２１において、ネットワークを介して映像サーバ５０２からの映像データあるいは図６のステップｓ６０８においてカメラ制御部５０３から出力されるカメラ制御コマンドを受けとる。
【００６３】
次に、これが映像サーバ５０２からの映像データであった場合には、ステップｓ１２２において、その映像データをメモリ２０６に保持し、ｓ１２４において保持した映像を表示する。
【００６４】
また、受信した情報がカメラ制御コマンドであった場合には、ステップｓ１２３において、カメラ制御コマンドに応じて、ＲＡＭに保持している映像データの処理を行なう。
【００６５】
図7は、クライアント１０２の動作処理に対するカメラサーバ１０１内のカメラ制御サーバ５０１のＣＰＵ１１０による動作処理を詳細に示したフローチャートである。図７において、カメラ制御サーバ５０１は、主たる処理を行なうメインスレッド５０１ａと、接続中のクライアント１０２とのコマンドの送受信を行なうサブスレッド５０１ｂからなる。図７において、サブスレッド５０１ｂはひとつしか示していないが、アクセスしているクライアント１０２が複数存在する場合は複数のサブスレッドがそれぞれ対応するクライアント１０２に対する処理を行なうものとする。
【００６６】
ステップｓ７０１において、カメラ制御サーバ５０１は、まず起動時に外部記憶装置１０５に備えられる特定のファイル（OSによってはレジストリなどのシステムデータベース）からカメラ制御サーバ５０１の動作設定情報を読み出して、それに基づき動作を開始する。
【００６７】
ステップｓ７０２において、ここでクライアントからのリクエストを受け付けるポートを開きリクエスト受付状態に入る。
【００６８】
リクエスト（接続リクエストもしくは操作コマンドリクエスト）が受け付けられた場合、そのリクエストが接続リクエストならば、ステップｓ７０３に進み、そのリクエストを行なったクライアント１０２に対するカメラサーバ１０１との接続の許可の判定を行う。ｓ７０４において、リクエストを行なったクライアント１０２に対して接続が否と判定された場合は接続拒否のエラーコードを返し、ｓ７０２に戻る。一方、接続が可と判定された場合は、ステップｓ７０５に進み、接続処理として、クライアントからのコマンドの受付処理を行うサブスレッド５０１ｂを生成し、クライアントの登録を行ってからｓ７０２に戻る。
【００６９】
ステップｓ７０７において、生成されたサブスレッド５０１ｂによって接続が許可されたクライアント１０２からのコマンドの受付を行い、受信されたカメラ制御コマンドをメインスレッド５０１ａへ受け渡す。メインスレッド５０１ａはステップｓ７０２でこれを受け、カメラ制御コマンドであることを確認してステップｓ７０８へ進み、カメラ１０３の制御を実行する。
【００７０】
ｓ７０９において、サブスレッド５０１ｂでは、カメラ制御が適切に行われたかどうかなどを示すコードをカメラ制御要求を行なったクライアント１０２に出力する。さらに、メインスレッド５０１ａでは、ステップｓ７０６でカメラの操作により変化した状態（たとえば、パン・チルト・ズームの値）をすべての接続中のクライアント１０２に対応するサブスレッド５０１ｂに伝える。サブスレッド５０１ｂはステップｓ７０９でカメラ制御状態の変化を各クライアントへ通達する。
【００７１】
さらに、ｓ７１２において、サブスレッド５０１ｂは、対応するクライアント１０２から接続終了のコマンドを受けたならば、それを主プログラムへ通達し、さらにステップｓ７１０で自身のスレッドを終了する。
【００７２】
尚、制御コマンドの扱いにおいては、具体的な制御コマンドの発行の前に、カメラ制御権の割り当て要求を必要とする場合がある。これは複数の人間がカメラの操作を要求するような状況での混乱を防ぐ効果がある。この場合、まず、クライアント１０２からはカメラ制御権獲得の要求コマンドが発行され、これに対して、カメラ制御サーバ５０１は、現在のカメラ制御権の割り当て状態から、拒絶・割り当て・順番待ちを選びクライアントへ返答する。
【００７３】
例えば、カメラ制御権は前もって定められた所定の時間か、クライアントが接続を終了するまでの短いほうの時間で定められ、制御権を有しているクライアントが制御権を失うと、次の順番待ちの人に割り当てられる。クライアントはカメラ制御権を獲得してから剥奪されるまでの間だけ、カメラ１０３の制御を行なうことが可能となる。カメラ制御サーバ５０１は、カメラ制御権が付与されているクライアントからの操作コマンドのみを受け付ける。
【００７４】
図８はカメラサーバ１０１内の映像サーバ５０２の動作処理フローチャートである。映像サーバ５０２は、主たる処理を行なうメインスレッド５０２ａと、接続中のクライアント１０２とのコマンドの送受信を行なうサブスレッド５０２ｂと、画像処理を行なう画像処理スレッド５０２ｃからなる。図８において、図７と同様にサブスレッド５０１ｂはひとつしか示していないが、アクセスしているクライアント１０２が複数存在する場合は、複数のサブスレッドがそれぞれ対応するクライアント１０２に対する処理を行なうものとする。
【００７５】
ステップｓ８０１において、映像サーバ５０２は、まず起動時に２次記憶装置に記憶された特定のファイル（OSによってはレジストリなどのシステムデータベース）から映像サーバ５０２の動作設定情報を読み出して、それに基づき動作を開始する。ステップｓ８０２において、映像の獲得と符号化を行う画像処理スレッド５０２ｃを生成し（映像サーバ５０２の起動において画像処理スレッド５０２ｃは休止状態である）、クライアント１０２からの映像データのリクエストを受け付けるポートを開き、リクエスト受付状態に入る。
【００７６】
ｓ８０３において、クライアント１０２からのリクエスト（接続リクエストもしくはコマンドリクエスト）が受信され、そのリクエストがカメラサーバ１０２との接続リクエストと判定されたならば、ステップｓ８０４に進み、接続の可否の判定を行う。クライアント１０２との接続が否と判定されたならば、接続拒否のエラーコードを返し、ｓ８０２に戻る。
【００７７】
クライアント１０２との接続が可と判定されたならば、ステップｓ８０４に進み、接続処理として、クライアント１０２からのコマンドの受付処理を行うサブスレッド５０２ｂを生成し、さらに接続したクライアント１０２の登録を行い、映像処理スレッド５０２ｃが休止状態ならば動作開始を指示してから、ｓ８０２に戻る。
【００７８】
生成されたサブスレッド５０２ｂでは、前述したように、ステップｓ８０３で対応するクライアントからの操作コマンドの受付を行い、映像処理を行うメインスレッド５０２aへ受け渡す。メインスレッド５０２aは、ステップｓ８０２でこれを受け、操作コマンドに対してはステップｓ８０６へ進み、映像の獲得や符号化・送信などに関する設定の変更操作を行って、その結果（操作の成功か失敗を示すコード）をコマンド要求を受信したのサブスレッド５０２ｂへ伝える。ｓ８０７において、このサブスレッドはその結果をクライアント１０２へ送り返す。
【００７９】
さらに、ｓ８０８において、メインスレッド５０２ａでは、予め設定された時間間隔で映像データを映像キャプチャボードを使って獲得し、これを圧縮データに変換する。さらにこの圧縮データをすべてのサブスレッド５０２ｂに伝える。ｓ８０９において、サブスレッド５０２ｂは、接続している各クライアント１０２に対して映像データ（動画像）を配送する。
【００８０】
サブスレッド５０２ｂは、次映像フレーム送信要求（これはクライアント１０２での圧縮映像データの受け取り完了に対して、送り返されるのが一般的である）を受け取った場合には映像フレーム送信要求のフラグを設定する。また、クライアント１０２から接続終了のコマンドを受けたならば、それを主プログラムへ通達し、さらにステップｓ８１０で自身のスレッドを終了する。
【００８１】
図１５は、クライアント１０２において、ズーム制御命令が入力されたときの動作処理フローチャートである。
【００８２】
ｓ２０１において、ユーザが図９および図１３に示すつまみ１３１をマウス２１４の操作によって移動させることによって、ズーム制御命令が入力されると、ｓ２０２において、カメラサーバ１０１にズーム制御命令を送信する。
【００８３】
ｓ２０３において、入力されたズーム制御命令がワイド側からテレ側に制御される命令の場合はｓ２０４に進む。ズーム制御命令がテレ側からワイド側に制御される命令の場合はこのフローチャートによる処理を行なわない。
【００８４】
さらに、ｓ２０４において、ズーム制御命令の入力に伴って、そのときに映像表示領域１３６に表示されているフレーム画像（静止画）をそのズーム制御命令に応じた電子ズーム処理を実行して表示する。ここで、電子ズームとは、画像の一部を電子的な処理を施すことによって画像を拡大表示を行なう公知の技術である。例えば、図１３（ａ）に示すように、画像がワイド表示されている状態からつまみ１３１を移動させることによってワイド方向からテレ方向のズーム制御命令が入力されると、図１３（ｂ）に示すように電子ズーム処理が行なわれた画像が表示される。
【００８５】
ｓ２０５において、ズーム制御命令が入力されてから所定時間が経過した場合つまり、カメラサーバ１０１にズーム制御命令を送信してからの時間と同等の時間が経過した場合、映像表示領域１３６における画像の表示をｓ２０４で電子ズーム処理を施した画像からカメラサーバ１０１から送信されてくる最新の画像を表示させる。所定時間とは、カメラサーバ側においてズーム制御が実行された後の画像がクライアント１０２側で受信されるまでの時間より長いものとする。また、時間のカウントはＣＰＵ２１０において実行されることにより前記所定時間が計時される。
【００８６】
以上説明したように、カメラ１０３のズーム制御命令が入力されてからカメラサーバ１０１からズーム制御終了後の画像が受信されるまでの間は、映像表示領域１３６に表示されている画像を電子ズーム処理して表示しており、あたかもネットワークの通信速度によるデータの遅延がないかのようにズーム制御が実行できるように見えるので、非常に操作性のよいカメラ制御システムを提供することができる。
【００８７】
（第２の実施の形態）
本実施の形態は、カメラサーバ１０１からズーム制御完了報告が受信された場合に、画像表示領域１３６の画像表示を電子ズーム処理されたフレーム画像（静止画）の表示から最新のカメラサーバ１０１から送信された画像を表示する形態である。なお、本実施のカメラ制御システムの構成は第１の実施の形態と同様であるのでその説明は省略する。
【００８８】
図１６は、クライアント１０２のＣＰＵ２１０による動作処理フローチャートを示し、図１７は、カメラサーバ１０１のＣＰＵ１１０による動作処理フローチャートを示している。なお、図１６において、図１５におけるフローチャートと同一の符号が付記されているものは同様の処理が行なわれるものとしてその説明は省略する。
【００８９】
図１７のｓ３０１において、クライアント１０２からズーム制御命令が入力されると、ｓ３０２に進み、その制御命令に基づいてカメラ１０３のズームレンズの制御を実行する。そして、ｓ３０３においてズーム制御命令が完了した場合、ｓ３０４に進み、ズーム完了報告をクライアント１０２に送信する。
【００９０】
図１６のs２０５aにおいて、ズーム制御完了報告が受信された場合、ｓ２０６に進み、ｓ２０４で電子ズーム処理が施されたフレーム画像の表示からカメラサーバ１０１から送信される最新の画像データに基づく画像の表示に切換える。
【００９１】
以上説明したように、本実施の形態においてもカメラ１０３のズーム制御命令が入力されてからカメラサーバ１０１からズーム制御が完了した旨の通知が受信されるまでの間は、映像表示領域１３６に表示されている画像を電子ズーム処理して表示しており、あたかもネットワークの通信速度によるデータの遅延がないかのようにズーム制御が実行できるように見えるので、非常に操作性のよいカメラ制御システムを提供することができる。
【００９２】
（第３の実施の形態）
本実施の形態は、第１の実施の形態からなるカメラ制御システムにおいて、カメラサーバ１０１から送られてくる最新の映像データを基づいて常に電子ズーム処理を施して動画像を表示する形態である。なお、カメラ１０３のズーム制御は、カメラ１０３に備えられる不図示のズームレンズの位置を撮像光軸方向に移動させることによって制御されているが、本実施の形態では、カメラ１０３から出力される画像データに付随してカメラ１０３に備えられる不図示のズームレンズのパルス値がカメラサーバ１０１へ読み出され、さらに画像データとともにクライアント１０２に常に送信されるものとする。
【００９３】
図１８は、本実施の形態のクライアント１０２のＣＰＵ２１０による動作処理フローチャートである。なお、図１６において、図１５におけるフローチャートと同一の符号が付記されているものは同様の処理が行なわれるものとしてその説明は省略する。
【００９４】
図１８のｓ２０１〜ｓ２０４において、第１の実施の形態における図１６に示す動作処理と同様な処理を実行する。そして、ｓ２０７において、カメラサーバ１０１側でのカメラ１０３のズーム制御によって、カメラサーバ１０１から映像データに付随して送信されたパルス値が変化した場合（つまり、光学ズームの制御が実行されている場合）、ｓ２０４における電子ズーム処理をそのまま行なうと、所望のズーム画像に対してテレ方向側にズームの制御がずれてしまう。そこで、ｓ２０８において、所望のズーム画像が得られるように、光学ズームを制御を補うようにして電子ズーム処理を行なう。
【００９５】
つまり、ｓ２０７〜ｓ２０８において、カメラ１０３のズームレンズのパルス値が目標値に近づくにつれて電子ズームの処理の度合を低め、ズームレンズによる光学ズームの制御の度合を高めるようにして電子ズームの処理が行なわれる。
【００９６】
そして、ｓ２０９において、画像データに付随するズームレンズのパルス値が目標値に到達する、つまり、カメラ１０３のズームレンズによるズーム制御が終了すると、ｓ２１０において電子ズーム処理が終了する。
【００９７】
以上説明したように、本実施の形態においても、ズーム制御命令が入力されると、クライアント１０２側において電子ズーム処理が施され所望のズーム画像が得られる。さらに、画像データとともにカメラサーバ１０１のズーム制御によって変化されるズームレンズのパルス値が取得することにより、そのパルス値に基づいて電子ズームによるズーム処理の度合を変化することができる。つまり、電子ズームの処理を行なっているときにおいても所望のズーム倍率の画像の表示を動画によって行なうことができる。
【００９８】
（第４の実施の形態）
本実施の形態は、ズーム制御命令がクライアント１０２側において入力された場合、映像表示領域１３６に表示されている映像のうち、ズームされる領域を枠で表示する形態である。なお、本実施の形態のカメラ制御システムの構成は第１の実施の形態と同様であるのでその説明は省略する。
【００９９】
図１９は、本実施の形態のクライアント１０２のＣＰＵ２１０による動作処理フローチャートである。図１９において、図１５に示す符号と同一のものは同様の処理を実行するものとする。
【０１００】
ｓ２０１において、ユーザが図９および図１３に示すつまみ１３１をマウス２１４の操作によって移動させることによって、ズーム制御命令が入力されると、ｓ２０２において、カメラサーバ１０１にズーム制御命令を送信する。
【０１０１】
ｓ２０３において、入力されたズーム制御命令がワイド側からテレ側に制御される命令の場合はｓ２０４ａに進む。ズーム制御命令がテレ側からワイド側に制御される命令の場合はこのフローチャートによる処理を行なわない。
ｓ２０４ａにおいて、入力されたズーム制御命令の入力に基づいて、現在映像表示領域に表示されている映像のうちズームされる領域を算出し、その領域を枠で表示する。例えば、図１１において、（ａ）は、ズーム制御命令を入力する前のディスプレイ装置２１２の表示画面上のウインドウ表示であるが、ここで、ワイド方向からテレ方向に調節するためのズーム制御命令が入力されると、ズーム制御命令入力時に表示されているフレーム画像上にズームによって表示される領域を示すための枠１３９が表示されることとなる。
【０１０２】
そして、ｓ２０５において、所定時間が経過するまで制御命令入力時の画像と枠１３９を所定時間表示し、所定時間経過後、ｓ２０６に進み、カメラサーバ１０１から送信されてくる現在のズーム制御終了後の画像に表示を切換える。
【０１０３】
以上説明したように、ズーム制御命令が入力されてからズーム制御が完了した画像が表示されるまでの間は、画像上にズームされる領域を示す枠を示しているので比較的簡単な処理によってズーム制御後の映像を適切に把握することができる。また、カメラサーバ１０１からズーム制御された画像が表示されるまではフレーム画像を表示しているので、見苦しくない。
【０１０４】
なお、本実施の形態においてはズーム制御に関する処理を述べたがカメラの撮像方向に関する処理に適用してもよい。例えば、図２０に示すディスプレイ装置２１２の表示画面上のウインドウにおいて、（ａ）に示す状態でカメラの左方向に撮像方向を制御する制御命令が入力されると、カメラ１０３の撮像方向制御後の画像が送信されるまで、（ｂ）に示すようにその制御命令の移動量を算出して、制御命令入力時の画像上に制御後に表示される映像表域を枠によって表示する。このように処理を行なった場合においてもカメラ１０３の撮像方向制御後の画像を瞬時に確認することができる。
【０１０５】
（第５の実施の形態）
本実施の形態は、カメラの撮像方向に関する処理に適用した形態である。図１４は、本実施の形態のクライアント１０２のＣＰＵ２１０による動作処理フローチャートである。なお、本実施の形態のカメラ制御システムの構成は第１の実施の形態と同様であるのでその説明は省略する。
【０１０６】
まず、ｓ４０１において、ユーザの入力操作により、カメラ１０３の撮像方向の制御命令が入力されると、ｓ４０２に進み、カメラサーバ１０１にその入力された制御命令を送信し、ｓ４０３に進む。
【０１０７】
ｓ４０３において、制御命令が入力されたときに映像表示領域１３６に表示されているフレーム画像を、その制御命令に基づいて画像領域をシフトして表示させる。例えば、図１０に示すディスプレイ装置２１２の表示画面上のウインドウにおいて、（ａ）に示す状態でカメラの左方向に撮像方向を制御する制御命令が入力されると、カメラ１０３の撮像方向制御後の画像が送信されるまで、（ｂ）に示すようにその制御命令の移動量を算出して、制御命令入力時の画像の表示をシフトさせて表示する。
【０１０８】
また、ｓ４０４において、所定時間が経過した場合、ｓ４０５に進み、ｓ４０３において処理された画像の表示からカメラサーバ１０１から送信される撮像方向制御後の最新の画像データを基にした画像（動画）の表示に切換える。
【０１０９】
以上説明したように、このように処理を行なった場合においてもカメラ１０３の撮像方向制御後の画像を瞬時に確認することができる。
【０１１０】
なお、上述した図１５、図１６、図１８、図１９の動作処理は、図１２の動作処理をズーム制御コマンドに適用した場合の処理を示し、図１４の動作処理は図１２に示す動作処理を撮像方向制御コマンドに適用した場合を示しているものである。
【０１１１】
なお、各実施の形態において、表示手段はディスプレイ装置２１２に対応し、入力手段はマウス２１４およびキーボード２１３に対応する。また、電子ズーム処理手段および切換手段および制御命令出力手段および表示処理手段および計時手段は、ＣＰＵ２１０などに対応する。また、制御手段および画像出力手段およびズーム完了通知手段および取得手段および位置情報出力手段は、ＣＰＵ１１０などに対応する。
【０１１２】
本発明は、一例として、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって達成できる。
【０１１３】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１１６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示にもとづき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【０１１７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、本発明のカメラ制御システムに不可欠なモジュールを、記憶媒体に格納することになる。
【０１１８】
【発明の効果】
以上説明したように、本発明によれば、ネットワークによるデータの伝送時間による画像表示の遅延を解消することができる。
【図面の簡単な説明】
【図１】本発明のカメラ制御システムの一例を示す図。
【図２】本発明のカメラ制御システムの一例を示す図。
【図３】本発明のカメラサーバの構成図。
【図４】本発明のクライアントの構成図。
【図５】本発明のカメラ制御システムのソフトウエアの構成を示す図。
【図６】本発明のクライアント側の動作処理を示すフローチャート。
【図７】本発明のカメラサーバ側のカメラ制御コマンドの処理を示すフローチャート。
【図８】本発明のカメラサーバ側の画像の送信処理を示すフローチャート。
【図９】本発明のディスプレイ装置２１２の表示画面の一例を示す図。
【図１０】（ａ）制御命令入力前のウインドウの表示を示す図。
（ｂ）制御命令入力後のウインドウの表示を示す図。
【図１１】（ａ）制御命令入力前のウインドウの表示を示す図。
（ｂ）制御命令入力後のウインドウの表示を示す図。
【図１２】本発明のクライアント側の動作処理を示すフローチャート。
【図１３】（ａ）制御命令入力前のウインドウの表示を示す図。
（ｂ）制御命令入力後のウインドウの表示を示す図。
【図１４】第５の実施の形態におけるクライアントの動作処理フローチャート。
【図１５】第１の実施の形態におけるクライアントの動作処理フローチャート。
【図１６】第２の実施の形態におけるクライアントの動作処理フローチャート。
【図１７】第２の実施の形態におけるカメラサーバの動作処理フローチャート。
【図１８】第３の実施の形態におけるクライアントの動作処理フローチャート。
【図１９】第４の実施の形態におけるクライアントの動作処理フローチャート。
【図２０】（ａ）制御命令入力前のウインドウの表示を示す図。
（ｂ）制御命令入力後のウインドウの表示を示す図。
【符号の説明】
１０１  カメラサーバ
１０２  クライアント
１０３  カメラ
１０５  ２次記憶装置
１０６  メモリ
１１０  ＣＰＵ
１１５  外部記憶装置
１３１  ズーム操作つまみ
１３２  チルト操作つまみ
１３４  パン操作つまみ
２０５  ２次記憶装置
２０６  メモリ
２１２  ディスプレイ装置
２１３  キーボード
２１４  マウス
【図１】
0004109739.tif 000002
【図２】
0004109739.tif 000003
【図３】
0004109739.tif 000004
【図４】
0004109739.tif 000005
【図５】
0004109739.tif 000006
【図６】
0004109739.tif 000007
【図７】
0004109739.tif 000008
【図８】
0004109739.tif 000009
【図９】
0004109739.tif 000010
【図１０】
0004109739.tif 000011
【図１１】
0004109739.tif 000012
【図１２】
0004109739.tif 000013
【図１３】
0004109739.tif 000014
【図１４】
0004109739.tif 000015
【図１５】
0004109739.tif 000016
【図１６】
0004109739.tif 000017
【図１７】
0004109739.tif 000018
【図１８】
0004109739.tif 000019
【図１９】
0004109739.tif 000020
【図２０】
0004109739.tif 000021