(57)【要約】【課題】  マスクがずれるようなケースにおいても簡便にマスク設定を可能にする技術を提供すること。【解決手段】  画像上の指定領域をマスクする指示をクライアント端末装置から受信すると、撮像装置の現在の画角に対応する増分量だけ指定領域を拡大した拡大指定領域のサイズを求める。画像上の指定領域を覆うように、上記サイズを有するマスク画像を重ねた画像を合成画像として生成し、該生成した合成画像をクライアント端末装置に対して送信する。【選択図】  図１
2014239390.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置により撮像された画像をクライアント端末装置に配信するカメラサーバ装置であって、
前記画像上の指定領域をマスクする指示を前記クライアント端末装置から受信すると、前記撮像装置の現在の画角に対応する増分量だけ前記指定領域を拡大した拡大指定領域のサイズを求める計算手段と、
前記画像上の指定領域を覆うように、前記サイズを有するマスク画像を重ねた画像を合成画像として生成し、該生成した合成画像を前記クライアント端末装置に対して送信する送信手段と
を備えることを特徴とするカメラサーバ装置。
【請求項２】
前記増分量は、前記撮像装置の画角を前記現在の画角に変更する際の画角の誤差に基づく値であることを特徴とする請求項１に記載のカメラサーバ装置。
【請求項３】
前記計算手段は、前記撮像装置が正立しているか否かに応じた前記増分量を使用することを特徴とする請求項１又は２に記載のカメラサーバ装置。
【請求項４】
前記計算手段は、
前記撮像装置の現在の画角に対応する増分量だけ前記指定領域を水平方向及び垂直方向に拡大した拡大指定領域のサイズ、若しくは水平方向または垂直方向に拡大した拡大指定領域のサイズ、を求める
ことを特徴とする請求項１乃至３の何れか１項に記載のカメラサーバ装置。
【請求項５】
クライアント端末装置と、
撮像装置により撮像された画像を前記クライアント端末装置に配信するカメラサーバ装置と、
を有するカメラシステムであって、
前記クライアント端末装置は、
前記画像上でマスクする対象となる領域を指定領域として指定し、該指定領域をマスクする指示を前記カメラサーバ装置に送信する手段を備え、
前記カメラサーバ装置は、
前記指示を前記クライアント端末装置から受信すると、前記撮像装置の現在の画角に対応する増分量だけ前記指定領域を拡大した拡大指定領域のサイズを求める計算手段と、
前記画像上の指定領域を覆うように、前記サイズを有するマスク画像を重ねた画像を合成画像として生成し、該生成した合成画像を前記クライアント端末装置に対して送信する送信手段と
を備え、
前記クライアント端末装置は、
前記送信手段が送信した合成画像を表示する手段を備える
ことを特徴とするカメラシステム。
【請求項６】
撮像装置により撮像された画像をクライアント端末装置に配信するカメラサーバ装置の制御方法であって、
前記撮像装置の計算手段が、前記画像上の指定領域をマスクする指示を前記クライアント端末装置から受信すると、前記撮像装置の現在の画角に対応する増分量だけ前記指定領域を拡大した拡大指定領域のサイズを求める計算工程と、
前記撮像装置の送信手段が、前記画像上の指定領域を覆うように、前記サイズを有するマスク画像を重ねた画像を合成画像として生成し、該生成した合成画像を前記クライアント端末装置に対して送信する送信工程と
を備えることを特徴とするカメラサーバ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像中の領域に対するマスキングに関するものである。
【背景技術】
【０００２】
従来、パン・チルト・ズームを備えた監視カメラは、プライバシー保護のために映像の一部を単色の画像と重畳して隠すマスク機能を有している。また、動作に合わせて領域を追従させる技術もある。エンコーダを採用しないカメラもあるが、初期化時にパン・チルトの制御限界まで制御することで、現在位置を求めている。パン・チルトの動作に対して映像中の隠したい領域であるマスク領域の座標を随時計算して表示したり、ズームの倍率に応じて領域の大きさを変えたりする技術がある。
【０００３】
例えば、特許文献１では、画角情報に応じてマスク領域の大きさを変更する技術が開示されている。また特許文献２では、パン・チルトの進行方向に補正したマスクを重畳することでマスクでの遮蔽率を向上させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特登録3938127
【特許文献２】特開2009-27753
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献に開示された従来技術では、モーターの停止位置精度によっては元の位置に戻らない。マスク領域がずれる場合は、ユーザはマスク設定後にカメラのパン・チルト制御を行い、再度マスク設定する手順を繰り返してマスクを設定する必要があり、マスク設定が難しかった。本発明はこのような問題に鑑みてなされたものであり、マスクがずれるようなケースにおいても簡便にマスク設定を可能にする技術を提供する。
【課題を解決するための手段】
【０００６】
本発明の一様態によれば、撮像装置により撮像された画像をクライアント端末装置に配信するカメラサーバ装置であって、前記画像上の指定領域をマスクする指示を前記クライアント端末装置から受信すると、前記撮像装置の現在の画角に対応する増分量だけ前記指定領域を拡大した拡大指定領域のサイズを求める計算手段と、前記画像上の指定領域を覆うように、前記サイズを有するマスク画像を重ねた画像を合成画像として生成し、該生成した合成画像を前記クライアント端末装置に対して送信する送信手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明の構成によれば、マスクがずれるようなケースにおいても簡便にマスク設定を可能にする。
【図面の簡単な説明】
【０００８】
【図１】ネットワークカメラシステムの構成例を示す図。
【図２】カメラサーバ１００のハードウェア構成例を示すブロック図。
【図３】カメラサーバ１００内のプログラム群を示す図。
【図４】クライアント１２０のハードウェア構成例を示すブロック図。
【図５】クライアント１２０内のプログラム群を示す図。
【図６】表示例を示す図。
【図７】カメラサーバ１００が行う処理のフローチャート。
【図８】ステップＳ８２０，Ｓ８３０にて行う処理のフローチャート。
【図９】表示例を示す図。
【図１０】カメラサーバ１００が行う処理のフローチャート。
【図１１】クライアント１２０が行う処理のフローチャート。
【図１２】カメラサーバ１００の外観例を示す図。
【図１３】ステップＳ８３０で行う処理のフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１０】
［第１の実施形態］
先ず、本実施形態に係るネットワークカメラシステムについて説明する。本実施形態に係るネットワークカメラシステムは図１に示す如く、２台のカメラサーバと１台のクライアント１２０とを含み、それぞれの機器はネットワーク１３０を介して互いにデータ通信が可能なように接続されている。なお、図１では説明上、カメラサーバ及びクライアントの数はそれぞれ２，１としているが、本実施形態は、この数に限るものではない。
【００１１】
カメラサーバ１００，１１０は何れも、空間中に配され且つ画角が可変若しくは固定のカメラ（撮像装置）を有しており、該カメラにより撮像された動画像をネットワーク１３０を介してクライアント１２０に配信する。クライアント１２０は、カメラサーバ１００，１１０の両方若しくは一方に対してアクセスし、アクセス先から動画像を受信して表示する。
【００１２】
ネットワーク１３０は、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。各サーバ・クライアント間の通信が支障なく行えるものであればその通信規格、規模、構成は問わない。つまり、ネットワーク１３０は、例えば、インターネットであってもＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）であっても良い。
【００１３】
次に、カメラサーバ１００（１１０）について説明する。以下では、カメラサーバ１００，１１０はそれぞれ同じ構成を有し且つ同じ動作を行うものとして説明するため、カメラサーバ１００について説明し、カメラサーバ１１０に係る説明は省略する。即ち、以下に説明するカメラサーバ１００−クライアント１２０間の動作は、カメラサーバ１１０−クライアント１２０間の動作にも同様に適用可能である。カメラサーバ１００のハードウェア構成例について、図２のブロック図を用いて説明する。
【００１４】
ＣＰＵ２００は、一次記憶装置２４０に格納されているコンピュータプログラムやデータを用いて処理を実行することで、カメラサーバ１００全体の動作制御を行うと共に、カメラサーバ１００が行うものとして後述する各処理を実行する。
【００１５】
一次記憶装置２４０は、ＲＡＭ等のメモリにより構成されている。ＲＯＭには、本装置の設定データやブートプログラムなどが格納されている。ＲＡＭは、二次記憶装置２５０からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアや、後述する各種のＩ／Ｆ（インターフェース）を介して受信した各種のデータを一時的に記憶するためのエリアを有する。また、ＲＡＭはＣＰＵ２００が各種の処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭは各種のエリアを適宜提供することができる。
【００１６】
二次記憶装置２５０は、上記ＲＯＭやハードディスクドライブ装置などの大容量情報記憶装置である。二次記憶装置２５０には、ＯＳ（オペレーティングシステム）や、カメラサーバ１００が行うものとして後述する各処理をＣＰＵ２００に実行させるためのコンピュータプログラムやデータが保存されている。また、カメラサーバ１００が既知の情報として取り扱う情報についてもこの二次記憶装置２５０に保存されている。二次記憶装置２５０に保存されているコンピュータプログラムやデータは、ＣＰＵ２００による制御に従って適宜一次記憶装置２４０にロードされ、ＣＰＵ２００による処理対象となる。二次記憶装置２５０は、フラッシュメモリやＣＤ−ＲＯＭドライブ等の不揮発性を持った記憶装置であっても良い。
【００１７】
位置センサ２９３は、重力センサに代表されるセンサであり、自身の設置方向を計測する。計測した設置方向を示す信号は、位置取得Ｉ／Ｆ２９２を介して設置方向データとして一次記憶装置２４０に送出される。
【００１８】
カメラ２３０は、動画像を撮像するものであり、撮像した動画像（各フレームの画像）は画像キャプチャＩ／Ｆ２２０を介して撮像画像として一次記憶装置２４０に送出される。例えば、撮像画像を一旦一次記憶装置２４０に格納した後、ＣＰＵ２００はこの撮像画像に対して圧縮符号化を施して規定のフォーマットを有する符号化データを生成し、該符号化データを一次記憶装置２４０に格納する。
【００１９】
また、カメラ２３０は、カメラ制御Ｉ／Ｆ２９０にも接続されている。ＣＰＵ２００へは、後述するネットワークＩ／Ｆ２７０を介してクライアント１２０からカメラ２３０のズーム、フォーカス、シャッタースピード、露出、露光、ホワイトバランスなどを指定するための制御コマンド（カメラ制御コマンド）が入力される。ＣＰＵ２００は、この入力されたカメラ制御コマンドに従って、ズーム、フォーカス、シャッタースピード、露出、露光、ホワイトバランスなどを制御するための制御信号を生成し、該制御信号をカメラ制御Ｉ／Ｆ２９０を介してカメラ２３０に送出する。これによりカメラ２３０は、この制御信号に従ってズーム、フォーカス、シャッタースピード、露出、露光、ホワイトバランスなどを変更して撮像を行う。また、カメラ２３０の状態はこのカメラ制御Ｉ／Ｆ２９０を介してＣＰＵ２００に通知される。
【００２０】
また、カメラ２３０は雲台２９１に固定されており、雲台２９１は雲台制御Ｉ／Ｆ２６０に接続されている。ＣＰＵ２００へは、後述するネットワークＩ／Ｆ２７０を介してクライアント１２０から雲台２９１のパン・チルト・ローテーションを指定するための制御コマンド（雲台制御コマンド）が入力される。ＣＰＵ２００は、この入力された雲台制御コマンドに従って、雲台２９１の（カメラ２３０の）パン・チルト・ローテーション等を制御するための制御信号を生成し、該生成した制御信号を雲台制御Ｉ／Ｆ２６０を介して雲台２９１に送出する。雲台２９１は、この制御信号に従って、雲台２９１の（カメラ２３０の）パン・チルト・ローテーション等を変更する。また、雲台２９１の状態は、この雲台制御Ｉ／Ｆ２６０を介してＣＰＵ２００に通知される。
【００２１】
ネットワークＩ／Ｆ２７０は、カメラサーバ１００を上記ネットワーク１３０に接続するためのものであり、カメラサーバ１００はこのネットワークＩ／Ｆ２７０を介して、クライアント１２０とのデータ通信を行う。
【００２２】
次に、カメラサーバ１００の二次記憶装置２５０内に保存されており、且つＯＳによって管理されている、以下の説明に関連するコンピュータプログラム群について、図３を用いて説明する。
【００２３】
図３に示す如く、ＯＳ３００は、撮像処理プログラム３１０、雲台制御プログラム３２０、マスク処理プログラム３３０、配信処理プログラム３４０、設置方向取得プログラム３６０、を管理している。これらのプログラムは、ＣＰＵ２００による制御に従って二次記憶装置２５０から一次記憶装置２４０にロードされ、ＣＰＵ２００による実行対象となる。以下では各プログラムを実行の主体として説明する場合があるが、実際にはＣＰＵ２００が対応するプログラムを実行することで対応する処理が実行される。
【００２４】
撮像処理プログラム３１０は、カメラ２３０が撮像した撮像画像を画像キャプチャＩ／Ｆ２２０を介して取得し、該取得した撮像画像を圧縮符号化するなどして一次記憶装置２４０に格納する。
【００２５】
雲台制御プログラム３２０は、ネットワークＩ／Ｆ２７０を介してクライアント１２０から受信した雲台制御コマンドに従って制御信号を生成し、該制御信号を雲台２９１に送出する。また、雲台制御プログラム３２０は、雲台２９１の現在のパン・チルト・ローテーションを取得し、該取得したパン・チルト・ローテーションを一次記憶装置２４０に格納する。
【００２６】
マスク処理プログラム３３０は、ネットワークＩ／Ｆ２７０を介してクライアント１２０から受信したマスク設定指示に応じて、一次記憶装置２４０に保存されている撮像画像にマスク画像を重畳させて、合成画像を生成する。
【００２７】
配信処理プログラム３４０はネットワークＩ／Ｆ２７０を介してクライアント１２０から受信した各種リクエストに応じて、一次記憶装置２４０や二次記憶装置２５０に格納されている情報を、ネットワークＩ／Ｆ２７０を介してクライアント１２０に配信する。配信する情報には、合成画像や撮像画像、カメラ２３０の状態や、雲台２９１のパン・チルト・ローテーション等の情報がある。
【００２８】
設置方向取得プログラム３６０は、位置取得Ｉ／Ｆ２９２を介して位置センサ２９３から受信した設置方向を一次記憶装置２４０に格納する。この設置方向は、ネットワークＩ／Ｆ２７０を介してクライアント１２０から送出されたものであってもよく、その場合も設置方向取得プログラム３６０は、この送出された設置方向を一次記憶装置２４０に格納する。
【００２９】
ＣＰＵ２００、一次記憶装置２４０、二次記憶装置２５０、位置取得Ｉ／Ｆ２９２、画像キャプチャＩ／Ｆ２２０、カメラ制御Ｉ／Ｆ２９０、雲台制御Ｉ／Ｆ２６０、ネットワークＩ／Ｆ２７０は何れも、内部バス２１０に接続されている。
【００３０】
次に、クライアント１２０のハードウェア構成例について、図４のブロック図を用いて説明する。
【００３１】
ＣＰＵ４００は、一次記憶装置４３０に格納されているコンピュータプログラムやデータを用いて処理を実行することで、クライアント１２０全体の動作制御を行うと共に、クライアント１２０が行うものとして後述する各処理を実行する。
【００３２】
一次記憶装置４３０は、ＲＡＭ等のメモリにより構成されている。ＲＯＭには、本装置の設定データやブートプログラムなどが格納されている。ＲＡＭは、二次記憶装置４４０からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアや、後述する各種のＩ／Ｆ（インターフェース）を介して受信した各種のデータを一時的に記憶するためのエリアを有する。また、ＲＡＭはＣＰＵ４００が各種の処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭは各種のエリアを適宜提供することができる。
【００３３】
二次記憶装置４４０は、上記ＲＯＭやハードディスクドライブ装置などの大容量情報記憶装置である。二次記憶装置４４０には、ＯＳ（オペレーティングシステム）や、クライアント１２０が行うものとして後述する各処理をＣＰＵ４００に実行させるためのコンピュータプログラムやデータが保存されている。また、クライアント１２０が既知の情報として取り扱う情報についてもこの二次記憶装置４４０に保存されている。二次記憶装置４４０に保存されているコンピュータプログラムやデータは、ＣＰＵ４００による制御に従って適宜一次記憶装置４３０にロードされ、ＣＰＵ４００による処理対象となる。二次記憶装置４４０は、フラッシュメモリやＣＤ−ＲＯＭドライブ等の不揮発性を持った記憶装置であっても良い。
【００３４】
入力機器４８０は、キーボードやマウスなどのユーザインターフェースにより構成されており、本装置のユーザが操作することで、各種の指示をＣＰＵ４００に対して入力することができる。この各種の指示は、ユーザ入力Ｉ／Ｆ４２０を介してＣＰＵ４００に通知される。
【００３５】
出力機器４９０は、ユーザ出力Ｉ／Ｆ４５０に接続されており、ＣＲＴや液晶画面などの表示装置である。出力機器４９０は、ＣＰＵ４００による処理結果や、ネットワークＩ／Ｆ４６０を介してカメラサーバ１００から受信した画像や情報を、表示することができる。なお、出力機器４９０は表示装置に限るものではなく、他の種別の出力装置であっても構わない。
【００３６】
ネットワークＩ／Ｆ４６０は、クライアント１２０を上記ネットワーク１３０に接続するためのものであり、クライアント１２０はこのネットワークＩ／Ｆ４６０を介して、カメラサーバ１００とのデータ通信を行う。
【００３７】
ＣＰＵ４００、一次記憶装置４３０、二次記憶装置４４０、ユーザ入力Ｉ／Ｆ４２０、ユーザ出力Ｉ／Ｆ４５０、ネットワークＩ／Ｆ４６０は何れも、内部バス４１０に接続されている。
【００３８】
次に、クライアント１２０の二次記憶装置４４０内に保存されており、且つＯＳによって管理されている、以下の説明に関連するコンピュータプログラム群について、図５を用いて説明する。
【００３９】
図５に示す如く、ＯＳ５００は、入力処理プログラム５５０、表示処理プログラム５１０、通信処理プログラム５２０、画像処理プログラム５３０、を管理している。これらのプログラムは、ＣＰＵ４００による制御に従って二次記憶装置４４０から一次記憶装置４３０にロードされ、ＣＰＵ４００による実行対象となる。以下では各プログラムを実行の主体として説明する場合があるが、実際にはＣＰＵ４００が対応するプログラムを実行することで対応する処理が実行される。
【００４０】
入力処理プログラム５５０は、入力機器４８０に対するユーザ操作を検知し、該検知した操作に応じて各種のコマンドを生成し、該生成したコマンドをネットワークＩ／Ｆ４６０を介してカメラサーバ１００に送信する。このコマンドには、上記のカメラ制御コマンドや雲台制御コマンド、撮像画像中にマスク画像を設定するコマンド（マスク設定指示）が含まれる。
【００４１】
なお、入力処理プログラム５５０は、入力機器４８０以外にも、例えば、ネットワークを介した外部の装置からの入力操作や、コンピュータプログラムの実行処理結果を操作入力して受け付けるようにしても構わない。
【００４２】
表示処理プログラム５１０は、一時記憶部５４０に格納されている画像や、各方向ガイドなどを出力機器４９０に表示させる。
【００４３】
通信処理プログラム５２０は、カメラサーバ１００から撮像画像や合成画像、雲台２９１（カメラ２３０）の現在のパン・チルト・ローテーション、カメラ２３０の現在のズーム、フォーカス、シャッタースピード、露出、露光、ホワイトバランス等を受信する。この受信した各種の情報は一次記憶装置４３０に格納される。
【００４４】
画像処理プログラム５３０は、カメラサーバ１００から受信した画像に対して各種の画像処理（色処理や伸張処理など）を行ったりする。
【００４５】
次に、クライアント１２０側でマスク設定を行う場合の処理について説明する。クライアント１２０のユーザは入力機器４８０を操作してカメラサーバ１００を選択すると、ＣＰＵ４００は、カメラサーバ１００に動画像の送信要求を送信する。カメラサーバ１００のＣＰＵ２００はこの送信要求に応じて、符号化した各フレームの撮像画像をネットワークＩ／Ｆ２７０を介してクライアント１２０に送信する。この各フレームの撮像画像はネットワークＩ／Ｆ４６０を介して一次記憶装置４３０に格納され、ＣＰＵ２００により伸張されて、出力機器４９０に表示される。
【００４６】
クライアント１２０のユーザはこの表示された撮像画像を観察し、該撮像画像上でマスクしたい領域を入力機器４８０を操作して指定する。ここで、出力機器４９０の画面上に図６（ａ）に示されているような撮像画像が表示されている状態で、ユーザが入力機器４８０を操作してマスク対象領域として、窓の部分の領域６００を指定したとする。
【００４７】
ここで、マスク対象領域と同サイズのマスク画像をこのマスク対象領域に重畳させる場合、以降の各フレームでは、このようにユーザが指定した位置（重畳させる画像の中心位置）にマスク対象領域と同サイズのマスク画像を重畳させることになる。図６（ａ）の場合、各フレームの撮像画像において領域６００と同位置に領域６００と同サイズのマスク画像を重畳させることになる。その後、ユーザは入力機器４８０を操作して、カメラ２３０の撮像方向（パン・チルト・ローテーション）を指定すると、指定した撮像方向は雲台制御コマンドとしてネットワークＩ／Ｆ４６０を介してカメラサーバ１００に送信される。カメラサーバ１００のＣＰＵ２００はこの雲台制御コマンドをネットワークＩ／Ｆ２７０を介して受信すると、該雲台制御コマンドに従って雲台２９１を制御し、カメラ２３０をユーザが指定した撮像方向に向けさせる。ここで、上記のマスク設定後、撮像方向を様々な方向に変更した後、再び図６（ａ）と同じ撮像方向を指定したとする。しかし、カメラ２３０の撮像方向を変更して任意の方向（パン角やチルト角やヨー角）で停止させる場合、後述するように、その停止位置（撮像方向）には誤差が含まれる。従って、図６（ａ）と同じ撮像方向を指定しても、この撮像方向と全く同じ撮像方向にカメラ２３０を向けることは難しい。
【００４８】
上記のマスク設定後、撮像方向を様々な方向に変更した後、再び図６（ａ）と同じ撮像方向を指定してカメラ２３０の撮像方向を変更した後に該カメラ２３０により撮像される撮像画像が図６（ｂ）に示したような撮像画像であるとする。７１０は、マスク設定処理でユーザが指定したマスク位置（重畳させるマスク画像の中心位置）に重畳させたマスク画像である。このように、マスク設定処理でユーザが指定したマスク位置と、窓の部分の領域６００とにはずれが生じ、マスクしたい領域の一部がマスクされずに表示されてしまう。
【００４９】
本実施形態では、マスク設定時に上記誤差を鑑みてマスク画像のサイズを決定して、より確実にマスク対象領域をマスクする。そのためにカメラサーバ１００が行う処理について、同処理のフローチャートを示す図７を用いて説明する。図７のフローチャートに従った処理は、クライアント１２０からマスク設定指示をネットワークＩ／Ｆ２７０を介して受信したことをＣＰＵ２００が検知した場合に実行される。
【００５０】
なお、マスク設定指示には、撮像画像上のマスク対象領域を特定するための情報が含まれており、例えば、マスク対象領域の左上隅の座標位置及び右下隅の座標位置が含まれる。代わりに、マスク対象領域の左上隅の座標位置、マスク対象領域の水平サイズ及び垂直サイズ、が含まれるようにしても構わない。
【００５１】
ステップＳ８１０ではＣＰＵ２００は、マスク対象領域の左端をカメラ２３０の視野の左端、マスク対象領域の右端をカメラ２３０の視野の右端、とした場合の該カメラ２３０の視野の水平方向の画角をマスク画像水平角として求める。カメラ２３０の水平画角は撮像画像の水平画像サイズに対するものである。然るに、マスク画像水平角は、例えば、マスク対象領域の水平画像サイズ（マスク設定指示に含まれている情報から算出可能）と撮像画像の水平画像サイズとの比とカメラ２３０の水平画角との積から算出可能である。
【００５２】
現在のカメラ２３０の水平画角は、雲台制御Ｉ／Ｆ２６０を介して雲台２９１に問い合わせればよい。もちろん、クライアント１２０がマスク設定時にカメラサーバ１００に問い合わせて取得したカメラ２３０の水平画角をマスク設定指示に含めてカメラサーバ１００に送信し、該マスク設定指示から該水平画角を取得するようにしても構わない。このように、現在のカメラ２３０の水平画角の取得方法は、特定の方法に限るものではない。
【００５３】
またＣＰＵ２００は同様にして、マスク対象領域の上端をカメラ２３０の視野の上端、マスク対象領域の下端をカメラ２３０の視野の下端、とした場合のカメラ２３０の視野の垂直方向の画角をマスク画像垂直角として求める。
【００５４】
ステップＳ８２０，Ｓ８３０ではそれぞれ、ＣＰＵ２００は、マスク画像水平角、マスク画像垂直角、を補正して、最終的なマスク画像水平角、マスク画像垂直角を決定する。ステップＳ８２０，Ｓ８３０の順番はこれに限るものではなく、ステップＳ８３０，Ｓ８２０の順に行っても構わない。ステップＳ８２０，Ｓ８３０にて行う処理は、図８を用いて後述する。
【００５５】
ステップＳ８４０では、ＣＰＵ２００は、一次記憶装置２４０に格納した撮像画像において、マスク設定指示に含まれているマスク対象領域の位置にマスク画像を重畳させた合成画像を生成する。このマスク画像のサイズは、ステップＳ８２０及びステップＳ８３０による処理に基づいて確定したサイズである。そしてＣＰＵ２００は、この合成画像を圧縮符号化して、ネットワークＩ／Ｆ２７０を介してクライアント１２０に対して送信する。この合成画像は、ネットワークＩ／Ｆ４６０を介してクライアント１２０の一次記憶装置４３０に格納された後、伸張されて出力機器４９０に表示される。
【００５６】
次に、ステップＳ８２０，Ｓ８３０にて行う処理について説明する。マスク画像水平角を補正する処理と、マスク画像垂直角を補正する処理は、方向が異なるだけで基本的には同じ処理である。然るに、以下ではマスク画像水平角を補正する処理を例にとり説明する。即ち、マスク画像垂直角を補正する場合には、以下の説明における「水平」を「垂直」と読み替えればよい。
【００５７】
ステップＳ９１０ではＣＰＵ２００は、予め二次記憶装置２５０に格納されている、カメラ２３０の水平画角ごとに、該水平画角に対する誤差量に基づく値（画角誤差）、が登録されたテーブル（メカ誤差テーブル）を一次記憶装置２４０にロードする。
【００５８】
メカ誤差テーブルは水平方向および垂直方向で独立のものであり、メカの特性によりさまざまである。上記の誤差を生じる原因としては、ギアの公差によるバックラッシュや、カメラヘッドへ制御命令を送信するハーネスにかかる張力、またチルト制御をするために設けられたベースプレートの傾、またカメラヘッドにかかる重力などがあげられる。メカ誤差テーブルは、設計の段階でメカの耐久性性能や誤差を求める段階で求めてもよい。その際はある程度の台数で誤差をもとめ、その平均値を使用してもよい。さらに、平均値だけでは補正しきれない機体固有の誤差も発生する。その場合は、カメラサーバの製造後に機体固有の誤差を求め、平均値から補正してもよい。また、カメラヘッドにかかる重力により誤差が変化するため、カメラサーバの設置方向に誤差が依存することになる。カメラの設置が正立の場合は垂直方向の下向き方向の誤差が大きく、倒立の場合は正立の垂直方向の逆方向に誤差が大きくなるようなメカ誤差テーブルにしても良い。
【００５９】
誤差の平均値を使用する場合であっても、該平均値を補正した値を使用する場合であっても、この値に規定の値を加えた値を、上記画角誤差としてメカ誤差テーブルに登録する。例えば、メカ誤差テーブルには、水平画角ｘ１に対する画角誤差として８％、水平画角ｘ２に対する画角誤差として９％、が登録されている。
【００６０】
ステップＳ９２０では、ＣＰＵ２００は、現在のカメラ２３０の水平画角に対応する画角誤差をメカ誤差テーブルから取得する。現在のカメラ２３０の水平画角に対応する画角誤差がメカ誤差テーブルに登録されていない場合には、現在のカメラ２３０の水平画角の近傍の複数の水平画角に対応する画角誤差から補間により求めても良い。
【００６１】
なお、取得した画角誤差が規定量以下であるなど、比較的小さい値である場合には、ＣＰＵ２００は、ステップＳ８１０で取得したマスク画像水平角を最終的なマスク画像水平角として出力し、ステップＳ９３０を介してステップＳ８４０に進む。一方、取得した画角誤差が規定量よりも大きいなど、比較的大きい値である場合には、ステップＳ９３０を介してステップＳ９４０に進む。
【００６２】
ステップＳ９４０では、ＣＰＵ２００は、マスク画像水平角に、ステップＳ９２０で取得した画角誤差に基づく値を加えた画角を、最終的なマスク画像水平角（補正画角）として求める。例えば、ステップＳ９２０で取得した画角誤差が８％であった場合、（マスク画像水平角＋マスク画像水平角×８／１００）を最終的なマスク画像水平角として求める。もちろん、マスク画像水平角を、ステップＳ９２０で取得した画角誤差に基づく値でより大きい画角に変更する方法は、この方法に限るものではないし、画角誤差としてどのような数値を用いるのかによっては他の方法も考え得る。なお、マスク画像水平角、マスク画像垂直角の両方を補正することに限るものではなく、場合によっては何れか一方のみを補正するようにしても構わない。
【００６３】
ステップＳ８４０では、最終的なマスク画像水平角に対応する水平方向サイズ（画素数）を求める。これは、マスク画像水平角を求めるための上記処理と逆の処理によって幾何的に求めることができる。これは垂直方向についても同様である。
【００６４】
そしてこのようにして水平方向サイズ及び垂直方向サイズが決定したマスク画像は、マスク対象領域のサイズよりも大きなサイズを有することになる。そしてこのようなマスク画像を、ユーザにより指定された位置に重畳させることで、結果として、マスク対象領域を覆うようにしてマスク画像を重畳させることになり、漏れなくマスク対象領域をマスクすることができる。
【００６５】
上記のように、マスク対象領域と同サイズのマスク画像をマスク対象領域に重畳させるような場合は、図６（ｂ）に示す如く、マスク設定処理でユーザが指定したマスク位置と窓の部分の領域６００とにはずれが生じていた。しかし、本実施形態のように、現在のカメラ画角に応じた画角誤差に基づいてサイズを拡大したマスク画像を用いることで、図９（ａ）に示す如く、マスク画像７１０よりも大きいマスク画像１０００を重畳表示することができる。これにより、マスクしたい領域を漏れなくマスクすることができる。
【００６６】
なお、上記で説明したカメラサーバの構成は、以下に説明する基本構成の一例に過ぎない。基本構成に係るカメラサーバは、撮像装置により撮像された画像をクライアント端末装置に配信するカメラサーバ装置である。このようなカメラサーバ装置は、画像上の指定領域をマスクする指示をクライアント端末装置から受信すると、撮像装置の現在の画角に対応する増分量だけ指定領域を拡大した拡大指定領域のサイズを求める（計算）。そして、画像上の指定領域を覆うように、上記サイズを有するマスク画像を重ねた画像を合成画像として生成し、該生成した合成画像をクライアント端末装置に対して送信する。
【００６７】
［第２の実施形態］
以下に、第２の実施形態について説明する。なお、以下では、第１の実施形態との相違点のみについて説明し、以下で特に触れない限りは、第１の実施形態と同様であるとする。
【００６８】
本実施形態において、カメラサーバ１００が合成画像を配信する為に行う処理について、同処理のフローチャートを示す図１０を用いて説明する。ステップＳ１１１０，Ｓ１１２０，Ｓ１１３０はそれぞれ、上記のステップＳ８１０，Ｓ８２０，Ｓ８３０と同様であるため、これらのステップに係る説明は省略する。ステップＳ１１４０では、ＣＰＵ２００は、ステップＳ１１２０，Ｓ１１３０で求めたマスク画像水平角、マスク画像垂直角を一次記憶装置２４０に格納する。
【００６９】
ステップＳ１１５０では、ＣＰＵ２００は、マスク対象領域と同サイズのマスク画像を、ユーザにより指定された位置に重畳させた合成画像を生成する。そしてＣＰＵ２００は、この合成画像を圧縮符号化し、ステップＳ１１２０，Ｓ１１３０で求めたマスク画像水平角、マスク画像垂直角と共に、ネットワークＩ／Ｆ２７０を介してクライアント１２０に対して送信する。
【００７０】
カメラサーバ１００から上記合成画像、ステップＳ１１２０，Ｓ１１３０で求めたマスク画像水平角、マスク画像垂直角を受信した場合にクライアント１２０が行う処理について、同処理のフローチャートを示す図１１（ａ）を用いて説明する。
【００７１】
先ずＣＰＵ４００は、ネットワークＩ／Ｆ４６０を介して上記合成画像、ステップＳ１１２０，Ｓ１１３０で求めたマスク画像水平角、マスク画像垂直角を受信すると、これらを一次記憶装置４３０に格納する。
【００７２】
ステップＳ１２０１でＣＰＵ４００は、マスク対象領域のマスク画像垂直角とステップＳ１１２０で求めたマスク画像水平角とが同じ且つマスク対象領域のマスク画像垂直角とステップＳ１１３０で求めたマスク画像垂直角とが同じであるか否かを判断する。
【００７３】
この判断の結果、何れも同じである場合には、マスク画像水平角及びマスク画像垂直角の補正はなされていないと判断し、図１１（ａ）の処理は完了する。一方、何れかが異なる場合には補正がなされていると判断し、処理はステップＳ１２０２に進む。
【００７４】
ステップＳ１２０２でＣＰＵ４００は、ステップＳ１１２０，Ｓ１１３０で求めたマスク画像水平角及びマスク画像垂直角から上記のように決定する水平サイズ及び垂直サイズを有する枠を、合成画像上のユーザにより指定された位置に重畳させる。枠の表示方法は特定の表示方法に限るものではない。枠の代わりに、枠の内側を半透明に塗りつぶした矩形を表示しても構わない。そしてＣＰＵ４００は、このような合成画像を出力機器４９０に表示させる。
【００７５】
カメラサーバ側でマスクの重畳に補正画角でなく補正前の画角（マスク画像水平角、マスク画像垂直角）を用い、クライアント側でガイドラインを表示するのには以下の理由がある。ユーザは設定時において、パン・チルト制御を行わないためマスク対象領域にずれは生じない。また、ユーザの見せたくないといった意思表示でもあるため、確実にカメラサーバ側でマスクを設定することで、配信途中に盗聴などによりマスク領域を第三者に閲覧されることを防止できる。一方でガイドライン部は必ずしもユーザはマスク設定されることを望んでいるとは限らない。カメラサーバ側で重畳してしまうと、マスクが重畳されていない画像を出力するためには再度サーバから画像受信を行わなければならないが、クライアント側で重畳すればカメラサーバとの通信無しでガイドライン部のマスク有無を後で選択できるメリットがある。
【００７６】
クライアント１２０の出力機器４９０における合成画像の表示例を図９（ｂ）に示す。領域６００と同サイズのマスク画像７１０がユーザにより指定された位置に表示されていると共に、同位置に、補正画角に基づくサイズの枠１３２０が表示されている。この枠１３２０が、ずれる可能性がある範囲を示すガイドラインである。
【００７７】
［第３の実施形態］
本実施形態では、カメラサーバ１００の動作は第２の実施形態と同様であるが、クライアント１２０の動作が第２の実施形態とは異なる。本実施形態に係るクライアント１２０がカメラサーバ１００から上記合成画像、ステップＳ１１２０，Ｓ１１３０で求めたマスク画像水平角、マスク画像垂直角を受信した場合に行う処理について、同処理のフローチャートを示す図１１（ｂ）を用いて説明する。
【００７８】
先ずＣＰＵ４００は、ネットワークＩ／Ｆ４６０を介して上記合成画像、ステップＳ１１２０，Ｓ１１３０で求めたマスク画像水平角、マスク画像垂直角を受信すると、これらを一次記憶装置４３０に格納する。
【００７９】
ステップＳ１４１０でＣＰＵ４００は、マスク対象領域のマスク画像垂直角とステップＳ１１２０で求めたマスク画像水平角とが同じ且つマスク対象領域のマスク画像垂直角とステップＳ１１３０で求めたマスク画像垂直角とが同じであるか否かを判断する。
【００８０】
この判断の結果、何れも同じである場合には、マスク画像水平角及びマスク画像垂直角の補正はなされていないと判断し、図１１（ｂ）の処理は完了する。一方、何れかが異なる場合には補正がなされていると判断し、処理はステップＳ１４２０に進む。
【００８１】
ステップＳ１４２０でＣＰＵ４００は、二次記憶装置４４０から警告パネルの画像を読み出し、該読み出した警告パネルの画像を上記合成画像上に重畳させる。そしてＣＰＵ４００は、このような合成画像を出力機器４９０に表示させる。
【００８２】
クライアント１２０の出力機器４９０における合成画像の表示例を図９（ｃ）に示す。領域６００と同サイズのマスク画像７１０がユーザにより指定された位置に表示されていると共に、マスク画像がずれる可能性があることを示す警告パネルの画像１５１０が重畳表示されている。
【００８３】
［第４の実施形態］
本実施形態では、設置方向に応じて補正レベルを切り替える。本実施形態では、上記ステップＳ８３０における処理、即ち、マスク画像垂直角を補正して最終的なマスク画像垂直角を求める処理が、第１の実施形態とは異なる。
【００８４】
カメラサーバ１００の外観例を図１２に示す。１６００は正立に設置されたカメラサーバで、カメラヘッド１６１０は支持腕１６６０と連結されており、雲台制御プログラム３２０によって垂直方向にチルト制御される。支持腕１６６０はベースプレート１６２０と接続しており、雲台制御プログラム３２０によりチルト制御される。カメラヘッド１６１０はチルト制御することにより点線１６３０で示す方向（Ａ方向）と点線１６４０で示す方向（Ｂ方向）との間で撮像方向が制御される。正立の場合、重力の影響により、メカ誤差はＡ方向に近づくにつれてより大きくなる傾向にある。設置方向が倒立の場合のカメラサーバの外観が１６５０である。倒立の場合、重力の影響によりＢ方向に近づくにつれてメカ誤差がより大きくなる。
【００８５】
ステップＳ８３０で行う、設置方向に応じて補正レベルを切り替えて最終的なマスク画像垂直角を求める処理について、同処理のフローチャートを示す図１３を用いて説明する。
【００８６】
ステップＳ１７２０では、ＣＰＵ２００は、位置センサ２９３が計測し、位置取得Ｉ／Ｆ２９２を介して一次記憶装置２４０に格納されている最新の設置方向を参照し、該設置方向が正立を示しているか否かを判断する（規定の誤差を含んでいても良い）。この判断の結果、正立を示している場合には、処理はステップＳ１７３０に進み、正立を示していない（倒立を示している）場合には、処理はステップＳ１７４０に進む。
【００８７】
ステップＳ１７３０では、ＣＰＵ２００は、二次記憶装置２５０から、図１２に示したＡ方向に近づくにつれて画角誤差（メカ誤差）が大きくなるメカ誤差テーブルを一次記憶装置２４０にロードする。
【００８８】
一方、ステップＳ１７４０では、ＣＰＵ２００は、二次記憶装置２５０から、図１２に示したＢ方向に近づくにつれて画角誤差（メカ誤差）が大きくなるメカ誤差テーブルを一次記憶装置２４０にロードする。
【００８９】
ステップＳ１７６０，Ｓ１７７０，Ｓ１７８０ではそれぞれ、上記のステップＳ９２０，Ｓ９３０，Ｓ９４０の処理と同様の処理を行う。なお、ステップＳ１７６０以降の処理で用いるメカ誤差テーブルは、ステップＳ１７３０若しくはステップＳ１７４０で一次記憶装置２４０にロードしたメカ誤差テーブルである。
【００９０】
なお、同様の方法で、マスク画像水平角を補正するためのメカ誤差テーブルを選択し、該選択したメカ誤差テーブルを用いてマスク画像水平角を補正するようにしても構わない。もちろん、何れか一方のみを補正するようにしても構わない。なお、上記の各実施形態は適宜組み合わせて使用しても構わない。
【００９１】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014239390.tif 000003
【図２】
2014239390.tif 000004
【図３】
2014239390.tif 000005
【図４】
2014239390.tif 000006
【図５】
2014239390.tif 000007
【図６】
2014239390.tif 000008
【図７】
2014239390.tif 000009
【図８】
2014239390.tif 000010
【図９】
2014239390.tif 000011
【図１０】
2014239390.tif 000012
【図１１】
2014239390.tif 000013
【図１２】
2014239390.tif 000014
【図１３】
2014239390.tif 000015