(57)【要約】【課題】  可視範囲を制限する機能と可動範囲を制限する機能の動作に矛盾を生じさせることなく、適切に動作を制御する。【解決手段】    撮像可能な画角の範囲を指定する可視範囲設定と、パン方向及びチルト方向への移動可能な範囲を指定する可動範囲設定との少なくとも一方を記憶する。外部装置から、当該撮像装置のパン方向及びチルト方向への可動範囲の設定を指示する可動範囲設定コマンドを受信する。可動範囲設定コマンドで指示される設定値と、記憶手段に記憶される可動範囲設定における設定値とを比較し、その比較の結果に基づいて、当該撮像装置の可視範囲設定を変更する。【選択図】  図４
2014192745.tif 000002
【特許請求の範囲】
【請求項１】
外部装置とネットワークを介して接続され、パン・チルトの機構を有する撮像装置であって、
撮像可能な画角の範囲を指定する可視範囲設定と、パン方向及びチルト方向への移動可能な範囲を指定する可動範囲設定との少なくとも一方を記憶する記憶手段と、
外部装置から、当該撮像装置のパン方向及びチルト方向への可動範囲の設定を指示する可動範囲設定コマンドを受信する受信手段と、
前記可動範囲設定コマンドで指示される設定値と、前記記憶手段に記憶される可動範囲設定における設定値とを比較し、その比較の結果に基づいて、当該撮像装置の可視範囲設定を変更する変更手段と
を備えることを特徴とする撮像装置。
【請求項２】
前記撮像装置は、パン・チルト・ズームの機構を有し、
前記記憶手段は、前記撮像可能な画角の範囲を指定する可視範囲設定と、パン方向、チルト方向及びズーム方向への移動可能な範囲を指定する可動範囲設定との少なくとも一方を記憶し、
前記受信手段は、前記外部装置から、当該撮像装置のパン方向、チルト方向及びズーム方向への可動範囲の設定を指示する可動範囲設定コマンドを受信し、
前記変更手段は、前記可動範囲設定コマンドで指示される設定値と、前記記憶手段に記憶される可動範囲設定における設定値とを比較し、その比較の結果に基づいて、当該撮像装置の可視範囲設定を変更する
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記変更手段は、前記可動範囲設定コマンドに応じて変更する可視範囲は、当該撮像装置のズームの機構における広角端に対する可動範囲から算出する
ことを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
当該撮像装置の可動範囲を示す可動範囲情報と、前記撮像装置の可視範囲を示す可視範囲情報を前記外部装置へ送信する送信手段を更に備え、
前記受信手段は、前記可動範囲情報と前記可視範囲情報に基づいて前記外部装置で設定された可動範囲を示す前記可動範囲設定コマンドを受信する
ことを特徴とする請求項１または２に記載の撮像装置。
【請求項５】
当該撮像装置と前記外部装置との間では、所定のプロトコルに従って、前記可視範囲設定と前記可動範囲設定に関する情報が通信される
ことを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記変更手段は、前記可動範囲設定コマンドで指示される設定値から算出される可視範囲設定と、前記記憶手段に記憶される可視範囲設定におけるプリセット値を比較し、その比較の結果に基づいて、当該撮像装置の可視範囲設定を変更する
ことを特徴とする請求項１または２に記載の撮像装置。
【請求項７】
前記変更手段は、前記プリセット値で規定される可視範囲が、前記可動範囲設定コマンドで指示される設定値から算出される可視範囲設定が示す可視範囲外である場合、該プリセット値を、前記可動範囲設定コマンドで指示される設定値から算出される可視範囲設定が示す可視範囲内となるように変更する
ことを特徴とする請求項６に記載の撮像装置。
【請求項８】
前記外部装置は、前記撮像装置のパン方向及びチルト方向への可動範囲を設定するための設定画面を表示する表示手段と、
前記設定画面を介して入力した可動範囲設定を示す前記可動範囲設定コマンドを作成する作成手段と、
前記可動範囲設定コマンドを前記撮像装置へ送信するコマンド送信手段と
を備えることを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【請求項９】
パン・チルトの機構を有する撮像装置とネットワークを介して接続される情報処理装置であって、
前記撮像装置から、撮像可能な画角の範囲である可視範囲を示す可視範囲情報を取得する取得手段と、
前記可視範囲情報が示す可視範囲の設定から、前記撮像装置の可動範囲の設定を行うことが指示された場合、前記撮像装置のパン方向及びチルト方向への移動可能な範囲である可動範囲を示す可動範囲情報を前記撮像装置から受信する受信手段と、
前記可視範囲情報が示す可視範囲と前記可動範囲情報が示す可動範囲とに基づいて、前記撮像装置に対する可動範囲設定値を設定する設定手段と、
前記可動範囲設定値を示す可動範囲設定コマンドを前記撮像装置へ送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項１０】
前記情報処理装置は、パン・チルト・ズームの機構を有する撮像装置とネットワークを介して接続され、
前記受信手段は、前記可視範囲情報が示す可視範囲の設定から、前記撮像装置の可動範囲の設定を行うことが指示された場合、前記撮像装置のパン方向、チルト方向及びズーム方向への移動可能な範囲である可動範囲を示す可動範囲情報を前記撮像装置から受信する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記設定手段は、前記可動範囲設定値として、前記撮像装置のズームの機構における広角端に対する可視範囲の限界値を設定する
ことを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１２】
外部装置とネットワークを介して接続され、パン・チルトの機構を有する撮像装置の制御方法であって、
外部装置から、当該撮像装置のパン方向及びチルト方向への可動範囲の設定を指示する可動範囲設定コマンドを受信する受信工程と、
前記可動範囲設定コマンドで指示される設定値と、記憶媒体に記憶される、当該撮像装置のパン方向及びチルト方向への移動可能な範囲を指定する可動範囲設定における設定値とを比較し、その比較の結果に基づいて、当該撮像装置の可視範囲設定を変更する変更工程と
を備えることを特徴とする撮像装置の制御方法。
【請求項１３】
パン・チルトの機構を有する撮像装置とネットワークを介して接続される情報処理装置の制御方法であって、
前記撮像装置から、撮像可能な画角の範囲である可視範囲を示す可視範囲情報を取得する取得工程と、
前記可視範囲情報が示す可視範囲の設定から、前記撮像装置の可動範囲の設定を行うことが指示された場合、前記撮像装置のパン方向及びチルト方向への移動可能な範囲である可動範囲を示す可動範囲情報を前記撮像装置から受信する受信工程と、
前記可視範囲情報が示す可視範囲と前記可動範囲情報が示す可動範囲とに基づいて、前記撮像装置に対する可動範囲設定値を設定する設定工程と、
前記可動範囲設定値を示す可動範囲設定コマンドを前記撮像装置へ送信する送信工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１４】
外部装置とネットワークを介して接続され、パン・チルトの機構を有する撮像装置の制御をコンピュータに機能させるためのプログラムであって、
前記コンピュータを、
撮像可能な画角の範囲を指定する可視範囲設定と、パン方向及びチルト方向への移動可能な範囲を指定する可動範囲設定との少なくとも一方を記憶する記憶手段と、
外部装置から、当該撮像装置のパン方向及びチルト方向への可動範囲の設定を指示する可動範囲設定コマンドを受信する受信手段と、
前記可動範囲設定コマンドで指示される設定値と、前記記憶手段に記憶される可動範囲設定における設定値とを比較し、その比較の結果に基づいて、当該撮像装置の可視範囲設定を変更する変更手段と
して機能させることを特徴とするプログラム。
【請求項１５】
パン・チルトの機構を有する撮像装置とネットワークを介して接続される情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
前記撮像装置から、撮像可能な画角の範囲である可視範囲を示す可視範囲情報を取得する取得手段と、
前記可視範囲情報が示す可視範囲の設定から、前記撮像装置の可動範囲の設定を行うことが指示された場合、前記撮像装置のパン方向及びチルト方向への移動可能な範囲である可動範囲を示す可動範囲情報を前記撮像装置から受信する受信手段と、
前記可視範囲情報が示す可視範囲と前記可動範囲情報が示す可動範囲とに基づいて、前記撮像装置に対する可動範囲設定値を設定する設定手段と、
前記可動範囲設定値を示す可動範囲設定コマンドを前記撮像装置へ送信する送信手段と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関し、特に、パン・チルトの機構を有する、撮像する画角を移動させることが可能な撮像装置に関するものである。
【背景技術】
【０００２】
近年、ネットワークや専用線を介して、遠隔操作によりカメラを制御し、映像を監視するネットワークカメラが知られている。ネットワークカメラも多機能になり、電動ズーム可能なレンズを搭載したものや、パン（水平方向回転）・チルト（垂直方向回転）機構を有し、撮像方向を移動できるものもある。
【０００３】
また、撮像可能な画角の範囲を設定し、パン・チルト制御によって、設定された画角の範囲外が撮像されないようにする可視範囲制限や、パン・チルト制御可能な範囲を設定する可動範囲制限の機能を有するネットワークカメラも存在する。
【０００４】
そして、可視範囲制限と可動範囲制限の２つの機能を有するネットワークカメラは、お互いの制限に矛盾が生じないようにパン・チルト動作を制御しなければならない。
【０００５】
例えば、特許文献１では、カメラの動作を制御する場合に、カメラの動作範囲の内、使用禁止範囲設定によって動作が制限されるときには使用禁止範囲を回避する動作を行って、指示部の指示に基づくカメラの動作を実行させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３４３４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の特許文献１に開示された従来技術では、設定された画角の範囲外が撮像されないようにする可視範囲制限と、パン・チルト制御可能な範囲を設定する可動範囲制限を共存させることができない。
【０００８】
本発明は上記の課題を解決するためになされたものであり、可視範囲を制限する機能と可動範囲を制限する機能の動作に矛盾を生じさせることなく、適切に動作を制御することができる撮像技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明による撮像装置は以下の構成を備える。即ち、
外部装置とネットワークを介して接続され、パン・チルトの機構を有する撮像装置であって、
撮像可能な画角の範囲を指定する可視範囲設定と、パン方向及びチルト方向への移動可能な範囲を指定する可動範囲設定との少なくとも一方を記憶する記憶手段と、
外部装置から、当該撮像装置のパン方向及びチルト方向への可動範囲の設定を指示する可動範囲設定コマンドを受信する受信手段と、
前記可動範囲設定コマンドで指示される設定値と、前記記憶手段に記憶される可動範囲設定における設定値とを比較し、その比較の結果に基づいて、当該撮像装置の可視範囲設定を変更する変更手段と
を備える。
【発明の効果】
【００１０】
本発明によれば、可視範囲を制限する機能と可動範囲を制限する機能の動作に矛盾を生じさせることなく、適切に動作を制御することができる撮像技術を提供できる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１、実施形態２及び実施形態３の共通のシステム構成図である。
【図２】実施形態１、実施形態２及び実施形態３の共通のネットワークカメラの構成を示すブロック図である。
【図３】実施形態１、実施形態２及び実施形態３の共通の制御装置の構成を示すブロック図である。
【図４】実施形態１のネットワークカメラのＣＰＵで実行されるソフトウェアの制御を示すフローチャートである。
【図５】実施形態１の制御装置のＣＰＵで実行されるソフトウェアの制御を示すフローチャートである。
【図６】実施形態２のネットワークカメラのＣＰＵで実行されるソフトウェアの制御を示すフローチャートである。
【図７Ａ】実施形態２の制御装置のＣＰＵで実行されるソフトウェアの制御を示すフローチャートである。
【図７Ｂ】実施形態２の制御装置のＣＰＵで実行されるソフトウェアの制御を示すフローチャートである。
【図８】実施形態３のネットワークカメラのＣＰＵで実行されるソフトウェアの制御を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１３】
＜実施形態１＞
図１はネットワークカメラとクライアントからなるシステムの構成図である。カメラサーバとして機能する、撮像装置であるネットワークカメラ１００と、クライアント（外部装置／情報処理装置）として機能する制御装置１２０〜１２２がネットワーク１５０を介して相互に接続されている。制御装置１２０〜１２２にはカメラ制御用の通信プロトコルを使用してカメラ制御を行うプログラムが含まれる。
【００１４】
図２はネットワークカメラ１００の全体構成を示すブロック図である。この全体構成は、実施形態１乃至３において共通の構成である。
【００１５】
図２において、２０１はレンズ部、２０２はＣＣＤ部、２０３は信号処理部、２０４は画像解析部、２０５は符号化部、２０６は通信処理部である。
【００１６】
以下、ネットワークカメラ１００で撮像された画像データをネットワーク１５０へ配信するまでの処理を説明する。
【００１７】
レンズ部２０１から取り込まれた光学画像はＣＣＤ部２０２でＲＧＢデジタルデータに変換された後、信号処理部２０３へ送信される。信号処理部２０３では、ＲＧＢデジタルデータをＹＣｂＣｒ４：２：０フォーマットまたはＹＣｂＣｒ４：２：２フォーマットのデジタルデータ（画像データ）に変換する処理、要求された送信画像の画像サイズへの変換処理、各種フィルタ処理等を行う。処理された画像データは画像解析部２０４に送信されると同時に符号化部２０５へも送信される。符号化部２０５では、画像データを、所定のフォーマット、例えば、Ｈ．２６４フォーマットまたはＪＰＥＧフォーマットへ符号化圧縮する処理を実行する。
【００１８】
符号化部２０５で生成されたＨ．２６４の動画ストリームデータまたは各ＪＰＥＧ静止画データは、通信処理部２０６によりＴＣＰ／ＩＰ、ＨＴＴＰあるいはＲＴＰ等のネットワークプロトコルに従って、ネットワーク１５０を経由して各制御装置１２０〜１２２へ配信（通信）される。画像解析部２０４では、撮像された画像データを解析して目的とする画像中に被写体や指定条件の画像パターンが含まれているかどうかを検出する処理を行う。信号処理部２０３、画像解析部２０４、符号化部２０５、及び通信処理部２０６の各処理ブロックはＣＰＵ２１１と接続されている。
【００１９】
２０７はカメラ制御部であり、モータ駆動部２０８及びレンズ駆動部２１０と接続されている。カメラ制御部２０７は、ＣＰＵ２１１からの指示に従って、カメラのパン・チルト・ローテーション動作（パン方向、チルト方向への移動、及び光軸を中心とする回転）のための制御信号やズームやＡＦ（オートフォーカス）動作のための制御信号を出力する。また、カメラ制御部２０７は、ＲＡＭ２１３に記憶されている可視範囲設定及び可動範囲設定の少なくとも一方に従って、ネットワークカメラ１００の可視範囲及び可動範囲の少なくとも一方を制御する。
【００２０】
モータ駆動部２０８にはモータ駆動回路等が備えられており、カメラ制御部２０７からの制御信号に従ってパン・チルト・ローテーションモータ２０９を駆動し、モータの回転によってカメラの撮像方向を変更することが可能となる。
【００２１】
２１０はレンズ駆動部であり、ズーム、ＡＦ等の各制御を行うためのモータとモータ駆動回路を備えていて、カメラ制御部２０７からの制御信号に従って制御される。
【００２２】
２１１はＣＰＵ（中央演算処理装置）であり、ＲＯＭ（リードオンリーメモリ）２１２に格納されている制御プログラムを実行することで、装置全体の動作を制御する。ＣＰＵ２１１には、ＲＯＭ２１２、ＲＡＭ（ランダムアクセスメモリ）２１３、及びＦＬＡＳＨメモリ２１４が接続されている。また、ＣＰＵ２１１は、信号処理部２０３、画像解析部２０４、符号化部２０５、及び通信処理部２０６とも接続されており、ＣＰＵ２１１は、各処理ブロックに対して動作の開始・停止、動作条件の設定、動作結果の取得等を実行することで各処理ブロックの制御を行う。ＣＰＵ２１１の動作については、後述のフローチャートにより詳細に説明する。
【００２３】
ＲＯＭ２１２には、ＣＰＵ２１１がアプリケーション処理等、本装置の制御を行うためのプログラムやデータが格納されている。ＲＡＭ２１３は、ＣＰＵ２１１がＲＯＭ２１２のプログラムを実行する際に、データの書込／読出を行うメモリである。このＲＡＭ２１３には、ＣＰＵ２１１が装置制御におけるプログラム実行に使用するワークエリア、一時退避エリア等が備えられている。ＲＡＭ２１３は、撮像可能な画角の範囲を指定する可視範囲設定と、パン方向、チルト方向及びズーム方向への移動可能な範囲を指定する可動範囲設定との少なくとも一方を記憶する。尚、本発明は、パン・チルト・ズームの機構を制御可能なネットワークカメラに限定されず、パン、チルトを制御可能なネットワークカメラにも適用可能である。
【００２４】
図３は制御装置１２０〜１２２の全体構成を示すブロック図である。この全体構成は、実施形態１乃至３において共通の構成である。
【００２５】
情報処理装置である制御装置１２０〜１２２には、キーボード３０１、マウス３０２、ディスプレイ３０３、ＣＰＵ３０４、ＲＯＭ３０５、ＲＡＭ３０６、及びネットワークＩ／Ｆ３０７が、内部バス３１０を介して相互に接続されている。制御装置１２０〜１２２では、ＣＰＵ３０４、ＲＯＭ３０５、ＲＡＭ３０６とが協働して、ＣＰＵ３０４の制御により、ＲＯＭ３０５に記憶されるプログラム、ＲＡＭ３０６に記憶される各種データを使用して、各種処理が実行される。
【００２６】
キーボード３０１及びマウス３０２は、制御装置に各種指示を与える一般的な入力装置である。ディスプレイ３０３は、表示を行う一般的な出力装置であり、例えば、ＬＣＤ等がある。
【００２７】
図４は実施形態１のネットワークカメラ１００のＣＰＵ２１１が実行するソフトウェアの制御を示すフローチャートである。
【００２８】
尚、実施形態１において使用する、ＯＮＶＩＦ（Ｏｐｅｎ  Ｎｅｔｗｏｒｋ  Ｖｉｄｅｏ  Ｉｎｔｅｒｆａｃｅ  Ｆｏｒｕｍ）プロトコルは、ネットワークビデオ製品のインターフェースのグローバルオープンスタンダードを確立することを目的とした団体が策定したプロトコルである。
【００２９】
図４において、処理の開始、つまり、制御装置１２０からＯＮＶＩＦプロトコルのＰＴＺサービスに定義されているｓｅｔＣｏｎｆｉｇｒａｔｉｏｎコマンドによって、ＰａｎＴｉｌｔＬｉｍｉｔｓ（パン、チルト可動範囲）、ＺｏｏｍＬｉｍｉｔｓ（ズーム可動範囲）の２つのパラメータが送信される。ステップＳ４００において、ＣＰＵ２１１は、通信処理部２０６を経由して、このコマンド（可動範囲設定命令）に従って、パラメータを可動範囲設定として受信し、ＲＡＭ２１３に保存する。可動範囲設定は、ネットワークカメラ１００の広角端に対する可動範囲設定としているが、用途や目的に応じて、ネットワークカメラ１００の望遠端に対する可動範囲設定としてもよいし、広角端及び望遠端に対する可動範囲設定としてもよい。また、この可動範囲設定は、ユーザによって、制御装置１２０で指定される設定値である。
【００３０】
ステップＳ４０２において、ＣＰＵ２１１は、Ｆｌａｓｈメモリ２１４に保存された、可視範囲情報をＲＡＭ２１３に読み込む。ここで、可視範囲情報とは、可視範囲に設定可能な値の範囲（設定可能範囲）の情報である。具体的には、この可視範囲情報は、例えば、ネットワークカメラ１００の可視範囲の上端、下端、左端、右端、ズーム機能における可視範囲の広角端、望遠端の座標情報（最大値あるいは最小値）となる。ここで、可視範囲は、ネットワークカメラ１００の基準位置（例えば、撮像方向における光学系の中心軸）に対して、水平方向をＸ軸、垂直方向をＹ軸にしたＸＹ座標における範囲となる。また、望遠端とは、ネットワークカメラ１００のズーム機能として、光学ズーム、あるいは光学ズーム及び電子ズームを利用して、望遠側にズーム操作（可動）した際の限界値である。
【００３１】
ステップＳ４０４において、ＣＰＵ２１１は、可動範囲のパン左端Ｘ座標−（ネットワークカメラの最大水平画角÷２）を計算し、その計算結果をＲＡＭ２１３に保存する。
【００３２】
ステップＳ４０６において、ＣＰＵ２１１は、ステップＳ４０４の計算結果を可視範囲左端の最小値と比較する。比較の結果、ステップＳ４０４の計算結果が可視範囲左端の最小値以上である場合（ステップＳ４０４でＮＯ）、ステップＳ４０８において、ＣＰＵ２１１は、ステップＳ４０４の計算結果を可視範囲の左端に設定し、Ｆｌａｓｈメモリ２１４に保存する。
【００３３】
一方、ステップＳ４０４の計算結果が可視範囲左端の最小値よりも小さい場合（ステップＳ４０６でＹＥＳ）、ステップＳ４１０において、ＣＰＵ２１１は、可動範囲のパン右端Ｘ座標＋（ネットワークカメラの最大水平画角÷２）を計算し、その計算結果をＲＡＭ２１３に保存する。
【００３４】
ステップＳ４１２において、ＣＰＵ２１１は、ステップＳ４１０の計算結果を可視範囲右端の最大値と比較する。比較の結果、ステップＳ４１０の計算結果が可視範囲右端の最大値以下である場合（ステップＳ４１２でＮＯ）、ステップＳ４１４において、ＣＰＵ２１１は、ステップＳ４１０の計算結果を可視範囲の右端に設定し、Ｆｌａｓｈメモリ２１４に保存する。
【００３５】
一方、ステップＳ４１０の計算結果が可視範囲右端の最大値より大きい場合（ステップＳ４１２でＹＥＳ）、ステップＳ４１６において、ＣＰＵ２１１は、可動範囲のチルト下端Ｙ座標＋（ネットワークカメラの最大垂直画角÷２）を計算し、その計算結果をＲＡＭ２１３に保存する。
【００３６】
ステップＳ４１８において、ＣＰＵ２１１は、ステップＳ４１６の計算結果を可視範囲下端の最小値と比較する。比較の結果、ステップＳ４１６の計算結果が可視範囲下端の最小値以上である場合（ステップＳ４１８でＮＯ）、ステップＳ４２０において、ＣＰＵ２１１は、ステップＳ４１６の計算結果を可視範囲の下端に設定し、Ｆｌａｓｈメモリ２１４に保存する。
【００３７】
一方、ステップＳ４１６の計算結果が可視範囲下端の最小値より小さい場合（ステップＳ４１８でＹＥＳ）、ステップＳ４２２において、ＣＰＵ２１１は、可動範囲のチルト上端Ｙ座標＋（ネットワークカメラの最大垂直画角÷２）を計算し、その計算結果をＲＡＭ２１３に保存する。
【００３８】
ステップＳ４２４において、ＣＰＵ２１１は、ステップＳ４２２の計算結果を可視範囲上端の最大値と比較する。比較の結果、ステップＳ４２２の計算結果が可視範囲上端の最大値以下である場合（ステップＳ４２４でＮＯ）、ステップＳ４２６において、ＣＰＵ２１１は、ステップＳ４２２の計算結果を可視範囲の上端に設定し、Ｆｌａｓｈメモリ２１４に保存する。
【００３９】
一方、ステップＳ４２２の計算結果が可視範囲上端の最大値より大きい場合（ステップＳ４２４でＹＥＳ）、ステップＳ４２８において、ＣＰＵ２１１は、ステップＳ４００で保存した可動範囲のズーム最小値がネットワークカメラ１００の広角端であるかどうかを判定する。判定の結果、可動範囲のズーム最小値がネットワークカメラ１００の広角端である場合（ステップＳ４２８でＹＥＳ）、ステップＳ４３０において、ＣＰＵ２１１は、可動範囲のズーム最小値を可視範囲の広角端に設定し、Ｆｌａｓｈメモリ２１４に保存する。
【００４０】
一方、可動範囲のズーム最小値がネットワークカメラ１００の広角端でない場合（ステップＳ４２８でＮＯ）、ステップＳ４３２において、ＣＰＵ２１１は、ステップＳ４００で保存した可動範囲のズーム最大値がネットワークカメラ１００の望遠端であるかどうかを判定する。判定の結果、可動範囲のズーム最大値がネットワークカメラ１００の望遠端である場合（ステップＳ４３２でＹＥＳ）、ステップＳ４３４において、ＣＰＵ２１１は、可動範囲のズーム最大値を可視範囲の望遠端に設定し、Ｆｌａｓｈメモリ２１４に保存する。
【００４１】
一方、可動範囲のズーム最大値がネットワークカメラ１００の望遠端でない場合（ステップＳ４３２でＮＯ）、処理を終了する。
【００４２】
以上の処理によって、ネットワークカメラ１００は、Ｆｌａｓｈメモリ２１４に保存されている、上端、下端、左端、右端、ズーム機能における可視範囲の広角端、望遠端の設定値を用いて、可視範囲及び可動範囲を調整（変更）することができる。これらの設定値は、可視範囲及び可動範囲の両者の範囲を満足する値となるので、可視範囲制限と可動範囲制限に矛盾を生じさせることなく、ネットワークカメラ１００の動作を制御することが可能となる。
【００４３】
ここで、具体例を示すと、例えば、ステップＳ４０２で読み込んだ可視範囲情報の可視範囲左端の最小値が−１８０であり、ステップＳ４０４の計算結果が−１７０である場合、これは、設定可能範囲内の値（計算結果が可視範囲左端の最小値以上）であるため、ステップＳ４０８で、その計算結果をそのまま設定する。一方、ステップＳ４０４の計算結果が−１９０である場合、これは、設定可能範囲外の値（計算結果が可視範囲左端の最小値よりも小さい）であるため、何もしない。つまり、この場合は、可視範囲左端の設定値が空値（初期値である「−１８０」）となるため、実質上、可視範囲の左端の制限はなしとなる。同様の処理について、ステップＳ４１２、ステップＳ４１８及びステップＳ４２４でも行うことになる。
【００４４】
図５は実施形態１の制御装置１２０〜１２２のＣＰＵ３０４それぞれが実行するソフトウェアの制御を示すフローチャートである。尚、図５では、制御装置１２０のＣＰＵ３０４が実行する場合を例に挙げて説明するが、制御装置１２１及び１２２のＣＰＵ３０４についても同様の処理を実行する。
【００４５】
キーボード３０１またはマウス３０２の入力により可動範囲設定画面の表示が要求されると、ステップＳ５００において、ＣＰＵ３０４は、可動範囲設定画面をディスプレイ３０３に表示する。ステップＳ５０２において、キーボード３０１またはマウス３０２の入力から可動範囲設定が入力されると、ＣＰＵ３０４は、その可動範囲設定をＲＡＭ３０６に記憶する。ステップＳ５０４において、ＣＰＵ３０４は、ＯＮＶＩＦプロトコルの可動範囲設定コマンドを作成する。ステップＳ５０６において、ＣＰＵ３０４は、作成した可動範囲コマンドをネットワークＩ／Ｆ３０７を介して送信（コマンド送信）する。
【００４６】
ステップＳ５０８において、ＣＰＵ３０４は、ネットワークカメラ１００からの応答を待機し、設定ＯＫの応答の有無を判定する。設定ＯＫの応答がない場合（ステップＳ５０８でＮＯ）あるいは設定ＮＧの応答である場合、ステップＳ５１０において、ＣＰＵ３０４は、ディスプレイ３０３にネットワークカメラ１００に可動範囲設定できなかった旨のエラーメッセージを表示する。一方、設定ＯＫの応答である場合（ステップＳ５０８でＹＥＳ）、ステップＳ５１２において、ＣＰＵ３０４は、ディスプレイ３０３にネットワークカメラ１００に可動範囲設定できた旨の設定ＯＫメッセージを表示する。
【００４７】
以上説明したように、実施形態１によれば、ネットワークカメラを、可視範囲制限の設定値に従って制御した場合でも、可動範囲制限の設定値に従って制御した場合でも、いずれの場合もお互いの制限に矛盾することなく制御することが可能になる。これにより、ユーザが同時に２つの機能を利用できるようになり、利便性が向上する。
【００４８】
＜実施形態２＞
実施形態１では、ネットワークカメラ側で、可視範囲設定と可動範囲設定との間の調整を行う処理を行っているが、これを制御装置側で可視範囲設定と可動範囲設定との間の調整を行う処理を行ってもよい。
【００４９】
図６は実施形態２のネットワークカメラ１００のＣＰＵ２１１が実行するソフトウェアの制御を示すフローチャートである。
【００５０】
図６において、処理の開始、つまり、制御装置１２０から可視範囲情報取得コマンドが送信される。ステップＳ６００において、ＣＰＵ２１１は、通信処理部２０６を経由して、可視範囲情報取得コマンドを受信し、これを受けて、ネットワークカメラ１００自身の可視範囲情報を取得する。ここで、可視範囲情報とは、ネットワークカメラ１００の可視範囲の上端、下端、左端、右端、ズーム機能における可視範囲の広角端、望遠端の座標情報（最大値あるいは最小値）である。
【００５１】
ステップＳ６０２において、ＣＰＵ２１１は、で取得した可視範囲情報を制御装置１２０に対して送信する。
【００５２】
ステップＳ６０４において、ＣＰＵ２１１は、制御装置１２０からＯＮＶＩＦプロトコルのＰＴＺサービスに定義されているｇｅｔＮｏｄｅコマンドを可動範囲情報取得コマンドとして受信し、これを受けて、ネットワークカメラ１００自身の可動範囲情報を取得する。ここで、可動範囲情報とは、ネットワークカメラ１００のモータ駆動部２０８及びレンズ駆動部２１０によって規定される可動範囲の上端、下端、左端、右端、ズーム機能における広角端、望遠端の座標情報（最小値と最大値）である。
【００５３】
ステップＳ６０６において、ＣＰＵ２１１は、取得した可動範囲情報をＯＮＶＩＦプロトコルのＰＴＺサービスに定義されているＧｅｔＮｏｄｅＲｅｓｐｏｎｓｅコマンドに設定して制御装置１２０に送信する。
【００５４】
制御装置１２０からＯＮＶＩＦプロトコルのＰＴＺサービスに定義されているｓｅｔＣｏｎｆｉｇｒａｔｉｏｎコマンドによって、ＰａｎＴｉｌｔＬｉｍｉｔｓ（パン、チルト可動範囲）、ＺｏｏｍＬｉｍｉｔｓ（ズーム可動範囲）の２つのパラメータが送信される。ステップＳ６０８において、ＣＰＵ２１１は、通信処理部２０６を経由して、このコマンドに従って、パラメータを可動範囲設定として受信し、ＲＡＭ２１３に保存する。
【００５５】
ステップＳ６１０において、ＣＰＵ２１１は、ＲＡＭ２１３に保存した可動範囲設定をＦｌａｓｈメモリ２１４に保存する。
【００５６】
図７Ａ及び図７Ｂは実施形態２の制御装置１２０〜１２２のＣＰＵ３０４が実行するソフトウェアの制御を示すフローチャートである。尚、図５では、制御装置１２０のＣＰＵ３０４が実行する場合を例に挙げて説明するが、制御装置１２１及び１２２のＣＰＵ３０４についても同様の処理を実行する。
【００５７】
ステップＳ７００において、ＣＰＵ３０４は、ネットワークカメラ１００から可視範囲情報を取得する。ここで、可視範囲情報とは、ネットワークカメラ１００の可視範囲の上端、下端、左端、右端、ズーム機能における可視範囲の広角端、望遠端の座標情報（最大値あるいは最小値）である。
【００５８】
ステップＳ７０２において、ＣＰＵ３０４は、可視範囲情報のいずれかの設定値が設定済であるか否かを判定する。設定済である場合（ステップＳ７０２でＹＥＳ）、ステップＳ７０４において、ＣＰＵ３０４は、可視範囲設定済みダイアログをディスプレイ３０３に表示する。可視範囲情報のいずれかの設定値が未設定である場合（ステップＳ７０２でＮＯ）、ステップＳ７００に戻る。
【００５９】
ステップＳ７０６において、ＣＰＵ３０４は、ステップＳ７０４で表示した可視範囲設定済みダイアログの選択肢で、ユーザによって可視範囲の設定から可動範囲の設定を行うことが選択（指示）されたか否かを判定する。選択されていない場合（ステップＳ７０６でＮＯ）、選択されるまで待機する。
【００６０】
一方、選択された場合（ステップＳ７０６でＹＥＳ）、ステップＳ７０８において、ＣＰＵ３０４は、ネットワークカメラ１００に対してＯＮＶＩＦプロトコルのＰＴＺサービスに定義されているｇｅｔＮｏｄｅコマンドを送信する。そして、その応答として、ＣＰＵ３０４は、ＯＮＶＩＦプロトコルのＰＴＺサービスに定義されているＧｅｔＮｏｄｅＲｅｓｐｏｎｓｅコマンドを受信し、そのＧｅｔＮｏｄｅＲｅｓｐｏｎｓｅコマンドに設定された可動範囲情報を取得する。ここで、可動範囲情報とは、可動範囲情報とは、ネットワークカメラ１００のモータ駆動部２０８及びレンズ駆動部２１０によって規定される可動範囲の上端、下端、左端、右端、ズーム機能における広角端、望遠端の座標情報（最小値と最大値）である。
【００６１】
ステップＳ７１０において、ＣＰＵ３０４は、ネットワークカメラ１００から広角端画角情報を取得する。ここで、広角端画角情報とは、ネットワークカメラ１００の広角端における水平画角と垂直画角の値である。
【００６２】
ステップＳ７１２において、ＣＰＵ３０４は、ステップＳ７００で取得した可視範囲情報の左端の値を判定し、その値が空値であるか否かを判定する。空値でない場合（ステップＳ７１２でＮＯ）、ステップＳ７１４において、ＣＰＵ３０４は、可動範囲の左端に、可視範囲左端＋（広角端水平画角÷２）を設定する。一方、空値である場合（ステップＳ７１２でＹＥＳ）、ステップＳ７１６において、ＣＰＵ３０４は、可動範囲の左端に可動範囲の左端の最小値を設定する。
【００６３】
ステップＳ７１８において、ＣＰＵ３０４は、ステップＳ７００で取得した可視範囲情報の右端の値を判定し、その値が空値であるか否かを判定する。空値でない場合（ステップＳ７１８でＮＯ）、ステップＳ７２０において、ＣＰＵ３０４は、可動範囲の右端に、可視範囲右端−（広角端水平画角÷２）を設定する。一方、空値である場合（ステップＳ７１８でＹＥＳ）、ステップＳ７２２において、ＣＰＵ３０４は、可動範囲の右端に可動範囲の右端の最大値を設定する。
【００６４】
ステップＳ７２４において、ＣＰＵ３０４は、ステップＳ７００で取得した可視範囲情報の下端の値を判定し、その値が空値であるか否かを判定する。空値でない場合（ステップＳ７２４でＮＯ）、ステップＳ７２６において、ＣＰＵ３０４は、可動範囲の下端に、可視範囲下端＋（広角端垂直画角÷２）を設定する。一方、空値である場合（ステップＳ７２４でＹＥＳ）、ステップＳ７２８において、ＣＰＵ３０４は、可動範囲の下端に可動範囲の下端の最小値を設定する。
【００６５】
ステップＳ７３０において、ＣＰＵ３０４は、ステップＳ７００で取得した可視範囲情報の上端の値を判定し、その値が空値であるか否かを判定する。空値でない場合（ステップＳ７３０でＮＯ）、ステップＳ７３２において、ＣＰＵ３０４は、可動範囲の上端に、可視範囲上端−（広角端垂直画角÷２）を設定する。一方、空値である場合（ステップＳ７３０でＹＥＳ）、ステップＳ７３４において、ＣＰＵ３０４は、可動範囲の上端に可動範囲の上端の最大値を設定する。
【００６６】
ステップＳ７３６において、ＣＰＵ３０４は、ステップＳ７００で取得した可視範囲情報が示す可視範囲の広角端の値を判定する。可視範囲の広角端の値が可動範囲の広角端より小さい場合（ステップＳ７３６でＹＥＳ）、ステップＳ７４０において、ＣＰＵ３０４は、可動範囲の広角端に可動範囲の広角端の最小値を設定する。
【００６７】
一方、可視範囲の広角端の値が可動範囲の広角端以上である場合（ステップＳ７３６でＮＯ）、ステップＳ７３８において、ＣＰＵ３０４は、可視範囲の広角端の値が可視範囲内の最大広角端よりも小さいか否かを判定する。広角端の値が可視範囲内の最大広角端よりも小さい場合（ステップＳ７３８でＹＥＳ）、ステップＳ７４２において、ＣＰＵ３０４は、可動範囲の広角端に可視範囲の広角端を設定する。一方、広角端の値が可視範囲内の最大広角端以上である場合（ステップＳ７３８でＮＯ）、ステップＳ７４４において、ＣＰＵ３０４は、可動範囲の広角端に可視範囲内の最大広角端を設定する。
【００６８】
ステップＳ７４６において、ＣＰＵ３０４は、ステップＳ７００で取得した可視範囲情報が示す可視範囲の望遠端の値を判定する。可視範囲の望遠端の値が可動範囲の望遠端より大きい場合（ステップＳ７４６でＹＥＳ）、ステップＳ７５０において、ＣＰＵ３０４は、可動範囲の望遠端に可動範囲の望遠端の最大値を設定する。一方、可視範囲の望遠端の値が可動範囲の望遠端以下である場合（ステップＳ７４６でＮＯ）、ステップＳ７４８において、ＣＰＵ３０４は、可視範囲の望遠端を可動範囲の望遠端に設定する。
【００６９】
ステップＳ７５２において、ＣＰＵ３０４は、ステップＳ７５０で算出した可動範囲の各設定値をＯＮＶＩＦプロトコルのＰＴＺサービスに定義されているｓｅｔＣｏｎｆｉｇｒａｔｉｏｎコマンドのＰａｎＴｉｌｔＬｉｍｉｔｓ（パン、チルト可動範囲）、ＺｏｏｍＬｉｍｉｔｓ（ズーム可動範囲）のパラメータに設定し、これを可動範囲設定値としてネットワークカメラ１００に送信する。
【００７０】
以上説明したように、実施形態２によれば、制御装置側においても、実施形態１と同様の効果を得ることができる。
【００７１】
＜実施形態３＞
図８は実施形態３のネットワークカメラ１００のＣＰＵ２１１が実行するソフトウェアの制御を示すフローチャートである。
【００７２】
図８において、処理の開始、つまり、制御装置１２０からＯＮＶＩＦプロトコルのＰＴＺサービスに定義されているｓｅｔＣｏｎｆｉｇｒａｔｉｏｎコマンドによって、ＰａｎＴｉｌｔＬｉｍｉｔｓ（パン、チルト可動範囲）、ＺｏｏｍＬｉｍｉｔｓ（ズーム可動範囲）の２つのパラメータが送信される。ステップＳ８００において、ＣＰＵ２１１は、通信処理部２０６を経由して、このコマンドに従って、パラメータを可動範囲設定として受信し、ＲＡＭ２１３に保存する。
【００７３】
ステップＳ８０２において、ＣＰＵ２１１は、可動範囲設定から可視範囲設定を算出する。この処理については図４におけるステップＳ４０２〜ステップＳ４３４と同等である。
【００７４】
ステップＳ８０４において、ＣＰＵ２１１は、ネットワークカメラ１００のＦｌａｓｈメモリ２１４からプリセット位置情報を読み込む。
【００７５】
ステップＳ８０６において、ＣＰＵ２１１は、ステップＳ８０４で読み込んだプリセット位置情報が示すプリセット位置（プリセット値）がステップＳ８０２で読み込んだ可視範囲外であるかどうかを判定する。可視範囲外でない場合（ステップＳ８０６でＮＯ）、ステップＳ８００に戻る。一方、可視範囲外である場合（ステップＳ８０６でＹＥＳ）、ステップＳ８０８において、ＣＰＵ２１１は、ステップＳ８０４で読み込んだプリセット位置の左端がステップＳ８０２で読み込んだ可視範囲外（可視範囲の左端より外）であるか否かを判定する。
【００７６】
可視範囲外である場合（ステップＳ８０８でＹＥＳ）、ステップＳ８１０において、ＣＰＵ２１１は、プリセット位置の左端を可視範囲左端に設定する。次に、ステップＳ８１２において、ＣＰＵ２１１は、プリセット位置の右端を（可視範囲左端＋プリセット位置の水平画角）に設定する。
【００７７】
一方、可視範囲外でない場合（ステップＳ８０８でＮＯ）、ステップＳ８１４において、ＣＰＵ２１１は、ステップＳ８０４で読み込んだプリセット位置の右端がステップＳ８０２で読み込んだ可視範囲外（可視範囲の右端より外）であるか否かを判定する。
【００７８】
可視範囲外である場合（ステップＳ８１４でＹＥＳ）、ステップＳ８１６において、ＣＰＵ２１１は、プリセット位置の右端を可視範囲右端に設定する。次に、ステップＳ８１８において、ＣＰＵ２１１は、プリセット位置の左端を（可視範囲右端−プリセット位置の水平画角）に設定する。
【００７９】
一方、可視範囲外でない場合（ステップＳ８１４でＮＯ）、ステップＳ８２０において、ＣＰＵ２１１は、ステップＳ８０４で読み込んだプリセット位置の上端がステップＳ８０２で読み込んだ可視範囲外（可視範囲の上端より外）であるか否かを判定する。
【００８０】
可視範囲外である場合（ステップＳ８２０でＹＥＳ）、ステップＳ８２２において、ＣＰＵ２１１は、プリセット位置の上端を可視範囲上端に設定する。次に、ステップＳ８２４において、ＣＰＵ２１１は、プリセット位置の下端を（可視範囲上端−プリセット位置の垂直画角）に設定する。
【００８１】
一方、可視範囲外でない場合（ステップＳ８２０でＮＯ）、ステップＳ８２６において、ＣＰＵ２１１は、ステップＳ８０４で読み込んだプリセット位置の下端がステップＳ８０２で読み込んだ可視範囲外（可視範囲の下端より外）であるか否かを判定する。
【００８２】
可視範囲外である場合（ステップＳ８２６でＹＥＳ）、ステップＳ８２８において、ＣＰＵ２１１は、プリセット位置の下端を可視範囲下端に設定する。次に、ステップＳ８３０において、ＣＰＵ２１１は、プリセット位置の下端を（可視範囲下端＋プリセット位置の垂直画角）に設定する。
【００８３】
ステップＳ８３２において、ＣＰＵ２１１は、ステップＳ８１０〜ステップＳ８３０で設定したプリセットの各端で規定されるサイズと、ステップＳ８０４で読み込んだプリセットの各端で規定されるサイズを比較する。一致している場合（ステップＳ８３２でＹＥＳ）、ステップＳ８３４において、ＣＰＵ２１１は、ステップＳ８１０〜ステップＳ８３０で設定したプリセット設定をＦｌａｓｈメモリ２１４に保存し、制御装置１２０に設定成功を送信する。一方、一致していない場合（ステップＳ８３２でＮＯ）、ステップＳ８３６において、ＣＰＵ２１１は、ステップＳ８１０〜ステップＳ８３０で設定したプリセット設定を破棄し、制御装置１２０に設定失敗を送信する。
【００８４】
尚、制御装置１２０〜１２１における動作は、実施形態１の図５に準じて実現することができる。
【００８５】
以上説明したように、実施形態３によれば、広角端においての可動範囲から算出した可視範囲の値を可視範囲に設定することで、可動範囲の設定値から可視範囲の設定値の算出が可能となる。そのため、ユーザが一方の設定を設定する際に、もう一方の設定値を気にする必要がなくなるため、ユーザへの負担が軽減する。
【００８６】
尚、実施形態３では、可動範囲の設定値から可視範囲の設定値を算出する構成としているが、可視範囲の設定値から可動範囲の設定値を算出する構成とすることもできる。
【産業上の利用可能性】
【００８７】
本発明は、ネットワークカメラを制御する場合に有効であり、特に、パン・チルト（・ズーム）の機構を有する、撮像する画角を移動させることが可能なネットワークカメラにおいて好適である。
【００８８】
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014192745.tif 000003
【図２】
2014192745.tif 000004
【図３】
2014192745.tif 000005
【図４】
2014192745.tif 000006
【図５】
2014192745.tif 000007
【図６】
2014192745.tif 000008
【図７Ａ】
2014192745.tif 000009
【図７Ｂ】
2014192745.tif 000010
【図８】
2014192745.tif 000011
【手続補正書】
【提出日】平成25年12月24日(2013.12.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
一方、ステップＳ４２２の計算結果が可視範囲上端の最大値より大きい場合（ステップＳ４２４でＹＥＳ）、ステップＳ４２８において、ＣＰＵ２１１は、ステップＳ４００で保存した可動範囲のズーム最小値がネットワークカメラ１００の広角端であるかどうかを判定する。判定の結果、可動範囲のズーム最小値がネットワークカメラ１００の広角端でない場合（ステップＳ４２８でＮＯ）、ステップＳ４３０において、ＣＰＵ２１１は、可動範囲のズーム最小値を可視範囲の広角端に設定し、Ｆｌａｓｈメモリ２１４に保存する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
一方、可動範囲のズーム最小値がネットワークカメラ１００の広角端である場合（ステップＳ４２８でＹＥＳ）、ステップＳ４３２において、ＣＰＵ２１１は、ステップＳ４００で保存した可動範囲のズーム最大値がネットワークカメラ１００の望遠端であるかどうかを判定する。判定の結果、可動範囲のズーム最大値がネットワークカメラ１００の望遠端でない場合（ステップＳ４３２でＮＯ）、ステップＳ４３４において、ＣＰＵ２１１は、可動範囲のズーム最大値を可視範囲の望遠端に設定し、Ｆｌａｓｈメモリ２１４に保存する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
一方、可動範囲のズーム最大値がネットワークカメラ１００の望遠端である場合（ステップＳ４３２でＹＥＳ）、処理を終了する。
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2014192745.tif 000012