図1は、本実施例における監視カメラの構成を示すブロック図である。
図1において、1001は撮像光学系、1003は撮像素子、1005は画像処理回路、1007は第一の合成回路、1009は画素数変換回路、1011は画素数変換メモリである。また、1013は第二の合成回路、1015は符号化回路(圧縮符号化処理回路)、1017は符号化メモリ、1019は通信回路(以下、IF回路と称する)、1021は通信バッファ、1023は通信ポートである。さらに、1025はOSD回路、1027は中央演算処理回路(以下、CPUと称する)、1029は電気的書込み消去可能な不揮発性メモリ(以下、EEPROMと称する)、1031はCPUメモリである。
以下に図1を参照して、本実施例に係る監視カメラの動作について説明する。
撮像される被写体からの光線は、撮像光学系1001を介して撮像素子1003に入射され光電変換される。本実施例における撮像素子1003は、CCDやCMOSなどで構成される。また、本実施例における撮像素子1003は、撮像光学系1001により結像された被写体の像を撮像して映像信号として出力する撮像部に相当する。
図1において、I/F回路1019は、後述するクライアント装置からのOSD設定コマンドを受信する。当該のOSD設定コマンドは、CPU1027によって解析され、OSD設定情報が、OSD回路1025に入力される。OSD回路1025は、入力されたOSD設定情報に従ってOSDを発生させる。
また、I/F回路1019は、符号化回路1015によって、ユーザ所望の符号化が施された画像ストリームを外部に出力する。当該符号化に関する設定情報は、後述するクライアント装置から送信され、I/F回路1019によって受信される。CPU1027は、当該の符号化設定情報に基づき符号化回路1015に符号化の指示を行う。本実施例では、例えば、Motion JPEG(以下、MJPEGと称する)、H.264,MPEG4,MPEG2、H.265等の符号化が行われる。
上記符号化設定情報には、例えば、画像サイズあるいは画像の解像度に関する指定情報も含まれる。撮像素子1003が出力する画像の画像サイズが、上記指定された画像サイズと異なっている場合、画素数変換回路1009は、画像の拡大処理あるいは縮小処理等を行って、上記指定された画像サイズの画像を発生させる。当該の画像の拡大処理、あるいは、縮小処理の際には、画素の補間処理も行われる。
上記のごとく動作することにより、本実施例の監視カメラにおいては、同一シーンでかつ同じ符号化方式で、異なる画像サイズの画像ストリームを、ほぼ同時に送信することが可能となっている。すなわち、画素数変換回路1009によって生成された同じシーンでかつ異なる画像サイズの画像が、時分割で符号化回路1015に入力され、夫々同じ符号化方式を施されて出力される。当該画像ストリームは、I/F回路1019を介して外部に出力される。
続いて、図2を参照して、本実施例のクライアント装置の構成について説明する。
図2は、本発明の実施例に係る、クライアント装置の構成を示すブロック図である。
図2において、2008は入力部、2014はディジタルインターフェース部(以下、I/Fと称する)、2016はインターフェース端子、2022は表示部、2026は中央演算処理ユニット(以下、CPUと称する)、2028はメモリである。
図2に示すクライアント装置には、典型的にはパーソナルコンピュータ(以下、PCと称する)などの汎用コンピュータである。入力部2008は、例えば、キーボード、マウスなどのポインティング・デバイスなどが使用される。また、表示部2022としては、例えば、液晶表示装置、プラズマ・ディスプレイ表示装置、ブラウン管などの陰極線管(以下CRTと称する)表示装置などが使用される。
上記クライアントのGUIは、上記表示部2022に表示される。上記クライアント装置のユーザは、上記入力部2008を介して、当該のGUIを操作する。上記CPU2026では当該GUIの表示、及び、入力部2008でのユーザ操作の検出を行うためのソフトウェアが実行される。CPU2026における演算の中間結果や、後に参照が必要なデータ値などはメモリ2028に一時記憶され、参照される。本実施例では、上記動作により、上述した外部クライアントの動作が実現されるようになっている。
以下に、図3を参照して本実施例に係るネットワーク構成について説明する。
図3(a)の1000は、本発明の一実施形態である監視カメラを示す図である。
1101はレンズの向きをパン方向に、同じく1102はチルト方向に変更する機構であり、1103はズーム機構である。
図3(b)は、監視カメラ1000を含むシステム構成図である。
2000は、本発明における外部機器を示すクライアント装置である。監視カメラ1000とクライアント装置2000は、IPネットワーク網1500を介して相互に通信可能な状態に接続されている。クライアント装置2000は、監視カメラ1000に対して、後述する撮像パラメータ変更や雲台駆動、映像ストリーミング開始等の各種コマンドを送信する。監視カメラ1000は、それらのコマンドに対するレスポンスや映像ストリーミングをクライアント装置2000に送信する。
図3(c)は、本実施例の他の監視カメラを示す図である。
図3(c)において、1200は、本実施例に係る別の監視カメラであり、監視カメラ1200とクライアント装置2000は、IPネットワーク網1500を介して相互に通信可能な状態に接続される。クライアント装置2000は、監視カメラ1200に対して、後述する撮像パラメータ変更や、映像ストリーミング開始等の各種コマンドを送信する。監視カメラ1200は、それらのコマンドに対するレスポンスや映像ストリーミングをクライアント装置2000に送信する。
次に、図4を参照して、本実施例のコマンド・トランザクションについて説明する。
図4は、監視カメラ1000とクライアント装置2000の間における、コマンド・トランザクションを示すシークエンス・チャート図である。
図4(a)は、設定開始から映像配信までの典型的なコマンド・トランザクションを示す。
図4(a)において、7100は、GetVideoSourceConfigurationsコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、監視カメラ1000が保持する保持するVideoSourceCofigurationのリストを取得する。
7101は、GetVideoEncoderConfigurationsコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、監視カメラ1000が保持する保持するVideoEncoderCofigurationのリストを取得する。
7102は、GetConfigurationsコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、監視カメラ1000が保持する保持するPTZCofigurationのリストを取得する。
7103は、CreateProfileコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、監視カメラ1000に新たなMediaProfileを作成し、そのProfileTokenを得る。
7104、7105及び7106は、AddVideoSourceConfigurationコマンド、AdddVideoEncoderConfigurtionコマンド及びAddPTZConfigurationコマンドの各トランザクションである。
各コマンドにより、クライアント装置は、指定したMediaProfileに所望のVideoSourceConfiguration、VideoEncoderConfiguration及びPTZConfigurationを関連付けることができる。
7107は、GetStreamUriコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、指定したMediaProfileの設定に基づいて監視カメラ1000が配信ストリームを取得するためのアドレス(URI)を取得する。
7108は、Describeコマンドのトランザクションである。7107において取得したURIを使用してこのコマンドを実行することにより、クライアント装置2000は、監視カメラ1000がストリーム配信するコンテンツの情報を要求し取得する。
7109は、Setupコマンドのトランザクションである。7107において取得したURIを使用してこのコマンドを実行することにより、クライアント装置2000と監視カメラ1000の間で、セッション番号を含むストリームの伝送方法が共有される。
7110は、Playコマンドのトランザクションである。7109において取得したセッション番号を使用してこのコマンドを実行することにより、クライアント装置2000は、監視カメラ1000に対してストリームの開始を要求する。
7111は、配信ストリームである。監視カメラ1000は、7110において開始を要求されたストリームを、7109において共有された伝送方法によって配信する。
7112は、Teardownコマンドのトランザクションである。7109において取得したセッション番号を使用してこのコマンドを実行することにより、クライアント装置2000は、監視カメラ1000に対してストリームの停止を要求する。
次に、図4(b)を参照して、本実施例に係るOSD設定のコマンド・トランザクションについて説明する。
図4(b)は、監視カメラ1000とクライアント装置2000の間における、OSD設定の典型的なコマンド・トランザクション(取得要求のトランザクション)を示すシークエンス・チャート図である。
図4(b)において、7200は、GetOSDsコマンドのトランザクションである。GetOSDsコマンドは、クライアント装置2000が監視カメラ1000に対して、指定されたOSDReferenceに関連づけられている全てのOSDConfiguration6105を返送するよう指示するコマンドである。
7201は、CreateOSDコマンドのトランザクションである。CreateOSDコマンドは、クライアント装置2000が監視カメラ1000に対して、OSDConfiguration6105を指定のOSDReferenceに関連付けて新たに作成するよう指示するためのコマンドである。CreateOSDコマンドの実行により、監視カメラ1000はクライアント装置2000へ生成したOSDのIDであるOSDTokenを返送する。
7202は、GetOSDConfigurationOptionsのトランザクションである。
GetOSDConfigurationOptionsコマンドは、クライアント装置2000が監視カメラ1000に対して、OSDConfigurationの各パラメータの選択範囲或いは選択肢を返送するよう指示するコマンドである。なお、OSDConfigurationの各パラメータの選択範囲或いは選択肢は、後述するSetOSDコマンドによって設定可能である。
本実施例のクライアント装置は、上記GetOSDConfigurationOptionsコマンドの応答として、GetOSDConfigurationOptionsレスポンスを受信する。
当該GetOSDConfigurationOptionsコマンドの送信は、本発明の画像処理装置が有する複数の合成処理能力に関する能力問い合わせステップに相当する。また、本実施例のクライアント装置が行うGetOSDConfigurationOptionsレスポンス受信は、本発明の合成処理方法に関する能力の応答を受信するステップに相当する。
7203は、GetOSDのトランザクションである。GetOSDコマンドは、クライアント装置2000が監視カメラ1000に対して、指定のOSDTokenを持つOSDConfigurationを返送するよう指示するコマンドである。
7204は、SetOSDのトランザクションである。SetOSDコマンドは、クライアント装置2000が監視カメラ1000に対してOSDConfigurationに含まれる各パラメータの編集を指示するコマンドである。SetOSDの実行により、監視カメラ1000はクライアント装置2000が指定したOSDTokenを持つOSDConfigurationの内容を編集する。当該動作により、クライアント装置2000は、監視カメラ1000に対し、新たなOSDの表示の指示や、表示中のOSDの色や大きさや位置などの変更について指示することができる。
当該SetOSDコマンドの送信動作は、本発明のOSD情報の送信に相当する。
7205は、DeleteOSDコマンドのトランザクションである。DeleteOSDコマンドは、クライアント装置2000が監視カメラ1000に対してCreateOSDコマンドによって作成されたOSDConfigurationの削除を指示するコマンドである。DeleteOSDの実行により、監視カメラ1000は、クライアント装置2000が指定したOSDTokenを持つOSDConfigurationを当該監視カメラの記憶部から削除する。
次に、図5−1及び図5−2を用いて、本実施例に係るクライアント装置のOSD設定グラフィカル・ユーザ・インターフェイス(以下、GUIと称する場合がある)について説明する。
図5−1及び図5−2は、当該GUIの構成を示す図である。
図5−1(a)において、6800はクライアント・アプリケーション・ウィンドウ、6802はOSD設定ウィンドウ(画像重畳方式を設定するためのウィンドウ)である。また、6804,6806,6808、及び、6810は、それぞれ、第一のストリーム表示ウィンドウ、第二のストリーム表示ウィンドウ、第三のストリーム表示ウィンドウ、及び、第四のストリーム表示ウィンドウである。さらに、6812は、ストリーム選択ウィンドウである。
本実施例のクライアント装置においては、ユーザは、OSD設定ウィンドウ6802内の各項目を設定することにより、接続されている監視カメラに対してOSD表示設定を行うことができる。
第一ストリーム表示ウィンドウ6804乃至第四ストリーム表示ウィンドウ6810には、本実施例のクライアント装置が選択したストリーム映像が表示される。ストリーム選択ウィンドウ6812内には、本実施例のクライアントが受信可能なストリーム映像が全て表示可能となっており、当該の映像は縮小表示されている。
本実施例のクライアント装置においては、ユーザはストリーム選択ウィンドウ6812内の縮小表示ウィンドウを左右にスクロールした後、所望のストリーム映像を選択することができる。上記第一ストリーム表示ウィンドウ6804乃至第四ストリーム表示ウィンドウ6810に選択した映像を拡大表示させることができる。
また、OSD設定GUIにおいては、第一ストリーム表示ウィンドウ6804乃至第四ストリーム表示ウィンドウ6810のいずれかを選択した後、OSD設定ウィンドウ6802を選択することにより、ユーザは所望の映像に対してOSD設定を行うことができる。
図5−1(b)は、上記OSD設定ウィンドウ6802の機能を説明するための図である。
図5−1(b)において、7000はOSD設定対象選択フレーム、7001はOSDタイプ設定フレーム、7002はOSD表示位置設定フレームである。また、7003はテクスト設定フレーム、7004はイメージ設定フレームである。さらに、7005はOSD作成ボタン、7006はOSD更新ボタン、7007はOSD削除ボタン、7010はリファレンス選択ボックスである。
OSD設定対象選択フレーム7000は、監視カメラ内のOSD設定対象を選択するための部分である。本実施例においては、当該のOSD設定対象は、例えば、Video Source Configuration、Video Encoder Configuration、Media Profile、StreamURI、SnapshotURIである。
上記VideoSource Configurationは、本発明の画像源として動作する。また、上記Video Encoder Configurationは、本発明の符号化器として動作する。
また、Media Profileは、画像源と符号化器との組み合わせ情報、音声ストリームやメタデータストリームなどの付加情報、画像の撮像方向情報などの情報の組み合わせを含む概念であり、本発明のストリームを特定するための情報の一つとして動作する。
また、上記StreamURI及び上記SnapshotURIも、また、ストリーム特定情報の一つとして動作する。上記StreamURIは動画像のストリームを特定する情報であり、上記SnapshotURIは静止画像のストリームを特定するための情報である。上記StreamURI及び上記SnapshotURIを用いることにより、異なるユーザ権限を持つユーザ毎のOSD設定の制御を行うことができる。例えば、本実施例では、管理者権限を持つ画像ストリームだけにOSDを設定することにより、管理者権限で動作しているクライアント装置のみで、当該のOSDを観察することができるように動作する。当該動作により、本発明では、例えばデバッグ情報など、一定権限のユーザだけに有効な情報を、当該情報が不要なユーザに開示すること無く、OSDを設定することが可能となっている。
本実施例のクライアント装置は、上記OSD設定ウィンドウ6802の表示に先立ち、例えば、GetOSDConfigurationOptionsコマンドを、監視カメラに対して送信する。監視カメラは、当該コマンドに応答して、OSDConfigurationについて、各パラメータ値の設定可能範囲や、選択可能な値のリストを、GetOSDConfigurationOptionsResponseとしてクライアント装置に返信する。
本実施例では、上記GetOSDConfigurationOptionsコマンドの送信タイミングは、上記OSD設定ウィンドウ6802の表示以前としているが、いつでも良い。例えば、本実施例のクライアント装置のGUIが表示されたタイミングで送信されても良い。また、本実施例のクライアント装置が起動された際に送信されても良い。
さらに、第一ストリーム表示ウィンドウ6804乃至第四ストリーム表示ウィンドウ6810から、ユーザによってストリームが選択されたときにGetOSDConfigurationOptionsコマンドを送信するように構成しても良い。
また、ストリーム選択ウィンドウ6812内の縮小表示ウィンドウから所望のストリームを選択されたタイミングでGetOSDConfigurationOptionsコマンドを送信するように構成しても良い。
この場合、選択されたストリームに関する最新のOSD情報が得られるので都合が良い。
上記GetOSDConfigurationOptionsResponseには、本実施例に係る監視カメラについて、OSDを設定可能なReferenceがリストされる。当該Referenceのリストは、OSDReferenceOptions型のデータである。当該OSDReferenceOptions型のデータは、上記OSD設定対象の情報を含む。
上記GetOSDConfigurationOptionsコマンドの送信動作は、本発明における複数の合成処理方法に関する能力を問い合わせるステップに相当する。また、当該のGetOSDConfigurationOptionsResponseは、本発明における複数の合成処理方法に関する能力情報を含む。また、上記したGetOSDConfigurationOptionsResponseの受信動作は、合成処理方法に関する能力の応答を受信するステップに相当する。
本実施例のクライアント装置は、OSD設定対象として監視カメラから送信された選択肢のみを表示する。図5−1(b)に示すように、監視カメラにより送信されたVideo Source Configuration、Video Encoder Configuration、Media Profile、StreamURIのみを、選択肢として表示する。本実施例では、選択されたOSD設定対象のチェックボックスの近傍には、リファレンス選択ボックス7010が表示される。リファレンス選択ボックス7010は、選択されたOSD設定対象のうち、実際にOSDの設定がなされる個別の対象を選択するための選択ボックスである。図5−1(b)においては、Video Source Configurationが選択されている。したがって、図5−1(b)のリファレンス選択ボックス7010には、監視カメラが有するVideo Source Configuration Tokenがリストされる。
上記したようにVideo Source Configurationが選択されている場合、リファレンス選択ボックス7010には、Video Source Configuration Tokenがリストされる。また、Video Encoder Configurationが選択されている場合、Video Encoder Configuration Tokenがリストされる。また、Media Profileが選択された場合、Media Profile Tokenがリストされる。
また、StreamURIが選択された場合、当該のクライアントが受信しているストリームが複数存在する場合には対応するURIがリストされる。また、受信しているストリームが一つしかない場合には、当該ストリームのURIが表示される。
上記したクライアントの表示動作は、本発明の合成処理方法に関する能力の応答を解析するステップを含む。また、ユーザが上記表示された選択肢から選択を行う動作は、本発明の複数の合成処理方法から一つまたは複数の合成処理方法を選択するステップを含む。
OSDタイプ設定フレーム7001は、重畳表示させようとするOSDの種別、即ちOSDTypeを選択させる部分である。図5−1(b)においては、TEXTが選択されているため、例えば、テクスト設定フレーム7003の詳細設定が有効となる。また、イメージ設定フレーム7004は無効化され、ユーザが設定できないように構成される。
OSD表示位置設定フレーム7002は、OSDの表示位置を指定させる部分である。UPPER_LEFT(画面左上)、UPPER_RIGHT(画面右上)、LOWER_LEFT(画面左下)、LOWER_RIGHT(画面右下)、及びCUSTOM(座標指定)が選択可能となっている。図5−1(b)においては、画面左上が選択されている。
また、本実施例においては、OSD表示位置設定フレーム7002において、CUSTOMを選択した場合には、対象となるストリーム表示ウィンドウ上でポインタをドラッグすることにより、座標指定することが可能である。
例えば、ユーザは、OSD表示位置設定フレーム7002におけるCUSTOMのチェックボックスを選択した後、第一ストリーム表示ウィンドウ6804上の二点を指定することができる。その指定により、OSDを表示する表示対象映像と映像上の表示座標とを同時に指定することができる。
上述したように、テクスト設定フレーム7003は、前記OSDタイプ設定フレームにおいて、TEXTが選択されている場合の詳細データを設定させる部分である。TEXTの種別として、Time and Date(日時)、Bitrate(ビットレート)、及びText String(文字列)が選択可能となっている。Text Stringの場合は、テクスト入力ボックスによって任意の文字列を指定可能となっている。
本実施例における上記OSD設定処理は、本発明における、OSD情報を設定するステップに相当する。
イメージ設定フレーム7004は、前記OSDタイプ設定フレーム7001においてIMAGEが選択された場合に、詳細データを設定させる部分である。イメージ設定フレーム7004においては、ユーザは、Image File Pathのテクスト入力ボックスに、OSDとして表示させる画像ファイルのアドレスを設定するようになっている。
OSD作成ボタン7005が押されると、クライアント装置はCreateOSDコマンドを監視カメラに発行し、続いて返送されたOSDTokenを使用して本図の画面にユーザが入力した内容に従ってSetOSDコマンドを監視カメラに対して実行する。
また、OSD更新ボタン7006が押されると、クライアント装置2000は、予め記憶されたOSDTokenを使用して本図の画面にユーザが入力した内容に従って、SetOSDコマンドを監視カメラ1000に対して実行する。
また、OSD削除ボタン7007が押されると、クライアント装置2000は、予め記憶されたOSDTokenを使用してDeleteOSDコマンドを監視カメラ1000に対して実行する。
上述したSetOSDコマンドの送信、および、DeleteOSDコマンドの送信動作は、本発明におけるOSD情報を選択した合成処理方法に応じて前記画像処理装置に送信するステップを含む。
上述したように、上記実施例のクライアント装置においては、OSD設定対象選択フレーム7000には、制御対象の監視カメラに設定可能なOSD設定対象だけが表示される。しかしながら、本発明においては、当該OSD設定対象選択フレーム7000に表示されたOSD設定対象のうち、監視カメラに設定可能なOSD設定対象のみ、当該クライアント上にて設定可能に構成しても良い。この場合、監視カメラに設定不能なOSD設定対象は、例えば、設定不可能な項目はグレイ・アウトされ、ユーザに対して設定不可能であることが示される。
以下に、上記動作について、図5−2(c)を用いて説明する。
なお、図5−2(c)において、図5−1(b)と同一の添番は同一の機能を示す。
図5−2(c)において、7012はVideo Source Configuration Token選択ボックス、7014はVideo Encoder Configuration Token選択ボックスである。
図5−2(c)のGUIにおいては、OSDを設定可能なReferenceとして、Video Source ConfigurationとVideo Encoder Configurationとが、対象となる監視カメラから送信されている。
また、図5−2(c)においては、監視カメラから送信されなかったOSD設定可能なReferenceについてはグレイ・アウトされ設定できないようになっている。例えば、本実施例では、図5−2(c)に例示しているように、Media Profile、及び、Streamについては、OSDを設定可能なReferenceとして指定されていないので、グレイ・アウトされ設定できないような表示がなされる。
また、本発明では、制御対象の監視カメラに設定可能なOSD設定対象の情報に基づき、クライアント装置が自動で上記OSD設定対象を選択するように構成しても良い。この場合、当該クライアント装置のOSD設定GUIにおいて、OSD設定対象選択フレーム7000は表示されないように構成しても良い。
上記監視カメラに設定可能なOSD設定対象の情報は、上記したGetOSDConfigurationOptionsコマンドの送信と、GetOSDConfigurationOptionsResponse受信動作によって行われる。上記GetOSDConfigurationOptionsコマンドの送信動作は、本発明における複数の合成処理方法に関する能力を問い合わせるステップに相当する。また、当該のGetOSDConfigurationOptionsResponseは、本発明における複数の合成処理方法に関する能力情報を含む。また、上記したGetOSDConfigurationOptionsResponseの受信動作は、合成処理方法に関する能力の応答を受信するステップに相当する。
このような場合、本実施例のクライアント装置は、例えば、OSDがより多くのストリーム映像内に表示されるように、OSD設定対象を選択する。本実施例においては、Video Source,Video Encoder、Media Profile、StreamまたはSnapshotの順番にOSD設定の影響範囲が狭くなっている。
例えば、Video SourceにOSDを設定した場合、映像ソースにOSDが設定されるので、配信される全ての映像にOSDが表示される。
また、例えば、Video EncoderにOSDを設定した場合には、選択された符号化の映像にのみ、OSDが設定される。例えば、OSD設定対象の符号化方式にH.264の映像が選択された場合、H.264で配信されている映像だけにOSDが表示される。
従って、クライアント装置はVideo Source,Video Encoder、Media Profile、StreamまたはSnapshotの順番に、監視カメラに対して設定可能なOSD設定対象を検索する。そして、合致した設定対象を選択するように動作する。
例えば、本実施例の監視カメラが、Video Source,Video Encoder、及び、Streamを、OSD設定可能な対象として有していた場合、本実施例のクライアント装置は、Video Sourceを自動で選択してOSD設定を行う。また、例えば、監視カメラがVideo EncoderとStreamとを設定可能なOSD設定対象として有していた場合、クライアント装置は、Video Encoderを自動で選択してOSD設定を行うようになっている。
また、本実施例のクライアント装置は、監視カメラが、同じ設定対象カテゴリ中に複数の設定対象のサブタイプを有していた場合、最も影響範囲が大きくなるように設定対象のサブタイプを選択する。例えば、監視カメラが、Video EncoderをOSD設定対象として有しており、複数の符号化方式をサポートしていた場合、例えば、最も多くの映像ストリームを出力している符号化方式をOSD設定対象のサブタイプとして自動選択する。例えば、上記のような場合に、監視カメラが、MJPEGストリームを2ストリーム、H.264ストリームを4ストリーム配信していた場合、本実施例のクライアント装置は、H.264をOSD設定対象のサブタイプとして自動選択するようになっている。
なお、上述した実施例においては、クライアント装置が、より多くのストリーム映像内に表示されるように、OSD設定対象を自動選択するように構成しているが、より少ないストリーム映像内に表示されるようOSD設定対象を自動選択するように構成しても良い。
そのような場合、クライアント装置はStreamまたはSnapshot、Media Profile、Video Encoder、Video Sourceの順番に、監視カメラに対して設定可能なOSD設定対象を検索する。そして、合致した設定対象を選択するように動作する。
例えば、本実施例の監視カメラが、Video Source,Video Encoder及びStreamをOSD設定可能な対象として有していたとする。その場合、より少ないストリーム映像内に表示されるように自動選択するクライアント装置は、Streamを自動で選択してOSD設定を行うよう動作する。
また、本実施例のクライアント装置は、OSD設定の影響範囲を、広範囲にするか、狭い範囲にするかを選択するための選択ボックスをOSD設定GUI上に設け、ユーザの指示に従って、OSD設定対象を自動選択するように構成しても良い。この場合、クライアント装置は、ユーザが広範囲にする選択を行った場合、上述したように、より多くのストリーム映像内に表示されるように、OSD設定対象を選択する。また、ユーザが狭い範囲にする選択を行った場合、上述したように、より少ないストリーム映像内に表示されるようOSD設定対象を自動選択するよう動作する。
上述したOSD設定対象の自動選択動作は、本発明における複数の合成処理方法から一つの合成処理方法を自動選択するステップに相当する。
上述したクライアント装置のOSD設定GUI構成例を、図5−2(d)に示す。
当該の構成例において、OSD設定対象選択フレーム7000上には、Wide選択チェックボックス、及び、Narrow選択チェックボックスが設けられる。上記Wide選択チェックボックス、及び、Narrow選択チェックボックスは、どちらか一方がユーザによって選択可能に構成される。また、ユーザが選択したチェックボックスには、選択されていることを示す指示表示がなされる。例えば、図5−2(d)では、Wide選択チェックボックスが選択されていることが指示表示されている。
図5−2(d)に示すように、Wide選択チェックボックスをユーザが選択すると、本実施例のクライアント装置は、監視カメラが送信する設定対象情報の中から、より多くのストリーム映像内に表示されるように、OSD設定対象を選択する。また、ユーザがNarrow選択チェックボックスをユーザが選択すると、本実施例のクライアント装置は、監視カメラが送信する設定対象情報の中から、より少ないストリーム映像内に表示されるように、OSD設定対象を選択する。
OSD作成ボタン7005が押されると、クライアント装置2000は、CreateOSDコマンドを監視カメラ1000に発行する。続いて返送されたOSDTokenを使用して本図の画面にユーザが入力した内容に従ってSetOSDコマンドを監視カメラ1000に対して実行する。
また、OSD更新ボタン7006が押されると、クライアント装置2000は、予め記憶されたOSDTokenを使用して本図の画面にユーザが入力した内容に従って、SetOSDコマンドを監視カメラ1000に対して実行する。
また、OSD削除ボタン7007が押されると、クライアント装置2000は、予め記憶されたOSDTokenを使用してDeleteOSDコマンドを監視カメラ1000に対して実行する。
上述したSetOSDコマンドの送信、および、DeleteOSDコマンドの送信動作は、本発明におけるOSD情報を選択した合成処理方法に応じて前記画像処理装置に送信するステップを含む。
以下に、本実施例におけるクライアント装置のOSD設定対象選択処理について図6を用いて説明する。
図6−1は、本実施例におけるクライアント装置におけるOSD設定対象を選択するためのGUIの表示処理を示すフローチャート図である。本実施例のクライアント装置ユーザは、当該のGUIを用いてOSD設定対象を選択するようになっている。
図6−1において、ステップS8002において本実施例のOSD設定対象選択フレーム表示処理が開始される。次のステップS8004において、GetOSDConfigurationOptionsコマンドが、本実施例のクライアント装置から送信される。次のステップS8006では、GetOSDConfigurationOptionsReponseが、本実施例の監視カメラから送信され、クライアント装置は当該のResponseを受信する。
上記GetOSDConfigurationOptionsコマンドの送信動作は、本発明における複数の合成処理方法に関する能力を問い合わせるステップに相当する。また、当該のGetOSDConfigurationOptionsResponseは、本発明における複数の合成処理方法に関する能力情報を含む。また、上記したGetOSDConfigurationOptionsResponseの受信動作は、合成処理方法に関する能力の応答を受信するステップに相当する。
次のステップS8008では、受信したGetOSDConfigurationOptionsReponseが、本実施例のクライアント装置によって解析される。当該の受信したGetOSDConfigurationOptionsReponseの解析動作は、本発明の合成処理方法に関する能力の応答を解析するステップを含む。なお、ステップS8008の解析結果によってOSD設定対象選択フレーム表示処理が行われる。以下にOSD設定対象選択フレーム表示処理について説明する。
続くステップS8010では、受信したGetOSDConfigurationOptionsReponseにVideo Source Configurationに関する選択肢が含まれているかどうかが判定される。ステップS8010で、GetOSDConfigurationOptionsReponseにVideo Source Configurationに関する選択肢が含まれていると判定されると、制御はステップS8012に移る。ステップS8012では、Video Source Configurationに関する表示処理が行われ、GUIが更新される。
続くステップS8014では、受信したGetOSDConfigurationOptionsReponseにVideo Encoder Configurationに関する選択肢が含まれているかどうかが判定される。ステップS8014で、GetOSDConfigurationOptionsReponseにVideo Encoder Configurationに関する選択肢が含まれていると判定されると、制御はステップS8016に移る。ステップS8016では、Video Encoder Configurationに関する表示処理が行われ、GUIが更新される。
続くステップS8018では、受信したGetOSDConfigurationOptionsReponseにMedia Profileに関する選択肢が含まれているかどうかが判定される。ステップS8018で、GetOSDConfigurationOptionsReponseにMedia Profileに関する選択肢が含まれていると判定されると、制御はステップS8020に移る。ステップS8020では、Media Profileに関する表示処理が行われ、GUIが更新される。
続くステップS8022では、受信したGetOSDConfigurationOptionsReponseにStream URIに関する選択肢が含まれているかどうかが判定される。ステップS8022で、GetOSDConfigurationOptionsReponseにStream URIに関する選択肢が含まれていると判定されると、制御はステップS8024に移る。ステップS8024では、Stream URIに関する表示処理が行われ、GUIが更新される。
続くステップS8026では、受信したGetOSDConfigurationOptionsReponseにSnapshot URIに関する選択肢が含まれているかどうかが判定される。ステップS8026で、GetOSDConfigurationOptionsReponseにSnapshot URIに関する選択肢が含まれていると判定されると、制御はステップS8028に移る。ステップS8028では、Snapshot URIに関する表示処理が行われ、GUIが更新される。
次のステップS8030で、本実施例のOSD設定対象選択フレーム表示処理が終了する。
本実施例では、上記動作の後、OSD作成ボタン7005が押されると、クライアント装置は、CreateOSDコマンドを監視カメラに発行する。続いて、返送されたOSDTokenを使用して本図の画面にユーザが入力した内容に従ってSetOSDコマンドを監視カメラに対して実行する。
また、OSD更新ボタン7006が押されると、クライアント装置2000は、予め記憶されたOSDTokenを使用して本図の画面にユーザが入力した内容に従って、SetOSDコマンドを監視カメラ1000に対して実行する。
また、OSD削除ボタン7007が押されると、クライアント装置2000は、予め記憶されたOSDTokenを使用してDeleteOSDコマンドを監視カメラ1000に対して実行する。
上述したSetOSDコマンドの送信、および、DeleteOSDコマンドの送信動作は、本発明におけるOSD情報を選択した合成処理方法に応じて前記画像処理装置に送信するステップを含む。また、上述したように、本発明では、クライアント装置がOSD設定対象を自動選択するように構成しても良い。以下に、このような場合におけるクライアント装置のOSD設定対象選択処理について、図6−2を用いて説明する。
図6−2は、当該GUIのOSD設定対象選択処理を示すフローチャート図である。
図6−2において、ステップS8102において本実施例のOSD設定対象自動選択処理が開始される。次のステップS8104において、GetOSDConfigurationOptionsコマンドが、本実施例のクライアント装置から送信される。次のステップS8106では、GetOSDConfigurationOptionsReponseが、本実施例の監視カメラから送信され、クライアント装置は当該のResponseを受信する。
次のステップS8108では、受信したGetOSDConfigurationOptionsReponseが、本実施例のクライアント装置によって解析される。
次のステップS8109では、OSD設定GUI上のWide選択チェックボックス、および、Narrow選択チェックボックスの状態が検査される。Wide選択チェックボックスが選択されている場合、ステップS8110に制御が移行する。また、Narrow選択チェックボックが選択されている場合、ステップS8130に制御が移る。
続くステップS8110では、受信したGetOSDConfigurationOptionsReponseにVideo Source Configurationに関する選択肢が含まれているかどうかが判定される。
ステップS8110で、GetOSDConfigurationOptionsReponseにVideo Source Configurationに関する選択肢が含まれていると判定されると、制御はステップS8112に移る。ステップS8112では、OSD設定対象をVideo Source Configurationに設定する処理が行われ、GUIが更新される。
上記ステップS8110において、受信したGetOSDConfigurationOptionsReponseにVideo Source Configurationに関する選択肢が含まれていない場合、ステップS8114に制御が移る。
ステップS8114では、受信したGetOSDConfigurationOptionsReponseにVideo Encoder Configurationに関する選択肢が含まれているかどうかが判定される。
ステップS8114で、GetOSDConfigurationOptionsReponseにVideo Encoder Configurationに関する選択肢が含まれていると判定されると、制御はステップS8116に移る。ステップS8116では、OSD設定対象をVideo Encoder Configurationに設定する処理が行われ、GUIが更新される。
ステップS8114で、GetOSDConfigurationOptionsReponseにVideo Encoder Configurationに関する選択肢が含まれていない場合には、制御はステップS8118に移る。
続くステップS8118では、受信したGetOSDConfigurationOptionsReponseにMedia Profileに関する選択肢が含まれているかどうかが判定される。
ステップS8118で、GetOSDConfigurationOptionsReponseにMedia Profileに関する選択肢が含まれていると判定されると、制御はステップS8120に移る。ステップS8120では、OSD設定対象をMedia Profileに設定する処理が行われ、GUIが更新される。
ステップS8118で、GetOSDConfigurationOptionsReponseにMedia Profileに関する選択肢が含まれていないと判定されると、制御はステップS8122に移る。
続くステップS8122では、受信したGetOSDConfigurationOptionsReponseにStream URIに関する選択肢が含まれているかどうかが判定される。
ステップS8122で、GetOSDConfigurationOptionsReponseにStream URIに関する選択肢が含まれていると判定されると、制御はステップS8124に移る。ステップS8124では、OSD設定対象をStream URIに設定する処理が行われ、GUIが更新される。
続くステップS8126では、受信したGetOSDConfigurationOptionsReponseにSnapshot URIに関する選択肢が含まれているかどうかが判定される。
ステップS8122で、GetOSDConfigurationOptionsReponseにStream URIに関する選択肢が含まれていないと判定されると、制御はステップS8126に移る。
ステップS8126で、GetOSDConfigurationOptionsReponseにSnapshot URIに関する選択肢が含まれていると判定されると、制御はステップS8128に移る。ステップS8128では、OSD設定対象をSnapshot URIに設定する処理が行われ、GUIが更新される。
ステップS8126で、GetOSDConfigurationOptionsReponseにSnapshot URIに関する選択肢が含まれていないと判定されると、次のステップS8160で、本実施例のOSD設定対象自動選択処理が終了する。
上記ステップS8109において、Narrow選択チェックボックが選択されていと判定されると、上述したようにステップS8130に制御が移る。
ステップS8130では、上記ステップS8126と同様に、受信したGetOSDConfigurationOptionsReponseにSnapshot URIに関する選択肢が含まれているかどうかが判定される。
ステップS8130で、GetOSDConfigurationOptionsReponseにSnapshot URIに関する選択肢が含まれていると判定されると、制御はステップS8132に移る。ステップS8132では、OSD設定対象をSnapshot URIに設定する処理が行われ、GUIが更新される。
ステップS8130で、GetOSDConfigurationOptionsReponseにSnapshot URIに関する選択肢が含まれていない場合、制御はステップS8134に移る。
続くステップS8134では、受信したGetOSDConfigurationOptionsReponseにStream URIに関する選択肢が含まれているかどうかが判定される。
ステップS8134で、GetOSDConfigurationOptionsReponseにStream URIに関する選択肢が含まれていると判定されると、制御はステップS8136に移る。ステップS8136では、OSD設定対象をStream URIに設定する処理が行われ、GUIが更新される。
ステップS8134で、GetOSDConfigurationOptionsReponseにStream URIに関する選択肢が含まれていないと判定されると、制御は次のステップS8138に移る。
続くステップS8138では、受信したGetOSDConfigurationOptionsReponseにMedia Profileに関する選択肢が含まれているかどうかが判定される。
ステップS8138で、GetOSDConfigurationOptionsReponseにMedia Profileに関する選択肢が含まれていると判定されると、制御はステップS8140に移る。ステップS8140では、OSD設定対象をMedia Profileに設定する処理が行われ、GUIが更新される。
ステップS8138で、GetOSDConfigurationOptionsReponseにMedia Profileに関する選択肢が含まれていないと判定されると、制御はステップS8142に移る。
ステップS8142では、受信したGetOSDConfigurationOptionsReponseにVideo Encoder Configurationに関する選択肢が含まれているかどうかが判定される。
ステップS8142で、GetOSDConfigurationOptionsReponseにVideo Encoder Configurationに関する選択肢が含まれていると判定されると、制御はステップS8144に移る。ステップS8144では、OSD設定対象をVideo Encoder Configurationに設定する処理が行われ、GUIが更新される。
ステップS8142で、GetOSDConfigurationOptionsReponseにVideo Encoder Configurationに関する選択肢が含まれていない場合には、制御はステップS8146に移る。
続くステップS8146では、受信したGetOSDConfigurationOptionsReponseにVideo Source Configurationに関する選択肢が含まれているかどうかが判定される。
ステップS8146で、GetOSDConfigurationOptionsReponseにVideo Source Configurationに関する選択肢が含まれていると判定されると、制御はステップS8148に移る。ステップS8148では、OSD設定対象をVideo Source Configurationに設定する処理が行われ、GUIが更新される。
ステップS8146で受信したGetOSDConfigurationOptionsReponseにVideo Source Configurationに関する選択肢が含まれていない場合、ステップS8160でOSD設定対象自動選択処理が終了する。
上述した動作の後、本実施例では、OSD作成ボタン7005が押されると、クライアント装置は、CreateOSDコマンドを監視カメラに発行する。続いて、返送されたOSDTokenを使用して本図の画面にユーザが入力した内容に従ってSetOSDコマンドを監視カメラに対して実行する。
また、OSD更新ボタン7006が押されると、クライアント装置2000は、予め記憶されたOSDTokenを使用して本図の画面にユーザが入力した内容に従って、SetOSDコマンドを監視カメラ1000に対して実行する。
また、OSD削除ボタン7007が押されると、クライアント装置2000は、予め記憶されたOSDTokenを使用してDeleteOSDコマンドを監視カメラ1000に対して実行する。
上述したSetOSDコマンドの送信、および、DeleteOSDコマンドの送信動作は、本発明におけるOSD情報を選択した合成処理方法に応じて前記画像処理装置に送信するステップを含む。
図7−1及び図7−2は、本実施例に係るデータ型であるOSDConfigurationの構成を説明するための図である。
図7−1及び図7−2に示すデータ型は、例えば、XML Schema Definition言語(以下XSDと称する)を用いて定義される。当該OSDConfiguration型は、本発明におけるOSD情報を設定するステップにおいて用いられるデータ型である。
図7−1(a)は、OSDConfiguration型が定義例を示す図である。
図7−1(a)に示すように、OSDConfiguration型は、XMLのcomplexType宣言により、複雑型として定義される。また、当該のOSDConfiguration型は、complexContent要素、及び、extension要素とそのbase属性によって、DeviceEntity型を拡張した拡張型であることが示される。また、当該OSDConfiguration型は、sequence要素により、その順番が定義通りに出現するデータ拡張が行われていることが示される。
また、図7−1(a)に示すOSDConfiguration型は、例えば、図4(b)に示すGetOSDレスポンス、または、SetOSDコマンドにおいて用いられるデータ型である。
図7−1(b)は、OSDReference型の定義例を示す図である。
OSDReference型のデータにおいては、choice要素により、当該choice要素内の一つが選択される構成が示される。例えば、図7−1(b)に示す当該OSDReference型のデータにおいては、ReferenceToken型か、あるいは、anyURI型のデータが一つだけ当該の型に現れることが示されている。
ReferenceToken型として、Video Souurce Cionfiguration Token,Video Encoder Configuration Token,または、Media Profile Tokenが指定可能である。
また、上記anyURI型として、本実施例では、StreamURI、または、SnapshotURIが指定可能となっている。上記OSDReference型は、本実施例において、OSD設定対象を指定するためのデータ型である。
図7−1(c)は、OSDType型の定義例を示す図である。
OSDType型の定義例においては、simplerType要素によりXMLの単純型であるとともに、restriction要素とそのbase属性により、当該型がstring型の値制限型であることが示される。図7−1(c)の例では、OSDType型は、その値としてTEXTまたはIMAGEであることが示されている。
図7−1(d)は、OSDPosConfiguration型の定義例を示す図である。
当該OSDPosConfiguration型の定義例においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
図7−2(e)は、OSDTextConfiguration型の定義例を示す図である。
当該OSDTextConfiguration型の定義例においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
図7−2(f)は、OSDImageConfiguration型を示す図である。当該のOSDImageConfiguration型の定義例においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
図7−2(g)は、Vector型の定義例を示す図である。当該のVector型は、attribute要素により、float型の属性x、および、yを記述することができる構成となっている。
図7−2(h)は、Color型の定義例を示す図である。当該のColor型では、attribute要素により、float型の属性X、Y、および、Zを記述することができる構成となっている。また、上記属性X、Y、および、Zは、use=“resuired”指定により、当該Color型において必須の構成であることが示される。また、当該のColor型では、attribute要素により、anyURI型の属性ColorSpaceを記述可能な構成となっている。
図7−2(i)は、BackgroundColor型の定義例を示す図である。当該のBackgroundColor型においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。当該のsequence要素では、Color型のデータが要素として記述できる構成となっている。また、当該型においては、int型の属性Transparentが記述可能な構成となっている。
本発明のクライアント装置は、上記したOSDConfiguration型のデータを用いて、本実施例の撮像装置からOSDの設定情報を取得する。また、本発明のクライアント装置は、上記OSDConfiguration型データを用いて、本実施例の撮像装置にOSDの設定を行うように構成される。
次に、図8−1及び図8−2を用いて、OSDConfigurationOptions型の定義例について説明する。当該OSDConfigurationOptions型は、本発明における合成処理方法に関する能力の応答を受信するステップに用いられるデータ型である。
図8−1(a)は、OSDConfigurationOptions型の定義例を示す図である。OSDConfigurationOptions型においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
上記OSDConfigurationOptions型は、例えば、図4(b)におけるGetOSDConfigurationOptionsレスポンスに用いられるデータ型である。当該のGetOSDConfigurationOptionsレスポンスにより、本実施例のクライアント装置は、対象の監視カメラが持っているOSD設定対象に関する能力の情報を取得する。
上記OSDConfigurationOptions型において、最初のフィールドは、データ型がOSDReferenceOptions型のOSDReferenceOptionsである。次のフィールドは、int型のMaximumNumberOfOSDsである。次のフィールドは、OSDType型のTypeである。次のフィールドは、string型のPositionOptionである。次のフィールドは、OSDTextOptions型のTextOptionである。最後のフィールドは、OSDImageOptions型のImageOptionである。
上記OSDReferenceOptions型は、本実施例における、OSD設定対象に関する能力を授受するために用いられるデータ型である。
上記、Type、および、PositionOptionの各フィールドは、maxOccurs=“unbounded”指定子により、当該OSDConfigurationOptions型内部に複数個存在可能なことが示される。また、OSDReferenceOptions、TextOption、及び、ImageOptionの各フィールドは、minOccurs=“0”指定子により、省略可能であることが示される。
図8−1(b)は、OSDReferenceOptions型の定義例を示す図である。当該のOSDReferenceOptions型は、上述した図8−1(b)における第一フィールドであるOSDReferenceOptionsに用いられるデータ型である。当該のOSDReferenceOptions型においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。OSDReferenceOptions型において、最初のフィールドは、OSDReference型のOSDReferenceである。当該のフィールドは、maxOccurs=“unbounded”指定子により、当該OSDReference型内部に複数個存在可能なことが示される。
図8−1(b)のOSDReferenceOptions型に用いられるOSDReference型は、上記図7−1(b)に示される型と同一のデータ型である。上述したように、OSDReference型では、choice要素により、当該choice要素内の一つが選択される構成が示される。例えば、当該OSDReference型のデータにおいては、ReferenceToken型か、あるいは、anyURI型のデータが一つだけ当該の型に現れる。
ReferenceToken型として、Video Souurce Cionfiguration Token,Video Encoder Configuration Token,または、Media Profile Tokenが指定可能である。
また、上記anyURI型として、本実施例では、StreamURI、または、SnapshotURIが指定可能となっている。
上述したようにOSDReference型では、OSD設定対象の一つを、ReferenceToken型、あるいは、anyURI型のデータによって指定することができる。
また、上述したように、OSDReferenceOptions型においては、複数のOSDReference型のデータを格納できるので、OSDConfigurationOptions型では、複数のOSD設定対象をリストすることが可能でとなる。
また、上述した図6−1のステップS8008におけるGetOSDConfigurationOptions解析においては、主として、当該のOSDReferenceOptions型のフィールドは解析される。また、図6−2のステップS8108におけるGetOSDConfigurationOptions解析では、主として、当該のOSDReferenceOptions型のフィールドは解析される。
図8−1(c)は、OSDTextOptions型の定義例を示す図である。当該のOSDTextOptions型においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
OSDTextOptions型において、最初のフィールドはOSDType型のTypeフィールドである。次のフィールドは、IntRange型のFontSizeRange型である。次のフィールドは、string型のDateFormatフィールドである。次のフィールドは、同じくstring型のTimeFormatフィールドである。次のフィールドは、ColorOptions型のColorフィールドである。最後のフィールドは、IntRange型のtransparentフィールドである。
上記、Typeフィールド、DateFormatフィールド、および、TimeFormatフィールドは、maxOccurs=“unbounded”指定子により、当該OSDTextOptions型内部に複数個存在可能なことが示される。
また、DateFormatフィールド、TimeFormatフィールド、Colorフィールド、および、transparentフィールドは、minOccurs=“0”指定子により、省略可能であることが示される。
図8−1(d)は、OSDImageOptions型の定義例を示す図である。当該のOSDImageOptions型においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
OSDImageOptions型において、最初のフィールドは、anyURI型のImagePathフィールドである。当該ImagePathフィールドは、maxOccurs=“unbounded”指定子により、当該OSDImageOptions型内部に複数個存在可能なことが示される。
図8−2(e)は、IntRange型の定義例を示す図である。当該のIntRange型においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
IntRange型において、最初のフィールドは、int型のMinフィールドであり、最後のフィールドは、int型のMaxフィールドである。
図8−2(f)は、ColorOptions型の定義例を示す図である。当該のColorOptions型においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。また、sequence要素内部のchoice要素によって、当該choice要素内の一つが選択されることが示される。具体的には、当該ColorOptions型においては、後述するColorListフィールド、または、ColorspaceRangeフィールドから一つが選択される。
上記したように、ColorOptions型における、選択肢の一つはColor型のColorListフィールドである。また、もう一つの選択肢は、ColospaceRange型のColospaceRangeフィールドである。上記ColorListフィールド、及び、ColospaceRangeフィールドは、maxOccurs=“unbounded”指定子により、それぞれ複数個存在できることが示される。
図8−2(g)は、ColospaceRange型の定義例を示す図である。当該ColospaceRange型においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
ColospaceRange型の最初のフィールドは、Xフィールドであり、次のフィールドはYフィールドであり、三番目のフィールドはZフィールドである。上記Xフィールド、Yフィールド、及び、Zフィールドは、FloatRange型のデータである。ColospaceRange型の最後のフィールドは、anyURI型のColorspaceフィールドである。
図8−2(h)は、FloatRange型の定義例を示す図である。FloatRange型の定義においては、complexType要素によって、当該型が複雑型として定義されることが示される。また、sequence要素により、その順番が定義通りに出現するデータ型であることが示される。
FloatRange型において、最初のフィールドは、float型のMinフィールドであり、最後のフィールドは、float型のMaxフィールドである。
本発明においては、クライアント装置は、上記OSDConfigurationOptions型のデータを用いて、本実施例の撮像装置に設定可能なOSDの情報を、当該撮像装置から取得する。また、本実施例の撮像装置は、上記OSDConfigurationOptions型のデータは、当該撮像装置における、OSDに関する能力情報を送信するために用いられる。
次に、図9−1及び図9−2を用いて、本実施例に係るGetOSDConfigurationOptionsコマンドと、そのレスポンスであるGetOSDConfigurationOptionsResponseについて説明する。
上述したように、監視カメラに設定可能なOSD設定対象の情報は、上記したGetOSDConfigurationOptionsコマンドの送信と、GetOSDConfigurationOptionsResponse受信動作によって行われる。上記GetOSDConfigurationOptionsコマンドの送信動作は、本発明における複数の合成処理方法に関する能力を問い合わせるステップに相当する。また、当該のGetOSDConfigurationOptionsResponseは、本発明における複数の合成処理方法に関する能力情報を含む。また、上記したGetOSDConfigurationOptionsResponseの受信動作は、合成処理方法に関する能力の応答を受信するステップに相当する。
図9−1(a)は、GetOSDConfigurationOptionsコマンドの定義例を示す図である。GetOSDConfigurationOptionsコマンドは、本実施例のクライアントが、監視カメラに対して、OSDに関する設定オプションのリストを問い合わせるためのコマンドである。本実施例の監視カメラは、当該のGetOSDConfigurationOptionsコマンドに反応して、OSDに関する能力情報をクライアント装置に返す。
図9−1(a)に示すように、GetOSDConfigurationOptionsコマンドは、パラメータとしてOSDRedference型のOSDReferenceフィールドを含むことができる構成となっている。OSDReferenceフィールドにおいては、minOccurs=“0”指定子により、当該のフィールドがオプションであることが示される。当該OSDReferenceフィールドには、OSDの設定対象のTokenが指定される。
当該のOSDReferenceフィールドにより、クライアント装置は、クライアントが所望するOSD設定対象だけに関連する設定オプションを、GetOSDConfigurationOptionsコマンドのレスポンスとして要求することができる。
図9−1(b)はGetOSDConfigurationOptionsResponseの定義例を示す図である。上述したように、本実施例の監視カメラは、当該GetOSDConfigurationOptionsResponseを用いて、OSD設定に関する能力情報を、クライアントに送信する。
図9−1(b)に示すように、GetOSDConfigurationOptionsResponseは、パラメータとしてOSDConfigurationOptionsフィールドを含む。当該のフィールドは、OSDConfigurationOptions型のデータである。
図9−1(c)に、上記GetOSDConfigurationOptionsコマンドの構成例を示す。図9−1(c)は、上述したオプションのOSDReferenceフィールドを含まない場合の、上記GetOSDConfigurationOptionsコマンドの構成例である。
図9−2(d)に、上記GetOSDConfigurationOptionsコマンドに対するGetOSDConfigurationOptionsReponseの構成例を示す。
図9−2(d)に示すように、本実施例の監視カメラは、OSDReferenceOptionsフィールド内にリストされた複数のOSDReferenceフィールドによって、当該監視カメラが許容するOSD設定対象を、クライアント装置に通知する。
図9−2(d)に示す例では、OSD設定対象は、Video Source Configuration TokenがVSC0となっている。また、Video Source、Video Encoder Configuration Tokenが、MJPEG0、MJPEG1,H.264_0,H.264_1,MPEG4_0となっている。また、Video Encoder、Stream URIが“rtsp://192.168.100.1/OSDstream/”であるStreamとなっている。
図9−2(d)に示すGetOSDConfigurationOptionsReponseを受信した場合、図5−2(c)のGUI においては、例えば、選択ボックス7012には、VSC0が選択肢として表示される。
また、Video Encoder Configuration Token選択ボックス7014には、MJPEG0、MJPEG1、H.264_0、H.264_1、および、MPEG4_0が、選択肢として表示される。また、Stream選択ボックスはグレイ・アウトされずに表示されるとともに、添番の無いVideo Encoder、Stream URI選択ボックスに“rtsp://192.168.100.1/OSDstream/”が選択肢として表示される。
当該の表示動作により、クライアント装置のGUIは、例えば、図10に示すように表示される。
また、図9−2(d)に示すGetOSDConfigurationOptionsReponseを受信した場合、図5−2(d)に示すクライアント装置のOSD設定対象選択GUIにおいては、以下のように動作する。
例えば、Wide選択チェックボックスがユーザによって選択されている場合、Video Source Configuration TokenであるVSC0がOSD設定対象として選択される。また、Narrow選択チェックボックスがユーザによって選択されている場合、Stream URIである“rtsp://192.168.100.1/OSDstream/”がOSD設定対象として選択される。
<その他の実施例>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウエア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に提供し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理出ある。