(57)【特許請求の範囲】
【請求項１】
ネットワークを介してコントローラと接続されるネットワークカメラであって、
映像を撮影する撮像部と、
前記撮像部で撮影した映像を前記ネットワークへ出力するネットワークインターフェースと、
前記コントローラからの指示により前記撮像部を制御する制御部と、
前記ネットワークカメラの映像データと該映像データが撮影された前記ネットワークカメラの角度とが対応付けられた全周映像データを記録する記録部と、
前記全周映像データと現在の映像データとに基づいて前記ネットワークカメラの位置と向いている方向を推定する位置推定部と、
を備えることを特徴とするネットワークカメラ。
【請求項２】
ネットワークを介してネットワークカメラと接続されるコントローラであって、
前記ネットワークに接続するネットワークインターフェースと、
操作者による指示の入力を受けて前記ネットワークカメラからの映像を表示するユーザーインターフェースと、
前記ユーザーインターフェースからの指示を受けて前記ネットワークインターフェースを介して前記ネットワークカメラを制御するカメラ制御部と、
前記ネットワークカメラより取得した映像データと該映像データが撮影された前記ネットワークカメラの角度とが対応付けられた全周映像データを記録する記録部と、
前記全周映像データと前記ネットワークカメラからの映像データとに基づいて前記ネットワークカメラの位置と向いている方向を推定する位置推定部と、
を備えることを特徴とするコントローラ。
【請求項３】
請求項２に記載のコントローラであって、
前記制御部は、前記ネットワークカメラを初期角度に向け、ネットワークカメラの角度に所定の回転単位を加算し、初期角度から終了角度まで前記ネットワークカメラによって前記回転単位毎に取得された映像データを前記ネットワークカメラの角度と対応付けて前記記録部に記憶する、ことを特徴とするコントローラ。
【請求項４】
請求項２に記載のコントローラであって、
前記制御部は、前記位置推定部によって推定された前記ネットワークカメラの位置と向いている方向と、前記ネットワークカメラを向かせたい位置とから、前記ネットワークカメラを回転させる量を決定することを特徴とするコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークカメラに関し、具体的には、特定範囲内の指定した位置を撮影可能なネットワークカメラに関するものである。
【背景技術】
【０００２】
ネットワークを介してコントローラーからネットワークカメラに対してパン、チルトを指定し、ネットワークカメラの方向を制御することが行われている。
【０００３】
このようなネットワークを介した制御では、ネットワークによる遅延時間のため、コントローラーに表示される映像と、カメラの実際の方向が一致しないという問題があった。
【０００４】
これに対し、特許文献１では、カメラの撮影可能領域の中に、現在のカメラから得られた映像の領域に該当する範囲と、カメラに送信したパン、チルトを反映した後に撮影される領域に該当する範囲とを表示することにより、ネットワークによる遅延時間があっても、所望の位置へカメラを向かせることが容易に出来る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３０１１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に、操作者がカメラから送られてくる映像を見ながらパン、チルトの操作を行い、カメラを所望の位置に向かせる。パン、チルトの操作では、現在のカメラの方向を基準に、指定されたパン、チルトの量だけカメラが方向を変える。このため、所望の位置を向いたかどうかは、操作者が判断しなければならない。
【０００７】
固定されたカメラが、予めカメラが基準となる方向を向いていれば、所望の方向との差の分だけパン、チルトの量を与えることで、所望の位置を向かせることが出来る。
【０００８】
しかしながら、固定されていないカメラでは、予め基準となる方向がわからないため、どれだけパン、チルトの量を与えれば所望の位置を向かせられるか分からないという問題があった。
【０００９】
本発明は上記の課題を鑑みてなされたものであり、パン、チルトの制御が可能なネットワークカメラに対して、カメラの位置や向いている方向が予め分からなくても、カメラの位置と向いている方向を推定し、カメラを所望の位置に向かせる技術を提供することを主たる目的とする。
【課題を解決するための手段】
【００１０】
本発明のネットワークカメラは、映像を撮影する撮像部と、撮像部で撮影した映像をネットワークへ出力するネットワークインターフェースと、コントローラーからの指示により撮像部を制御する制御部と、全周映像データを記録する記録部と、全周映像データと現在の映像データから位置と向いている方向を推定する位置推定部と、を備えることを特徴とする。
【００１１】
本発明のコントローラーは、操作者による指示の入力を受けてネットワークカメラからの映像を表示するユーザーインターフェースと、ユーザーインターフェースからの指示を受けてネットワークインターフェースを介してネットワークカメラを制御するカメラ制御部と、全周映像取得用ネットワークカメラから取得した全周映像データを記録する記録部と、全周映像データとネットワークカメラからの映像データよりネットワークカメラの位置とネットワークカメラが向いている方向とを推定する位置推定部と、ネットワークに接続するネットワークインターフェースと、を備えることを特徴とする。
【００１２】
本発明の全周映像データ取得方法は、ネットワークカメラを初期角度に向け、ネットワークカメラから映像データを取得し、現在のネットワークカメラの角度と映像データの対を記録し、現在のネットワークカメラの角度に回転単位を加算すると終了角度より大きくなる場合は終了し、そうでない場合はネットワークカメラを回転単位の角度だけ回転し、該ネットワークカメラから映像データの取得を繰り返し、初期角度から終了角度まで回転単位毎に映像データを取得することを特徴とする。
【００１３】
本発明の位置推定方法は、予め取得した全周映像データと、ネットワークカメラが撮影した現在の映像データとから、ネットワークカメラの現在の位置とネットワークカメラが向いている方向とを求めることを特徴とする位置推定方法である。
【００１４】
本発明の回転量決定方法は、ネットワークカメラの現在の位置とネットワークカメラが向いている方向とネットワークカメラを向かせいたい位置とから、ネットワークカメラを回転させる量を決定することを特徴とする。
【００１５】
本発明のコントローラーは、複数のネットワークカメラについて位置推定処理、回転量決定処理を行い、該複数のネットワークカメラを一斉に特定の方向に向かせる機能を備えることを特徴とする。
【００１６】
本発明のネットワークカメラは、映像を撮影する撮像部と、撮像部で撮影した映像をネットワークへ出力するネットワークインターフェースと、コントローラーからの指示により撮像部を制御する制御部と、を備えることを特徴とする。
【００１７】
本発明のコントローラーは、複数のネットワークカメラに対して、マルチキャストで向かせたい位置を指示する機能を備えることを特徴とする。
【００１８】
本発明のネットワークカメラは、コントローラーから位置を指示された後、位置推定処理および回転量決定処理を行って必要な回転量を求め、コントローラーから指示された位置を向く機能を備えることを特徴とする。
【００１９】
本発明の位置推定方法は、複数のネットワークカメラの映像を使用することで精度を向上することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、パン、チルトの制御が可能なネットワークカメラに対して、カメラの位置や向いている方向が予め分からなくても、カメラの位置と向いている方向を推定し、カメラを所望の位置に向かせることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態におけるネットワークカメラシステム１００のシステム構成図である。
【図２】本実施形態におけるコントローラー２００の構成図である。
【図３】本実施形態における全周映像データ３００のデータ構造を示す図である。
【図４】本実施形態におけるコントローラー２００の全周映像データ取得処理の処理フローを説明するための図である。
【図５】本実施形態における全周映像データ取得処理でのネットワークカメラの配置を示す図である。
【図６】本実施形態における位置推定処理を説明するための図である。
【図７】本実施形態におけるネットワークカメラ７００の構成図である。
【図８】本実施形態におけるネットワークカメラ７００の構成図である。
【発明を実施するための形態】
【実施例１】
【００２２】
−−−システム構成−−−
以下に本発明の実施の形態について図面を用いて詳細に説明する。
【００２３】
図１は、本実施形態におけるネットワークカメラシステム１００のシステム構成図である。
【００２４】
図１に示すネットワークカメラシステム１００は、ネットワーク１０１に接続されネットワークカメラ７００を制御するコントローラー２００と、ネットワーク１０１に接続されコントローラー２００から制御されるネットワークカメラ７００と、それらを接続するネットワーク１０１と、により構成する。
【００２５】
−−−ネットワークカメラ−−−
図７は、本実施形態におけるネットワークカメラ７００の構成図である。
【００２６】
図７に示すネットワークカメラ７００は、映像を撮影する撮像部７０１と、撮像部７１０で撮影した映像をネットワーク１０１へ出力するネットワークインターフェース２１０と、コントローラー２００からの指示により撮像部７０１を制御する制御部７０２と、から構成される。
撮像部７０１は、イメージセンサーを備え映像を撮影する機能と、モーターを備えネットワークカメラの方向を変える機能を持つ。
制御部７０２は、ネットワークインターフェース２１０を介してコントローラー２００からの指示を受け、撮像部７１０のイメージセンサーやモーターを制御する。
【００２７】
−−−コントローラー−−−
図２は、本実施形態におけるコントローラー２００の構成図である。
【００２８】
図２に示すコントローラー２００は、操作者による指示の入力を受け、ネットワークカメラ７００からの映像を表示するユーザーインターフェース２０１と、ユーザーインターフェース２０１からの指示を受けネットワークインターフェース２１０を介してネットワークカメラ７００を制御するカメラ制御部２０２と、全周映像取得用ネットワークカメラ７００から取得した全周映像データ３００を記録する記録部２０３と、全周映像データ３００とネットワークカメラ７００からの映像データよりネットワークカメラ７００の位置とネットワークカメラ７００が向いている方向とを推定する位置推定部２０４と、ネットワーク１０１に接続するネットワークインターフェース２１０と、により構成する。
【００２９】
−−−全周映像データ−−−
図３は、本実施形態における全周映像データ３００のデータ構造を示す図である。
【００３０】
図３に示す全周映像データ３００は、角度と映像データが対になったデータであり、全周映像データ取得処理Ｓ４００により取得する。
【００３１】
−−−全周映像データ取得処理−−−
図４は、本実施形態におけるコントローラー２００の全周映像データ取得処理の処理フローを説明するための図である。
【００３２】
コントローラー２００は全周映像データ取得処理Ｓ４００により、カメラが撮影する全周の映像を取得する。ここではパンによる水平方向の回転のみを用いて全周の映像を取得するとして説明するが、本発明は、パン、チルト、ズームを変化させて全周の映像を取得する場合も含む。
【００３３】
全周映像データ３００は、対象エリア中央５０１に配置したネットワークカメラ７００がパン方向に初期角度から終了角度まで回転角度毎に取得した映像データからなるデータである。
【００３４】
全周映像データ取得処理Ｓ４００の手順を以下に説明する。
【００３５】
コントローラー２００の位置推定部２０４は、全周映像データ取得処理Ｓ４００において、予め設定された位置推定部２０４が記録していた回転単位、初期角度、終了角度を取り出し（Ｓ４０１）、ネットワークカメラ７００を初期角度に向け（Ｓ４０２）、ネットワークカメラ７００から映像データを取得し（Ｓ４０３）、現在のネットワークカメラ７００の角度と取得した映像データを対にして記録部２０３に記録し（Ｓ４０４）、現在のネットワークカメラ７００の角度に回転単位を加算すると（Ｓ４０５）終了角度よりも大きくなる場合は終了する。終了角度よりも大きくならない場合は、ネットワークカメラ７００を回転単位の角度だけ回転し（Ｓ４０６）た後、Ｓ４０３からＳ４０５までを繰り返す。
【００３６】
−−−全周映像データ取得処理でのネットワークカメラの配置−−−
図５は、本実施形態における全周映像データ取得処理でのネットワークカメラの配置を示す図である。
【００３７】
全周映像データ取得処理ではネットワークカメラ７００を回転して対象エリア５００全体を撮影するために、ネットワークカメラ７００を対象エリア中央５０１に配置する。
【００３８】
図５では、ネットワークカメラ７００を配置するときに、図上方を基準角度０度としている。
【００３９】
−−−位置推定処理−−−
図６は、本実施形態における位置推定処理を説明するための図である。
【００４０】
位置推定処理では、カメラ映像と全周映像を比較し、カメラが向いている方向θと、対象エリア中央５０１からの距離dと、水平方向の位置xを求める。 
先ず、θを求めるために、カメラ映像と、角度T（T=0,5,...,355度）の全周映像をθ'（θ=-85, -80, ..., 85度）の角度から見た場合に相当する映像と比較し、その中でカメラ映像と最も近くなるTとθ'を求める。 
角度Tの全周映像の中心部に映っている位置OをカメラVから見る場合、角度Tの方向とカメラVが映す方向とのなす角を角度θ'、位置OとカメラVの距離をd'、Oを原点（x'=0）としたときの全周画像上の横方向の位置をx'とすると、Vとx'との距離はSqrt(d'^2 + x'^2 - 2*x'*d'*sinθ) となる。 
透視投影を考慮すると、カメラ映像の各ピクセルP'（x', y'）は、角度Tの全周映像の各ピクセルP（x'*cosθ'/ Sqrt(d'^2 + x'^2 - 2*x'*d'*sinθ), y'/ Sqrt(d'^2 + x'^2 - 2*x'*d'*sinθ)）に対応する。 
それぞれのθ', d'について、カメラ映像のすべてのピクセル値P'について、対応する角度Tの全周映像の各ピクセル値Pとの差の二乗和Dを求める。 
この値Dが小さいほど、θ', d'での角度Tの全周映像がカメラ映像近いことを示す。 
Dを最小とするθ'を、カメラが向いている方向θとする。 
次に、カメラの水平方向の位置xを求める。 
Dを最小とするθ', d'に対し、カメラ映像を水平方向にx''移動したときに、角度T-θの全周映像と最も近くなる位置x''を求める。 
水平方向にx''移動したカメラ映像の各ピクセルP'（x', y'）は、角度T-θの全周映像の各ピクセルP（(x'-x'')*cosθ'/ Sqrt(d'^2 + (x'-x'')^2 - 2*(x'-x'')*d'*sinθ), y'/ Sqrt(d'^2 + (x'-x'')^2 - 2*(x'-x'')*d'*sinθ)）に対応する。
【００４１】
それぞれのx''について、カメラ映像のすべてのピクセル値P'について、対応する角度Tの全周映像の各ピクセル値Pとの差の二乗和Eを求める。 
この値Eが小さいほど、水平方向にx''移動した角度T-θの全周映像がカメラ映像に近いことを示す。
【００４２】
Eを最小とするx''をカメラの水平方向の位置xとする。 
対象エリア中央５０１から角度T-θの全周映像の中心部に映っている位置O'までの距離をd''とし、d = d''-d'-x*sinθによるdを、対象エリア中央５０１からの距離dとする。
【００４３】
以上により、カメラが向いている方向θと、対象エリア中央５０１からの距離dと、水平方向の位置xとを求める。
【００４４】
−−−回転量決定処理−−−
次に回転量決定処理について説明する。
【００４５】
上記により、求めたカメラが向いている方向θと、対象エリア中央５０１からの距離dと、水平方向の位置xとを、図５に示す対象エリア５００の平面において対象エリア中央５０１を原点とし、基準角度方向をX軸、X軸と直交する方向をY軸とするX-Y直交座標系に変換すると、ネットワークカメラ７００の位置はC（d*sinθ+x*cosθ, d*cosθ-x*sinθ）となる。
【００４６】
ネットワークカメラ７００を向かせたい位置をX-Y直交座標系で（X', Y'）とすると、ネットワークカメラ７００をパンさせる角度θ''はθ'' = arctan((X' - d*sinθ- x*cosθ)/(Y' - d*cosθ + x*sinθ))-θとなる。
【００４７】
ネットワークカメラ７００をθ''だけパンさせることにより、ネットワークカメラ７００を向かせたい位置に向かせる。
【００４８】
−−−まとめ−−−
コントローラー２００は、全周映像データ取得処理により、全周映像データ３００を取得する。
【００４９】
コントローラー２００は、予め取得した全周映像データ３００と、ネットワークカメラ７００から取得した映像データから、位置推定処理により、ネットワークカメラ７００の位置と向いている方向を求める。
【００５０】
コントローラー２００は、回転量決定処理により、ネットワークカメラ７００の現在の位置とネットワークカメラ７００が向いている方向と、ネットワークカメラ７００を向かせたい位置とから、ネットワークカメラ７００をパンさせる角度を求め、その角度だけネットワークカメラ７００をパンさせることにより、ネットワークカメラ７００を向かせたい位置に向かせる。
【００５１】
以上により、コントローラー２００はネットワークカメラ７００を向かせたい位置に向かせることが可能になる。
【実施例２】
【００５２】
−−−複数カメラ−−−
コントローラー２００は、対象エリア５００内にある複数のネットワークカメラ７００に対して、それぞれ位置推定処理、回転量決定処理を行い、特定の位置に一斉に複数のネットワークカメラ７００を向かせる。
【００５３】
以上により、コントローラー２００は複数のネットワークカメラ７００を一斉に向かせたい位置に向かせることが可能になる。
【実施例３】
【００５４】
−−−カメラ自身が位置推定−−−
実施例１では、コントローラー２００がネットワークカメラ７００の位置を求めたが、実施例２では、ネットワークカメラ７００が全周映像データ３００を記録する記録部２０３と、全周映像データ取得処理、位置推定処理、回転量決定処理を行う位置推定部２０４とを備え、ネットワークカメラ７００がネットワークカメラ７００の位置を求める。また、ネットワークカメラ７００自身が全周映像データ３００を撮影することができる。また、ネットワークカメラ７００自身が撮影した映像データを位置推定部の入力として使用することができる。
【００５５】
−−−ネットワークカメラ−−−
図８は、本実施形態におけるネットワークカメラ７００の構成図である。
【００５６】
図８に示すネットワークカメラ７００は、映像を撮影する撮像部７０１と、撮像部７１０で撮影した映像をネットワーク１０１へ出力するネットワークインターフェース２１０と、コントローラー２００からの指示により撮像部７０１を制御する制御部７０２と、操作者からの指示を入力するユーザーインターフェース２０１と、全周映像データ３００を記録する記録部２０３と、全周映像データ３００と現在の映像データからネットワークカメラ７００の位置と向いている方向を推定する位置推定部２０４と、により構成される。
【００５７】
この場合、コントローラー２００がネットワークカメラ７００に向かせたい位置を指示すると、ネットワークカメラ７００は位置推定処理、および回転量決定処理により必要な回転量を求め、指示された位置を向く。
【００５８】
以上により、コントローラー２００はネットワークカメラ７００を向かせたい位置に向かせることが可能になる。
【実施例４】
【００５９】
−−−複数カメラ−−−
コントローラー２００は、対象エリア５００内にある複数のネットワークカメラ７００に対して、マルチキャストで向かせたい位置を指示することにより、複数のネットワークカメラ７００が一斉に特定の位置に向く。
【００６０】
以上により、コントローラー２００は複数のネットワークカメラ７００を一斉に向かせたい位置に向かせることが可能になる。
【実施例５】
【００６１】
−−−複数カメラによる位置推定処理の精度向上−−−
複数のネットワークカメラ７００の相互の相対的な位置関係が分かっている場合、個々のネットワークカメラ７００で角度Tの全周映像の各ピクセル値Pとの差の二乗和を求めるのではなく、複数のネットワークカメラ７００を一つのカメラとして扱い、各ネットワークカメラ７００のカメラ映像と全周映像のピクセル値の差の二乗和の総和を最小にするθ'、d'を求めることにより、位置推定処理の精度が向上する。
【００６２】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、本発明はこれらの形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００６３】
１００    ネットワークカメラシステム
１０１    ネットワーク
２００    コントローラー
２０１    ユーザーインターフェース
２０２    カメラ制御部
２０３    記録部
２０４    位置推定部
２１０    ネットワークインターフェース
３００    全周映像データ
５００    対象エリア
５０１    対象エリア中央
７０１    撮像部
７０２    制御部
【図１】
0005542521.tif 000002
【図２】
0005542521.tif 000003
【図３】
0005542521.tif 000004
【図４】
0005542521.tif 000005
【図５】
0005542521.tif 000006
【図６】
0005542521.tif 000007
【図７】
0005542521.tif 000008
【図８】
0005542521.tif 000009