(57)【特許請求の範囲】
【請求項１】
パン角度の変更により撮像範囲が移動する移動方向がチルト角度により異なる撮像装置により得られた画像データに応じた画像の表示を制御する表示制御装置であって、
前記撮像装置により得られた画像データと、前記撮像装置のチルト角度に関する情報を受信する受信手段と、
前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更により撮像範囲が移動する移動方向を示すパンガイドを、前記撮像装置のチルト角度に関する情報に基づいて、前記画像上に表示させる表示制御手段と、
前記チルト角度の変更コマンドを前記撮像装置へ送信する送信手段と、
前記チルト角度の変更コマンドの送信時に、前記チルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に、前記パンガイドの表示を更新する更新手段とを有することを特徴とする表示制御装置。
【請求項２】
前記表示制御手段は、前記チルト角度の変更により撮像範囲が移動する移動方向に関するチルトガイドを前記画像上に表示させ、
前記送信手段は、前記撮像装置の撮像範囲の回転角度を変更する回転角度変更コマンドを前記撮像装置へ送信し、
前記更新手段は、前記回転角度変更コマンドの送信時に、前記回転角度変更コマンドに対する応答を前記撮像装置から受信するよりも前に、前記チルトガイドの表示を基づいて更新することを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記更新手段により更新されたパンガイドを、前記送信した変更コマンドに応じた変更後のチルト角度の受信に応じて修正する修正手段を有することを特徴とする請求項１に記載の表示制御装置。
【請求項４】
前記更新手段は、前記チルト角度の変更を開始させるための変更コマンドを送信してから当該変更を終了させるための終了コマンドを送信せずに所定時間が経過すると、チルト角度が第１の角度、変更されたチルト角度に対応するパンガイドに表示を更新し、当該更新後、前記終了コマンドを送信せずにさらに前記所定時間が経過すると、チルト角度が前記第１の角度よりも大きい第２の角度、さらに変更されたチルト角度に対応するパンガイドに表示を更新することを特徴とする請求項１に記載の表示制御装置。
【請求項５】
前記撮像装置のタイプ情報を取得する取得手段を有し、
前記更新手段は、前記チルト角度の変更を開始させるための変更コマンドを送信してから当該変更を終了させるための終了コマンドを送信せずに所定時間が経過した場合の更新後のパンガイドの形状を、前記取得されたタイプ情報に基づいて決定することを特徴とする請求項１に記載の表示制御装置。
【請求項６】
前記更新手段は、前記チルト角度の変更を開始させるための変更コマンドを送信してから当該変更を終了させるための終了コマンドを送信せずに所定時間が経過するごとに、所定角度、変更されたチルト角度に対応するパンガイドに表示を更新することを特徴とする請求項１に記載の表示制御装置。
【請求項７】
前記表示制御手段は、前記更新手段により更新されたパンガイドと、前記更新前のパンガイドとの色及び線種の少なくともいずれかが異なるように、前記更新されたパンガイドを表示させることを特徴とする請求項１乃至６のうち、いずれか１項に記載の表示制御装置。
【請求項８】
前記表示制御手段は、前記更新手段により更新されたパンガイドと、前記更新前のパンガイドとを同時に識別可能に表示させることを特徴とする請求項１乃至７のうち、いずれか１項に記載の表示制御装置。
【請求項９】
パン角度の変更により撮像範囲が移動する移動方向がチルト角度により異なる撮像装置により得られた画像データに応じた画像の表示を制御する表示制御装置が行う表示制御方法であって、
前記撮像装置により得られた画像データと、前記撮像装置のチルト角に関する情報を受信する受信工程と、
前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更により撮像範囲が移動する移動方向を示すパンガイドを、前記撮像装置のチルト角度に関する情報に基づいて、前記画像上に表示させる表示制御工程と、
前記チルト角度の変更コマンドを前記撮像装置へ送信する送信工程と、
前記チルト角度の変更コマンドの送信時に、前記チルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に、前記パンガイドの表示を更新する更新工程とを有することを特徴とする表示制御方法。
【請求項１０】
前記表示制御工程では、前記チルト角度の変更により撮像範囲が移動する移動方向に関するチルトガイドを前記画像上に表示させ、
前記送信工程では、前記撮像装置の撮像範囲の回転角度を変更する回転角度変更コマンドを前記撮像装置へ送信し、
前記更新工程では、前記回転角度変更コマンドの送信時に、前記回転角度変更コマンドに対する応答を前記撮像装置から受信するよりも前に、前記チルトガイドの表示を基づいて更新することを特徴とする請求項９に記載の表示制御方法。
【請求項１１】
前記更新工程で更新されたパンガイドを、前記送信した変更コマンドに応じた変更後のチルト角度の受信に応じて修正する修正工程を有することを特徴とする請求項９に記載の表示制御方法。
【請求項１２】
パン角度の変更により撮像範囲が移動する移動方向がチルト角度により異なる撮像装置により得られた画像データに応じた画像の表示を制御するコンピュータに、
前記撮像装置により得られた画像データと、前記撮像装置のチルト角度に関する情報を受信する受信手順と、
前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更により撮像範囲が移動する移動方向を示すパンガイドを、前記撮像装置のチルト角度に関する情報に基づいて、前記画像上に表示させる表示制御手順と、
前記チルト角度の変更コマンドを前記撮像装置へ送信する送信手順と、
前記チルト角度の変更コマンドの送信時に、前記チルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に、前記パンガイドの表示を更新手順とを実行させることを特徴とするプログラム。
【請求項１３】
前記表示制御手順は、前記チルト角度の変更により撮像範囲が移動する移動方向に関するチルトガイドを前記画像上に表示させ、
前記送信手順は、前記撮像装置の撮像範囲の回転角度を変更する回転角度変更コマンドを前記撮像装置へ送信し、
前記更新手順は、前記回転角度変更コマンドの送信時に、前記回転角度変更コマンドに対する応答を前記撮像装置から受信するよりも前に、前記チルトガイドの表示を基づいて更新することを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記更新手順により更新されたパンガイドを、前記送信した変更コマンドに応じた変更後のチルト角度の受信に応じて修正する修正手順をコンピュータに実行させることを特徴とする請求項１２に記載のプログラム。
【請求項１５】
パン角度の変更により撮像範囲が移動する移動方向がチルト角度により異なる撮像装置と、撮像装置により得られた画像データに応じた画像の表示を制御する表示制御装置とが接続されたカメラシステムであって、
前記撮像装置により得られた画像データと、前記撮像装置のチルト角度に関する情報を受信する受信手段と、
前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更により撮像範囲が移動する移動方向を示すパンガイドを、前記撮像装置のチルト角度に関する情報に基づいて、前記画像上に表示させる表示制御手段と、
前記チルト角度の変更コマンドを前記撮像装置へ送信する送信手段と、
前記チルト角度の変更コマンドの送信時に、前記チルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に、前記パンガイドの表示を更新する更新手段とを有することを特徴とするカメラシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラの撮像方向をリモート制御可能なカメラシステムに関する。
【背景技術】
【０００２】
パン機構、チルト機構、ローテーション機構をリモート制御可能なカメラが知られている。特許文献１には、パン機構、チルト機構と共に、撮像装置または撮像素子を光軸周りに回転させるローテーション機構をリモート制御することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１１４５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、リモート制御されるカメラによっては、ユーザが意図する方向とは異なる方向に撮像範囲が移動してしまう恐れがあった。
【０００５】
例えば、パン角度を変更したときの撮像範囲の移動方向が、チルト角度によって異なるカメラをリモート制御する場合、パン角度のリモート制御時のチルト角度によっては、ユーザが意図する方向とは異なる方向に撮像範囲が移動してしまう恐れがあった。
また、例えば、パン角度を変更したときの撮像範囲の移動方向を、現在のチルト角度に応じて、パンガイドとしてクライアントの画面上に表示する場合であっても、ユーザが意図するパン方向とは大きく異なる方向に撮像範囲が移動してしまう恐れがある。すなわち、チルト角度を大きく変更するための変更指示をした後、パンガイドの形状が更新されるまでの間にパン角度の変更指示をした場合、ユーザが意図するパン方向とは大きく異なる方向に撮像範囲が移動してしまう恐れがあった。このように、方向ガイド（例えばパンガイド）を表示したとしても、ユーザが意図する方向とは大きく異なる方向に撮像範囲が移動してしまう恐れがあった。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ユーザが意図する方向に、より近い方向へカメラの撮像方向をリモート制御できるようにすることである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の表示制御装置は、例えば、以下の構成を有する。すなわち、パン角度の変更により撮像範囲が移動する移動方向がチルト角度により異なる撮像装置により得られた画像データに応じた画像の表示を制御する表示制御装置であって、前記撮像装置により得られた画像データと、前記撮像装置のチルト角度に関する情報を受信する受信手段と、前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更により撮像範囲が移動する移動方向を示すパンガイドを、前記撮像装置のチルト角度に関する情報に基づいて、前記画像上に表示させる表示制御手段と、前記チルト角度の変更コマンドを前記撮像装置へ送信する送信手段と、前記チルト角度の変更コマンドの送信時に、前記チルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に前記パンガイドの表示を更新する更新手段とを有する。
【発明の効果】
【０００８】
本発明によれば、ユーザが意図する方向に、より近い方向へカメラの撮像方向をリモート制御できる。
【図面の簡単な説明】
【０００９】
【図１】クライアントのソフトウェア構成図
【図２】システム構成図
【図３】カメラサーバのハードウェア構成図
【図４】クライアントのハードウェア構成図
【図５】カメラサーバのソフトウェア構成図
【図６】ＰＴＲ機構を持ったカメラサーバの外観図
【図７】カメラサーバ周辺に設置した仮想球面
【図８】カメラサーバの撮像画像の例
【図９】実施形態の制御シーケンス
【図１０】クライアントの処理を説明するためのフローチャート
【図１１】ローテーション制御をするときのクライアントのＵＩの例を示す図
【図１２】ローテーション制御をするときの制御シーケンス
【図１３】クライアントの処理を説明するためのフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明の実施に好適な監視システムの構成と動作について、図面を用いながら説明する。
【００１１】
図２は、本実施形態のカメラシステムのシステム構成図である。
カメラサーバ２００ならびにクライアント２２０がネットワーク２３０を介して相互に接続される。
カメラサーバ２００は撮影画角可変、もしくは撮影画角が固定されているカメラの撮像により得られた画像データをネットワーク２３０を介してクライアント２２０へ配信する。クライアント２２０はカメラサーバ２００にアクセスして取得した画像データに応じた画像の表示を制御する表示制御装置である。
ネットワーク２３０は、Ｅｔｈｅｒｎｅｔ（登録商標）  等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本発明においては各サーバー・クライアント間の通信が支障なく行えるものであればその通信規格、規模、構成を問わない。つまり、ネットワーク２３０は、例えば、インターネットであってもＬＡＮ  （Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であっても良い。
なお、本形態では、カメラサーバ２００とクライアント２２０がそれぞれ１台ずつ接続される場合の例を中心に説明するが、これに限らず、複数台接続されるようにしても良い。
【００１２】
次に、カメラサーバ２００の構成について説明する。
【００１３】
図３はカメラサーバ２００のハードウェア構成図である。
カメラサーバ２００は、ＣＰＵ３００、１次記憶装置３１０、２次記憶装置３２０、画像キャプチャＩ／Ｆ３３０、雲台制御Ｉ／Ｆ３４０、ネットワークＩ／Ｆ３６０を含んで構成される。
１次記憶装置３１０は、ＲＡＭに代表される書き込み可能な高速の記憶装置で、ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）や各種プログラム及び各種データがロードされ、またＯＳや各種プログラムの作業領域としても使用される。
２次記憶装置３２０は、ＨＤＤ、フラッシュメモリ、ＣＤ−ＲＯＭドライブ等に代表される不揮発性を持った記憶装置で、ＯＳや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。
【００１４】
ＣＰＵ３００は、２次記憶装置３２０に記憶されている各種プログラム及び各種データを１次記憶装置３１０へロードして実行する。
画像キャプチャＩ／Ｆ３３０にはカメラ３７０が接続され、カメラ３７０の撮像により得られた画像データを１次記憶装置３１０へ転送する。画像キャプチャＩ／Ｆ３３０により１次記憶装置３１０へ転送された画像データは、ＣＰＵ３００により所定のフォーマットに変換・圧縮される。
雲台制御Ｉ／Ｆ３４０には雲台３８０が接続される。雲台制御Ｉ／Ｆ  ３４０は、雲台３８０のパン・チルト・ローテーション機構の制御コマンドや現在の制御状態を示す情報を中継する。
ネットワークＩ／Ｆ  ３６０は、ネットワーク２３０と接続するためのインタフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信媒体を介してクライアント２２０等との通信を担う。
【００１５】
図５は、カメラサーバ２００のソフトウェア構成図である。
本形態のＣＰＵ３００は、図５に示すＯＳ５００、撮像処理プログラム５１０、雲台制御プログラム５１１、配信処理プログラム５１２、及び一時記憶部５１３を１次記憶装置３１０へロードする。
ＯＳ５００は、カメラサーバ２００全体を制御するための基本プログラムである。
撮像処理プログラム５１０は、カメラ３７０の撮像により得られた画像データを画像キャプチャＩ／Ｆ  ３３０を経由して取得し、取得された画像データを符号化して、一時記憶部５１３に保存するためのプログラムである。
雲台制御プログラム５１１は、クライアントからのリクエストに応じて雲台３８０のパン・チルト・ローテーション機構を制御したり、パン・チルト・ローテーション機構の現在位置などの雲台状態を取得し、一時記憶部５１３に保存するためのプログラムである。
配信処理プログラム５１２は、各種クライアントからのリクエストに応じて、一時記憶部５１３に保存されている画像データや雲台状態を、ネットワークＩ／Ｆ３６０を介して各種クライアントへ送信するためのプログラムである。各プログラムは、ＯＳ５００の機能により連携する。
【００１６】
次に、クライアント２２０の構成について説明する。
【００１７】
図４は、クライアント２２０のハードウェア構成図である。クライアント２２０は、ＣＰＵ  ４００、１次記憶装置４１０、２次記憶装置４２０、ユーザー入力Ｉ／Ｆ  ４３０、ユーザー出力Ｉ／Ｆ  ４４０、ネットワークＩ／Ｆ  ４６０を含んで構成される。
１次記憶装置４１０は、ＲＡＭに代表される書き込み可能な高速の記憶装置で、ＯＳや各種プログラム及び各種データがロードされ、またＯＳや各種プログラムの作業領域としても使用される。
２次記憶装置４２０は、ＨＤＤ、フラッシュメモリ、ＣＤ−ＲＯＭドライブ等に代表される不揮発性を持った記憶装置で、ＯＳや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。
【００１８】
ユーザ入力Ｉ／Ｆ  ４３０にはキーボード、マウス等に代表される入力機器４７０が接続され、ユーザからの入力をＣＰＵ４００へ中継する。
ユーザ出力Ｉ／Ｆ  ４４０にはディスプレイ等に代表される出力機器４８０が接続され、ユーザによる指示結果に関するデータやカメラサーバ２００からの画像データを出力機器４８０へ中継する。出力機器４８０は、例えばユーザ出力Ｉ／Ｆ  ４４０により渡されたデータに応じた画像を表示する。
ネットワークＩ／Ｆ  ４６０は前述のネットワーク２３０と接続するためのＩ／Ｆであり、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信媒体を介してカメラサーバ２００等との通信を担う。
【００１９】
図１は、クライアント２２０のソフトウェア構成図である。
本形態のＣＰＵ４００は、図１に示すＯＳ１００、入力制御プログラム１１０、カメラ設定プログラム１１１、受信処理プログラム１１２、出力制御プログラム１１３、及び一時記憶部１１４を１次記憶装置４１０へロードする。
ＯＳ１００は、クライアント２２０全体を制御する基本プログラムである。
入力制御プログラム１１０は、ユーザによる入力機器４７０（例えばマウスやキーボード）の操作を受け付けるためのプログラムである。
カメラ設定プログラム１１１は、ユーザによる入力機器４７０の操作に応じて、画像データのリクエストや、パン・チルト・ローテーション角度の制御コマンドをカメラサーバ２００へ送信するためのプログラムである。また、カメラ設定プログラム１１１は、カメラサーバ２００の現在のパン・チルト・ローテーション角度に関する位置情報に応じた各方向ガイドの形状を取得し、一時記憶部１１４に記憶させる。
【００２０】
受信処理プログラム１１２は、カメラサーバ２００から画像データや、現在のパン・チルト・ローテーション角度に関する位置情報を受信するためのプログラムである。受信処理プログラム１１２により受信された画像データは一時記憶部１１４に記憶される。
出力制御プログラム１１３は、一時記憶部１１４に記憶された画像データに応じた画像や、各方向ガイドを出力機器４８０上に表示させるためのプログラムである。各プログラムは、ＯＳ１００の機能により連携する。
【００２１】
なお、本形態の入力制御プログラム１１０は、入力機器４７０の操作を受け付けることに限らず、ネットワークを経由したクライアント２２０の操作や、クライアント２２０の自動実行プログラムなどの入力を受け付けるようにすることも可能である。
【００２２】
次に、本形態のネットワークカメラの構成について説明する。
【００２３】
図６は、ネットワークカメラの外観図である。なお、本形態では、ネットワークカメラに、カメラ３７０、雲台３８０、カメラサーバ２００が含まれる形態を中心に説明するが、一部を別の装置として構成することも可能である。
図６（ａ）は、ネットワークカメラの側面図である。本形態のネットワークカメラのパンの回転部は、ボトムケース６００とターンテーブル６０２で構成され、パン回転軸６０３を中心にターンテーブル６０２が回転する構造となっている。図６（ｂ）は、ネットワークカメラの正面図である。本形態のネットワークカメラのチルトの回転部は、レンズ支柱６０４とレンズケース６０６で構成され、チルト回転軸６０５を中心にレンズケース６０６が回転する構造となっている。また、ネットワークカメラのローテーションの回転部は、レンズケース６０６とレンズユニット６０７で構成され、ローテーション回転軸６０８を中心にレンズユニット６０７が回転する構造となっている。
【００２４】
図７は、ネットワークカメラの設置位置と撮像方向の関係を説明するための仮想球面を示した図である。
図７において、７１０はカメラ設置位置、７０３はカメラのパン回転軸、７２０はカメラ周辺に仮想的に設置した仮想球面、７２１は仮想球面上に設定した緯度線のひとつ、７２２は仮想球面上に設定した経度線のひとつを示している。仮想球面上の緯度線７２１と経度線７２２は、撮像方向とは無関係に仮想球面７２０上の固定位置に設定される。ネットワークカメラは、この仮想球面７２０の内側から外側をみた画像を撮像画像として取得する。
【００２５】
図８は、図７のカメラ設置位置７１０に設置されたネットワークカメラによる撮像画像の例である。
図８の８１０はネットワークカメラによる撮像画像、８１１は撮像画像中心、８１２はネットワークカメラのパン回転中心を示している。パン回転中心８１２は、図７の仮想球面７２０とパン回転軸７０３との接点に対応する。また、図８の８１３は、パン角度の変更に応じた撮像範囲の移動方向を示すパンガイド、８１４はチルト角度の変更に応じた撮像範囲の移動方向を示すチルトガイドである。
【００２６】
また、図８の８１５は、図７の仮想球面上に設定された緯度線の一部、８１６は仮想球面上に設定された経度線の一部を示している。パンガイド８１３は、パン回転中心８１２を中心とし撮像画像中心８１１を通る円もしくは円弧、または直線として撮像画像に重畳表示される。本形態のパンガイドは、チルト角度が０度のときに直線で表示される。
【００２７】
図８（ｂ）は、図８（ａ）の状態から上方向にチルト制御をした後の図である。
図８に示すように、チルト制御をする前と、チルト制御をした後とでは、パン角度を変更したときの撮像範囲の移動方向が異なるため、パンガイドの形状も異なる。本形態のクライアント２２０は、図８（ａ）のチルト角度から図８（ｂ）のようなチルト角度へ制御する場合、チルト制御コマンドに対する応答をカメラサーバ２００から受信するよりも前に、パンガイド８１３をパンガイド８２３へ更新する。
【００２８】
次に、本実施形態のカメラシステムの動作について説明する。
【００２９】
図９は、本実施形態におけるカメラサーバ２００とクライアント２２０の処理の順序を説明するためのシーケンス図である。
クライアント２２０は、ユーザの指示に応じて、カメラサーバ２００へ接続要求を送信する（Ｓ９０１）。
カメラサーバ２００は、クライアント２２０から接続要求を受信すると、雲台３８０のパン・チルト・ローテーション機構の位置情報をクライアント２２０へ送信する（Ｓ９０２）。
【００３０】
また、本形態のカメラサーバ２００は、Ｓ９０２において、現在の位置情報の送信と並行してカメラ３７０の撮像により得られた１フレーム分の画像データをクライアント２２０へ送信する。Ｓ９０２以降、カメラサーバ２００は、所定時間ごとに撮像と画像データの送信を行い、クライアント２２０は、受信した画像データに応じた画像をディスプレイ等の出力機器４８０で表示させる。すなわち、クライアント２２０は、受信した画像データに応じた画像を動画として再生することができる。
【００３１】
クライアント２２０は、Ｓ９０２で受信した位置情報に基づいて方向ガイドを表示する（Ｓ９０３）。図８で説明したように、方向ガイドには、パンガイド８１３やチルトガイド８１４が含まれる。また、経度線８１５や緯度線８１６を方向ガイドとして表示させることも可能である。
クライアント２２０は、ユーザからの雲台制御開始指示に応じて、カメラサーバ２００へ雲台制御を開始させるためのコマンドを送信する（Ｓ９０４）。この例では、ユーザからのチルト制御開始指示に応じて、カメラサーバ２００へチルト角度の変更を開始させるためのチルト制御開始コマンドが送信されたものとする。
【００３２】
また、クライアント２２０は、ユーザからの雲台制御開始指示に応じて、方向ガイドの形状を更新する（Ｓ９０５）。クライアント２２０は、例えば、ユーザからのチルト制御開始指示に応じてパンガイドの表示を更新する。より具体的には、図８に示すように、撮像画像中心がパン回転中心に近づく（チルト角度を上がる）チルト制御開始指示が入力された場合、クライアント２２０は、パンガイドの円の半径を短くする。一方、撮像画像中心がパン回転中心から遠ざかる（チルト角度を下げる）チルト制御開始指示が入力された場合、クライアント２２０は、パンガイドの円の半径を長くする。なお、本形態では、チルト制御開始指示に応じたチルト制御後に撮像された画像データの受信よりも前にパンガイドの表示が更新される。また、Ｓ９０４とＳ９０５の処理の順序は、逆でも良いし、同時でも良い。
【００３３】
カメラサーバ２００は、クライアント２２０から雲台制御を開始させるためのコマンドを受信すると、雲台制御を開始する（Ｓ９０６）。この例では、クライアント２２０からチルト制御開始コマンドの受信に応じて、チルト制御が開始される。本形態では、チルト制御開始コマンドによるチルト制御後に撮像された画像データに応じた画像を表示するよりも前に、パンガイドの表示の更新が行われる。
クライアント２２０は、ユーザからの雲台制御終了指示に応じて、カメラサーバ２００へ雲台制御を終了させるためのコマンドを送信する（Ｓ９０７）。クライアント２２０は、例えば、ユーザからのチルト制御終了指示に応じて、カメラサーバ２００へチルト角度の変更を終了させるためのチルト制御終了コマンドが送信される。
カメラサーバ２００は、クライアント雲台制御を終了するためのコマンドを受信すると、雲台制御を停止させ、停止後のチルト角度を示す位置情報をクライアント２２０へ送信する（Ｓ９０８）。
クライアント２２０は、Ｓ９０８で送信された位置情報に基づいて、パンガイドの形状を修正する。すなわち、クライアント２２０は、カメラサーバ２００へ送信した雲台制御開始指示による制御量の予測値と、実際の雲台の制御量との差に基づいて、方向ガイドの形状を補正する。
【００３４】
なお、本形態では、例えば、カメラサーバ２００がチルト制御開始指示を受信すると、チルト制御終了指示を受信するまで、チルト角度の制御を行う例を中心に説明するが、クライアント２２０からチルト角度の指定値を含むチルト制御コマンドを送信するようにしても良い。この場合、クライアント２２０は、チルト角度の指定値を含むチルト制御コマンドに対応する応答をカメラサーバ２００から受信するよりも前に、当該チルト制御コマンドによるチルト角度の移動方向に基づいてパンガイドの表示を更新する。
【００３５】
次に、本実施形態におけるクライアント２２０の処理について説明する。
【００３６】
図１０は、本実施形態のクライアント２２０の処理を説明するためのフローチャートである。なお、本形態のクライアント２２０は、ネットワークカメラの撮像により得られた画像データに応じた画像の表示を制御する表示制御装置である。また、本形態のネットワークカメラは、パン角度の変更に応じた撮像範囲の移動方向がチルト角度により異なる撮像装置を含んで構成される。クライアント２２０のカメラ設定プログラム１１１は、ユーザ指示により起動し、カメラサーバ２００へ接続要求を送信する（Ｓ１００１）。
【００３７】
そして、カメラ設定プログラム１１１は、接続要求が許可されたか否かを示すレスポンスを受信するまで待つ（Ｓ１００２）。
カメラ設定プログラム１１１は、レスポンスを受信すると、接続が許可されたか否かを判定する（Ｓ１００３）。
カメラ設定プログラム１１１は、接続が不許可の場合は処理を終了し（Ｓ１００４）、接続が許可された場合は受信処理プログラム１１２を起動する（Ｓ１００５）。
受信処理プログラム１１２は、カメラサーバ２００へ画像要求を送信し、１フレーム分の画像データを受信する。受信した画像データに応じた画像は、ディスプレイ等の出力機器４８０で表示される。
【００３８】
次にカメラ設定プログラム１１１は、イベントの発生を待つと共に（Ｓ１００６）、発生したイベントの種類を判定する（Ｓ１００７）。
本形態におけるイベントとは、カメラサーバ２００からの位置情報の受信、ユーザからの雲台制御開始指示の入力、雲台制御終了指示の入力、及び、方向ガイドの再描画タイミングに関するタイムアウトである。
カメラ設定プログラム１１１は、イベントがカメラサーバ２００からの位置情報（パン角度、チルト角度、ローテーション角度）の受信であると判定すると、パン・チルト・ローテーション機構の方向ガイドの形状を計算する。なお、位置情報は、受信処理プログラム１１２により取得される。すなわち、受信処理プログラム１１２は、ネットワークカメラのパン角度及びチルト角度に関する位置情報をカメラサーバ２００から受信する（受信手順）。
【００３９】
計算結果に応じた方向ガイドは、出力制御プログラム１１３により表示される（Ｓ１００８）。すなわち、出力制御プログラム１１３は、受信した画像データに応じた画像を表示させると共に、パンガイドを当該画像上に表示させる（表示制御手順）。本形態において、パンガイドは、パン角度の変更に応じた撮像範囲の移動方向に関する方向ガイドである。計算結果と受信した位置情報は、必要に応じて一時記憶部１１４に記憶される。なお、方向ガイドの形状は計算により取得するようにしても、予めテーブルで持っておいても良い。そしてＳ１００６に戻る。
【００４０】
カメラ設定プログラム１１１は、イベントがユーザからの雲台制御開始指示の入力であると判定すると、カメラサーバ２００へ雲台制御を開始させるためのコマンドを送信する（Ｓ１００９）。すなわち、カメラ設定プログラム１１１は、チルト角度の変更コマンドをネットワークカメラへ送信する（送信手順）。また、カメラ設定プログラム１１１は、再描画タイマーのカウントを開始させる（Ｓ１０１０）。再描画タイマーのタイムアウト時間は、例えば１／３０秒である。タイマーのカウントを開始すると、Ｓ１００６に戻る。
【００４１】
カメラ設定プログラム１１１は、イベントがユーザからの雲台制御終了指示の入力であると判定すると、カメラサーバ２００へ雲台制御を終了させるためのコマンドを送信し（Ｓ１０１１）、再描画タイマーのカウントを停止させる（Ｓ１０１２）。なお、本形態のカメラサーバ２００は、雲台制御を終了させるためのコマンドをクライアント２２０から受信すると雲台制御を終了し、現在の位置情報をクライアント２２０へ送信する。Ｓ１０１２の処理が完了するとＳ１００６に戻る。
【００４２】
カメラ設定プログラム１１１は、イベントが再描画タイマーのタイムアウトであると判定すると、雲台移動速度とタイムアウト時間（例えば１／３０秒）から雲台の移動距離（あるいは移動角度）を計算する（Ｓ１０１３）。雲台移動速度の値は予め設定されている。そして、出力制御プログラム１１３は、カメラ設定プログラム１１１による計算結果に基づいて方向ガイドの表示を更新する（Ｓ１０１４）。なお、本形態のカメラサーバ２００は、雲台制御を開始させるためのコマンドを受信してから、雲台制御を終了させるためのコマンドを受信するまでは位置情報をクライアント２２０へ通知しない。これに対しクライアント２２０は、雲台制御を開始させるためのコマンドを送信した後、雲台制御を終了させるためのコマンドを送信しないままタイムアウトが発生すると、方向ガイドの表示を更新する。
【００４３】
すなわち、Ｓ１０１４において、出力制御プログラム１１３は、チルト角度の変更コマンドに対する応答をカメラサーバ２００から受信するよりも前にパンガイドの表示をチルト角度の変更方向に基づいて更新する（更新手順）。方向ガイドの更新が完了するとＳ１００６に戻る。なお、Ｓ１０１４で更新された方向ガイド（パンガイド）は、雲台制御終了後にカメラサーバ２００により送信される位置情報（チルト角度）に基づいて修正される。
【００４４】
以上説明したように、本形態のクライアント２２０は、チルト角度を変更するための指示が入力されると、チルト角度を変更するためのコマンドをカメラサーバ２００へ送信すると共に、当該コマンドの応答を受信するよりも前にパンガイドの形状を変更する。このようにすることで、パン角度の変更のための指示をしたときの撮像範囲の移動方向と、パンガイドが示す移動方向とのずれを低減できる。
【００４５】
なお、本形態では、雲台制御開始指示が入力されてからタイムアウト時間経過後に方向ガイドの形状を変更する例について説明したが、雲台制御開始指示の直後に方向ガイドの形状を変更するようにしても良い。
【００４６】
また、本形態では、雲台制御を開始させるためのコマンドに応じて、一定速度で撮像範囲が移動する例について説明した。すなわち、本形態では、チルト角度の変更を開始させるためのコマンドを送信してから当該変更を終了させるためのコマンドを送信せずに所定時間が経過するごとに、所定角度、変更されたチルト角度に対応するパンガイドに表示を更新する例を中心に説明した。
【００４７】
しかし、ネットワークカメラの雲台は、例えば、チルト制御を開始させるためのコマンドが入力されてからの経過時間が長くなるほど、チルト角度の移動速度が速くなるようにすることも可能である。このような雲台に対応するため、クライアント２２０のカメラ設定プログラム１１１を以下のようにすることも可能である。
【００４８】
すなわち、カメラ設定プログラム１１１は、チルト角度の変更の開始のためのコマンドを送信してから当該変更の終了のためのコマンドを送信せずに所定時間が経過すると、チルト角度が第１の角度、変更されたチルト角度に対応するパンガイドに表示を更新する。そして、カメラ設定プログラム１１１は、当該更新後、さらに所定時間が経過すると、チルト角度が第１の角度よりも大きい第２の角度、さらに変更されたチルト角度に対応するパンガイドに表示を更新する。このようなカメラ設定プログラム１１１によれば、チルト制御を開始させるためのコマンドが入力されてからの経過時間が長くなるほど、チルト角度の移動速度が速くなるような雲台に、より適したパンガイドの表示ができる。
【００４９】
また、ネットワークカメラや雲台の機種によって、チルト角度の移動速度が異なる場合がある。このようなネットワークカメラや雲台に対応するため、クライアント２２０のカメラ設定プログラム１１１は、ネットワークカメラや雲台のチルト速度を特定するためのタイプ情報を取得してパンガイドの形状を算出するようにしても良い。タイプ情報は、例えば、ネットワークカメラの機種に関する情報や、チルト速度の設定情報などである。
【００５０】
すなわち、カメラ設定プログラム１１１は、ネットワークカメラのタイプ情報を取得する。そして、カメラ設定プログラム１１１は、チルト角度の変更の開始のためのコマンドを送信してから当該変更の終了のためのコマンドを送信せずに所定時間が経過した場合の更新後のパンガイドの形状を、取得したタイプ情報に基づいて決定する。このようなカメラ設定プログラム１１１によれば、ネットワークカメラのタイプに、より適したパンガイドの表示ができる。
【００５１】
また、本形態のクライアント２２０は、カメラサーバ２００からの位置情報に基づいて表示する方向ガイドと、タイムアウトにより表示する方向ガイドとを識別可能に表示する。クライアント２２０の出力制御プログラム１１３は、例えば、位置情報に基づいて表示する方向ガイドと、タイムアウトにより更新された方向ガイドとの色、及び、線種、及び、透明度の少なくともいずれかが異なるようにする。このようにすることで、ユーザは、実際の位置情報に基づく方向ガイドとそうでない方向ガイドを識別できるようになる。
【００５２】
また、本形態のクライアント２２０は、雲台制御の開始のためのコマンドの送信からの経過時間がタイムアウト時間に達すると、位置情報に応じた方向ガイドを削除して、更新後の方向ガイドを表示させるが、これらの方向ガイドを同時に表示させることも可能である。すなわち、図８（ｂ）の撮像画像８２０内に、更新前のパンガイド８１３と更新後のパンガイド８２３を同時に表示させることも可能である。また、この場合、パンガイド８１３と８２３を識別可能に表示することも可能である。
【００５３】
また、上記の実施形態では、チルト機構の制御に応じてパンガイドの表示を更新する例を中心に説明したが、例えば、ローテーション機構の制御に応じてチルトガイドの表示を更新する場合にも本発明は適用可能である。
【００５４】
図１１は、クライアント２２０でカメラサーバ２００のローテーション機構を制御する際のユーザインタフェースの例である。
図１１（ａ）には、ローテーションガイド１１０１、撮像画像１１０２、チルトガイド１１０３、現在のローテーション位置１１０４が含まれる。
図１１（ａ）は、カメラサーバ２００に接続した直後の画面を示しており、実際の天地方向と撮像画像の天地方向が異なっている（すなわち、撮像画像１１０２の長辺と地面が平行でない）状態を示している。
図１１（ｂ）は、実際の天地方向と撮像画像の天地方向を合わせるために、ユーザがローテーション位置の変更操作をしているときの画面である。本形態では、ローテーション位置の変更操作を、例えば、ローテーション位置１１１４のドラッグ操作により行う。図１１（ｂ）に示すように、ローテーション位置１１１４が１１１５の位置へ移動されたことにより、実際の天地方向と撮像画像の天地方向が一致している。なお、図１１（ｂ）の状態は、マウスボタンがまだ押下されたままであるため、ローテーション角度を制御するためのコマンドはカメラサーバ２００へ送信されていない。
【００５５】
すなわち、クライアント２２０のユーザは、ローテーション位置１１１４をマウス等の入力機器４７０で選択し、ローテーションガイド１１１１に沿って新しいローテーション位置１１１５まで移動させることでローテーション角度を制御できる。すなわち、クライアント２２０は、ユーザによるローテーション位置の移動に合わせて、カメラ３７０の撮像範囲を回転させずに、撮像画像の表示領域を回転させる。なお、マウスによるドラッグ操作に限らず、キーボードやタッチパネル等、他の入力機器４７０でローテーション位置の変更操作を行うことも可能である。
【００５６】
図１１（ｃ）は、カメラサーバ２００のローテーション角度の変更後の画面である。すなわち、ローテーション位置の変更操作のためのドラッグ操作が終了した後の画面である。すなわち、図１１に示すように、本形態のクライアント２２０は、実際にカメラサーバ２００のローテーション角度を変更する前に、当該ローテーション角度の変更後のチルトガイド１１２３を表示させる。このようにすることで、ローテーション角度を変更した場合のチルト方向を、ローテーション角度の変更前にユーザが知ることができる。
【００５７】
図１２は、本実施形態におけるカメラサーバ２００とクライアント２２０の処理の順序を説明するためのシーケンス図である。
クライアント２２０は、ユーザ指示に応じて、カメラサーバ２００へ接続要求を送信する（Ｓ１２０１）。
カメラサーバ２００は、クライアント２２０から接続要求を受信すると、雲台３８０のパン・チルト・ローテーション機構の位置情報をクライアント２２０へ送信する（Ｓ１２０２）。
【００５８】
また、本形態のカメラサーバ２００は、Ｓ１２０２において、現在の位置情報の送信と並行して、カメラ３７０の撮像により得られた１フレーム分の画像データをクライアント２２０へ送信する。Ｓ１２０２以降、カメラサーバ２００は、所定時間ごとに撮像と画像データの送信を行い、クライアント２２０は、受信した画像データに応じた画像をディスプレイ等の出力機器４８０で表示させる。
【００５９】
クライアント２２０は、Ｓ１２０２で受信した位置情報に基づいて方向ガイドを表示する（Ｓ１２０３）。図１１で説明したように、方向ガイドには、チルトガイド１１０３やローテーションガイド１１０１が含まれる。
クライアント２２０は、ユーザがローテーション位置１１０４をローテーションガイド１１０１に沿ってドラッグ操作すると、図１１（ｂ）に示すように、撮像画像とチルトガイドを回転させる（Ｓ１２０４）。このときは、ローテーション角度を制御するためのコマンドはカメラサーバ２００へ送信されていない。
【００６０】
ユーザが新しいローテーション位置をローテーション位置１１１５で確定すると、クライアント２２０は、ローテーション角度を制御するためのコマンドをカメラサーバ２００へ送信し、撮像画像の表示領域の向きを元の状態に戻す（Ｓ１２０５）。このとき、ローテーション角度の位置やチルトガイドの向きは元に戻しても良いし、戻さなくても良い。Ｓ１２０５で、表示領域の向き、ローテーション角度の位置、チルトガイドの向きがすべて元に戻されると、図１１（ａ）の状態になる。
【００６１】
カメラサーバ２００は、ローテーション角度を制御するためのコマンドを受信すると、目標位置までローテーション動作を行う（Ｓ１２０６）。
カメラサーバ２００は、ローテーション角度の制御が完了すると、制御後のローテーション角度の情報をクライアント２２０へ送信する（Ｓ１２０７）。また、カメラサーバ２００は、ローテーション角度の制御後の撮像画像をクライアント２２０へ送信する。なお、カメラサーバ２００は、ローテーション角度の制御が完了する前に制御後のローテーション角度の情報をクライアント２２０へ送信してもよい。また、クライアント２２０は、制御後のローテーション角度を知っているので、ローテーション角度の情報の送信を省略することも可能である。
【００６２】
クライアント２２０は、カメラサーバ２００から制御後のローテーション角度の情報を受信すると、ローテーション角度の位置と方向ガイドの表示を更新する（Ｓ１２０８）。また、クライアント２２０は、ローテーション角度の制御後の撮像画像をカメラサーバ２００から受信すると、撮像画像の表示を更新する。なお、Ｓ１２０５でローション角度の位置や方向ガイドを元に戻していない場合は、この処理は省略できる。
【００６３】
図１３は、クライアント２２０の処理を説明するためのフローチャートである。なお、本形態のクライアント２２０は、ネットワークカメラの撮像により得られた画像データに応じた画像の表示を制御する表示制御装置である。
クライアント２２０のカメラ設定プログラム１１１は、ユーザ指示により起動し、カメラサーバ２００へ接続要求を送信する（Ｓ１３０１）。
【００６４】
そして、カメラ設定プログラム１１１は、接続要求が許可されたか否かを示すレスポンスを受信するまで待つ（Ｓ１３０２）。
カメラ設定プログラム１１１は、レスポンスを受信すると、接続が許可されたか否かを判定する（Ｓ１３０３）。
カメラ設定プログラム１１１は、接続が不許可の場合がプログラムを終了し（Ｓ１３０４）、接続が許可された場合は受信処理プログラム１１２を起動する（Ｓ１３０５）。
【００６５】
受信処理プログラム１１２は、カメラサーバ２００へ画像要求を送信し、１フレーム分の画像データを受信する。受信した画像データに応じた画像は、ディスプレイ等の出力機器４８０で表示される。
次にカメラ設定プログラム１１１は、イベントの発生を待つと共に（Ｓ１３０６）、発生したイベントの種類を判定する（Ｓ１３０７）。
本形態におけるイベントとは、カメラサーバ２００からの位置情報の通知、ローテーション角度の操作開始通知（ドラッグ開始）、ローテーション角度の更新通知、ローテーション角度の操作完了通知（ドラッグ完了指示）である。
【００６６】
カメラ設定プログラム１１１は、イベントがカメラサーバ２００からの位置情報（パン角度、チルト角度、ローテーション角度）の通知であると判定すると、パン・チルト・ローテーション機構の方向ガイドの形状を計算する。計算結果に応じた方向ガイドは、出力制御プログラム１１３により表示される（Ｓ１３０８）。すなわち、出力制御プログラム１１３は、チルト角度の変更に応じた撮像範囲の移動方向に関するチルトガイドを画像上に表示させる。また、位置情報と計算結果は、必要に応じて一時記憶部１１４に記憶される。そしてＳ１３０６に戻る。なお、図１１では、チルトガイドとローテーションガイドの２つを表示させているが、パンガイドなどほかの方向ガイドを表示させるようにすることも可能である。
【００６７】
カメラ設定プログラム１１１は、イベントがローテーション角度の操作開始通知、例えば、図１１（ａ）のローテーション位置１１０４のドラッグ操作が開始されたと判定すると、ユーザによるドラッグに合わせて新たな更新位置を取得できるようにＯＳ１００に登録する。そしてＳ１３０６に戻る。
【００６８】
カメラ設定プログラム１１１は、イベントがローテーション角度の更新通知であると判定すると、ＯＳ１００からローテーション角度の変化量を取得して、撮像画像と方向ガイドを回転させる（Ｓ１３１０）。なお、カメラ設定プログラム１１１は、Ｓ１３１０の段階（ドラッグ中）は、ローテーション角度の制御のためのコマンドをカメラサーバ２００へ送信しない。すなわち、カメラ設定プログラム１１１は、回転角度の変更コマンド（ローテーション角度の制御コマンド）に対する応答をカメラサーバ２００から受信するよりも前にチルトガイドの表示を回転角度の変更方向に基づいて更新する。Ｓ１３１０の処理が完了するとＳ１３０６に戻る。
【００６９】
カメラ設定プログラム１１１は、イベントがローテーション角度の操作完了通知であると判定すると、変更後のローテーション角度に撮像範囲の回転角度を制御するためのコマンドをカメラサーバ２００へ送信する（Ｓ１３１１）。また、カメラ設定プログラムは、Ｓ１３０９でしたＯＳ１００に対する登録を解除する（Ｓ１３１２）。そして、Ｓ１３０６に戻る。
【００７０】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００７１】
なお、上述のカメラサーバ２００の処理やクライアント２２０の処理を、複数の装置で分担して行うようにしても良い。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005665609.tif 000002
【図２】
0005665609.tif 000003
【図３】
0005665609.tif 000004
【図４】
0005665609.tif 000005
【図５】
0005665609.tif 000006
【図６】
0005665609.tif 000007
【図７】
0005665609.tif 000008
【図８】
0005665609.tif 000009
【図９】
0005665609.tif 000010
【図１０】
0005665609.tif 000011
【図１１】
0005665609.tif 000012
【図１２】
0005665609.tif 000013
【図１３】
0005665609.tif 000014