説明

カメラシステム、表示制御装置、表示制御方法

【課題】リモート制御するカメラで、撮像範囲とユーザの意図する方向がずれないよう制御する。
【解決手段】クライアントは、カメラサーバの撮像により得られた画像データと、雲台のパン角度及びチルト角度に関する位置情報を受信し、受信した画像データに応じた画像を表示させると共に、パン角度の変更に応じた撮像範囲の移動方向に関するパンガイドを画像上に表示させ、チルト角度の変更コマンドをカメラサーバへ送信し、送信したチルト角度の変更コマンドに対する応答をカメラサーバから受信するよりも前にパンガイドの表示をチルト角度の変更方向に基づいて更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラの撮像方向をリモート制御可能なカメラシステムに関する。
【背景技術】
【0002】
パン機構、チルト機構、ローテーション機構をリモート制御可能なカメラが知られている。特許文献1には、パン機構、チルト機構と共に、撮像装置または撮像素子を光軸周りに回転させるローテーション機構をリモート制御することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−114503号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、リモート制御されるカメラによっては、ユーザが意図する方向とは異なる方向に撮像範囲が移動してしまう恐れがあった。
【0005】
例えば、パン角度を変更したときの撮像範囲の移動方向が、チルト角度によって異なるカメラをリモート制御する場合、パン角度のリモート制御時のチルト角度によっては、ユーザが意図する方向とは異なる方向に撮像範囲が移動してしまう恐れがあった。
また、例えば、パン角度を変更したときの撮像範囲の移動方向を、現在のチルト角度に応じて、パンガイドとしてクライアントの画面上に表示する場合であっても、ユーザが意図するパン方向とは大きく異なる方向に撮像範囲が移動してしまう恐れがある。すなわち、チルト角度を大きく変更するための変更指示をした後、パンガイドの形状が更新されるまでの間にパン角度の変更指示をした場合、ユーザが意図するパン方向とは大きく異なる方向に撮像範囲が移動してしまう恐れがあった。このように、方向ガイド(例えばパンガイド)を表示したとしても、ユーザが意図する方向とは大きく異なる方向に撮像範囲が移動してしまう恐れがあった。
【0006】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ユーザが意図する方向に、より近い方向へカメラの撮像方向をリモート制御できるようにすることである。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の表示制御装置は、例えば、以下の構成を有する。すなわち、パン角度の変更に応じた撮像範囲の移動方向がチルト角度により異なる撮像装置の撮像により得られた画像データに応じた画像の表示を制御する表示制御装置であって、前記撮像装置の撮像により得られた画像データと、前記撮像装置のパン角度及びチルト角度に関する位置情報を受信する受信手段と、前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更に応じた撮像範囲の移動方向に関するパンガイドを前記画像上に表示させる表示制御手段と、前記チルト角度の変更コマンドを前記撮像装置へ送信する送信手段と、前記送信したチルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に前記パンガイドの表示を前記変更コマンドによるチルト角度の変更方向に基づいて更新する更新手段とを有する。
【発明の効果】
【0008】
本発明によれば、ユーザが意図する方向に、より近い方向へカメラの撮像方向をリモート制御できる。
【図面の簡単な説明】
【0009】
【図1】クライアントのソフトウェア構成図
【図2】システム構成図
【図3】カメラサーバのハードウェア構成図
【図4】クライアントのハードウェア構成図
【図5】カメラサーバのソフトウェア構成図
【図6】PTR機構を持ったカメラサーバの外観図
【図7】カメラサーバ周辺に設置した仮想球面
【図8】カメラサーバの撮像画像の例
【図9】実施形態の制御シーケンス
【図10】クライアントの処理を説明するためのフローチャート
【図11】ローテーション制御をするときのクライアントのUIの例を示す図
【図12】ローテーション制御をするときの制御シーケンス
【図13】クライアントの処理を説明するためのフローチャート
【発明を実施するための形態】
【0010】
以下、本発明の実施に好適な監視システムの構成と動作について、図面を用いながら説明する。
【0011】
図2は、本実施形態のカメラシステムのシステム構成図である。
カメラサーバ200ならびにクライアント220がネットワーク230を介して相互に接続される。
カメラサーバ200は撮影画角可変、もしくは撮影画角が固定されているカメラの撮像により得られた画像データをネットワーク230を介してクライアント220へ配信する。クライアント220はカメラサーバ200にアクセスして取得した画像データに応じた画像の表示を制御する表示制御装置である。
ネットワーク230は、Ethernet(登録商標) 等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本発明においては各サーバー・クライアント間の通信が支障なく行えるものであればその通信規格、規模、構成を問わない。つまり、ネットワーク230は、例えば、インターネットであってもLAN (Local Area Network)であっても良い。
なお、本形態では、カメラサーバ200とクライアント220がそれぞれ1台ずつ接続される場合の例を中心に説明するが、これに限らず、複数台接続されるようにしても良い。
【0012】
次に、カメラサーバ200の構成について説明する。
【0013】
図3はカメラサーバ200のハードウェア構成図である。
カメラサーバ200は、CPU300、1次記憶装置310、2次記憶装置320、画像キャプチャI/F330、雲台制御I/F340、ネットワークI/F360を含んで構成される。
1次記憶装置310は、RAMに代表される書き込み可能な高速の記憶装置で、OS(Operation System)や各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。
2次記憶装置320は、HDD、フラッシュメモリ、CD−ROMドライブ等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。
【0014】
CPU300は、2次記憶装置320に記憶されている各種プログラム及び各種データを1次記憶装置310へロードして実行する。
画像キャプチャI/F330にはカメラ370が接続され、カメラ370の撮像により得られた画像データを1次記憶装置310へ転送する。画像キャプチャI/F330により1次記憶装置310へ転送された画像データは、CPU300により所定のフォーマットに変換・圧縮される。
雲台制御I/F340には雲台380が接続される。雲台制御I/F 340は、雲台380のパン・チルト・ローテーション機構の制御コマンドや現在の制御状態を示す情報を中継する。
ネットワークI/F 360は、ネットワーク230と接続するためのインタフェースであり、Ethernet(登録商標)等の通信媒体を介してクライアント220等との通信を担う。
【0015】
図5は、カメラサーバ200のソフトウェア構成図である。
本形態のCPU300は、図5に示すOS500、撮像処理プログラム510、雲台制御プログラム511、配信処理プログラム512、及び一時記憶部513を1次記憶装置310へロードする。
OS500は、カメラサーバ200全体を制御するための基本プログラムである。
撮像処理プログラム510は、カメラ370の撮像により得られた画像データを画像キャプチャI/F 330を経由して取得し、取得された画像データを符号化して、一時記憶部513に保存するためのプログラムである。
雲台制御プログラム511は、クライアントからのリクエストに応じて雲台380のパン・チルト・ローテーション機構を制御したり、パン・チルト・ローテーション機構の現在位置などの雲台状態を取得し、一時記憶部513に保存するためのプログラムである。
配信処理プログラム512は、各種クライアントからのリクエストに応じて、一時記憶部513に保存されている画像データや雲台状態を、ネットワークI/F360を介して各種クライアントへ送信するためのプログラムである。各プログラムは、OS500の機能により連携する。
【0016】
次に、クライアント220の構成について説明する。
【0017】
図4は、クライアント220のハードウェア構成図である。クライアント220は、CPU 400、1次記憶装置410、2次記憶装置420、ユーザー入力I/F 430、ユーザー出力I/F 440、ネットワークI/F 460を含んで構成される。
1次記憶装置410は、RAMに代表される書き込み可能な高速の記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。
2次記憶装置420は、HDD、フラッシュメモリ、CD−ROMドライブ等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。
【0018】
ユーザ入力I/F 430にはキーボード、マウス等に代表される入力機器470が接続され、ユーザからの入力をCPU400へ中継する。
ユーザ出力I/F 440にはディスプレイ等に代表される出力機器480が接続され、ユーザによる指示結果に関するデータやカメラサーバ200からの画像データを出力機器480へ中継する。出力機器480は、例えばユーザ出力I/F 440により渡されたデータに応じた画像を表示する。
ネットワークI/F 460は前述のネットワーク230と接続するためのI/Fであり、Ethernet(登録商標)等の通信媒体を介してカメラサーバ200等との通信を担う。
【0019】
図1は、クライアント220のソフトウェア構成図である。
本形態のCPU400は、図1に示すOS100、入力制御プログラム110、カメラ設定プログラム111、受信処理プログラム112、出力制御プログラム113、及び一時記憶部114を1次記憶装置410へロードする。
OS100は、クライアント220全体を制御する基本プログラムである。
入力制御プログラム110は、ユーザによる入力機器470(例えばマウスやキーボード)の操作を受け付けるためのプログラムである。
カメラ設定プログラム111は、ユーザによる入力機器470の操作に応じて、画像データのリクエストや、パン・チルト・ローテーション角度の制御コマンドをカメラサーバ200へ送信するためのプログラムである。また、カメラ設定プログラム111は、カメラサーバ200の現在のパン・チルト・ローテーション角度に関する位置情報に応じた各方向ガイドの形状を取得し、一時記憶部114に記憶させる。
【0020】
受信処理プログラム112は、カメラサーバ200から画像データや、現在のパン・チルト・ローテーション角度に関する位置情報を受信するためのプログラムである。受信処理プログラム112により受信された画像データは一時記憶部114に記憶される。
出力制御プログラム113は、一時記憶部114に記憶された画像データに応じた画像や、各方向ガイドを出力機器480上に表示させるためのプログラムである。各プログラムは、OS100の機能により連携する。
【0021】
なお、本形態の入力制御プログラム110は、入力機器470の操作を受け付けることに限らず、ネットワークを経由したクライアント220の操作や、クライアント220の自動実行プログラムなどの入力を受け付けるようにすることも可能である。
【0022】
次に、本形態のネットワークカメラの構成について説明する。
【0023】
図6は、ネットワークカメラの外観図である。なお、本形態では、ネットワークカメラに、カメラ370、雲台380、カメラサーバ200が含まれる形態を中心に説明するが、一部を別の装置として構成することも可能である。
図6(a)は、ネットワークカメラの側面図である。本形態のネットワークカメラのパンの回転部は、ボトムケース600とターンテーブル602で構成され、パン回転軸603を中心にターンテーブル602が回転する構造となっている。図6(b)は、ネットワークカメラの正面図である。本形態のネットワークカメラのチルトの回転部は、レンズ支柱604とレンズケース606で構成され、チルト回転軸605を中心にレンズケース606が回転する構造となっている。また、ネットワークカメラのローテーションの回転部は、レンズケース606とレンズユニット607で構成され、ローテーション回転軸608を中心にレンズユニット607が回転する構造となっている。
【0024】
図7は、ネットワークカメラの設置位置と撮像方向の関係を説明するための仮想球面を示した図である。
図7において、710はカメラ設置位置、703はカメラのパン回転軸、720はカメラ周辺に仮想的に設置した仮想球面、721は仮想球面上に設定した緯度線のひとつ、722は仮想球面上に設定した経度線のひとつを示している。仮想球面上の緯度線721と経度線722は、撮像方向とは無関係に仮想球面720上の固定位置に設定される。ネットワークカメラは、この仮想球面720の内側から外側をみた画像を撮像画像として取得する。
【0025】
図8は、図7のカメラ設置位置710に設置されたネットワークカメラによる撮像画像の例である。
図8の810はネットワークカメラによる撮像画像、811は撮像画像中心、812はネットワークカメラのパン回転中心を示している。パン回転中心812は、図7の仮想球面720とパン回転軸703との接点に対応する。また、図8の813は、パン角度の変更に応じた撮像範囲の移動方向を示すパンガイド、814はチルト角度の変更に応じた撮像範囲の移動方向を示すチルトガイドである。
【0026】
また、図8の815は、図7の仮想球面上に設定された緯度線の一部、816は仮想球面上に設定された経度線の一部を示している。パンガイド813は、パン回転中心812を中心とし撮像画像中心811を通る円もしくは円弧、または直線として撮像画像に重畳表示される。本形態のパンガイドは、チルト角度が0度のときに直線で表示される。
【0027】
図8(b)は、図8(a)の状態から上方向にチルト制御をした後の図である。
図8に示すように、チルト制御をする前と、チルト制御をした後とでは、パン角度を変更したときの撮像範囲の移動方向が異なるため、パンガイドの形状も異なる。本形態のクライアント220は、図8(a)のチルト角度から図8(b)のようなチルト角度へ制御する場合、チルト制御コマンドに対する応答をカメラサーバ200から受信するよりも前に、パンガイド813をパンガイド823へ更新する。
【0028】
次に、本実施形態のカメラシステムの動作について説明する。
【0029】
図9は、本実施形態におけるカメラサーバ200とクライアント220の処理の順序を説明するためのシーケンス図である。
クライアント220は、ユーザの指示に応じて、カメラサーバ200へ接続要求を送信する(S901)。
カメラサーバ200は、クライアント220から接続要求を受信すると、雲台380のパン・チルト・ローテーション機構の位置情報をクライアント220へ送信する(S902)。
【0030】
また、本形態のカメラサーバ200は、S902において、現在の位置情報の送信と並行してカメラ370の撮像により得られた1フレーム分の画像データをクライアント220へ送信する。S902以降、カメラサーバ200は、所定時間ごとに撮像と画像データの送信を行い、クライアント220は、受信した画像データに応じた画像をディスプレイ等の出力機器480で表示させる。すなわち、クライアント220は、受信した画像データに応じた画像を動画として再生することができる。
【0031】
クライアント220は、S902で受信した位置情報に基づいて方向ガイドを表示する(S903)。図8で説明したように、方向ガイドには、パンガイド813やチルトガイド814が含まれる。また、経度線815や緯度線816を方向ガイドとして表示させることも可能である。
クライアント220は、ユーザからの雲台制御開始指示に応じて、カメラサーバ200へ雲台制御を開始させるためのコマンドを送信する(S904)。この例では、ユーザからのチルト制御開始指示に応じて、カメラサーバ200へチルト角度の変更を開始させるためのチルト制御開始コマンドが送信されたものとする。
【0032】
また、クライアント220は、ユーザからの雲台制御開始指示に応じて、方向ガイドの形状を更新する(S905)。クライアント220は、例えば、ユーザからのチルト制御開始指示に応じてパンガイドの表示を更新する。より具体的には、図8に示すように、撮像画像中心がパン回転中心に近づく(チルト角度を上がる)チルト制御開始指示が入力された場合、クライアント220は、パンガイドの円の半径を短くする。一方、撮像画像中心がパン回転中心から遠ざかる(チルト角度を下げる)チルト制御開始指示が入力された場合、クライアント220は、パンガイドの円の半径を長くする。なお、本形態では、チルト制御開始指示に応じたチルト制御後に撮像された画像データの受信よりも前にパンガイドの表示が更新される。また、S904とS905の処理の順序は、逆でも良いし、同時でも良い。
【0033】
カメラサーバ200は、クライアント220から雲台制御を開始させるためのコマンドを受信すると、雲台制御を開始する(S906)。この例では、クライアント220からチルト制御開始コマンドの受信に応じて、チルト制御が開始される。本形態では、チルト制御開始コマンドによるチルト制御後に撮像された画像データに応じた画像を表示するよりも前に、パンガイドの表示の更新が行われる。
クライアント220は、ユーザからの雲台制御終了指示に応じて、カメラサーバ200へ雲台制御を終了させるためのコマンドを送信する(S907)。クライアント220は、例えば、ユーザからのチルト制御終了指示に応じて、カメラサーバ200へチルト角度の変更を終了させるためのチルト制御終了コマンドが送信される。
カメラサーバ200は、クライアント雲台制御を終了するためのコマンドを受信すると、雲台制御を停止させ、停止後のチルト角度を示す位置情報をクライアント220へ送信する(S908)。
クライアント220は、S908で送信された位置情報に基づいて、パンガイドの形状を修正する。すなわち、クライアント220は、カメラサーバ200へ送信した雲台制御開始指示による制御量の予測値と、実際の雲台の制御量との差に基づいて、方向ガイドの形状を補正する。
【0034】
なお、本形態では、例えば、カメラサーバ200がチルト制御開始指示を受信すると、チルト制御終了指示を受信するまで、チルト角度の制御を行う例を中心に説明するが、クライアント220からチルト角度の指定値を含むチルト制御コマンドを送信するようにしても良い。この場合、クライアント220は、チルト角度の指定値を含むチルト制御コマンドに対応する応答をカメラサーバ200から受信するよりも前に、当該チルト制御コマンドによるチルト角度の移動方向に基づいてパンガイドの表示を更新する。
【0035】
次に、本実施形態におけるクライアント220の処理について説明する。
【0036】
図10は、本実施形態のクライアント220の処理を説明するためのフローチャートである。なお、本形態のクライアント220は、ネットワークカメラの撮像により得られた画像データに応じた画像の表示を制御する表示制御装置である。また、本形態のネットワークカメラは、パン角度の変更に応じた撮像範囲の移動方向がチルト角度により異なる撮像装置を含んで構成される。クライアント220のカメラ設定プログラム111は、ユーザ指示により起動し、カメラサーバ200へ接続要求を送信する(S1001)。
【0037】
そして、カメラ設定プログラム111は、接続要求が許可されたか否かを示すレスポンスを受信するまで待つ(S1002)。
カメラ設定プログラム111は、レスポンスを受信すると、接続が許可されたか否かを判定する(S1003)。
カメラ設定プログラム111は、接続が不許可の場合は処理を終了し(S1004)、接続が許可された場合は受信処理プログラム112を起動する(S1005)。
受信処理プログラム112は、カメラサーバ200へ画像要求を送信し、1フレーム分の画像データを受信する。受信した画像データに応じた画像は、ディスプレイ等の出力機器480で表示される。
【0038】
次にカメラ設定プログラム111は、イベントの発生を待つと共に(S1006)、発生したイベントの種類を判定する(S1007)。
本形態におけるイベントとは、カメラサーバ200からの位置情報の受信、ユーザからの雲台制御開始指示の入力、雲台制御終了指示の入力、及び、方向ガイドの再描画タイミングに関するタイムアウトである。
カメラ設定プログラム111は、イベントがカメラサーバ200からの位置情報(パン角度、チルト角度、ローテーション角度)の受信であると判定すると、パン・チルト・ローテーション機構の方向ガイドの形状を計算する。なお、位置情報は、受信処理プログラム112により取得される。すなわち、受信処理プログラム112は、ネットワークカメラのパン角度及びチルト角度に関する位置情報をカメラサーバ200から受信する(受信手順)。
【0039】
計算結果に応じた方向ガイドは、出力制御プログラム113により表示される(S1008)。すなわち、出力制御プログラム113は、受信した画像データに応じた画像を表示させると共に、パンガイドを当該画像上に表示させる(表示制御手順)。本形態において、パンガイドは、パン角度の変更に応じた撮像範囲の移動方向に関する方向ガイドである。計算結果と受信した位置情報は、必要に応じて一時記憶部114に記憶される。なお、方向ガイドの形状は計算により取得するようにしても、予めテーブルで持っておいても良い。そしてS1006に戻る。
【0040】
カメラ設定プログラム111は、イベントがユーザからの雲台制御開始指示の入力であると判定すると、カメラサーバ200へ雲台制御を開始させるためのコマンドを送信する(S1009)。すなわち、カメラ設定プログラム111は、チルト角度の変更コマンドをネットワークカメラへ送信する(送信手順)。また、カメラ設定プログラム111は、再描画タイマーのカウントを開始させる(S1010)。再描画タイマーのタイムアウト時間は、例えば1/30秒である。タイマーのカウントを開始すると、S1006に戻る。
【0041】
カメラ設定プログラム111は、イベントがユーザからの雲台制御終了指示の入力であると判定すると、カメラサーバ200へ雲台制御を終了させるためのコマンドを送信し(S1011)、再描画タイマーのカウントを停止させる(S1012)。なお、本形態のカメラサーバ200は、雲台制御を終了させるためのコマンドをクライアント220から受信すると雲台制御を終了し、現在の位置情報をクライアント220へ送信する。S1012の処理が完了するとS1006に戻る。
【0042】
カメラ設定プログラム111は、イベントが再描画タイマーのタイムアウトであると判定すると、雲台移動速度とタイムアウト時間(例えば1/30秒)から雲台の移動距離(あるいは移動角度)を計算する(S1013)。雲台移動速度の値は予め設定されている。そして、出力制御プログラム113は、カメラ設定プログラム111による計算結果に基づいて方向ガイドの表示を更新する(S1014)。なお、本形態のカメラサーバ200は、雲台制御を開始させるためのコマンドを受信してから、雲台制御を終了させるためのコマンドを受信するまでは位置情報をクライアント220へ通知しない。これに対しクライアント220は、雲台制御を開始させるためのコマンドを送信した後、雲台制御を終了させるためのコマンドを送信しないままタイムアウトが発生すると、方向ガイドの表示を更新する。
【0043】
すなわち、S1014において、出力制御プログラム113は、チルト角度の変更コマンドに対する応答をカメラサーバ200から受信するよりも前にパンガイドの表示をチルト角度の変更方向に基づいて更新する(更新手順)。方向ガイドの更新が完了するとS1006に戻る。なお、S1014で更新された方向ガイド(パンガイド)は、雲台制御終了後にカメラサーバ200により送信される位置情報(チルト角度)に基づいて修正される。
【0044】
以上説明したように、本形態のクライアント220は、チルト角度を変更するための指示が入力されると、チルト角度を変更するためのコマンドをカメラサーバ200へ送信すると共に、当該コマンドの応答を受信するよりも前にパンガイドの形状を変更する。このようにすることで、パン角度の変更のための指示をしたときの撮像範囲の移動方向と、パンガイドが示す移動方向とのずれを低減できる。
【0045】
なお、本形態では、雲台制御開始指示が入力されてからタイムアウト時間経過後に方向ガイドの形状を変更する例について説明したが、雲台制御開始指示の直後に方向ガイドの形状を変更するようにしても良い。
【0046】
また、本形態では、雲台制御を開始させるためのコマンドに応じて、一定速度で撮像範囲が移動する例について説明した。すなわち、本形態では、チルト角度の変更を開始させるためのコマンドを送信してから当該変更を終了させるためのコマンドを送信せずに所定時間が経過するごとに、所定角度、変更されたチルト角度に対応するパンガイドに表示を更新する例を中心に説明した。
【0047】
しかし、ネットワークカメラの雲台は、例えば、チルト制御を開始させるためのコマンドが入力されてからの経過時間が長くなるほど、チルト角度の移動速度が速くなるようにすることも可能である。このような雲台に対応するため、クライアント220のカメラ設定プログラム111を以下のようにすることも可能である。
【0048】
すなわち、カメラ設定プログラム111は、チルト角度の変更の開始のためのコマンドを送信してから当該変更の終了のためのコマンドを送信せずに所定時間が経過すると、チルト角度が第1の角度、変更されたチルト角度に対応するパンガイドに表示を更新する。そして、カメラ設定プログラム111は、当該更新後、さらに所定時間が経過すると、チルト角度が第1の角度よりも大きい第2の角度、さらに変更されたチルト角度に対応するパンガイドに表示を更新する。このようなカメラ設定プログラム111によれば、チルト制御を開始させるためのコマンドが入力されてからの経過時間が長くなるほど、チルト角度の移動速度が速くなるような雲台に、より適したパンガイドの表示ができる。
【0049】
また、ネットワークカメラや雲台の機種によって、チルト角度の移動速度が異なる場合がある。このようなネットワークカメラや雲台に対応するため、クライアント220のカメラ設定プログラム111は、ネットワークカメラや雲台のチルト速度を特定するためのタイプ情報を取得してパンガイドの形状を算出するようにしても良い。タイプ情報は、例えば、ネットワークカメラの機種に関する情報や、チルト速度の設定情報などである。
【0050】
すなわち、カメラ設定プログラム111は、ネットワークカメラのタイプ情報を取得する。そして、カメラ設定プログラム111は、チルト角度の変更の開始のためのコマンドを送信してから当該変更の終了のためのコマンドを送信せずに所定時間が経過した場合の更新後のパンガイドの形状を、取得したタイプ情報に基づいて決定する。このようなカメラ設定プログラム111によれば、ネットワークカメラのタイプに、より適したパンガイドの表示ができる。
【0051】
また、本形態のクライアント220は、カメラサーバ200からの位置情報に基づいて表示する方向ガイドと、タイムアウトにより表示する方向ガイドとを識別可能に表示する。クライアント220の出力制御プログラム113は、例えば、位置情報に基づいて表示する方向ガイドと、タイムアウトにより更新された方向ガイドとの色、及び、線種、及び、透明度の少なくともいずれかが異なるようにする。このようにすることで、ユーザは、実際の位置情報に基づく方向ガイドとそうでない方向ガイドを識別できるようになる。
【0052】
また、本形態のクライアント220は、雲台制御の開始のためのコマンドの送信からの経過時間がタイムアウト時間に達すると、位置情報に応じた方向ガイドを削除して、更新後の方向ガイドを表示させるが、これらの方向ガイドを同時に表示させることも可能である。すなわち、図8(b)の撮像画像820内に、更新前のパンガイド813と更新後のパンガイド823を同時に表示させることも可能である。また、この場合、パンガイド813と823を識別可能に表示することも可能である。
【0053】
また、上記の実施形態では、チルト機構の制御に応じてパンガイドの表示を更新する例を中心に説明したが、例えば、ローテーション機構の制御に応じてチルトガイドの表示を更新する場合にも本発明は適用可能である。
【0054】
図11は、クライアント220でカメラサーバ200のローテーション機構を制御する際のユーザインタフェースの例である。
図11(a)には、ローテーションガイド1101、撮像画像1102、チルトガイド1103、現在のローテーション位置1104が含まれる。
図11(a)は、カメラサーバ200に接続した直後の画面を示しており、実際の天地方向と撮像画像の天地方向が異なっている(すなわち、撮像画像1102の長辺と地面が平行でない)状態を示している。
図11(b)は、実際の天地方向と撮像画像の天地方向を合わせるために、ユーザがローテーション位置の変更操作をしているときの画面である。本形態では、ローテーション位置の変更操作を、例えば、ローテーション位置1114のドラッグ操作により行う。図11(b)に示すように、ローテーション位置1114が1115の位置へ移動されたことにより、実際の天地方向と撮像画像の天地方向が一致している。なお、図11(b)の状態は、マウスボタンがまだ押下されたままであるため、ローテーション角度を制御するためのコマンドはカメラサーバ200へ送信されていない。
【0055】
すなわち、クライアント220のユーザは、ローテーション位置1114をマウス等の入力機器470で選択し、ローテーションガイド1111に沿って新しいローテーション位置1115まで移動させることでローテーション角度を制御できる。すなわち、クライアント220は、ユーザによるローテーション位置の移動に合わせて、カメラ370の撮像範囲を回転させずに、撮像画像の表示領域を回転させる。なお、マウスによるドラッグ操作に限らず、キーボードやタッチパネル等、他の入力機器470でローテーション位置の変更操作を行うことも可能である。
【0056】
図11(c)は、カメラサーバ200のローテーション角度の変更後の画面である。すなわち、ローテーション位置の変更操作のためのドラッグ操作が終了した後の画面である。すなわち、図11に示すように、本形態のクライアント220は、実際にカメラサーバ200のローテーション角度を変更する前に、当該ローテーション角度の変更後のチルトガイド1123を表示させる。このようにすることで、ローテーション角度を変更した場合のチルト方向を、ローテーション角度の変更前にユーザが知ることができる。
【0057】
図12は、本実施形態におけるカメラサーバ200とクライアント220の処理の順序を説明するためのシーケンス図である。
クライアント220は、ユーザ指示に応じて、カメラサーバ200へ接続要求を送信する(S1201)。
カメラサーバ200は、クライアント220から接続要求を受信すると、雲台380のパン・チルト・ローテーション機構の位置情報をクライアント220へ送信する(S1202)。
【0058】
また、本形態のカメラサーバ200は、S1202において、現在の位置情報の送信と並行して、カメラ370の撮像により得られた1フレーム分の画像データをクライアント220へ送信する。S1202以降、カメラサーバ200は、所定時間ごとに撮像と画像データの送信を行い、クライアント220は、受信した画像データに応じた画像をディスプレイ等の出力機器480で表示させる。
【0059】
クライアント220は、S1202で受信した位置情報に基づいて方向ガイドを表示する(S1203)。図11で説明したように、方向ガイドには、チルトガイド1103やローテーションガイド1101が含まれる。
クライアント220は、ユーザがローテーション位置1104をローテーションガイド1101に沿ってドラッグ操作すると、図11(b)に示すように、撮像画像とチルトガイドを回転させる(S1204)。このときは、ローテーション角度を制御するためのコマンドはカメラサーバ200へ送信されていない。
【0060】
ユーザが新しいローテーション位置をローテーション位置1115で確定すると、クライアント220は、ローテーション角度を制御するためのコマンドをカメラサーバ200へ送信し、撮像画像の表示領域の向きを元の状態に戻す(S1205)。このとき、ローテーション角度の位置やチルトガイドの向きは元に戻しても良いし、戻さなくても良い。S1205で、表示領域の向き、ローテーション角度の位置、チルトガイドの向きがすべて元に戻されると、図11(a)の状態になる。
【0061】
カメラサーバ200は、ローテーション角度を制御するためのコマンドを受信すると、目標位置までローテーション動作を行う(S1206)。
カメラサーバ200は、ローテーション角度の制御が完了すると、制御後のローテーション角度の情報をクライアント220へ送信する(S1207)。また、カメラサーバ200は、ローテーション角度の制御後の撮像画像をクライアント220へ送信する。なお、カメラサーバ200は、ローテーション角度の制御が完了する前に制御後のローテーション角度の情報をクライアント220へ送信してもよい。また、クライアント220は、制御後のローテーション角度を知っているので、ローテーション角度の情報の送信を省略することも可能である。
【0062】
クライアント220は、カメラサーバ200から制御後のローテーション角度の情報を受信すると、ローテーション角度の位置と方向ガイドの表示を更新する(S1208)。また、クライアント220は、ローテーション角度の制御後の撮像画像をカメラサーバ200から受信すると、撮像画像の表示を更新する。なお、S1205でローション角度の位置や方向ガイドを元に戻していない場合は、この処理は省略できる。
【0063】
図13は、クライアント220の処理を説明するためのフローチャートである。なお、本形態のクライアント220は、ネットワークカメラの撮像により得られた画像データに応じた画像の表示を制御する表示制御装置である。
クライアント220のカメラ設定プログラム111は、ユーザ指示により起動し、カメラサーバ200へ接続要求を送信する(S1301)。
【0064】
そして、カメラ設定プログラム111は、接続要求が許可されたか否かを示すレスポンスを受信するまで待つ(S1302)。
カメラ設定プログラム111は、レスポンスを受信すると、接続が許可されたか否かを判定する(S1303)。
カメラ設定プログラム111は、接続が不許可の場合がプログラムを終了し(S1304)、接続が許可された場合は受信処理プログラム112を起動する(S1305)。
【0065】
受信処理プログラム112は、カメラサーバ200へ画像要求を送信し、1フレーム分の画像データを受信する。受信した画像データに応じた画像は、ディスプレイ等の出力機器480で表示される。
次にカメラ設定プログラム111は、イベントの発生を待つと共に(S1306)、発生したイベントの種類を判定する(S1307)。
本形態におけるイベントとは、カメラサーバ200からの位置情報の通知、ローテーション角度の操作開始通知(ドラッグ開始)、ローテーション角度の更新通知、ローテーション角度の操作完了通知(ドラッグ完了指示)である。
【0066】
カメラ設定プログラム111は、イベントがカメラサーバ200からの位置情報(パン角度、チルト角度、ローテーション角度)の通知であると判定すると、パン・チルト・ローテーション機構の方向ガイドの形状を計算する。計算結果に応じた方向ガイドは、出力制御プログラム113により表示される(S1308)。すなわち、出力制御プログラム113は、チルト角度の変更に応じた撮像範囲の移動方向に関するチルトガイドを画像上に表示させる。また、位置情報と計算結果は、必要に応じて一時記憶部114に記憶される。そしてS1306に戻る。なお、図11では、チルトガイドとローテーションガイドの2つを表示させているが、パンガイドなどほかの方向ガイドを表示させるようにすることも可能である。
【0067】
カメラ設定プログラム111は、イベントがローテーション角度の操作開始通知、例えば、図11(a)のローテーション位置1104のドラッグ操作が開始されたと判定すると、ユーザによるドラッグに合わせて新たな更新位置を取得できるようにOS100に登録する。そしてS1306に戻る。
【0068】
カメラ設定プログラム111は、イベントがローテーション角度の更新通知であると判定すると、OS100からローテーション角度の変化量を取得して、撮像画像と方向ガイドを回転させる(S1310)。なお、カメラ設定プログラム111は、S1310の段階(ドラッグ中)は、ローテーション角度の制御のためのコマンドをカメラサーバ200へ送信しない。すなわち、カメラ設定プログラム111は、回転角度の変更コマンド(ローテーション角度の制御コマンド)に対する応答をカメラサーバ200から受信するよりも前にチルトガイドの表示を回転角度の変更方向に基づいて更新する。S1310の処理が完了するとS1306に戻る。
【0069】
カメラ設定プログラム111は、イベントがローテーション角度の操作完了通知であると判定すると、変更後のローテーション角度に撮像範囲の回転角度を制御するためのコマンドをカメラサーバ200へ送信する(S1311)。また、カメラ設定プログラムは、S1309でしたOS100に対する登録を解除する(S1312)。そして、S1306に戻る。
【0070】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0071】
なお、上述のカメラサーバ200の処理やクライアント220の処理を、複数の装置で分担して行うようにしても良い。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
パン角度の変更に応じた撮像範囲の移動方向がチルト角度により異なる撮像装置の撮像により得られた画像データに応じた画像の表示を制御する表示制御装置であって、
前記撮像装置の撮像により得られた画像データと、前記撮像装置のパン角度及びチルト角度に関する位置情報を受信する受信手段と、
前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更に応じた撮像範囲の移動方向に関するパンガイドを前記画像上に表示させる表示制御手段と、
前記チルト角度の変更コマンドを前記撮像装置へ送信する送信手段と、
前記送信したチルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に前記パンガイドの表示を前記変更コマンドによるチルト角度の変更方向に基づいて更新する更新手段とを有することを特徴とする表示制御装置。
【請求項2】
前記表示制御手段は、前記チルト角度の変更に応じた撮像範囲の移動方向に関するチルトガイドを前記画像上に表示させ、
前記送信手段は、前記撮像装置の撮像範囲の回転角度の変更コマンドを前記撮像装置へ送信し、
前記更新手段は、前記送信した回転角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に前記チルトガイドの表示を前記変更コマンドによる回転角度の変更方向に基づいて更新することを特徴とする請求項1に記載の表示制御装置。
【請求項3】
前記更新手段により更新されたパンガイドを、前記送信した変更コマンドに応じた変更後のチルト角度の受信に応じて修正する修正手段を有することを特徴とする請求項1に記載の表示制御装置。
【請求項4】
前記更新手段は、前記チルト角度の変更を開始させるための変更コマンドを送信してから当該変更を終了させるための終了コマンドを送信せずに所定時間が経過すると、チルト角度が第1の角度、変更されたチルト角度に対応するパンガイドに表示を更新し、当該更新後、前記終了コマンドを送信せずにさらに前記所定時間が経過すると、チルト角度が前記第1の角度よりも大きい第2の角度、さらに変更されたチルト角度に対応するパンガイドに表示を更新することを特徴とする請求項1に記載の表示制御装置。
【請求項5】
前記撮像装置のタイプ情報を取得する取得手段を有し、
前記更新手段は、前記チルト角度の変更を開始させるための変更コマンドを送信してから当該変更を終了させるための終了コマンドを送信せずに所定時間が経過した場合の更新後のパンガイドの形状を、前記取得されたタイプ情報に基づいて決定することを特徴とする請求項1に記載の表示制御装置。
【請求項6】
前記更新手段は、前記チルト角度の変更を開始させるための変更コマンドを送信してから当該変更を終了させるための終了コマンドを送信せずに所定時間が経過するごとに、所定角度、変更されたチルト角度に対応するパンガイドに表示を更新することを特徴とする請求項1に記載の表示制御装置。
【請求項7】
前記表示制御手段は、前記更新手段により更新されたパンガイドと、前記更新前のパンガイドとの色及び線種の少なくともいずれかが異なるように、前記更新されたパンガイドを表示させることを特徴とする請求項1乃至6のうち、いずれか1項に記載の表示制御装置。
【請求項8】
前記表示制御手段は、前記更新手段により更新されたパンガイドと、前記更新前のパンガイドとを同時に識別可能に表示させることを特徴とする請求項1乃至7のうち、いずれか1項に記載の表示制御装置。
【請求項9】
パン角度の変更に応じた撮像範囲の移動方向がチルト角度により異なる撮像装置の撮像により得られた画像データに応じた画像の表示を制御する表示制御装置が行う表示制御方法であって、
前記撮像装置の撮像により得られた画像データと、前記撮像装置のパン角及びチルト角に関する位置情報を受信する受信工程と、
前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更に応じた撮像範囲の移動方向に関するパンガイドを前記画像上に表示させる表示制御工程と、
前記チルト角度の変更コマンドを前記撮像装置へ送信する送信工程と、
前記送信したチルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に前記パンガイドの表示を前記変更コマンドによるチルト角度の変更方向に基づいて更新する更新工程とを有することを特徴とする表示制御方法。
【請求項10】
パン角度の変更に応じた撮像範囲の移動方向がチルト角度により異なる撮像装置の撮像により得られた画像データに応じた画像の表示を制御するコンピュータに、
前記撮像装置の撮像により得られた画像データと、前記撮像装置のパン角度及びチルト角度に関する位置情報を受信する受信手順と、
前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更に応じた撮像範囲の移動方向に関するパンガイドを前記画像上に表示させる表示制御手順と、
前記チルト角度の変更コマンドを前記撮像装置へ送信する送信手順と、
前記送信したチルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に前記パンガイドの表示を前記変更コマンドによるチルト角度の変更方向に基づいて更新する更新手順とを実行させることを特徴とするプログラム。
【請求項11】
パン角度の変更に応じた撮像範囲の移動方向がチルト角度により異なる撮像装置と、撮像装置の撮像により得られた画像データに応じた画像の表示を制御する表示制御装置とが接続されたカメラシステムであって、
前記撮像装置の撮像により得られた画像データと、前記撮像装置のパン角度及びチルト角度に関する位置情報を受信する受信手段と、
前記受信した画像データに応じた画像を表示させると共に、前記パン角度の変更に応じた撮像範囲の移動方向に関するパンガイドを前記画像上に表示させる表示制御手段と、
前記チルト角度の変更コマンドを前記撮像装置へ送信する送信手段と、
前記送信したチルト角度の変更コマンドに対する応答を前記撮像装置から受信するよりも前に前記パンガイドの表示を前記変更コマンドによるチルト方向の変更方向に基づいて更新する更新手段とを有することを特徴とするカメラシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−186625(P2012−186625A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−47909(P2011−47909)
【出願日】平成23年3月4日(2011.3.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】