(57)【要約】【課題】  撮像装置に接続されるクライアントが用いるプロトコルによっては、制御コマンドに対するエラー応答の受信により予期せぬ動作をする恐れがあった。【解決手段】  カメラ制御装置１００の通信処理部２０６は、クライアントから制御コマンドを受信し、ＣＰＵ２１１は、受信した制御コマンドに応じた制御が所定のエラーにより実行できない場合であって、所定のエラーが定義されたプロトコルを用いるクライアントから制御コマンドを受信した場合、当該クライアントに対してエラー応答を送信し、受信した制御コマンドに応じた制御が所定のエラーにより実行できない場合であって、所定のエラーが定義されていないプロトコルを用いるクライアントから制御コマンドを受信した場合、当該クライアントに対して受理応答を送信する。【選択図】  図１
2012227603.tif 000002
【特許請求の範囲】
【請求項１】
クライアントにネットワークを介して接続される撮像装置を制御するカメラ制御装置であって、
前記撮像装置の制御のための制御コマンドを受信する受信手段と、
前記受信した制御コマンドに応じた制御をする制御手段と、
前記受信した制御コマンドに応じた制御が所定のエラーにより実行できない場合であって、前記所定のエラーが定義されたプロトコルを用いるクライアントから当該制御コマンドを受信した場合、当該クライアントに対して、前記所定のエラーを示すエラー応答を送信し、
前記受信した制御コマンドに応じた制御が前記所定のエラーにより実行できない場合であって、前記所定のエラーが定義されていないプロトコルを用いるクライアントから当該制御コマンドを受信した場合、当該クライアントに対して、当該制御コマンドを正常に受理したことを示す受理応答を送信する送信手段とを有することを特徴とするカメラ制御装置。
【請求項２】
前記制御手段は、制御権を有するクライアントからの撮像方向の制御コマンドに応じて前記撮像装置の撮像方向を制御し、
前記送信手段は、前記制御権を有しないクライアントであって、前記制御権を有しないことによるエラーが定義されたプロトコルを用いるクライアントから撮像方向の制御コマンドを受信した場合、当該制御コマンドを送信したクライアントに対して、前記制御権を有しないことによるエラーを示すエラー応答を送信し、
前記制御権を有しないクライアントであって、前記制御権を有しないことによるエラーが定義されていないプロトコルを用いるクライアントから撮像方向の制御コマンドを受信した場合、当該制御コマンドを送信したクライアントに対して、前記制御コマンドを正常に受理したことを示す受理応答を送信することを特徴とする請求項１に記載のカメラ制御装置。
【請求項３】
前記受信された制御コマンドに含まれる文字列によって、当該制御コマンドを送信したクライアントが、前記制御権を有しないことによるエラーが定義されたプロトコルを用いるクライアントであるか否かを判定する判定手段を有し、
前記送信手段は、前記判定手段による判定結果に応じて、前記エラー応答と受理応答とのうちいずれかを送信することを特徴とする請求項２に記載のカメラ制御装置。
【請求項４】
前記撮像装置に接続するためにクライアントが送信した接続要求に含まれる文字列に応じて、前記制御コマンドを送信したクライアントが、前記制御権を有しないことによるエラーが定義されたプロトコルを用いるクライアントであるか否かを判定する判定手段を有し、
前記送信手段は、前記判定手段による判定結果に応じて、前記エラー応答と受理応答とのうちいずれかを送信することを特徴とする請求項２に記載のカメラ制御装置。
【請求項５】
前記制御権を取得するための要求を送信したクライアントの識別情報を記憶する記憶手段を有し、
前記送信手段は、前記記憶手段に記憶されている識別情報に対応するクライアントであって、前記制御権を有しないクライアントからの制御コマンドに対して、前記エラー応答を送信することを特徴とする請求項２に記載のカメラ制御装置。
【請求項６】
前記送信手段は、前記撮像装置の制御権を有しないクライアントであって、前記制御コマンドを送信したクライアントが用いているプロトコルが、前記制御権を有しないことによるエラーが定義されたプロトコルであるか、前記制御権を有しないことによるエラーが定義されていないプロトコルであるか不明の場合、当該クライアントに対して、前記受理応答を送信することを特徴とする請求項２乃至５のうちいずれか１項に記載のカメラ制御装置。
【請求項７】
前記制御手段は、前記制御権を有しないことによるエラーが定義されていないプロトコルを用いるクライアントからの制御コマンドの受信時に、前記制御権を有するクライアントが存在しない場合、当該制御コマンドに応じた前記撮像装置の制御を行うことを特徴とする請求項２乃至６のうちいずれか１項に記載のカメラ制御装置。
【請求項８】
クライアントにネットワークを介して接続される撮像装置を制御するカメラ制御装置が行う制御方法であって、
前記撮像装置の制御のための制御コマンドを受信する受信工程と、
前記受信した制御コマンドに応じた制御をする制御工程と、
前記受信した制御コマンドに応じた制御が所定のエラーにより実行できない場合であって、前記所定のエラーが定義されたプロトコルを用いるクライアントから当該制御コマンドを受信した場合、当該クライアントに対して、前記所定のエラーを示すエラー応答を送信し、
前記受信した制御コマンドに応じた制御が前記所定のエラーにより実行できない場合であって、前記所定のエラーが定義されていないプロトコルを用いるクライアントから当該制御コマンドを受信した場合、当該クライアントに対して、当該制御コマンドを正常に受理したことを示す受理応答を送信する送信工程とを有することを特徴とする制御方法。
【請求項９】
クライアントにネットワークを介して接続される撮像装置を制御するコンピュータに、
前記撮像装置の制御のための制御コマンドを受信する受信手順と、
前記受信した制御コマンドに応じた制御をする制御手順と、
前記受信した制御コマンドに応じた制御が所定のエラーにより実行できない場合であって、前記所定のエラーが定義されたプロトコルを用いるクライアントから当該制御コマンドを受信した場合、当該クライアントに対して、前記所定のエラーを示すエラー応答を送信し、
前記受信した制御コマンドに応じた制御が前記所定のエラーにより実行できない場合であって、前記所定のエラーが定義されていないプロトコルを用いるクライアントから当該制御コマンドを受信した場合、当該クライアントに対して、当該制御コマンドを正常に受理したことを示す受理応答を送信する送信手順とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置を制御するカメラ制御装置に関する。
【背景技術】
【０００２】
従来、ネットワークカメラに接続された複数端末のうち、制御権を有する特定の端末によるカメラ制御を受け付けるようにする方法が知られている。
例えば、特許文献１には、あるクライアントが制御権を取得しているときは他クライアントからの制御コマンドを無効とすることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−４１１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、撮像装置に接続されるクライアントが用いるプロトコルによっては、制御コマンドに対するエラー応答の受信により予期せぬ動作をする恐れがあった。
例えば、制御権を有さないことによるエラーが定義されていないプロトコルを用いているクライアントが、撮像装置の制御コマンドの応答として、制御権を有さないことによるエラー応答を受信しても、そのエラー応答の内容を解釈できないことがあった。この場合、当該エラー応答を受信したクライアントは、例えば、エラー終了などの予期せぬ動作をしてしまう恐れがあった。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、撮像装置に接続されるクライアントによる予期せぬ動作を低減することである。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明のカメラ制御装置は、例えば、以下の構成を有する。すなわち、クライアントにネットワークを介して接続される撮像装置を制御するカメラ制御装置であって、前記撮像装置の制御のための制御コマンドを受信する受信手段と、前記受信した制御コマンドに応じた制御をする制御手段と、前記受信した制御コマンドに応じた制御が所定のエラーにより実行できない場合であって、前記所定のエラーが定義されたプロトコルを用いるクライアントから当該制御コマンドを受信した場合、当該クライアントに対して、前記所定のエラーを示すエラー応答を送信し、前記受信した制御コマンドに応じた制御が前記所定のエラーにより実行できない場合であって、前記所定のエラーが定義されていないプロトコルを用いるクライアントから当該制御コマンドを受信した場合、当該クライアントに対して、当該制御コマンドを正常に受理したことを示す受理応答を送信する送信手段とを有する。
【発明の効果】
【０００６】
本発明によれば、撮像装置に接続されるクライアントによる予期せぬ動作を低減できる。
【図面の簡単な説明】
【０００７】
【図１】システム構成図
【図２】ネットワークカメラ１００のブロック図
【図３】クライアント１２０〜１２２のブロック図
【図４】ネットワークカメラ１００の処理を説明するためのフローチャート図
【図５】クライアント１２０〜１２２の処理を説明するためのフローチャート図
【図６】クライアント１２０〜１２２により送信されるＨＴＴＰリクエストの一部
【発明を実施するための形態】
【０００８】
以下に、本発明の実施例を詳細に述べる。
【０００９】
図１は、本実施形態のシステム構成例を示す図である。図１では、ネットワークカメラ１００とクライアント（制御装置）１２０〜１２２がネットワーク１５０を介して接続されている。ネットワーク１５０に接続されるネットワークカメラ１００とクライアントの数は、図１の例に限らない。
【００１０】
なお、本形態のネットワークカメラ１００は、カメラの制御ができるクライアントを、制御権を有するクライアントに制限している。本形態では、クライアント１２０が制御権を持っており、クライアント１２１とクライアント１２２が制御権を持っていないとする。また、クライアント１２０とクライアント１２１は、制御権を有しないことによるエラー応答をネットワークカメラ１００から受信した場合に、当該エラー応答の内容を解釈できるクライアントである。一方、クライアント１２２は、制御権を有しないことによるエラー応答を受信しても、当該エラー応答の内容を解釈できない。
【００１１】
すなわち、クライアント１２０及び１２１は、制御権を有しないことによるエラーが定義されたプロトコル（定義プロトコル）を用いてネットワークカメラ１００に接続している。従って、例えば、クライアント１２１は、ネットワークカメラ１００に対してパン制御コマンドを送信した後に、制御権を有しないことによるエラー応答を受信した場合、エラー応答に応じたエラーメッセージを表示させることができる。
【００１２】
一方、クライアント１２２は、制御権を有しないことによるエラーが定義されていないプロトコル（非定義プロトコル）を用いてネットワークカメラ１００に接続している。
【００１３】
なお、以下では、制御権を有しないことによるエラーが定義されたプロトコルを定義プロトコルとする例を中心に説明するが、別のエラーが定義されたプロトコルを定義プロトコルとしても良い。別のエラーの例として、例えば、ネットワークカメラ１００に対するパン制御コマンドによる制御後のパン角度が、ネットワークカメラ１００の可動範囲を超えることによるエラーがある。また、別のエラーの例として、例えば、ネットワークカメラ１００がパノラマ画像の生成のための制御中に、チルト制御コマンドを受信したことによるエラーがある。本形態のネットワークカメラ１００は、パノラマ画像の生成のためのパン、チルト制御中は、クライアントからのパン、チルト制御コマンドに応じたパン、チルト制御を行わない。
【００１４】
図２は、ネットワークカメラ１００の全体構成を表すブロック図である。本形態のネットワークカメラ１００は、撮像装置と、当該撮像装置を制御するためのカメラ制御装置が一体となっている。ただし、これらが別の装置であっても構わない。
【００１５】
図２において、２０１はレンズ部、２０２はＣＣＤ部、２０３は信号処理部、２０４は画像解析部、２０５は符号化部、２０６は通信処理部である。以下にネットワークカメラ１００が映像データをネットワーク１５０へ送信するまでの処理を説明する。
【００１６】
レンズ部２０１から取り込まれた光学映像はＣＣＤ部２０２でＲＧＢデジタルデータに変換された後、信号処理部２０３へ送られる。信号処理部２０３は、ＲＧＢデジタルデータをＹＣｂＣｒ４：２：０フォーマットまたはＹＣｂＣｒ４：２：２フォーマットのデジタルデータに変換する処理、画像サイズの変換処理、各種フィルタ処理などを行う。処理された撮像データは画像解析部２０４に送られると共に符号化部２０５へ送られる。符号化部２０５は、信号処理部２０３からの撮像データをＭＰＥＧ４フォーマットやＪＰＥＧフォーマットへ符号化圧縮する処理を実行する。なお、符号化の方式は上記の方式に限らない。
【００１７】
通信処理部２０６は、符号化部２０５で生成されたＭＰＥＧ４の動画ストリームデータや各ＪＰＥＧ静止画データを、ＴＣＰ／ＩＰ、ＨＴＴＰあるいはＲＴＰなどのネットワークプロトコルに従って、ネットワーク１５０を経由して各クライアントへ送信する。なお、ネットワークプロトコルは上記のプロトコルに限らない。
【００１８】
画像解析部２０４は、信号処理部２０３からの撮像データを解析して被写体や特定の画像パターンが含まれているか否かを判定する。信号処理部２０３、画像解析部２０４、符号化部２０５、通信処理部２０６の各処理ブロックは後述のＣＰＵ２１１により制御される。
【００１９】
２０７はカメラ制御部で、モータ駆動部２０８、レンズ駆動部２１０と接続される。カメラ制御部２０７は、ＣＰＵ２１１からの指示に従ってカメラのパン、チルト、ローテーション動作のための制御信号や、ズームやＡＦ（オートフォーカス）動作のための制御信号を出力する。
【００２０】
モータ駆動部２０８はモータ駆動回路を備えており、カメラ制御部２０７からの制御信号に従ってパン、チルト、ローテーションモータ２０９を駆動し、モータの回転によってカメラの撮影方向を変えることが可能となる。
【００２１】
また、２１０はレンズ駆動部であり、ズーム、ＡＦなどの各制御を行うためのモータとモータ駆動回路を備えていて、カメラ制御部２０７からの制御信号に従って制御される。
【００２２】
２１１はＣＰＵ（中央演算処理装置）である。ＣＰＵ２１１は、後述のＲＯＭ２１２に格納されている制御プログラムコードを実行し、各部の動作を制御する。ＣＰＵ２１１にはＲＯＭ（リードオンリーメモリ）２１２、ＲＡＭ（ランダムアクセスメモリ）２１３が接続されている。また、ＣＰＵ２１１は、信号処理部２０３、画像解析部２０４、符号化部２０５、通信処理部２０６とも接続されており、ＣＰＵ２１１は各処理ブロックに対して動作の開始・停止、動作条件の設定、動作結果の取得などを実行することで各処理ブロックの制御を行う。ＣＰＵ２１１の動作については後述する。
【００２３】
ＲＯＭ２１２には、ＣＰＵ２１１が本形態に係る処理を実行するためのプログラムやデータが格納されている。
【００２４】
ＲＡＭ２１３は、ＣＰＵ２１１がＲＯＭ２１２のプログラムを実行する際に、データの書き込み、読み出しを行うメモリである。ＲＡＭ２１３は、ＣＰＵ２１１がプログラムの実行に使用するワークエリア、一時退避エリアなどを備えている。
【００２５】
図３は、クライアント１２０〜１２２の構成を表すブロック図である。なお、本形態のクライアント１２０〜１２２の構成は同様であるため、以下ではクライアント１２０について説明する。
【００２６】
クライアント１２０では、キーボード３０１、マウス３０２、ディスプレイ３０３、ＣＰＵ３０４、ＲＯＭ３０５、ＲＡＭ３０６、ネットワークＩ／Ｆ３０７が、内部バス３１０を介して相互に接続されている。
【００２７】
キーボード３０１は、キーボードと接続するためのインタフェースである。マウス３０２は、マウスと接続するためのインタフェースである。ただし、キーボードやマウスに限らず、表示画面に対して指示を入力する入力装置であればよい。
【００２８】
ディスプレイ３０３は、ディスプレイと接続するためのインタフェースである。クライアント１２０のＣＰＵ３０４は、ディスプレイ３０３を介して、ディスプレイの表示を制御する。
【００２９】
次に、本形態のネットワークカメラ１００の動作について説明する。
【００３０】
図４は、ネットワークカメラ１００の動作を説明するためのフローチャートである。なお、ネットワークカメラ１００は、ＣＰＵ２１１が、ＲＯＭ２１２に記憶されている図４に係る処理を行うためのプログラムを読み出して各部を制御することにより、図４の処理を実現する。また、本形態のネットワークカメラ１００は、撮像装置と、当該撮像装置を制御するためのカメラ制御装置を含んでいる。ただし、例えば、撮像装置とカメラ制御装置が別の装置であっても良い。また、複数の撮像装置が、カメラ制御装置を介して、ネットワーク１５０に接続されるような形態も可能である。
【００３１】
Ｓ４００（受信手順）において、ネットワークカメラ１００の通信処理部２０６が、ネットワークカメラ１００の制御のための制御コマンドをクライアント１２０から受信すると、Ｓ４０２に進む。受信する制御コマンドは、例えば、カメラの撮像方向を変更するためのパン制御コマンドやチルト制御コマンドである。ただし、制御コマンドは、フォーカスやホワイトバランスなどの各種パラメータを制御するための制御コマンドなどであっても良い。
【００３２】
Ｓ４０２において、ＣＰＵ２１１は、制御コマンドを送信したクライアントが用いるプロトコルを判定する。より具体的には、ＣＰＵ２１１は、制御コマンドを送信したクライアントのプロトコルが、制御権を有しないことによるエラーが定義された定義プロトコルであるか、制御権を有しないことによるエラーが定義されていない非定義プロトコルであるかを判定する。
【００３３】
上記のように、本形態のクライアント１２０及び１２１は、制御権を有しないことによるエラーが定義されたプロトコル（定義プロトコル）を用いてネットワークカメラ１００に接続している。一方、クライアント１２２は、制御権を有しないことによるエラーが定義されていないプロトコル（非定義プロトコル）を用いてネットワークカメラ１００に接続している。ＣＰＵ２１１がプロトコルを判定するとＳ４０４に進む。
【００３４】
Ｓ４０２で定義プロトコルであると判定された場合はＳ４０４からＳ４０６に進み、Ｓ４０２で非定義プロトコルであると判定された場合はＳ４０４からＳ４１２に進む。すなわち、Ｓ４０２の判定結果に応じて、その後の処理が変化する。
【００３５】
Ｓ４０２におけるプロトコルの判定方法について、以下に説明する。
【００３６】
本形態のネットワークカメラ１００は、クライアントからの制御コマンド（ＨＴＴＰリクエスト）の接続先ＵＲＬに含まれる文字列を参照して、プロトコルの種別を判定する。ＨＴＴＰリクエストの接続先ＵＲＬの例を図６に示す。本形態のネットワークカメラ１００は、ＨＴＴＰリクエストに含まれる接続先のＩＰアドレス又はホスト名の直後のパス名を参照する。本形態のネットワークカメラ１００は、図６のｈｔｔｐ１という文字列に対応するプロトコルが、定義プロトコルであることを予め記憶している。また、ネットワークカメラ１００は、図６のｈｔｔｐ２という文字列に対応するプロトコルが、非定義プロトコルであることを予め記憶している。従って、ネットワークカメラ１００は、制御コマンド（ＨＴＴＰリクエスト）の文字列を参照することで、当該制御コマンドが、定義プロトコルを用いるクライアントからの制御コマンドであるか否かを判定できる。すなわち、ネットワークカメラ１００は、制御コマンドに含まれる文字列によって、当該制御コマンドを送信したクライアントが、制御権を有しないことによるエラーが定義されたプロトコル（定義プロトコル）を用いるクライアントであるか否かを判定する。
【００３７】
ただし、プロトコルの判定方法は、上記の方法に限らない。他の判定方法として、例えば、ネットワークカメラ１００に接続するためにクライアントが送信した接続要求に含まれる文字列を用いる方法がある。すなわち、ネットワークカメラ１００は、クライアントから受信した接続要求に含まれる文字列に応じて、クライアントが、定義プロトコルを用いるクライアントであるか否かを判定できる。
【００３８】
また、他の判定方法として、例えば、ネットワークカメラ１００に対して過去に送信されたその他のコマンドを用いる方法がある。すなわち、ネットワークカメラ１００は、制御権の取得要求コマンドをクライアントから受信した場合、当該クライアントが、定義プロトコルを用いるクライアントであると判定できる。ネットワークカメラ１００は、制御権の取得要求コマンドを送信したクライアントの識別情報（ＩＰアドレスやＭＡＣアドレス）を記憶して、Ｓ４０２での判定に利用することが可能である。
【００３９】
なおＣＰＵ２１１は、制御コマンドを送信したクライアントが用いるプロトコルが、定義プロトコルであるか否かを、上記の方法で判定できない場合、非定義プロトコルであると判定する。すなわち、ＣＰＵ２１１は、制御コマンドを送信したクライアントが用いるプロトコルが、所定のエラーが定義されたプロトコルであるか否かが不明である場合、当該エラーが定義されていないプロトコルであると判定する。
【００４０】
Ｓ４０６において、ＣＰＵ２１１は、制御コマンドに応じた制御が可能であるか否かを判定する。ＣＰＵ２１１は、例えば、制御コマンドの受信時に、制御権を有するクライアントが存在しない場合、非定義プロトコルで接続されるクライアント１２２からの制御コマンドに応じた制御が可能であると判定する。ＣＰＵ２１１は、Ｓ４０６で制御コマンドに応じた制御が可能であると判定した場合、制御コマンドを正常に受理したことを示す受理応答を、通信処理部２０６を介して制御コマンドの送信元のクライアントへ送信する（Ｓ４０８）。そして、Ｓ４１０（制御手順）において、ＣＰＵ２１１は、カメラ制御部２０７を介して、制御コマンドに応じた制御（例えば、パン制御コマンドに応じたパン制御）を行う。
【００４１】
例えば、制御権を有し、制御権がないことによるエラーが定義された定義プロトコルを利用するクライアント１２０から制御コマンドを受信した場合、ＣＰＵ２１１は、クライアント１２０へ受理応答を送信すると共に、制御コマンドに応じた制御を実行する。なお、受理応答の送信と、制御コマンドに応じた制御の順序は、逆でも良い。
【００４２】
一方、Ｓ４０６で制御コマンドに応じた制御が可能でないと判定した場合、ＣＰＵ２１１は、Ｓ４１１（送信手順）において、制御コマンドの送信元であるクライアントに対して、エラー応答を送信する。すなわち、ＣＰＵ２１１は、制御コマンドに応じた制御が所定のエラーにより実行できない場合であって、当該エラーが定義された定義プロトコルを用いるクライアントから制御コマンドを受信した場合、当該エラーを示すエラー応答を送信する。所定のエラーが、制御権を有さないことによるエラーの場合、本形態のネットワークカメラ１００は、Ｓ４１１において、制御権を有さないことによるエラーを示すエラー応答をクライアントへ送信する。
【００４３】
例えば、制御権を有さず、制御権を有しないことによるエラーが定義された定義プロトコルを利用するクライアント１２１から制御コマンドを受信した場合、ＣＰＵ２１１は、クライアント１２１へ制御権を有さないことを示すエラー応答を送信する。
【００４４】
Ｓ４１２において、ＣＰＵ２１１は、制御コマンドに応じた制御が可能であるか否かを判定する。ＣＰＵ２１１は、例えば、Ｓ４００で受信した制御コマンドの送信元のクライアントがネットワークカメラ１００の制御権を有していれば、制御コマンドに応じた制御が可能であると判定する。ＣＰＵ２１１は、Ｓ４１２で制御コマンドに応じた制御が可能であると判定した場合、制御コマンドを正常に受理したことを示す受理応答を、通信処理部２０６を介して制御コマンドの送信元クライアントへ送信する（Ｓ４１３）。そして、ＣＰＵ２１１は、カメラ制御部２０７を介して、制御コマンドに応じた制御を行う（Ｓ４１４）。すなわち、本形態のネットワークカメラ１００は、非定義プロトコルを用いるクライアント１２２からの制御コマンドの受信時に、制御権を有するクライアントが存在しない場合、制御コマンドに応じた制御を実行する。なお、Ｓ４１３とＳ４１４の順序は逆でも良い。
【００４５】
Ｓ４１２で制御コマンドに応じた制御が可能でないと判定された場合、ＣＰＵ２１１は、Ｓ４１６（送信手順）において、制御コマンドの送信元であるクライアントに対して、制御コマンドを正常に受理したことを示す受理応答を送信する。
【００４６】
すなわち、ＣＰＵ２１１は、制御コマンドに応じた制御が所定のエラーにより実行できなかった場合であって、当該エラーが定義されていない非定義プロトコルを用いるクライアントから制御コマンドを受信すると、制御コマンドの受理応答を送信する。
【００４７】
例えば、制御権を有さず、制御権を有しないことによるエラーが定義されていないプロトコルを利用するクライアント１２２から制御コマンドを受信した場合、ＣＰＵ２１１は、クライアント１２２へ制御コマンドを正常に受理したことを示す受理応答を送信する。このようにすることで、クライアント１２２による予期せぬ動作を低減できる。
【００４８】
なお、エラーの種別は、制御権に関するエラーに限らない。他のエラーの例として、例えば、パンの可動範囲を超えるパン制御コマンドに対するエラーや、パノラマ画像の生成中におけるパン制御コマンドに対するエラーがある。すなわち、ネットワークカメラ１００は、受信した制御コマンドに応じた制御が、所定のエラー（制御権のエラーや、可動範囲のエラーなど）により実行できない場合、制御コマンドを送信したクライアントが用いるプロトコルに応じて、異なる応答を送信する。
【００４９】
また、図４の説明において、制御コマンドに応じた制御が可能でないと判定されてから、制御コマンドの送信元クライアントのプロトコルを判定するようにしても良い。
【００５０】
例えば、制御権を有するクライアント１２０からパン制御コマンドを受信したものの、パン制御コマンドによる制御後のパン角度が、可動範囲を超えているために、パン制御できないと判定した場合、クライアント１２０のプロトコルを判定する。そして、ネットワークカメラ１００は、クライアント１２０のプロトコルが、パンの可動範囲を超えたことによるエラーが定義された定義プロトコルであると判定した場合、クライアント１２０に対して、パンの可動範囲を超えたことを示すエラー応答を送信する。一方、ネットワークカメラ１００は、クライアント１２０のプロトコルが、パンの可動範囲を超えたことによるエラーが定義されていない非定義プロトコルであると判定した場合、制御コマンドを正常に受理したことを示す受理応答をクライアント１２０へ送信する。
【００５１】
また、例えば、クライアント１２０からパン制御コマンドを受信したときに、ネットワークカメラ１００がパノラマ画像の撮像中であったために、パン制御コマンドによるパン制御ができないと判定した場合、クライアント１２０のプロトコルを判定する。そして、ネットワークカメラ１００は、クライアント１２０のプロトコルが、パノラマ画像の撮像中によるエラーが定義された定義プロトコルであると判定した場合、クライアント１２０に対して、パノラマ画像の撮像中であることを示すエラー応答を送信する。一方、ネットワークカメラ１００は、クライアント１２０のプロトコルが、パノラマ画像の撮像中によるエラーが定義されていない非定義プロトコルであると判定した場合、制御コマンドを正常に受理したことを示す受理応答をクライアント１２０へ送信する。
【００５２】
このように、制御コマンドに応じた制御が可能でないと判定してから、プロトコルを判定することにより、制御コマンドを受信するたびにプロトコルを判定するよりも、プロトコルの判定処理に係る負荷を低減できる。
【００５３】
次に、クライアント（制御装置）１２０〜１２２の動作について説明する。
【００５４】
図５は、クライアント１２０〜１２２の動作を説明するためのフローチャートである。なお、クライアント１２０〜１２２はＣＰＵ３０４が、ＲＯＭ３０５に記憶されている図５に係る処理を行うためのプログラムを読み出して各部を制御することにより、図５の処理を実現する。また、本形態のクライアント１２０〜１２２は、ネットワーク１５０を介してネットワークカメラ１００に接続され、ネットワークカメラ１００の撮像画像データを受信して表示させることができる。
【００５５】
クライアントのＣＰＵ３０４は、キーボード３０１やマウス３０２の入力に応じてカメラ制御コマンドを生成する（Ｓ５００）。そして、ＣＰＵ３０４は、Ｓ５００で生成された制御コマンドをネットワークＩ／Ｆ  ３０７を介してネットワークカメラ１００へ送信する（Ｓ５０２）。
【００５６】
Ｓ５０４において、ＣＰＵ３０４は、制御コマンドに対するネットワークカメラ１００からの応答を待つ。ネットワークカメラ１００からの応答があった場合、ネットワークＩ／Ｆ  ３０７を介して応答を受信する（Ｓ５０６）。
【００５７】
その後、ＣＰＵ３０４は、受信した応答が受理応答であるか否かを判定する（Ｓ５０８）。受理応答でないと判定された場合、ＣＰＵ３０４は、エラー応答に応じたエラーメッセージを表示させる。一方、Ｓ５０８で受理応答であると判定された場合、図５の処理を終了する。
【００５８】
なお、本形態では、エラーメッセージを表示させる形態について説明しているが、例えば、エラーメッセージを音声として再生したり、エラーに応じた警告音を発生させたりしても良い。
【００５９】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００６０】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012227603.tif 000003
【図２】
2012227603.tif 000004
【図３】
2012227603.tif 000005
【図４】
2012227603.tif 000006
【図５】
2012227603.tif 000007
【図６】
2012227603.tif 000008