図1(a)は、本発明の実施形態にかかわるセキュリティカメラ(撮像装置)を示す図である。1101はレンズの向きをパン方向に、同じく1102はチルト方向に変更する機構であり、1103はズーム機構である。
図1(b)は、監視カメラ(撮像装置)1000を含むシステム構成図である。2000は、本発明における外部機器を示すクライアント装置である。監視カメラ1000とクライアント装置2000は、IPネットワーク網1500を介して相互に通信可能な状態に接続されている。監視カメラ1000は、ONVIF仕様に従ってデータを送受信する。クライアント装置2000は、監視カメラ1000に対して、後述する撮像パラメータ変更や雲台駆動、映像ストリーミング開始等の各種コマンドを送信する。監視カメラ1000は、それらのコマンドに対するレスポンスや映像ストリーミングをクライアント装置2000に送信する。
図2は、本実施携帯に関わるセキュリティカメラ(撮像装置)の内部構成を示す図である。
図2において、1001は制御部であり、監視カメラ1000の全体の制御を行う。制御部1001は、例えばコンピュータであるCPUで構成される。
1002は記憶部(メモリ)である。記憶部1002は、主に制御部1001が実行するプログラム格納領域、プログラム実行中のワーク領域、後述する撮像部1003が生成する画像データの格納領域等、様々なデータの格納領域として使用される。
1003は撮像部である。撮像部1003は、被写体を撮影して取得したアナログ信号をデジタルデータに変換し、また、ADCT(適応離散コサイン変換)等によりデータの圧縮処理を行って撮像画像の画像データを生成し、記憶部1002に出力する。撮像部1003は、撮像画像を記憶部1002に出力した後、制御部1001に画像取得イベントを発行する。
1004は通信部である。通信部1004は、各制御コマンドを外部機器から受信する場合、また各制御コマンドに対するレスポンスを外部機器へ送信する場合使用される。
1006は撮像制御部である。制御部1001から入力するパン角度、チルト角度、ズーム倍率の値に従って、パン機構1101、チルト機構1102、及びズーム機構1103を制御するために使用される。また制御部1001の問い合わせに応じて、現在のパン角度値、チルト角度値、ズーム倍率値を提供する。
1007はマスク処理部である。マスク処理部1007は、制御部1001がマスク位置を特定するべく入力するパン角度、チルト角度、ズーム倍率、及び当該パン・チルト・ズーム状態での撮像部1003の撮像範囲におけるマスクのピクセル位置を記憶する。そして、マスク処理部1007は、最新のパン角度、チルト角度、ズーム倍率に基づいて、撮像部1003が出力する画像データの適切な位置にマスクを施す。マスク処理部1007は、マスク毎に有効フラグを有し、本フラグがFalseの場合はマスクを出力しないように制御する。
以上、図2を参照し監視カメラ1000の内部構成について説明したが、図2に示す処理ブロックは、本発明におけるセキュリティカメラの好適な実施形態の一例を説明したものでありこの限りではない。音声入力部を備えるなど、本発明の要旨の範囲内で、種々の変形及び変更が可能である。
本実施例にて使用するコマンド、パラメータ等の名称と内容を以下に説明する。
図3(a)は、本実施例における監視カメラ1000が保持するパラメータの構造を図示している。
MediaProfile6100とは、監視カメラの各種設定項目を関連づけて記憶するためのパラメータセットである。MediaProfile6100は、MediaProfile6100のIDであるProfileTokenと、VideoSourceConfiguration6102、VideoEncoderConfiguration6103を保持する。さらに、MediaProfile6100は、PTZConfiguration6104のほか、配信画像のエンコーダや音声のエンコーダを含む各種設定項目へのリンクを保持する。
VideoSource6101とは、監視カメラが備える1つの撮像センサーの性能を示すパラメータの集合体である。VideoSource6101は、VideoSource6101のIDであるVideoSourceTokenと、撮像センサーが出力可能な画像データの解像度を示すResolutionwを含む。
VideoSourceConfiguration6102とは、監視カメラが備えるVideoSource6101をMediaProfile6100に関連付けるパラメータの集合体である。VideoSourceConfiguration6102は、VideoSource6101が出力する画像データをうち、どの部分を切り出して配信画像とするかを指定するBoundsを含む。Boundsの詳細は後述する。
VideoEncoderConfiguration6103とは、ビデオ圧縮に関する設定をMediaProfile6100に関連付けるパラメータの集合体である。監視カメラ1000は、VideoSourceConfiguration6102の内容に基づいて出力される画像データを、クライアント装置2000に配信する。この配信は、本VideoEncoderConfiguration6103内に設定されるビデオ圧縮方式(例えばJPEGやH.264)、フレームレート、或いは解像度等のパラメータに従う。
PTZConfiguration6104とは、監視カメラ1000のパン機構1101、チルト機構1102、及びズーム機構1103に関する設定をMediaProfile6100に関連付けるパラメータの集合体である。PTZConfiguration6104は、パン機構、チルト機構、及びズーム機構における実際のパン・チルト角度値とズーム倍率値を表現する座標系に関する情報を含む。
PrivacyMask6105とは、マスクに関連する一覧のパラメータを保持するパラメータの集合体である。PrivacyMask6105は、PrivacyMask6105のIDであるPrivacyMaskToken、PrivacyMask構造体の名称であるName、マスクの位置及び大きさをポリゴンによって3つ以上の点で指定するMaskを含む。さらに、PrivacyMask6105は、マスクを配信画像上に表示するか否かを指定するフラグであるEnabled、マスクの色を指定するColor、雲台の位置を特定するPTZDesignationを含む。
PTZDesignationは、雲台の向き(パン、チルト)とズーム倍率を表現するための座標系の定義を含むPTZConfiguration6104を指定するPTZConfigurationTokenを含む。さらに、PTZDesignationは、指定されるPTZConfigurationに示される座標系によって雲台の向きとズーム倍率を指定するPositionを含む。
図5は、本実施例における監視カメラ1000とクライアント装置2000の間における、設定開始から映像配信までの典型的なコマンドシーケンスを示している。
7100は、GetVideoSourceConfigurationsコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、監視カメラ1000が保持する保持するVideoSourceConfiguration6102のリストを取得する。
7101は、GetVideoEncoderConfigurationsコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、監視カメラ1000が保持する保持するVideoEncoderConfiguration6103のリストを取得する。
7102は、GetConfigurationsコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、監視カメラ1000が保持する保持するPTZConfiguration6104のリストを取得する。
7103は、CreateProfileコマンドのトランザクションである。このコマンドにより、クライアント装置2000は、監視カメラ1000に新たなMediaProfile6100を作成し、そのProfileTokenを得る。
7104、7105、706は、AddVideoSourceConfigurationコマンド、AdddVideoEncoderConfigurtionコマンド、及びAddPTZConfigurationコマンドの各トランザクションである。これらのコマンドにより、クライアント装置2000は、指定したMediaProfileに以下のConfigurationを関連付ける。すなわち、これらのコマンドにより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に対してストリームの停止を要求する。
図6(a)は、本実施例における監視カメラ1000とクライアント装置2000の間における、マスク設定の典型的なコマンドシーケンスを示している。
7200は、GetPrivacyMaskコマンドのトランザクションである。GetPrivacyMasksコマンドは、クライアント装置2000が監視カメラ1000に対して、PRIVACYMASK6105を返送するよう指示するコマンドである。ここで返信が指示されるPRIVACYMASK6105は、図3(a)に示されるような指定のVideoSourceConfiguration6102に関連づけられている複数のPRIVACYMASK6105の全てである。PrivacyMask6105は、画像上に設定するマスクの位置及び大きさを定義するパラメータである。
7201は、CreatePrivacyMaskコマンドのトランザクションである。CreatePrivacyMaskコマンドとは、クライアント装置2000が監視カメラ1000に対して、PrivacyMask6105の作成を指示するためのコマンドである。このコマンドにより、PrivacyMask6105が、指定のVideoSourceConfiguration6102に関連付けて作成される。すなわち、CreatePrivacyMaskコマンドは、マスクを定義するパラメータであるPrivacyMaskを、画像配信を行ために監視カメラ1000が用いる設定であるVideoSourceConfigurationに関連付けて作成させる。PrivacyMask6105は、画像上に設定するマスクの位置及び大きさを定義するパラメータである。CreatePrivacyMaskコマンドの実行により、監視カメラ1000はクライアント装置2000へ生成したPricasyMaskのPrivacyMaskTokenを返送する。
7202は、GetPrivacyMaskOptionsのトランザクションである。GetPrivacyMaskOptionsコマンドは、クライアント装置2000が監視カメラ1000に対して、PrivacyMask6105の各パラメータの選択範囲、或いは選択肢を返送するよう指示するコマンドである。このコマンドにより、後述するModifyPrivacyMaskによって設定可能なPrivacyMask6105の各パラメータの選択範囲、或いは選択肢が返送される。PrivacyMask6105は、画像上に設定するマスクの位置及び大きさを定義するパラメータである。このように、GetPrivacyMaskOptionsコマンドは、マスクを定義するパラメータであるPrivacyMaskの設定可能な選択肢を取得させるコマンドである。
7203は、GetPrivacyMaskのトランザクションである。GetPrivacyMaskコマンドは、クライアント装置2000が監視カメラ1000に対して指定のPrivacyMaskTokenを持つPRIVACYMASK6105を返送するよう指示するコマンドである。このコマンドにより、指定のVideoSourceConfiguration6102に関連づけられている、指定のPrivacyMaskTokenを持つPRIVACYMASK6105が返送される。PrivacyMask6105は、画像上に設定するマスクの位置及び大きさを定義するパラメータである。
7204は、ModivyPrivacyMaskのトランザクションである。ModifyPrivacyMasksコマンドは、クライアント装置2000が監視カメラ1000に対してPrivacyMask6105に含まれる各パラメータの編集を指示するコマンドである。ModifyPrivacyMaskの実行により、監視カメラ1000はクライアント装置2000が指定したPrivacyMaskTokenを持つPrivacyMask6105の内容を編集する。その結果、監視カメラ1000は、マスクを新たに表示したり、表示中のマスクの色や大きさ、位置を変更したりする。PrivacyMask6105は、画像上に設定するマスクの位置及び大きさを定義するパラメータである。監視カメラ1000における本コマンドの詳細処理の詳細は後述する。
7205は、DeletePrivacyMaskコマンドのトランザクションである。DeletePrivacyMasksコマンドは、クライアント装置2000が監視カメラ1000に対してCreatePrivacyMaskコマンドによって作成されたPrivacyMask6105の削除を指示するコマンドである。DeletePrivacyMaskの実行により、監視カメラ1000はクライアント装置2000が指定したPrivacyMaskTokenを持つPrivacyMask6105を記憶装置から削除する。PrivacyMask6105は、画像上に設定するマスクの位置及び大きさを定義するパラメータである。
図9は、以下のものの関係を示している。図9には、本実施例の監視カメラ1000における、パン機構・チルト機構の全可動範囲5012、5013と全可視範囲5000、あるズーム倍率において撮像部1003が出力する画像データ5001が含まれる。さらに、図9には、VideoSourceConfiguration6102に含まれるBoundsによって切り出される配信画像5002、及びPrivacyMask6105にて指定されるMask5004が含まれる。
Boundsは、画像データ5001内における、配信画像5002の高さ、幅及び左下の点をいずれもピクセルで指定するパラメータである。図5に示されるように、本実施例においてMask5004は、Boundsによって切り出される配信画像5002内を水平方向(x)・垂直方向(y)ともに−1.0〜+1.0に正規化した正規化座標系でプロットされる点3点以上で指定されるものとする。
5014は、PTZPositionによって指定される撮像部1003が出力する画像データ5001の中心点であり、PTZConfiguration6104において指定される座標系によって表現される。本実施例においては、パン機構・チルト機構の全範囲を水平方向(x)5010・垂直方向(y)5011ともに−1.0〜+1.0に正規化した正規化座標系であるとする。
図6(a)は、監視カメラ1000が前述のModifyPrivacyMaskコマンドをクライアント装置2000から受信した場合の処理手順を示している。この手順は、コンピュータである制御部1001が記憶部1002から読み出して実行するプログラムの一部を示す。記憶部1002は、このプロラムを、コンピュータである制御部1001が読み出して実行することができるように記憶した記憶媒体である。
ステップS1000において制御部1001は、受信したコマンドに指定されているPrivacyMaskTokenを持つPrivacyMask6105が記憶部1002に存在するかどうか判定する。存在する場合、制御部1001は、処理をステップS1060に移す。
ステップS1001において制御部1001は、PrivacyMask6105に含まれるMaskが正しく設定されているかどうか確認する。例えば3点以上の点を含むかどうか、また各点は、図5の5002に示すBoundsにおける正規化座標における配信画像5002内にプロットされているかどうかを判定する。正しく設定されていなかった場合、制御部1001は、処理をステップS1060に移す。
ステップS1002において制御部1001は、受信したコマンドに指定されているVideoSourceConfigurationが記憶部1002に存在するかどうか判定する。存在するかどうかは、コマンドに指定されているVideoSourceConfigurationTokenを持つVideoSourceConfigurationが記憶部1002に存在するかどうかで判定する。存在しなかった場合、制御部1001は、処理をステップS1060に移す。
ステップS1003において制御部1001は、受信したコマンドに指定されているPrivacyMaskを記憶部1002に記憶させる。
ステップS1004において制御部1001は、クライアント装置2000が指定したVideoSourceConfigurationTokenを含むVideoSourceConfiguration6102から、Boundsを読みだす。クライアント装置2000が指定したVideoSourceConfigurationTokenを含むVideoSourceConfiguration6102は、記憶部1002に記憶されている。
ステップS1005において制御部1001は、受信したコマンドに指定されているVideoSourceConfiguration6102にリンク(関連付け)されているVideoSource6101からResolutionを読みだす。このVideoSource6101は、受信したコマンドに指定されているVideoSourceConfigurationTokenを含むVideoSourceConfiguration6102にリンク(関連付け)されている。
ステップS1006において制御部1001は、ステップS1004において読み出したBounds、及びステップS1005において読み出したResolutionに基づき、Maskの各点のResolution内のピクセル位置を算出する。
ステップS1008において制御部1001は、受信したコマンドにPTZDesigntionが指定されているかどうかを判定する。指定されていない場合は、制御部1001はステップS1050に処理を移す。
ステップS1009において制御部1001は、PTZDesignationに指定されているPTZConfigurationTokenで特定されるPTZConfiguration6104から、パン・チルト・ズームの座標系を読み出す。本実施例においては前述の、パン機構・チルト機構の全範囲を水平方向(x)5010・垂直方向(y)5011ともに−1.0〜+1.0に正規化した正規化座標系であるとする。MediaProfile6100は、MediaProfile6100内に保持されている。制御部1001は、本座標系に基づいてPTZDesignationに指定されているPTZPositionに含まれるパン・チルト・ズームの各値を、それぞれパン角度値、チルト角度値、ズーム倍率値に変換する。
一方、ステップS1050において制御部1001は、撮像制御部1006より現在のパン角度値、チルト角度値、ズーム倍率値を取得する。
ステップS1011において制御部1001は、以下の3つを引数として、マスク表示処理(詳細は省略する)を実行する。すなわち、1つ目の引数は、ステップS1006で算出したマスクのResolutionにおけるピクセル位置である。2つ目の引数は、ステップS1009或いはステップS1050にて取得したパン角度、チルト角度、ズーム角度値である。3つ目の引数は、及び受信したコマンドに含まれているEnabledフラグの状態である。
マスク表示処理において制御部1001は、ステップS1011において渡された引数をマスク処理部1007に入力する。前述の通り、マスク処理部1007は、入力データと最新のパン角度、チルト角度、ズーム角度値に基づいて配信中の画像にマスクを施す。制御部1001は、VideoSourceConfigurationを含むメディア属性情報であるMediaProfileを使用して画像上にマスク画像設定を行う。
ステップS1012において制御部1001は、正常レスポンス送信処理(詳細は省略する)を実行する。正常レスポンス送信処理において制御部1001は、通信部1004を介してクライアント装置2000に対して、受信コマンドに対する正常レスポンスを送信する。
ステップS1060において制御部1001は、エラーレスポンス送信処理(詳細は省略する)を実行する。エラーレスポンス送信処理において制御部1001は、通信部1004を介してクライアント装置2000に対して、受信コマンドに対するエラーレスポンスを送信する。
以上に示した本実施例に係るマスク設定処理によれば、監視カメラ1000は、ONVIFによる共通規格においてマスク処理機能を実現するパラメータを保持することが可能となる。また、ONVIFによる共通規格をサポートするクライアント装置2000に、マスク処理機能の設定をさせることができるという効果がある。
実施例1において、マスク処理機能用のパラメータであるPrivacyMaskをVideoSourceConfigurationに関連付けて保持するセキュリティカメラに言及しながら、本発明の実施の形態を説明した。
しかしながら実施例1では、PrivacyMaskを固有のパラメータとして保持するため、CreatePrivacyMaskコマンドを含む、PrivacyMaskを扱うための専用コマンドを複数新たに必要としているが、この限りではない。すなわち、以下のようにして、マスク処理機能を実現するようにしてもよい。すなわち、PrivacyMaskを、VideoSourceConfigurationに属する一パラメータとして保持することにより、VideoSourceConfigurationを扱う既存のコマンドを使用してもよい。以上の点を考慮した本発明の第2の実施の形態を以下に説明する。尚、実施例1と同じ部分については説明を省略する。
図3(b)は、本実施例における監視カメラ(撮像装置)1000が保持するパラメータの構造を図示している。
VideoSourceConfiguration6200とは、監視カメラが備えるVideoSource6101をMediaProfile6100に関連付けるパラメータの集合体である。VideoSourceConfiguration6200は、VideoSource6101が出力する画像データをうち、どの部分を切り出して配信画像とするかを指定するBoundsを含む。Boundsの詳細は後述する。またPrivacyMask6201を包含している。
PrivacyMask6201とは、マスクに関連する一覧のパラメータを保持するパラメータの集合体である。PrivacyMask6201は、PrivacyMaskの名称であるName、マスクの位置及び大きさをポリゴンによって3つ以上の点で指定するMask、マスクを配信画像上に表示するか否かを指定するフラグであるEnabledを含む。さらに、PrivacyMask6201は、マスクの色を指定するColor、雲台の位置を特定するPTZDesignationを含む。このように、画像上に設定するマスクの位置及び大きさを定義するパラメータであるPrivacyMaskを、画像配信を行ために監視カメラが用いる設定であるVideoSourceConfigurationに属するパラメータとして保持する。
図7(a)は、本実施例における監視カメラ1000とクライアント装置2000の間における、マスク設定の典型的なコマンドシーケンスを示している。
7250は、GetVideoSourceConfigurationsコマンドのトランザクションである。GetVideoSourceConfigurationsコマンドは、クライアント装置2000が監視カメラ1000に対して、VideoSourceConfigurationを返送するよう指示するコマンドである。GetVideoSourceConfigurationコマンドは、画像上に設定するマスクの位置及び大きさを定義するパラメータの編集可能な選択肢前記パラメータを取得させる。このコマンドにより、図3(a)に示されるようなPrivacyMask6201を含む全てのVideoSourceConfigurationが返送される。
7251は、GetVideoSourceConfigurationOptionsのトランザクションである。GetVideoSourceConfigurationOptionsコマンドは、クライアント装置2000が監視カメラ1000に対して、以下の指示をするコマンドである。その指示の1つは、後述するSetVideoSourceConfigurationによって設定可能なVideoSourceConfiguration6200の各パラメータの選択範囲、或いは選択肢を返送する指示である。その指示の他の1つは、そのVideoSourceConfiguration6200に含まれるPrivacyMask6201の各パラメータの選択範囲、或いは選択肢を返送する指示である。GetVideoSourceConfigurationOptionsコマンドは、像上に設定するマスクの位置及び大きさを定義するパラメータの設定可能な選択肢を取得させる。GetVideoSourceConfigurationOptionsコマンドは、このように、画像上に設定するマスクの位置及び大きさを定義するパラメータの設定可能な選択肢を取得させるコマンドである。
7252は、SetVideoSourceConfigurationのトランザクションである。SetVideoSourceConfigurationコマンドは、クライアント装置2000が監視カメラ1000に対して以下の指示をするコマンドである。すなわち、指示は、VideoSourceConfiguration6200と、それに含まれるPrivacyMask6201の各パラメータの編集を指示する指示である。SetVideoSourceConfigurationの実行により、監視カメラ1000はクライアント装置2000が指定したPrivacyMask6201の内容を編集する。この編集により、監視カメラ1000はマスクを新たに表示したり、表示中のマスクの色や大きさ、位置を変更したりする。このように、SetVideoSourceConfigurationコマンドは、画像上に設定するマスクの位置及び大きさを定義するパラメータの作成、編集、及び削除をさせる。監視カメラ1000における本コマンドの詳細処理の詳細は後述する。
図11は、監視カメラ1000が前述のSetVideoSourceConfigurationコマンドをクライアント装置2000から受信した場合の処理を示している。本処理において、VideoSourceConfiguration6200に含まれるPrivacyMask6201以外のパラメータに関する設定処理の説明は省略する。またステップS1001〜S1060に関する処理は図10と同様であるため説明を省略する。
ステップS1104において制御部1001は、現在設定処理中のVideoSourceConfigurationからBoundsを読み出す。
ステップS1105において制御部1001は、受信したコマンドに指定されているVideoSourceConfiguration6200にリンク(関連付け)されているVideoSource6101からResolutionを読みだす。この指定されているVideoSourceConfiguration6200受信したコマンドに指定されているVideoSourceConfigurationTokenを含むVideoSourceConfiguration6200である。
制御部1001は、VideoSourceConfigurationを含むメディア属性情報であるMediaProfileを使用して配信画像上にマスクを設定する。
以上に示した本実施例に係るマスク設定処理によれば、監視カメラ1000は、新たなコマンドを追加することなく、ONVIFによる共通規格をサポートするクライアント装置2000に、マスク処理機能の設定をさせることができるという効果がある。
実施例1、2において、マスク処理機能用のパラメータであるPrivacyMaskをVideoSourceConfigurationに関連付けて保持するセキュリティカメラに言及しながら、本発明の実施の形態を説明した。
しかしながら実施例1、2では、PrivacyMaskをVideoSourceConfigurationに属するパラメータとして保持しているがこの限りではない。PrivacyMaskをMediaProfileに関連付けて保持することで、MediaProfile単位で、PrivacyMaskの有無を変更できるようにしてもよい。
以上の点を考慮した本発明の第3の実施の形態を以下に説明する。尚、実施例1と尚自部分については説明を省略する。
図4(a)は、本実施例における監視カメラ1000が保持するパラメータの構造を図示している。
PrivacyMask6301は、マスクに関連する一覧のパラメータを保持するパラメータの集合体である。PrivacyMask6301は、PrivacyMask6301のIDであるPrivacyMaskToken、PrivacyMask構造体の名称であるNameを含む。さらに、PrivacyMask6301は、マスクの位置及び大きさをポリゴンによって3つ以上の点で指定するMask、マスクを配信画像上に表示するか否かを指定するフラグであるEnabled、マスクの色を指定するColorを含む。さらに、PrivacyMask6301は、雲台の位置を特定するPTZDesignationを含む。PrivacyMask6301は、後述のAddPrivacyMaskコマンドによってMediaProfile6100に追加することができる。また、PrivacyMask6301は、後述するRemovePrivacyMaskコマンドによってMediaProfile6100から取り除いたりすることができる。PrivacyMask6301によるマスク処理は、AddPrivacyMaskコマンドによって追加されているMediaProfile6100を使用して配信される画像に対してのみ行われる。
図7(b)は、本実施例における監視カメラ1000とクライアント装置2000の間における、マスク設定の典型的なコマンドシーケンスを示している。
7301は、GetPrivacyMasksコマンドのトランザクションである。GetPrivacyMasksコマンドは、クライアント装置2000が監視カメラ1000に対して、複数のPrivacyMask6301の全てを返送するよう指示するコマンドである。すなわち、GetPrivacyMasksコマンドは、複数のPrivacyMask6301を取得させるコマンドである。
7302は、AddPrivacyMaskコマンドのトランザクションである。AddPrivacyMaskコマンドとは、クライアント装置2000が監視カメラ1000に対して、PrivacyMask6301を指定のMediaProfile6100に追加するよう指示するためのコマンドである。すなわち、AddPrivacyMaskは、マスクを定義するパラメータであるPrivacyMaskをメディア属性情報であるMediaProfileに追加するコマンドである。
7303は、GetPrivacyMaskのトランザクションである。GetPrivacyMaskコマンドは、クライアント装置2000が監視カメラ1000に対して指定のPrivacyMaskTokenを持つPrivacyMask6301を返送するよう指示するコマンドである。すなわち、GetPrivacyMaskは、所定のPrivacyMaskを取得させるコマンドである。
7304は、SetPrivacyMaskのトランザクションである。SetPrivacyMasksコマンドは、クライアント装置2000が監視カメラ1000に対してPrivacyMask6301に含まれる各パラメータの編集を指示するコマンドである。SetPrivacyMaskの実行により、監視カメラ1000はクライアント装置2000が指定したPrivacyMaskTokenを持つPrivacyMask6301の内容を編集する。この編集により、監視カメラ1000は、マスクを新たに表示したり、表示中のマスクの色や大きさ、位置を変更したりする。監視カメラ1000における本コマンドの詳細処理の詳細は後述する。
7305は、RemovePrivacyMaskコマンドのトランザクションである。RemovePrivacyMaskコマンドとは、クライアント装置2000が監視カメラ1000に対して、PrivacyMask6301を指定のMediaProfile6100から取り除くよう指示するためのコマンドである。PrivacyMask6301は、RemovePrivacyMaskの実行によっていずれのMediaProfile6100にも追加されない状態となる。すなわち、RemovePrivacyMaskは、マスクを定義するパラメータであるPrivacyMaskを前記MediaProfileから取り除くコマンドである。
図12は、監視カメラ(撮像装置)1000が前述のSetPrivacyMaskコマンドをクライアント装置2000から受信した場合の処理を示している。本処理において、ステップS1001〜S1060に関する処理は図10と同様であるため説明を省略する。SetPrivacyMaskコマンドは、マスクを定義するパラメータであるPrivacyMaskを監視カメラ1000内の独立したパラメータとして保持し、このパラメータを編集させるコマンドである。
ステップS1204において制御部1001は、当該PrivacyMaskが含まれているMediaProfile6100に追加されているVideoSourceConfiguration6102からBoundsを読み出す。
ステップS1105において制御部1001は、そのVideoSourceConfiguration6102にリンク(関連付け)されているVideoSource6101からResolutionを読み出す。このVideoSourceConfiguration6102は、当該PrivacyMaskが含まれているMediaProfile6100に追加されているVideoSourceConfiguration6102である。
制御部1001は、マスクを定義するパラメータであるPrivacyMask6301が追加されたMediaProfile6100を使用して配信画像上にマスクを設定する。
以上に示した本実施例に係るマスク設定処理によれば、監視カメラ1000は、実施例1,2と同様にONVIFによる共通規格においてマスク処理機能を実現するパラメータを保持することが可能となる。且つMediaProfile毎に、マスク処理を追加するかどうかをクライアント装置2000に選択させることが可能となるという効果がある。