(57)【特許請求の範囲】
【請求項１】
撮像方向を変更可能な撮像手段と、
前記撮像手段が撮像した撮像画像の少なくとも一部の画像を受信装置に配信する配信手段と、
前記配信される画像に重畳するマスク画像の位置を示す重畳位置情報を前記受信装置から受信する受信手段と、
前記受信手段によってさらに撮像方向の指定に関する情報が受信された場合、前記受信された撮像方向情報に基づいて、前記配信される画像に重畳するマスク画像の位置を特定し、前記受信手段によって撮像方向の指定に関する情報が受信されなかった場合、前記撮像手段の撮像方向に基づいて、前記配信される画像に重畳するマスク画像の位置を特定する特定手段と、
前記特定手段によって特定された位置に基づいて、前記マスク画像を前記配信される画像に重畳する重畳手段とを有することを特徴とする撮像装置。
【請求項２】
前記特定手段は、前記受信手段によってさらに撮像方向の指定に関する情報が受信されなかった場合、前記撮像手段の現在の撮像方向に基づいて、前記配信される画像に重畳するマスク画像の位置を特定することを特徴とする請求項１に記載の撮像装置。
【請求項３】
さらに、前記撮像画像に対して、前記配信される画像の位置を示す配信画像位置情報を、前記配信画像位置情報を特定するための特定情報と対応付けて複数記憶する記憶手段を有し、
前記受信手段は、さらに前記特定情報を前記受信装置から受信し、
前記特定手段は、さらに、前記受信装置によって受信された特定情報に対応づけられた配信画像位置情報に基づいて、前記マスク画像の位置情報を特定することを特徴とする請求項１または請求項２に記載の撮像装置。
【請求項４】
前記撮像手段が、撮像方向を変更する機能を有さない場合は、前記受信したマスクパラメータに含まれる前記特定情報に対応付けられた前記配信画像位置情報と、前記受信したマスクパラメータに含まれる前記重畳位置情報とに基づいて前記撮像手段が撮像可能な撮像範囲における前記マスク画像の位置を特定することを特徴とする請求項３に記載の撮像装置。
【請求項５】
撮像方向を変更可能な撮像手段を有し、前記撮像手段が撮像した撮像画像の少なくとも一部の画像にマスク画像を重畳して受信装置に配信する撮像装置におけるマスク画像の重畳方法であって、
前記配信される画像に重畳するマスク画像の位置を示す重畳位置情報を前記受信装置から受信する受信ステップと、
前記受信ステップにおいて、さらに撮像方向の指定に関する情報が受信された場合、前記受信された撮像方向情報に基づいて、前記配信される画像に重畳するマスク画像の位置を特定し、前記受信ステップにおいて撮像方向の指定に関する情報が受信されなかった場合、前記撮像手段の撮像方向に基づいて、前記配信される画像に重畳するマスク画像の位置を特定する特定ステップと、
前記特定ステップにおいて特定された位置に基づいて、前記マスク画像を前記配信される画像に重畳する重畳ステップとを有することを特徴とする撮像装置におけるマスク画像の重畳方法。
【請求項６】
前記特定ステップにおいて、前記受信ステップにおいて撮像方向の指定に関する情報が受信されなかった場合、前記撮像手段の現在の撮像方向に基づいて、前記配信される画像に重畳するマスク画像の位置が特定されることを特徴とする請求項５に記載のマスク画像の重畳方法。
【請求項７】
請求項５または請求項６に記載のマスク画像の重畳方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した画像を配信可能な撮像装置に関し、特に撮像装置が配信する画像をマスクする機能に関する。
【背景技術】
【０００２】
従来、撮像画像の配信先でその領域を特定できないようにするためのマスク処理機能が提供されている。マスク処理機能には、例えば、対象領域をＯＳＤ（Ｏｎ  Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ：オンスクリーン表示）によって塗りつぶす処理や、対象領域の画質低下処理、フィルター処理などの機能がある。
例えば、特許文献１では、カメラ撮像部から出力される画像データにおける撮影禁止領域の画質低減処理を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３２３００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら撮像装置やクライアントアプリケーションの機種毎にマスク処理機能の実装やインタフェースが異なるため、従来は異なる機種間でマスクの設定ができないことがあった。
例えば、撮像素子によって生成された撮像画像のうち特定の部分をキャプチャして配信するようキャプチャ範囲を指定するＢｏｕｎｄｓというパラメータをサポートした撮像装置Ｂと、Ｂｏｕｎｄｓをサポートしない撮像装置Ｃがあったとする。従来、これらの異なる撮像装置ＢとＣに対してクライアントアプリケーションＡからは、共通のマスク設定が行えないことがあった。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明による撮像装置は、撮像方向を変更可能な撮像手段と、前記撮像手段が撮像した撮像画像の少なくとも一部の画像を受信装置に配信する配信手段と、前記配信される画像に重畳するマスク画像の位置を示す重畳位置情報を前記受信装置から受信する受信手段と、前記受信手段によってさらに撮像方向の指定に関する情報が受信された場合、前記受信された撮像方向情報に基づいて、前記配信される画像に重畳するマスク画像の位置を特定し、前記受信手段によって撮像方向の指定に関する情報が受信されなかった場合、前記撮像手段の撮像方向に基づいて、前記配信される画像に重畳するマスク画像の位置を特定する特定手段と、前記特定手段によって特定された位置に基づいて、前記マスク画像を前記配信される画像に重畳する重畳手段とを有することを特徴とした。
【発明の効果】
【０００６】
本発明の撮像装置によれば、クライアント装置から設定されたマスクの位置を一意に特定することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】システム外観図である。
【図２】ブロック図である。
【図３】パラメータ構成図である。
【図４】コマンドシーケンス図である。
【図５】マスク設定のコマンドシーケンス図である。
【図６】マスクパラメータ処理のフローチャート図である。
【図７】マスクパラメータ処理のフローチャート図である。
【図８】座標計算の説明図である。
【図９】座標計算の説明図である。
【発明を実施するための形態】
【０００８】
以下に、本発明の実施の形態を説明する。
【実施例１】
【０００９】
図１（ａ）は、本発明の実施形態にかかわる監視カメラを示す図である。１１０１は撮像部の向きをパン方向に、同じく１１０２はチルト方向に変更する機構であり、１１０３はズーム機構である。
【００１０】
図１（ｃ）は、監視カメラ１０００を含むシステム構成図である。２０００は、本発明における外部機器を示すクライアント装置である。監視カメラ１０００とクライアント装置２０００は、ＩＰネットワーク網１５００を介して相互に通信可能な状態に接続されている。クライアント装置２０００は、監視カメラ１０００に対して、後述する撮像パラメータ変更や雲台駆動、映像ストリーミング開始等の各種コマンドを送信する。監視カメラ１０００は、それらのコマンドに対するレスポンスや映像ストリーミングをクライアント装置２０００に送信する。図１（ｂ）については、後述する。
【００１１】
図２（ａ）は、本実施形態に関わる監視カメラの内部構成を示す図である。
【００１２】
図２（ａ）において、１００１は制御部であり、監視カメラ１０００の全体の制御を行う。制御部１００１は、例えばＣＰＵで構成されるコンピュータである。
【００１３】
１００２は記憶部（メモリ）である。記憶部１００２は、主に制御部１００１が実行するプログラム格納領域、プログラム実行中のワーク領域、後述する撮像部１００３が生成する画像データの格納領域等、様々なデータの格納領域として使用される。
【００１４】
１００３は撮像部である。撮像部１００３は、被写体を撮影して取得したアナログ信号をデジタルデータに変換し、また、ＡＤＣＴ（適応離散コサイン変換）等によりデータの圧縮処理を行って撮像画像の画像データを生成し、記憶部１００２に出力する。撮像部１００３は、撮像画像を記憶部１００２に出力した後、制御部１００１に画像取得イベントを発行する。
【００１５】
１００４は通信部である。通信部１００４は、各種制御コマンドを外部機器から受信する場合や、各制御コマンドに対するレスポンスを外部機器（クライアント装置）へ送信する場合に、使用される。通信部１００４は、撮像部１００３が撮像した撮像画像の一部又は全体を配信画像として受信装置（クライアント装置）に送信する。
【００１６】
１００６は撮像制御部である。制御部１００１から入力するパン角度、チルト角度、ズーム倍率の値に従って、パン機構１１０１、チルト機構１１０２、及びズーム機構１１０３を制御するために使用される。すなわち、撮像制御部１００６により撮像部１００３の撮像方向が変更可能である。また制御部１００１の問い合わせに応じて、現在のパン角度値、チルト角度値、ズーム倍率値を提供する。
【００１７】
１００７はマスク処理部である。マスク処理部１００７は、撮像部１００３が出力する画像データの適切な位置にマスクを施す。このマスク処理は、制御部１００１がマスク位置を特定するべく入力するパン角度、チルト角度、ズーム倍率に基づく。さらに、このマスク処理は、当該パン・チルト・ズーム状態での撮像部１００３の撮像範囲における画像の切り出し位置、画像の切り出し位置におけるマスクの大きさと位置の指定に基づく。マスク処理部１００７は、マスク毎に有効フラグを有し、本フラグがＦａｌｓｅの場合はマスクを出力しないように制御する。
【００１８】
以上、図２を参照し監視カメラ１０００の内部構成について説明したが、図２に示す処理ブロックは、本発明における監視カメラの好適な実施形態の一例を説明したものでありこの限りではない。音声入力部を備えるなど、本発明の要旨の範囲内で、種々の変形及び変更が可能である。図２（ｂ）については、後述する。
【００１９】
本実施例にて使用するコマンド、パラメータ等の名称と内容を以下に説明する。
【００２０】
図３は、本実施例における監視カメラ１０００が記憶部１００２に保持するパラメータの構造を図示している。
【００２１】
ＭｅｄｉａＰｒｏｆｉｌｅ６１００とは、監視カメラの各種設定項目を関連づけて記憶するためのパラメータセットである。ＭｅｄｉａＰｒｏｆｉｌｅ６１００は、ＭｅｄｉａＰｒｏｆｉｌｅ６１００のＩＤであるＰｒｏｆｉｌｅＴｏｋｅｎを保持する。さらに、ＭｅｄｉａＰｒｏｆｉｌｅ６１００は、ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２、ＶｉｄｅｏＥｎｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ６１０３、ＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎ６１０４を保持する。さらに、ＭｅｄｉａＰｒｏｆｉｌｅ６１００は、このほか、配信画像のエンコーダや音声のエンコーダを含む各種設定項目へのリンクを保持する。
【００２２】
ＶｉｄｅｏＳｏｕｒｃｅ６１０１とは、監視カメラが備える１つの撮像センサーの性能を示すパラメータの集合体である。ＶｉｄｅｏＳｏｕｒｃｅ６１０１は、ＶｉｄｅｏＳｏｕｒｃｅ６１０１のＩＤであるＶｉｄｅｏＳｏｕｒｃｅＴｏｋｅｎと、撮像センサーが出力可能な画像データの解像度を示すＲｅｓｏｌｕｔｉｏｎを含む。Ｒｅｓｏｌｕｔｉｏｎは、高さと幅をそれぞれピクセルで表したＨｅｉｇｈｔ、Ｗｉｄｔｈを含む。
【００２３】
ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２とは、監視カメラが備えるＶｉｄｅｏＳｏｕｒｃｅ６１０１をＭｅｄｉａＰｒｏｆｉｌｅ６１００に関連付けるパラメータの集合体である。ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２は、ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２のＩＤであるＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎを含む。ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２は、ＶｉｄｅｏＳｏｕｒｃｅ６１０１が出力する画像データをうち、どの部分を切り出して配信画像とするかを指定するＢｏｕｎｄｓを含む。Ｂｏｕｎｄｓは、画像データから切り出す配信画像の高さと幅をそれぞれピクセルで表したＨｅｉｇｈｔ、Ｗｉｄｔｈと、画像データの左上を原点として、切り出す配信画像の左下の点の座標をピクセルで表したｘ，ｙを含む。なお、撮像画像における配信画像の位置を示す配信画像位置情報（Ｂｏｕｎｄｓの位置）を、配信画像位置情報を特定するための特定情報（ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎ）と対応付けて複数記憶される。
【００２４】
ＶｉｄｅｏＥｎｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ６１０３とは、ビデオ圧縮に関する設定をＭｅｄｉａＰｒｏｆｉｌｅ６１００に関連付けるパラメータの集合体である。監視カメラ１０００は、ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２の内容に基づいて出力される画像データをクライアント装置２０００に配信する。この配信は、本ＶｉｄｅｏＥｎｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ６１０３内に設定されるビデオ圧縮方式（例えばＪＰＥＧやＨ．２６４）、フレームレート、或いは解像度等のパラメータに従う。
【００２５】
ＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎ６１０４とは、監視カメラ１０００のパン機構１１０１、チルト機構１１０２、及びズーム機構１１０３に関する設定をＭｅｄｉａＰｒｏｆｉｌｅ６１００に関連付けるパラメータの集合体である。ＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎ６１０４は、パン機構、チルト機構、及びズーム機構における実際のパン・チルト角度値とズーム倍率値を表現する座標系に関する情報を含む。本例においてはパン範囲ｘ＝−１８０〜＋１８０［度］、チルト範囲ｙ＝−９０〜＋９０［度］の角度座標と、ズームｚ＝１〜１００［倍］の倍率座標であるとする。
【００２６】
ＰｒｉｖａｃｙＭａｓｋ６１０５とは、マスクに関連する一覧のパラメータを保持するパラメータの集合体である。ＰｒｉｖａｃｙＭａｓｋ６１０５は、ＰｒｉｖａｃｙＭａｓｋ６１０５のＩＤであるＰｒｉｖａｃｙＭａｓｋＴｏｋｅｎ、ＰｒｉｖａｃｙＭａｓｋ構造体の名称であるＮａｍｅ、マスクの位置及び大きさをポリゴンによって３つ以上の点で指定するＭａｓｋを含む。さらに、ＰｒｉｖａｃｙＭａｓｋ６１０５は、マスクを配信画像上に表示するか否かを指定するフラグであるＥｎａｂｌｅｄ、マスクの色を指定するＣｏｌｏｒ、雲台の位置を特定するＰＴＺＤｅｓｉｇｎａｔｉｏｎを含む。
【００２７】
ＰＴＺＤｅｓｉｇｎａｔｉｏｎは、雲台の向き（パン、チルト）とズーム倍率を表現するための座標系の定義を含むＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎ６１０４を指定するＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎを含む。さらに、ＰＴＺＤｅｓｉｇｎａｔｉｏｎは、指定されるＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎに示される座標系によって雲台の向きとズーム倍率を指定するＰｏｓｉｔｉｏｎを含む。Ｐｏｓｉｔｉｏｎは、撮像部１００３の向き、すなわち撮像部が出力する画像データの中心点の座標と、ズーム倍率の数値を含む。
【００２８】
図４は、本実施例における監視カメラ１０００とクライアント装置２０００の間における、設定開始から映像配信までの典型的なコマンドシーケンスを示している。
【００２９】
７１００は、ＧｅｔＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎｓコマンドのトランザクションである。このコマンドにより、クライアント装置２０００は、監視カメラ１０００が保持する保持するＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２のリストを取得する。
【００３０】
７１０１は、ＧｅｔＶｉｄｅｏＥｎｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎｓコマンドのトランザクションである。このコマンドにより、クライアント装置２０００は、監視カメラ１０００が保持する保持するＶｉｄｅｏＥｎｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ６１０３のリストを取得する。
【００３１】
７１０２は、ＧｅｔＣｏｎｆｉｇｕｒａｔｉｏｎｓコマンドのトランザクションである。このコマンドにより、クライアント装置２０００は、監視カメラ１０００が保持する保持するＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎ６１０４のリストを取得する。
【００３２】
７１０３は、ＣｒｅａｔｅＰｒｏｆｉｌｅコマンドのトランザクションである。このコマンドにより、クライアント装置２０００は、監視カメラ１０００に新たなＭｅｄｉａＰｒｏｆｉｌｅ６１００を作成し、そのＰｒｏｆｉｌｅＴｏｋｅｎを得る。
【００３３】
７１０４、７１０５、７０６は、ＡｄｄＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎコマンド、ＡｄｄｄＶｉｄｅｏＥｎｃｏｄｅｒＣｏｎｆｉｇｕｒｔｉｏｎコマンド、及びＡｄｄＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎコマンドの各トランザクションである。これらのコマンドにより、クライアント装置２０００は、以下の３つを関連付ける。すなわち、３つとは、指定したＭｅｄｉａＰｒｏｆｉｌｅに所望のＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ、ＶｉｄｅｏＥｎｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ、及びＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎである。
【００３４】
７１０７は、ＧｅｔＳｔｒｅａｍＵｒｉコマンドのトランザクションである。このコマンドにより、クライアント装置２０００は、指定したＭｅｄｉａＰｒｏｆｉｌｅの設定に基づいて監視カメラ１０００が配信ストリームを取得するためのアドレス（ＵＲＩ）を取得する。
【００３５】
７１０８は、Ｄｅｓｃｒｉｂｅコマンドのトランザクションである。７１０７において取得したＵＲＩを使用してこのコマンドを実行することにより、クライアント装置２０００は、監視カメラ１０００がストリーム配信するコンテンツの情報を要求し取得する。
【００３６】
７１０９は、Ｓｅｔｕｐコマンドのトランザクションである。７１０７において取得したＵＲＩを使用してこのコマンドを実行することにより、クライアント装置２０００と監視カメラ１０００の間で、セッション番号を含むストリームの伝送方法が共有される。
【００３７】
７１１０は、Ｐｌａｙコマンドのトランザクションである。７１０９において取得したセッション番号を使用してこのコマンドを実行することにより、クライアント装置２０００は、監視カメラ１０００に対してストリームの開始を要求する。７１１１は、配信ストリームである。監視カメラ１０００は、７１１０において開始を要求されたストリームを、７１０９において共有された伝送方法によって配信する。
【００３８】
７１１２は、Ｔｅａｒｄｏｗｎコマンドのトランザクションである。７１０９において取得したセッション番号を使用してこのコマンドを実行することにより、クライアント装置２０００は、監視カメラ１０００に対してストリームの停止を要求する。
【００３９】
図５は、本実施例における監視カメラ１０００とクライアント装置２０００の間における、マスク設定の典型的なコマンドシーケンスを示している。
【００４０】
７２００は、ＧｅｔＰｒｉｖａｃｙＭａｓｋコマンドのトランザクションである。
【００４１】
ＧｅｔＰｒｉｖａｃｙＭａｓｋｓコマンドは、クライアント装置２０００が監視カメラ１０００に対して、以下のＰｒｉｖａｃｙＭａｓｋ６１０５を返送するよう指示するコマンドである。すなわち、返却されるのは、図３に示されるような指定のＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２に関連づけられている全てのＰｒｉｖａｃｙＭａｓｋ６１０５である。
【００４２】
７２０１は、ＣｒｅａｔｅＰｒｉｖａｃｙＭａｓｋコマンドのトランザクションである。ＣｒｅａｔｅＰｒｉｖａｃｙＭａｓｋコマンドとは、クライアント装置２０００が監視カメラ１０００に対して、ＰｒｉｖａｃｙＭａｓｋ６１０５を作成することを指示するためのコマンドである。このＰｒｉｖａｃｙＭａｓｋ６１０５は、指定のＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２に関連付けて作成される。ＣｒｅａｔｅＰｒｉｖａｃｙＭａｓｋコマンドの実行により、監視カメラ１０００はクライアント装置２０００へ生成したＰｒｉｃａｓｙＭａｓｋのＰｒｉｖａｃｙＭａｓｋＴｏｋｅｎを返送する。
【００４３】
７２０２は、ＧｅｔＰｒｉｖａｃｙＭａｓｋＯｐｔｉｏｎｓのトランザクションである。ＧｅｔＰｒｉｖａｃｙＭａｓｋＯｐｔｉｏｎｓコマンドは、クライアント装置２０００が監視カメラ１０００に対して、ＰｒｉｖａｃｙＭａｓｋ６１０５の各パラメータの選択範囲、或いは選択肢を返送するよう指示するコマンドである。なお、ここで返送するよう指示されるのは、後述するＭｏｄｉｆｙＰｒｉｖａｃｙＭａｓｋによって設定可能なＰｒｉｖａｃｙＭａｓｋ６１０５の各パラメータの選択範囲、或いは選択肢である。
【００４４】
７２０３は、ＧｅｔＰｒｉｖａｃｙＭａｓｋのトランザクションである。ＧｅｔＰｒｉｖａｃｙＭａｓｋコマンドは、指定のＰｒｉｖａｃｙＭａｓｋＴｏｋｅｎを持つＰｒｉｖａｃｙＭａｓｋ６１０５を返送するよう指示するコマンドである。ＰｒｉｖａｃｙＭａｓｋ６１０５は、クライアント装置２０００が監視カメラ１０００に対して指定のＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２に関連づけられている、指定のＰｒｉｖａｃｙＭａｓｋＴｏｋｅｎを持つ。
【００４５】
７２０４は、ＭｏｄｉｆｙＰｒｉｖａｃｙＭａｓｋのトランザクションである。ＭｏｄｉｆｙＰｒｉｖａｃｙＭａｓｋｓコマンドは、クライアント装置２０００が監視カメラ１０００に対してＰｒｉｖａｃｙＭａｓｋ６１０５に含まれる各パラメータの編集を指示するコマンドである。ＭｏｄｉｆｙＰｒｉｖａｃｙＭａｓｋの実行により、監視カメラ１０００はクライアント装置２０００が指定したＰｒｉｖａｃｙＭａｓｋＴｏｋｅｎを持つＰｒｉｖａｃｙＭａｓｋ６１０５の内容を編集する。この編集により、マスクを新たに表示したり、表示中のマスクの色や大きさ、位置を変更したりする。監視カメラ１０００における本コマンドの詳細処理の詳細は後述する。
【００４６】
７２０５は、ＤｅｌｅｔｅＰｒｉｖａｃｙＭａｓｋコマンドのトランザクションである。ＤｅｌｅｔｅＰｒｉｖａｃｙＭａｓｋｓコマンドは、クライアント装置２０００が監視カメラ１０００に対してＣｒｅａｔｅＰｒｉｖａｃｙＭａｓｋコマンドによって作成されたＰｒｉｖａｃｙＭａｓｋ６１０５の削除を指示するコマンドである。ＤｅｌｅｔｅＰｒｉｖａｃｙＭａｓｋの実行により、監視カメラ１０００はクライアント装置２０００が指定したＰｒｉｖａｃｙＭａｓｋＴｏｋｅｎを持つＰｒｉｖａｃｙＭａｓｋ６１０５を記憶装置から削除する。
【００４７】
図６は、監視カメラ１０００が前述のＭｏｄｉｆｙＰｒｉｖａｃｙＭａｓｋコマンドをクライアント装置２０００から受信した場合の処理手順を示している。この手順は、コンピュータである制御部１００１が記憶部１００２から読み出して実行するプログラムの一部を示す。記憶部１００２は、このプロラムを、コンピュータである制御部１００１が読み出して実行することができるように記憶した記憶媒体である。
【００４８】
ステップＳ１０００において制御部１００１は、受信したコマンドに指定されているＰｒｉｖａｃｙＭａｓｋＴｏｋｅｎを持つＰｒｉｖａｃｙＭａｓｋ６１０５が記憶部１００２に存在するかどうか判定する。存在する場合制御部１００１は、処理をステップＳ１０６０に移す。
【００４９】
ステップＳ１００１において制御部１００１は、ＰｒｉｖａｃｙＭａｓｋ６１０５に含まれるＭａｓｋが正しく設定されているかどうか確認する。例えば３点以上の点を含むかどうか、また各点は、図８の５００２に示すＢｏｕｎｄｓにおける正規化座標内にプロットされているかどうかを判定する。正しく設定されていなかった場合制御部１００１は、処理をステップＳ１０６０に移す。
【００５０】
ステップＳ１００２において制御部１００１は、受信したコマンドに指定されているＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎが記憶部１００２に存在するかどうか判定する。存在しなかった場合制御部１００１は、処理をステップＳ１０６０に移す。
【００５１】
ステップＳ１００３において制御部１００１は、受信したコマンドに指定されているＰｒｉｖａｃｙＭａｓｋを記憶部１００２に記憶させる。
【００５２】
ステップＳ１００４において制御部１００１は、クライアント装置２０００が指定したＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎを含むＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２から、Ｂｏｕｎｄｓを読みだす。このＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎは、記憶部１００２に記憶されているクライアント装置２０００により指定される。
【００５３】
ステップＳ１００５において制御部１００１は、受信したコマンドに指定されているＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２にリンク（関連付け）されているＶｉｄｅｏＳｏｕｒｃｅ６１０１からＲｅｓｏｌｕｔｉｏｎを読みだす。このＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎ６１０２は、受信したコマンドに指定されているＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎを含む。
【００５４】
ステップＳ１００８において制御部１００１は、受信したコマンドにＰＴＺＤｅｓｉｇｎｔｉｏｎが指定されているか、或いは省略されているか判定する。指定されている場合、制御部１００１はステップＳ１００９に、省略されている場合はステップＳ１０５０にそれぞれ処理を移す。このＰＴＺＤｅｓｉｇｎｔｉｏｎは、撮像方向を示す撮像方向情報である。したがって、ステップＳ１００８では、受信したコマンドに含まれるマスクパラメータに撮像方向を示す撮像方向情報が含まれているか判定する。
【００５５】
ステップＳ１００９において制御部１００１は、ＰＴＺＤｅｓｉｇｎａｔｉｏｎに指定されているＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎで特定されるＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎ６１０４から、パン・チルト・ズームの座標系を読み出す。制御部１００１は、本座標系に基づいてＰＴＺＤｅｓｉｇｎａｔｉｏｎに指定されているＰｏｓｉｔｉｏｎに含まれるパン・チルト・ズームの各値を、それぞれパン角度値、チルト角度値、ズーム倍率値に変換する。
【００５６】
ステップＳ１０５０において制御部１００１は、撮像制御部１００６より現在のパン角度値、チルト角度値、ズーム倍率値を取得する。
【００５７】
ステップＳ１０１１において制御部１００１は、マスク表示処理（詳細は省略する）を実行する。このマスク表示処理では、以下の３つを引数として用いる。すなわち、１つ目の引数は、ステップＳ１００４で取得したＢｏｕｎｄｓである。２つ目の引数は、ステップＳ１００５で取得したＲｅｓｏｌｕｔｉｏｎである。３つ目の引数は、ステップＳ１００９或いはステップＳ１０５０にて取得したパン角度、チルト角度、ズーム角度値、及び受信したコマンドに含まれているＥｎａｂｌｅｄフラグの状態である。
【００５８】
ステップＳ１００８がＹＥＳの場合、撮像部１００３が撮像可能な撮像範囲におけるマスク画像の位置は、以下の３つに基づいて特定される。すなわち、１つ目は、受信したマスクパラメータに含まれるＰＴＺＤｅｓｉｇｎｔｉｏｎ（撮像方向情報）である。２つ目は、受信したマスクパラメータに含まれるＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎに対応付けられた配信画像位置情報（Ｂｏｕｎｄｓの位置）である。３つ目は、受信したマスクパラメータに含まれる重畳位置情報（マスク画像の位置）である。なお、ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎは、撮像画像における配信画像の位置を示す配信画像位置情報（Ｂｏｕｎｄｓの位置）を特定するための特定情報である。
【００５９】
ステップＳ１００８がＮＯの場合、マスク位置は、以下の３つに基づいて撮像画像におけるマスク画像の位置を特定する。すなわち、１つ目は、受信したマスクパラメータに含まれるＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎに対応付けられた配信画像位置情報（Ｂｏｕｎｄｓの位置）である。２つ目は、受信したマスクパラメータに含まれる重畳位置情報（マスク画像の位置）である。また、３つ目は、ステップＳ１０５０で撮像制御部１００６より取得した現在の撮像装置の撮像方向である。
【００６０】
マスク表示処理において制御部１００１は、ステップＳ１０１１において渡された引数をマスク処理部１００７に入力する。後述の図８、図９に関する説明の通り、マスク処理部１００７は、入力データに基づいて撮像視野におけるマスクの位置を一意に特定し、Ｅｎａｂｌｅｄフラグの指定に基づいて配信中の画像にマスクを施す。本処理の詳細は後述する。
【００６１】
ステップＳ１０１２において制御部１００１は、正常レスポンス送信処理（詳細は省略する）を実行する。正常レスポンス送信処理において制御部１００１は、通信部１００４を介してクライアント装置２０００に対して、受信コマンドに対する正常レスポンスを送信する。
【００６２】
ステップＳ１０６０において制御部１００１は、エラーレスポンス送信処理（詳細は省略する）を実行する。エラーレスポンス送信処理において制御部１００１は、通信部１００４を介してクライアント装置２０００に対して、受信コマンドに対するエラーレスポンスを送信する。
【００６３】
図８、図９はマスクの座標の特定方法を説明する図である。図８、図９を参照しながら、ステップＳ１０１１の処理を説明する。
【００６４】
図８（ａ）は、ＰｒｉｖａｃｙＭａｓｋにおける、Ｍａｓｋの座標指定方法を示している。Ｍａｓｋは、ＶｉｄｅｏＳｏｕｒｃｅ６１０１が出力する画像データをうち、Ｂｏｕｎｄｓによって切り出される配信画像５００２内を、正規化座標系でプロットされる点３点以上で指定される。これらの点は、水平方向（ｘ）・垂直方向（ｙ）のそれぞれを右向き・上向きをプラスとして、ともに−１．０〜＋１．０に正規化した正規化座標系でプロットされる。例として、図５（ａ）におけるＭａｓｋ５００４は（ｘ，ｙ）＝（０．２，０．８）、（０．８，０，８）、（０．２，０．１）、及び（０．８，０．１）の点１〜４にて指定されている。
【００６５】
図８（ｂ）は、ＶｉｄｅｏＳｏｕｒｃｅ６１０１が出力する画像データ５００１上に、図８（ａ）で説明したＭａｓｋ５００４を重ねたものである。例として、Ｒｅｓｏｌｕｔｉｏｎ．Ｈｅｉｇｈｔを９６０ピクセル、Ｒｅｓｏｌｕｔｉｏｎ．Ｗｉｄｔｈを１２８０ピクセルであるとする。また、Ｂｏｕｎｄｓ．Ｈｅｉｇｈｔを４８０ピクセル、Ｂｏｕｎｄｓ．Ｗｉｄｔｈを６４０ピクセル、Ｂｏｕｎｄｓ．ｘを５００ピクセル、Ｂｏｕｎｄｓ．ｙを９００ピクセルであるとする。このとき、画像データ５００１の中心点を原点としたＲｅｓｏｌｕｔｉｏｎのピクセル座標系で、Ｍａｓｋ５００４の各点の位置（ｘ２，ｙ２）を計算する場合、計算式はそれぞれ以下の通りとなる。
Ｍａｓｋ．ｘ２＝（（Ｂｏｕｎｄｓ．ｘ−Ｒｅｓｏｌｕｔｉｏｎ．Ｗｉｄｔｈ／２  ）＋Ｂｏｕｎｄｓ．Ｗｉｄｔｈ／２  ）＋Ｂｏｕｎｄｓ．Ｗｉｄｔｈ／２＊  Ｍａｓｋ．ｘ
Ｍａｓｋ．ｙ２＝（（Ｂｏｕｎｄｓ．ｙ−Ｒｅｓｏｌｕｔｉｏｎ．Ｈｅｉｇｈｔ／２）−Ｂｏｕｎｄｓ．Ｈｅｉｇｈｔ／２）＋Ｂｏｕｎｄｓ．Ｈｅｉｇｈｔ／２＊Ｍａｓｋ．ｙ
【００６６】
このとき、画像データから配信画像を切り出す機能に対応していない撮像装置であった場合は、Ｂｏｕｎｄｓ＝Ｒｅｓｏｌｕｔｉｏｎとなり、上記の計算式は次のように表すことができる。
Ｍａｓｋ．ｘ２＝Ｒｅｓｏｌｕｔｉｏｎ．Ｗｉｄｔｈ／２＊Ｍａｓｋ．ｘ
Ｍａｓｋ．ｙ２＝Ｒｅｓｏｌｕｔｉｏｎ．Ｈｅｉｇｈｔ／２＊Ｍａｓｋ．ｙ
例として図８（ｂ）におけるＭａｓｋ５００４は（ｘ２，ｙ２）＝（２４４，３７２）、（４３６，３７２）、（４３６，２０４）、及び（２４４，２０４）の４点にて表現される。
【００６７】
図９は、撮像部１００３の撮像可能な全範囲５０００において、図８（ｂ）に示される画像データ５００１を、Ｐｏｓｉｔｉｏｎに指定される撮像方向の向き（パン＝ｘ・チルト＝ｙ）とズーム倍率（ｙ）に基づいて重ねたものである。撮像方向の向き（ｘ，ｙ）は、画像データ５００１の中心点を示す。Ｐｏｓｉｔｉｏｎの座標系は、ＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎに含まれる座標系を用い、本例においてはパン範囲ｘ＝−１８０〜＋１８０［度］、チルト範囲ｙ＝−９０〜＋９０［度］の角度座標と、ズームｚ＝１〜１００［倍］の倍率座標であるとする。例として、Ｐｏｓｉｔｉｏｎ．ｘ＝−２０［度］、Ｐｏｓｉｔｉｏｎ．ｙ＝＋１０［度］、Ｐｏｓｉｔｉｏｎ．ｚ＝１．２［倍］であるとする。このとき、撮像部１００３の撮像可能な全範囲５０００の中心点を原点として、ＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎに示される座標系で、Ｍａｓｋ５００４の各点の位置（ｘ３，ｙ３）を計算する場合、計算式はそれぞれ以下のとおりとなる。
Ｍａｓｋ．ｘ３＝Ｐｏｓｉｔｉｏｎ．ｘ＋Ｍａｓｋ．ｘ２／Ｒｅｓｏｌｕｔｉｏｎ．Ｗｉｄｔｈ／２／Ｐｏｓｉｔｉｏｎ．Ｚｏｏｍ＊パン角度変換係数
Ｍａｓｋ．ｙ３＝Ｐｏｓｉｔｉｏｎ。ｙ＋Ｍａｓｋ。ｙ２／Ｒｅｓｏｌｕｔｉｏｎ．Ｈｅｉｇｈｔ／２／Ｐｏｓｉｔｉｏｎ．Ｚｏｏｍ＊チルト角度変換係数
ズーム・パン角度変換係数、及びズーム・チルト角度変換係数は、画像データにおけるマスクのｘ，ｙ位置を、それぞれパン、チルトの角度座標に変換するための、撮像部１００３の特性に基づく係数である。本例ではそれぞれ９０、１８０であるとし、図９におけるＭａｓｋ５００４は（ｘ３，ｙ３）＝（３８．１９，６８．１３）、（８２．１９，６８．１３）、（８２．１９，４１．８８）、及び（３８．１９，４１．８８）の４点にて表現される。
【００６８】
以上、例として計算の流れを図８（ａ）（ｂ）、図９により説明した。このように、Ｂｏｕｎｄｓによって切り出された配信画像内の座標によって指定されるマスクの位置（ｘ，ｙ）を、撮像装置の撮像可能視野の座標によって指定される位置（ｘ３，ｙ３）に変換することができる。この変換は、Ｂｏｕｎｄｓ、Ｒｅｓｏｌｕｔｉｏｎ、Ｐｏｓｉｔｉｏｎの情報を元に行われる。すなわち監視カメラ１０００は、撮像可能視野におけるマスクの位置を一意に特定することができる。
【００６９】
以上に示した本実施例に係るマスク設定処理によれば、以下の効果が得られる。すなわち、監視カメラ１０００は、撮像部１００３によって生成された画像データのうち、Ｂｏｕｎｄｓによって特定の部分を切り出して配信する機能の有無関わらず、クライアント装置から設定されたマスクの位置を一意に特定することが可能となる。これによって撮像装置は、Ｂｏｕｎｄｓのサポート有無に関わらず、クライアント装置に共通のマスク処理機能の設定をさせることができるという効果がある。
【実施例２】
【００７０】
実施例１において、マスク処理機能用のパラメータであるＰｒｉｖａｃｙＭａｓｋをＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎに関連付けて保持する監視カメラに言及しながら、本発明の実施の形態を説明した。
【００７１】
実施例１ではパン、チルト、或いはズームによって撮像部の撮像範囲を変更できる機能を有する監視カメラを例示しているが、この限りではない。パン、チルト、ズームを有しない監視カメラに対しても本発明は適用可能である。
【００７２】
以上の点を考慮した本発明の第２の実施の形態を以下に説明する。尚、実施例１と同じ部分については説明を省略する。
【００７３】
図１（ｂ）は、実施例２に係る監視カメラ１２００示す図である。
【００７４】
図２（ｂ）は、監視カメラ１２００の内部構成を示す図である。
【００７５】
図４は、本実施例における監視カメラ１２００とクライアント装置２０００の間における、設定開始から映像配信までの典型的なコマンドシーケンスを示している。
【００７６】
図７は、監視カメラ１２００が前述のＭｏｄｉｆｙＰｒｉｖａｃｙＭａｓｋコマンドをクライアント装置２０００から受信した場合の処理を示している。
【００７７】
ステップＳ２０１１において制御部１００１は、ステップＳ１００４で取得したＢｏｕｎｄｓ、ステップＳ１００５で取得したＲｅｓｏｌｕｔｉｏｎ、及び受信したコマンドに含まれているＥｎａｂｌｅｄフラグの状態を引数としてマスク表示処理を実行する。マスク表示処理の詳細は省略する。
【００７８】
マスク表示処理において制御部１００１は、ステップＳ１０１１において渡された引数をマスク処理部１００７に入力する。前述の図５に関する説明の通り、マスク処理部１００７は、入力データに基づいて撮像視野におけるマスクの位置を一意に特定し、Ｅｎａｂｌｅｄフラグの指定に基づいて配信中の画像にマスクを施す。
【００７９】
図５を参照しながら、ステップＳ２０１１の処理を説明する。
【００８０】
監視カメラ１２００は、撮像部１００３の撮像範囲の変更が行えないため、図８（ｂ）における画像データ５００１＝撮像可能視野となる。したがって、図８（ａ）（ｂ）に説明した計算の流れにより、Ｂｏｕｎｄｓによって切り出された配信画像内の座標によって指定されるマスクの位置（ｘ，ｙ）を、撮像装置の撮像可能視野の座標によって指定される位置（ｘ２，ｙ２）に変換することができる。この変換は、Ｂｏｕｎｄｓ、Ｒｅｓｏｌｕｔｉｏｎの情報を元に行われる。すなわち監視カメラ１２００は、撮像可能視野におけるマスクの位置を一意に特定することができる。すなわち、撮像部１００３が、撮像方向を変更する機能を有さない場合は、以下の２つに基づいて、撮像部１００３が撮像可能な撮像範囲におけるマスク画像の位置を特定する。すなわち、１つ目は、受信したマスクパラメータに含まれるＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎに対応付けられた配信画像位置情報（Ｂｏｕｎｄｓの位置）である。２つ目は、受信したマスクパラメータに含まれる重畳位置情報（マスク画像の位置）である。なお、ＶｉｄｅｏＳｏｕｒｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＴｏｋｅｎは、撮像画像における配信画像の位置を示す配信画像位置情報（Ｂｏｕｎｄｓの位置）を特定するための特定情報である。
【００８１】
以上に示した本実施例に係るマスク設定処理によれば、監視カメラは、パン・チルト・ズームを含む撮像部１００３の撮像範囲を変更する機能の有無に関わらず、共通のマスク処理機能を有することが可能となる。これによって、撮像装置は、ＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎやＰｏｓｉｔｉｏｎを含むＰＴＺＤｅｓｉｇｎａｔｉｏｎのサポート有無に関わらず、クライアント装置に共通のマスク処理機能の設定をさせることができるという効果がある。
【００８２】
以上、本発明を実装した監視カメラの動作を実施例１〜２に示したが、実施形態は必ずしも上述の限りでなく、部分的に変更されてもよい。即ち、
（１）  実施例中の監視カメラ１０００は、ＰＴＺＣｏｎｆｉｇｕｒａｔｉｏｎにおいてパン、チルトにそれぞれ角度座標、ズーム座標に倍率座標を使用するようにしているがこの限りではない。例えば全範囲を−１．０〜＋１．０に正規化する正規化座標を用いてもよい。
（２）  実施例中の撮像装置における撮像方向の変更は、雲台装置等を例示して説明しているがこの限りではない。撮像画像の一部を電子的に切り出すことで実現する、いわゆる電子ＰＴＺによるものであってもよい。
（３）  図８、図９の説明において、マスクの位置を一意に特定するための計算式を説明しているが、この限りではない。機種毎のマスク処理部１００７のアルゴリズム、仕様等に基づいて、マスク位置の特定方法は異なり、マスクの位置を特定するために必要な情報の種類、或いは特定の計算方法は必ずしも本実施例の通りでなくともよい。
【符号の説明】
【００８３】
１０００  監視カメラ
１００１  制御部
１００７  マスク処理部
２０００  クライアント装置
５００４  マスク
６１０５  ＰｒｉｖａｃｙＭａｓｋ
【図１】
0005921331.tif 000002
【図２】
0005921331.tif 000003
【図３】
0005921331.tif 000004
【図４】
0005921331.tif 000005
【図５】
0005921331.tif 000006
【図６】
0005921331.tif 000007
【図７】
0005921331.tif 000008
【図８】
0005921331.tif 000009
【図９】
0005921331.tif 000010