説明

パノラマ画像の生成方法

【課題】複数の撮像画像から生成されるパノラマ画像の品質を向上する。
【解決手段】カメラサーバ1の通信制御部14は、複数回の撮像により得られた複数の撮像画像から生成されたパノラマ画像に、プライバシーマスク画像が重畳されるように、カメラサーバ1の画像重畳部19をオフにする。そして、通信制御部14は、プライバシーマスク画像が重畳されていない撮像画像をパノラマ画像生成用クライアント3へ送信する。そして、パノラマ画像生成クライアント3は、通信制御部14からの撮像画像を用いてパノラマ画像の生成とプライバシーマスク画像の重畳を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の撮像画像からパノラマ画像を生成するパノラマ画像生成方法に関するものである。
【背景技術】
【0002】
パノラマ画像生成方法として、特許文献1には、撮像装置の首振りにより撮影可能な全範囲を複数領域に分割し、各領域の撮像画像を射影変換してつなぎ合わせることが記載されている。
また、プライバシーマスクの合成方法として、特許文献2には、首振り角度に応じた位置と大きさのプライバシーマスクを生成し、撮像画像に重畳することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−136514号公報
【特許文献2】特開2001−69494号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、撮像画像に対して行われる処理の位置によっては、パノラマ画像の品質が劣化してしまう恐れがあった。
【0005】
例えば、パノラマ画像を生成するための複数の撮像画像の間でプライバシーマスク領域が跨る場合、プライバシーマスク画像が重畳された複数の撮像画像を射影変換でパノラマ画像を生成すると、つなぎ合わせ部分でプライバシーマスク画像がずれる恐れがあった。
【0006】
また、撮像日時や撮像場所などのオンスクリーン画像を撮像画像に重畳するオンスクリーン表示機能を備えた撮像装置でパノラマ画像を生成する場合もパノラマ画像の品質が劣化する恐れがある。すなわち、オンスクリーン画像の重畳位置によっては、パノラマ画像上での撮像画像のつなぎ合わせの部分に、不要なオンスクリーン画像が重畳されてしまう恐れがあった。
【0007】
上記のように生成されたパノラマ画像の例を図5に示す。図5には、斜線部分をプライバシーマスク画像、下側の日時が示されている部分をオンスクリーン画像として表わしている。図5に示すように、各撮像画像のプライバシーマスク画像の重畳位置によっては、プライバシーマスク画像のふちの部分にがたつきが生じたり、部分的に切れたようになってしまう恐れがあった。また、各撮像画像のオンスクリーン画像の重畳位置によっては、識別不可能な不要なオンスクリーン画像が重畳されてしまう恐れがあった。
【0008】
本発明は上記の問題点に鑑みてなされたものであり、その目的は、複数の撮像画像から生成されるパノラマ画像の品質を向上することである。
【課題を解決するための手段】
【0009】
上記の目的を達成するために、本発明のパノラマ画像生成装置は、例えば以下の構成を有する。すなわち、複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成する処理装置であって、前記パノラマ画像上に重畳される所定の画像の前記撮像画像上における重畳位置を決定するための重畳パラメータを入力する入力手段と、前記複数回の撮像により得られた複数の撮像画像の座標値の変換処理により前記複数の撮像画像からパノラマ画像を生成する生成手段と、前記撮像画像上における重畳位置が前記座標値の変換処理により変換された前記パノラマ画像上における重畳位置に前記所定の画像が重畳されるように前記撮像画像上における重畳位置を決定するための重畳パラメータに基づいて前記パノラマ画像上における前記所定の画像の重畳位置を決定する決定手段とを有する。
【発明の効果】
【0010】
本発明によれば、複数の撮像画像から生成されるパノラマ画像の品質を向上できる。
【図面の簡単な説明】
【0011】
【図1】パノラマ画像を生成するネットワークカメラシステムのブロック図
【図2】パノラマ画像を生成する処理を説明するためのフローチャート
【図3】クライアントでの画面表示例
【図4】撮像画像平面とパノラマ画像平面の概念図
【図5】従来の方法で生成されたパノラマ画像の例
【発明を実施するための形態】
【0012】
以下に、本発明の好ましい実施形態を、添付の図面に基づいて詳細に説明する。
図1は、本実施形態におけるネットワークカメラシステムのブロック図である。
本実施形態では、カメラサーバ1、ビューワークライアント2(以下クライアント2)、パノラマ画像生成用クライアント3(以下クライアント3)がネットワーク4を介して接続されている。カメラサーバ1、クライアント2、クライアント3は、それぞれ、ネットワーク4に複数接続することも可能である。本形態において、クライアント3は、複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成する処理装置である。なお、本形態におけるパノラマ画像とは、1回の撮像で得られる撮像画像よりも広視野角の画像である。
【0013】
ネットワーク4は、カメラ制御信号や、カメラサーバ1による撮像画像を通信可能なインターネットやイントラネット等のディジタルネットワークである。本実施形態ではネットワークプロトコルとしてTCP/IP(またはUDP/IP)プロトコルを仮定する。また、本実施形態では、カメラサーバ1、クライアント2、クライアント3には、それぞれ異なるIPアドレスが割り当てられている。
【0014】
カメラサーバ1は、クライアント2、3から画像要求コマンドに応じて、撮像画像をネットワーク4を介して配信する。また、カメラサーバ1は、クライアント2、3からのカメラ制御コマンドに応じて、各種カメラ制御(例えばパン・チルト・ズーム制御)を実行する。カメラサーバ1の画像入力部15は、ビデオカメラ11による撮像画像(動画および静止画)を取り込む。画像入力部15は、プライバシーマスクやオンスクリーン表示が有効になっている場合、取り込んだ撮像画像を画像重畳部19へ入力し、無効になっている場合は画像圧縮部16に入力する。
【0015】
画像重畳部19は、入力された撮像画像に対してプライバシーマスク画像やオンスクリーン画像を重畳し、当該重畳後の撮像画像を画像圧縮部16へ入力する。すなわち、カメラサーバ1の画像重畳部19は、撮像画像にオンスクリーン画像やプライバシーマスク画像を重畳する。オンスクリーン画像とは、例えば、撮像画像の撮像日、撮像時刻、撮像場所、撮像対象に関するテキスト画像やイメージ画像、カメラサーバ1の識別情報などである。また、プライバシーマスク画像とは、例えば、撮像画像内の人物や名称や数字などを特定できないようにするためのマスク画像である。プライバシーマスク画像は、例えば一色で塗りつぶしたような画像であっても、モザイク画像であっても良い。
【0016】
本形態のクライアント2、3の操作入力部23、34は、プライバシーマスク画像の重畳位置を入力できる。そして、クライアント2、3の通信制御部21、31は、操作入力部23、34による重畳位置の入力に応じて、カメラサーバ1に対して重畳位置を示す重畳パラメータを含むコマンドを送信する。カメラサーバ1の画像重畳部19は、クライアント2、3から通知された重畳パラメータ、および、重畳位置の入力時のビデオカメラ11のパン・チルト・ズーム値と、現在のパン・チルト・ズーム値に応じた撮像画像上の領域に、プライバシーマスク画像を重畳する。また、複数の撮像画像からパノラマ画像を生成する場合、撮像画像上における重畳位置の入力に応じて、パノラマ画像上でもプライバシーマスク画像が重畳される。ただし、プライバシーマスク画像の重畳位置は、ユーザーによる重畳領域の入力に基づいて決定される例に限らず、例えば、画像処理によって検出された顔領域などに重畳されるように決定することも可能である。
【0017】
画像圧縮部16は、画像入力部15又は画像重畳部19により入力された撮像画像をクライアントに配信しやすいデータサイズに圧縮し、通信制御部14へ入力する。通信制御部14は、画像圧縮部16による圧縮済みの撮像画像をネットワーク4を介して画像要求コマンドの送信元クライアントに対して送信する。
【0018】
記憶部18は、プライバシーマスクやオンスクリーン表示の設定値、クライアント3によって生成されたパノラマ画像などの各種設定値およびデータを保持する。コマンド解釈部17は、クライアント2、3からのコマンドを解釈して、カメラサーバ1の各部の制御を行う。例えば、コマンド解釈部17は、通信制御部14によるカメラ制御コマンドの受信に応じてカメラ・雲台制御部13を介して可動雲台12の向きやビデオカメラ11のズーム倍率などを制御する。本形態の画像圧縮部16は、ビデオカメラ11からのNTSC画像信号をA/D変換した後、MotionJEPGで圧縮する。ただし、他の圧縮形式を用いることも可能である。また、コマンド解釈部17は、通信制御部14によるプライバシーマスク画像の重畳位置を示す重畳パラメータを含むコマンドの受信に応じて当該重畳パラメータを記憶部18と画像重畳部19に入力する。
【0019】
クライアント2は、カメラサーバ1に割り当てられているIPアドレスを指定してカメラサーバ1に接続される。通信制御部21は、画像要求コマンド、カメラ制御コマンドをカメラサーバ1へ送信する。また、通信制御部21は、カメラサーバ1からの撮像画像、パノラマ画像、各種カメラ制御の結果を受信する。また、表示制御部24は、画像伸長部25で展開された撮像画像およびパノラマ画像や、各種カメラ制御の結果からグラフィカルユーザーインタフェース(GUI)を生成し、画面表示部26で表示させる。操作入力部23は、ユーザーのマウスやキーボードによるGUI操作を受け付ける。
【0020】
ユーザーのGUI操作とは、例えば、カメラサーバ1に対してパン、チルト制御やズーム制御を指示するための操作である。より具体的には、ユーザーは、画面表示部26に表示されたパノラマ画像上でのマウスクリックや、ビデオカメラ11のパン・チルト・ズーム値を表す枠のドラッグといったGUI操作を行う。コマンド生成部22は、操作入力部23が受け付けたGUI操作に応じて各種カメラ制御コマンドを生成する。生成されたカメラ制御コマンドは通信制御部21からカメラサーバ1に送信される。
【0021】
クライアント3は、クライアント2と同様にカメラサーバ1に割り当てられているIPアドレスを指定してカメラサーバ1に接続される。通信制御部31、表示制御部35、画像伸長部36、画面表示部37は、それぞれクライアント2と同様の機能を備える。
【0022】
クライアント3の操作入力部34は、クライアント2の操作入力部23で入力される操作入力に加え、カメラサーバ1にパノラマ画像を要求するためのGUI操作の入力を受け付ける。パノラマ画像を要求するためのGUI操作には、パノラマ画像の範囲を指定するGUI操作も含まれる。クライアント3の制御パラメータ算出部33は、操作入力部34により入力された、パノラマ画像を要求するためのGUI操作に応じて、パノラマ画像生成用の画像を撮像するためのパン・チルト角度の算出し、算出結果をコマンド生成部32に入力する。コマンド生成部32は、入力されたパン・チルト角度に応じたカメラ制御コマンドを生成し、通信制御部31を介してカメラサーバ1へ送信する。このカメラ制御コマンドを受信したカメラサーバ1は、カメラ制御コマンドに応じたパン・チルト角度へ可動雲台12を制御した後、ビデオカメラ11による撮像画像をクライアント3へ送信する。また、クライアント3の操作入力部34は、撮像画像上におけるプライバシーマスク画像の重畳位置を指定するための入力も可能である。操作入力部34からプライバシーマスク画像の重畳位置が入力されると、通信制御部31は、重畳位置を示す重畳パラメータを含むコマンドをカメラサーバ1へ送信する。
【0023】
パノラマ画像生成部38は、カメラサーバ1から受信した複数の撮像画像からパノラマ画像を生成する。すなわち、パノラマ画像生成部38は、画像伸長部36で伸長された複数の撮像画像の座標値を後述する変換処理(射影変換)で変換してつなぎ合わせることでパノラマ画像を生成する。パノラマ画像生成部38により生成されたパノラマ画像は画像重畳部39に入力される。
【0024】
画像重畳部39は、パノラマ画像生成部38によって生成されたパノラマ画像に対してプライバシーマスク画像を重畳し、画像圧縮部30へ出力する。クライアント3の画像重畳部39は、パノラマ画像上におけるプライバシーマスク画像の重畳位置を、撮像画像上で指定された重畳位置を示す重畳パラメータと射影変換の計算式に基づいて決定する。すなわち、画像重畳部39は、撮像画像上における重畳位置が変換されたパノラマ画像上における重畳位置に、所定の画像(プライバシーマスク画像)が重畳されるように、パノラマ画像上におけるプライバシーマスク画像の重畳位置を決定する。画像重畳部39は、決定した重畳位置にプライバシーマスク画像を重畳する。
【0025】
画像圧縮部30は、画像重畳部39によりプライバシーマスク画像が重畳されたパノラマ画像を圧縮処理して通信制御部31に渡す。通信制御部31からカメラサーバ1へ送信されたパノラマ画像は、カメラサーバ1の記憶部18に記憶され、他のクライアント(クライアント2)からの要求に応じて配信される。
【0026】
図2は、本実施形態のカメラサーバ1とクライアント3におけるパノラマ画像の生成処理を説明するためのフローチャートである。なお、クライアント3は複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成する処理装置である。図2の処理は、クライアント3の操作入力部34で、パノラマ画像の生成を指示する操作が入力されたことに応じて開始される。
【0027】
S101において、クライアント3のコマンド生成部32は、カメラサーバ1のオンスクリーン表示(OSD)が有効(オン)であるか否かを判定する。そして、コマンド生成部32は、オンスクリーン表示がオンであるとS101で判定された場合、S102において、カメラサーバ1のオンスクリーン表示を無効(オフ)にするための制御コマンドを送信する。カメラサーバ1の通信制御部14は、オンスクリーン表示を無効にするための制御コマンドの受信に応じて、画像重畳部19によるオンスクリーン表示の機能を無効(オフ)にする。
【0028】
S103において、コマンド生成部32は、カメラサーバ1のプライバシーマスク処理が有効(オン)であるか否かを判定する。そして、コマンド生成部32は、プライバシーマスク処理がオンであるとS103で判定された場合、S104において、カメラサーバ1のプライバシーマスク処理を無効(オフ)にするための制御コマンドを送信する。カメラサーバ1の通信制御部14はプライバシーマスク処理を無効にするための制御コマンドの受信に応じて、画像重畳部19によるプライバシーマスク処理を無効(オフ)にする。
【0029】
S105において、クライアント3の制御パラメータ算出部33は、操作入力部34から入力されたパノラマ画像の範囲に関する情報に応じて、パノラマ画像を生成するための複数の撮像画像それぞれのパン・チルト角度を算出する。
【0030】
S106において、コマンド生成部32は、S105で算出された複数のパン・チルト角度のうちの1つのパン・チルト角度に応じた撮像方向にビデオカメラ11を制御するためのカメラ制御コマンドを送信する。
【0031】
S106で送信されたカメラ制御コマンドに応じた撮像方向にビデオカメラ11の撮像方向が制御されたことを示す通知を通信制御部31が受信すると、S107において、コマンド生成部32は、撮像コマンドを送信する。ビデオカメラ11は、通信制御部14による撮像コマンドの受信に応じて、現在のパン・チルト角度で撮像を行う。これにより、パノラマ画像を生成するための複数の撮像画像のうちの1枚が得られる。ビデオカメラ11により得られた撮像画像は、画像圧縮部16で圧縮され、通信制御部14を介してクライアント3へ送信される。
【0032】
S108(生成手順)において、カメラサーバ1から圧縮済みの撮像画像を受信したクライアント3は、画像伸長部36で撮像画像を伸長し、パノラマ画像生成部38でほかの撮像画像とつなぎ合わせてパノラマ画像を生成する。すなわち、クライアント3のパノラマ画像生成部38は、複数の撮像により得られた複数の撮像画像の座標値の変換処理(射影変換)により複数の撮像画像からパノラマ画像を生成する。変換処理の詳細は後述する。
【0033】
S109において、コマンド生成部32は、パノラマ画像の生成に用いるすべての撮像画像が得られたか否か、及び、パノラマ画像の生成を中断する指示が入力されたか否かを判定する。すべての撮像画像が得られた、又は、パノラマ画像の生成を中断する指示が入力されたと判定された場合はS110へ進む。一方、すべての撮像画像が得られていないと判定され、かつ、パノラマ画像の生成を中断する指示が入力されていないと判定された場合はS106に戻る。
【0034】
S106に戻った場合、コマンド生成部32は、S105で算出された複数のパン・チルト角度のうち、これまでとは異なるパン・チルト角度に応じた方向にビデオカメラ11を制御するためのカメラ制御コマンドを送信する。そして、S107〜S109は上記の説明と同様の処理を行う。S106からS109の処理を繰り返すことにより、クライアント3は、パノラマ画像の生成に用いるすべての撮像画像を得られる。
【0035】
S110において、コマンド生成部32は、S102でカメラサーバ1のオンスクリーン表示を無効にしたか否かを判定する。無効にしたと判定された場合、S111において、コマンド生成部32は、カメラサーバ1のオンスクリーン表示を有効にするための制御コマンドを送信する。
【0036】
S112において、コマンド生成部32は、S104でカメラサーバのプライバシーマスク処理を無効にしたか否かを判定する。無効にしたと判定された場合、S113において、コマンド生成部32は、カメラサーバ1のプライバシーマスク処理を有効にするための制御コマンドを送信する。
【0037】
S114において、画像重畳部39は、S109でパノラマ画像の生成が中断されたか否かを判定する。パノラマ画像の生成が中断されていないと判定された場合、S115に進み、画像重畳部39は、S106〜S109により得られた複数の撮像画像から生成されたパノラマ画像に対してプライバシーマスク画像を重畳する。
【0038】
すなわちS115(入力手順)において、画像重畳部39は、記憶部18が保持するプライバシーマスクの位置に関するパラメータ、描画方法に関するパラメータを入力する。プライバシーマスクの位置に関するパラメータには、プライバシーマスクの重畳位置を示す重畳パラメータ、当該重畳パラメータ設定時のパン・チルト・ズーム値、及び、現在のパン・チルト・ズーム値に関する情報が含まれる。また、描画方法に関するパラメータには、プライバシーマスク画像の色や模様に関する情報が含まれる。
【0039】
そして、S115(決定手順)において、画像重畳部39は、パノラマ画像上におけるプライバシーマスク画像の重畳位置を、撮像画像上で指定されたプライバシーマスク画像の重畳位置に関するパラメータと、後述する射影変換の計算式に基づいて決定された重畳位置に重畳する。すなわち、画像重畳部39は、撮像画像上における重畳位置が変換されたパノラマ画像上における重畳位置にプライバシーマスク画像が重畳されるように、重畳パラメータに基づいてパノラマ画像上におけるプライバシーマスク画像の重畳位置を決定する。
【0040】
このように、本形態のカメラサーバ1の通信制御部14は、S102、S104(制御手順)において、カメラサーバ1の画像重畳部19によるオンスクリーン表示とプライバシーマスク処理の機能を無効(オフ)にする。そして、通信制御部14は、ビデオカメラ11により撮像され、オンスクリーン画像やプライバシーマスク画像が重畳されていない状態の複数の撮像画像を、クライアント3へ送信する。そして、クライアント3は、複数の撮像画像をつなぎ合わせてパノラマ画像を生成し、その後、クライアント3の画像重畳部39が重畳処理を行う。すなわち、S102、S104において、カメラサーバ1の通信制御部14は、複数回の撮像により得られた複数の撮像画像から生成されたパノラマ画像に、所定の画像(プライバシーマスク画像)が重畳されるように制御する。そして、S115において、クライアント3の通信制御部31は、画像重畳部39により各種画像が重畳されたパノラマ画像をカメラサーバ1へ送信する。カメラサーバ1は、受信したパノラマ画像を記憶部18に記憶させる。カメラサーバ1の通信制御部14は、クライアント2からの要求に応じて、記憶部18に記憶されたパノラマ画像をクライアント2へ送信する(出力手順)。
【0041】
なお、本形態では、S115においてプライバシーマスク画像を重畳する例を説明したが、パノラマ画像の生成と平行して重畳処理を行うようにしても良い。例えば、クライアント3のパノラマ画像生成部38は、パノラマ画像を生成するための複数回の撮像のうち、第1の撮像により得られた第1の撮像画像と、第2の撮像により得られた第2の撮像画像とを合成してパノラマ画像の一部を生成する。そして、クライアント3の画像重畳部39は、パノラマ画像生成部38によるパノラマ画像の一部の生成時に第1の撮像画像と第2の撮像画像に跨って重畳される画像を第1の撮像画像と第2の撮像画像のそれぞれに重畳する。このようにすることで、パノラマ画像が完全に出来上がってから重畳処理をするよりも早くパノラマ画像の生成を完了できる。
【0042】
また、S115において、画像重畳部39は、パノラマ画像に対してオンスクリーン画像を重畳することも可能である。すなわち、画像重畳部39は、記憶部18が保持するオンスクリーン表示の位置に関する重畳パラメータ(撮像画像上での位置、大きさ)、および表示内容に関するパラメータ(文字列、フォント)に基づいてオンスクリーン画像を重畳しても良い。また、例えばパノラマ画像を表示するクライアント2で、オンスクリーン画像を重畳するようにしても良い。
【0043】
図3は、カメラサーバ1において、オンスクリーン画像とプライバシーマスク画像が重畳された撮像画像を表示するクライアント2の画面表示例である。
【0044】
クライアント2の表示画面には、ビデオカメラ11で撮影されたライブ画像を表示するライブ画像表示部50、カメラサーバ1の記憶部18から取得されたパノラマ画像を表示するパノラマ画像表示部51を有する。また、クライアント2の表示画面には、つまみのドラッグにより可動雲台12のパン・チルト制御を指示するパンスクロールバー52およびチルトスクロールバー53、つまみのドラッグによりビデオカメラ11のズーム制御を指示するズームスライダー54を有する。さらに、パノラマ画像表示部51内には、パン・チルト・ズーム制御を指示するためのパノラマプレビュー枠55が表示される。パノラマプレビュー枠55を例えばマウスドラッグにより移動させることにより、ビデオカメラ11の撮像方向を制御することが可能である。また、パノラマプレビュー枠55の大きさを例えばマスクドラッグにより変更することで、ビデオカメラ11のズーム倍率を制御することが可能である。ライブ画像表示部50には、パノラマプレビュー枠55に対する操作による制御後のライブ画像が表示される。
【0045】
カメラサーバ1においてオンスクリーン表示とプライバシーマスクが有効な場合、画像重畳部19でオンスクリーン画像57とプライバシーマスク画像56が重畳された撮像画像がライブ画像表示部50に表示される。撮像画像上のオンスクリーン画像57は、記憶部18が保持するオンスクリーン表示の位置に関するパラメータ(撮像画像上での位置、大きさ)、および表示内容に関するパラメータ(文字列、フォント)に基づいて画像重畳部19が重畳したものである。
【0046】
また、撮像画像上のプライバシーマスク画像56は、記憶部18が保持するプライバシーマスクの重畳位置に関するパラメータ、描画方法に関するパラメータに基づいて重畳された画像である。プライバシーマスクの重畳位置に関するパラメータには、例えばプライバシーマスク画像の重畳位置に関する重畳パラメータ、重畳パラメータ設定時のパン・チルト・ズーム値、及び、現在のパン・チルト・ズーム値に関する情報が含まれる。また、描画方法に関するパラメータには、プライバシーマスク画像の色や模様に関する情報が含まれる。
【0047】
なお、図3のプライバシーマスク画像56は、左側の一部が切れており、左にパンすることでプライバシーマスク画像全体が見えるようになる。このようにプライバシーマスクの一部が切れてしまう問題は、パノラマ画像生成時の画像撮像時にも発生し、S103で算出されたパン・チルト角度によっては、1つのプライバシーマスクが隣り合う撮像画像にまたがる場合がある。このような場合、プライバシーマスク画像が重畳された複数の撮像画像から、例えば射影変換でパノラマ画像を生成すると、つなぎ合わせの部分でプライバシーマスク画像がずれることがある。
【0048】
次に、複数の撮像画像からパノラマ画像を生成するために用いる射影変換について、図4を用いて説明する。
図4は、撮像画像平面とパノラマ画像平面の概念図である。
パノラマ画像を生成するための射影変換は、地図の投影法における心射図法を用いて説明することができる。すなわち、心射図法における視点(Qとする)を、パン・チルト中心Q(0,0,0)に置く。そして、あるパンチルト角度(ρ,τ)で得られた画像平面上の座標をP1(x,y)、視点Qを中心とする半径R上の球面上に接するようにこの画像を置いたときに、P1(x,y)と視点Qを結ぶ直線が球面と交わる点の座標を極座標表示する。この極座標表示の結果を(Rsinθcosφ,Rcosθcosφ,Rsinφ)とすると、心射図法においては、mを定数として一般に次の式が成り立つ。
x=m・Rcosφsin(θ−ρ)/{sinφsinτ+cosφcosτcos(θ−ρ)} (式1.1)
y=m・R(sinφcosτ−cosφsinτcos(θ−ρ))/{sinφsinτ+cosφcosτcos(θ−ρ)}(式1.2)
なお、パン・チルト角度(ρ,τ)のときにこの画像平面と球の交わる画像平面上の座標を原点(0,0)とする。
【0049】
ここで、パン・チルトして得られる全撮像範囲を角度で表したものを、パン方向θmin〜θmax、チルト方向φmin〜φmaxとする。なお、この角度は、可動雲台12のパン・チルト可動範囲にビデオカメラ11の画角を加えたものである。すなわち、パン・チルト限界をそれぞれ、Pmin,Pmax,Tmin,Tmaxとして、ビデオカメラ11の画角を水平、垂直それぞれAh,Avとすると、
θmin=Pmin−Ah/2
θmax=Pmax+Ah/2
φmin=Pmin−Av/2
φmax=Pmax+Av/2
となる。生成するパノラマ画像の画素数を横H画素、縦V画素とすると、1画素に相当する画角は、パン方向、チルト方向それぞれ
Δθ=(θmax−θmin)/H (式2.1)
Δφ=(φmax−φmin)/V (式2.2)
となる。すなわちパノラマ画像上の画素(i,j)は、パン・チルト角度(θ,φ)で表すと
(θ,φ)=(θmin+Δθ×i,φmin+Δφ×j)
但し、
i=0,1,2,・・・,H−1
j=0,1,2,・・・,V−1
で表すことができる。したがって、この(θ,φ)と、ある画像img(Pa,Tb)を得る際のパンチルト角度、(ρ,τ)=(Pa,Tb)から、式(1.1),(1.2),(2.1),(2.2)を用いて、画像img(Pa,Tb)上の座標(x,y)が、パノラマ画像上のどの座標に対応するかが決定される。ただし、a=1,2,・・・,n,b=1,2,・・・,mである。すなわちパノラマ画像上の座標をXp,Ypとすると、この変換式をFとすれば、元の撮像画像の座標は、パノラマ画像上の座標
(Xp、Yp)=F(X、y、Pa、Tb) 式(3)
にマッピングされることになる。
【0050】
したがって、パノラマ画像上の座標(Xp,Yp)の画素値は元の撮像画像img(Pa,Tb)の画素値で置き換えることができる。これを全パノラマ画像上の画素(i,j)について求めれば、パン、チルト角度にリニアな座標系を持つパノラマ画像が得られる。この変換式Fがパノラマ画像生成部38によって実行される射影変換の計算式である。
【0051】
以上説明したように、本実施形態では、パノラマ画像生成用の画像撮像中はカメラサーバ1のオンスクリーン画像の重畳処理を無効化するため、図5に示すような不要なオンスクリーン画像の表示を抑制できる。また、パノラマ画像生成用の画像撮像中はカメラサーバ1のプライバシーマスク画像の重畳処理が無効化される。そして、射影変換によりプライバシーマスク画像の重畳位置が変換されたパノラマ画像上におけるプライバシーマスク画像の重畳位置を撮像画像上におけるプライバシーマスク画像の重畳位置を決定するための重畳パラメータと射影変換の計算式に基づいて決定する。このような構成により、プライバシーマスク画像のふちの部分がなめらかなパノラマ画像が生成される。
【0052】
具体的には、画像重畳部39は、記憶部18が保持するプライバシーマスク設定時のパン・チルト・ズーム値から変換式Fを算出する。そして、画像重畳部39は、プライバシーマスク設定時の撮像画像上でのプライバシーマスクを構成する各画素の座標を式(3)に代入してプライバシーマスク画像の領域を決定することで、ふちの部分が滑らかなプライバシーマスク画像をパノラマ画像に重畳できる。
【0053】
なお、本形態では、パノラマ画像の生成時は、カメラサーバ1の画像重畳部19の機能を無効にして、ネットワーク4を介して接続されるクライアント3の画像重畳部39が、パノラマ画像にプライバシーマスク画像を重畳する例について説明した。しかし、この例に限らない。例えば、カメラサーバ1において、画像重畳部19の機能を無効にした後、複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成してから、カメラサーバ1の画像重畳部19でプライバシーマスク画像を重畳するようにすることも可能である。すなわち、カメラサーバ1の通信制御部14は、撮像画像を出力する場合であって、S103で画像重畳部19のプライバシーマスク処理がオンであると判定された場合、画像重畳部19の機能を有効(オン)のままにする。一方、パノラマ画像を出力する場合であって、S103で画像重畳部19のプライバシーマスク処理がオンであると判定された場合、パノラマ画像にプライバシーマスクが重畳されるように、S104で画像重畳部19の機能を一時的に無効(オフ)にする。すなわち、カメラサーバ1の通信制御部14は、パノラマ画像を出力する場合、パノラマ画像が生成されてからプライバシーマスク画像が重畳されるように制御する。このようにすれば、カメラサーバ1内で品質の高いパノラマ画像を生成できる。また、クライアント3で生成されたパノラマ画像をクライアントから受け取って、カメラサーバ1でパノラマ画像にプライバシー画像を重畳する形態も可能である。
【0054】
また、上述の実施形態では、生成されたパノラマ画像に対してプライバシーマスク画像を重畳することを中心に説明したが、例えば、プライバシーマスク画像の重畳の代わりにマスク処理(モザイク処理や特定の領域の解像度を下げる処理)をする場合にも、本発明は適用可能である。この場合、S104において、カメラサーバ1の通信制御部14は、複数の撮像画像から得られたパノラマ画像にマスク処理が行われるように、画像重畳部19のマスク処理を無効にする制御を行い、マスク処理なしの撮像画像をクライアント3へ送信する。そして、S115において、クライアント3は、パノラマ画像を生成すると共に、パノラマ画像上におけるマスク位置を、撮像画像上で指定されたマスク位置を示すマスクパラメータと射影変換の計算式に基づいて決定し、マスク処理する。マスクパラメータは、プライバシーマスク画像の重畳パラメータと同様に、例えば、クライアント2、3の操作入力部23、34を用いて入力することが可能である。クライアント3の画像重畳部39は、マスクパラメータと、当該マスクパラメータの設定時のパン・チルト・ズーム値と、現在のパン・チルト・ズーム値と、射影変換の計算式に基づいてパノラマ画像上におけるマスク位置を決定し、マスク処理を行う。
【0055】
なお、マスクパラメータは操作入力部23、34からの入力に限らず、例えば、画像処理によって検出された顔画像の領域を示す領域情報をマスクパラメータとすることも可能である。このようにすることで、例えばモザイク処理のふちの部分のがたつき等を低減できる。なお、S115において、カメラサーバ1の画像重畳部19がパノラマ画像に対してマスク処理を行うようにしても良い。
【0056】
また、上述の実施形態では、生成されたパノラマ画像に対してプライバシーマスク画像を重畳することを中心に説明したが、例えば、実際にパノラマ画像を生成する前に、パノラマ画像上のプライバシーマスク画像の重畳位置を算出し、その結果に基づいてプライバシーマスク画像を重畳するようにしても良い。また、プライバシーマスク画像の重畳位置は算出で求める方法に限らず、例えばテーブルの参照により取得することも可能である。
【0057】
また、上述の実施形態では、図1に示すカメラサーバ1、クライアント2、クライアント3の各部の処理が、それぞれ専用のハードウェアにより実行される例について説明したが、これらの処理の少なくとも一部の処理を、CPUで実行するようにしても良い。例えば、図1に示すカメラサーバ1の各部のうち少なくとも一部を、カメラサーバ1のCPUと、当該CPUで実行されるプログラムを格納するメモリに置き換えて、処理を実行するようにしても良い。また、同様に、クライアント2、3の各部のうち少なくとも一部を、クライアント2、3のCPUと、当該CPUで実行されるプログラムを格納するメモリに置き換えて、処理を実行するようにしても良い。従って、図2で示すフローチャートの処理のうちの少なくとも一部が、CPUで実行することも可能である。
【0058】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0059】
以上、本発明の好ましい実施形態について説明したが、本発明は上記の実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。

【特許請求の範囲】
【請求項1】
複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成する処理装置であって、
前記パノラマ画像上に重畳される所定の画像の前記撮像画像上における重畳位置を決定するための重畳パラメータを入力する入力手段と、
前記複数回の撮像により得られた複数の撮像画像の座標値の変換処理により前記複数の撮像画像からパノラマ画像を生成する生成手段と、
前記撮像画像上における重畳位置が前記座標値の変換処理により変換された前記パノラマ画像上における重畳位置に前記所定の画像が重畳されるように前記撮像画像上における重畳位置を決定するための重畳パラメータに基づいて前記パノラマ画像上における前記所定の画像の重畳位置を決定する決定手段とを有することを特徴とする処理装置。
【請求項2】
前記複数回の撮像により得られた複数の撮像画像であって前記所定の画像の重畳が行われていない複数の撮像画像を、ネットワークを介して接続される撮像装置から受信する受信手段を有し、
前記生成手段は前記受信された複数の撮像画像からパノラマ画像を生成し、
前記決定手段は前記生成されたパノラマ画像上における前記所定の画像の重畳位置を決定することを特徴とする請求項1記載の処理装置。
【請求項3】
撮像手段と、
前記撮像手段の撮像により得られる撮像画像に対して前記重畳パラメータに応じた重畳位置に前記所定の画像を重畳する重畳手段と、
前記撮像画像を出力する場合、前記撮像手段の撮像により得られる撮像画像の前記重畳パラメータに応じた重畳位置に前記重畳手段が前記所定の画像を重畳するように制御し、
前記パノラマ画像を出力する場合、前記複数回の撮像により得られた複数の撮像画像からパノラマ画像が生成されてから、前記重畳手段が前記所定の画像を重畳するように制御する制御手段とを有する
ことを特徴とする請求項1記載の処理装置。
【請求項4】
前記所定の画像は、前記撮像画像の撮像時刻及び撮像場所のうち少なくとも何れかの情報を示す画像であることを特徴とする請求項1乃至3のうち、いずれか1項記載の処理装置。
【請求項5】
前記所定の画像は、プライバシーマスク画像であることを特徴とする請求項1乃至4のうち、いずれか1項記載の処理装置。
【請求項6】
パノラマ画像を生成するための複数回の撮像のうち、第1の撮像により得られた第1の撮像画像と、第2の撮像により得られた第2の撮像画像とに基づく前記パノラマ画像の一部の生成時に、前記所定の画像であって、前記第1及び第2の撮像画像に跨って重畳される画像の重畳をする重畳手段を有することを特徴とする請求項1記載の処理装置。
【請求項7】
複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成する処理装置が行うパノラマ画像の生成方法であって、
前記パノラマ画像上に重畳される所定の画像の前記撮像画像上における重畳位置を決定するための重畳パラメータを入力する入力工程と、
前記複数回の撮像により得られた複数の撮像画像の座標値の変換処理により前記複数の撮像画像からパノラマ画像を生成する生成工程と、
前記撮像画像上における重畳位置が前記座標値の変換処理により変換された前記パノラマ画像上における重畳位置に前記所定の画像が重畳されるように前記撮像画像上における重畳位置を決定するための重畳パラメータに基づいて前記パノラマ画像上における前記所定の画像の重畳位置を決定する決定工程とを有することを特徴とするパノラマ画像の生成方法。
【請求項8】
複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成するコンピュータに、
前記パノラマ画像上に重畳される所定の画像の前記撮像画像上における重畳位置を決定するための重畳パラメータを入力する入力手順と、
前記複数回の撮像により得られた複数の撮像画像の座標値の変換処理により前記複数の撮像画像からパノラマ画像を生成する生成手順と、
前記撮像画像上における重畳位置が前記座標値の変換処理により変換された前記パノラマ画像上における重畳位置に前記所定の画像が重畳されるように前記撮像画像上における重畳位置を決定するための重畳パラメータに基づいて前記パノラマ画像上における前記所定の画像の重畳位置を決定する決定手順とを実行させることを特徴とするプログラム。
【請求項9】
複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成させる処理装置であって、
前記撮像画像上におけるマスク処理の位置を決定するためのマスクパラメータを入力する入力手段と、
前記複数回の撮像により得られた複数の撮像画像の座標値の変換処理により前記複数の撮像画像からパノラマ画像を生成する生成手段と、
前記撮像画像上におけるマスク処理の位置が前記座標値の変換処理により変換された前記パノラマ画像上におけるマスク処理の位置にマスク処理がされるように前記マスクパラメータに基づいて前記パノラマ画像上における前記マスク処理の位置を決定する決定手段と
を有することを特徴とする処理装置。
【請求項10】
複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成させる処理装置が行うマスク処理方法であって、
前記撮像画像上におけるマスク処理の位置を決定するためのマスクパラメータを入力する入力工程と、
前記複数回の撮像により得られた複数の撮像画像の座標値の変換処理により前記複数の撮像画像からパノラマ画像を生成する生成工程と、
前記撮像画像上におけるマスク処理の位置が前記座標値の変換処理により変換された前記パノラマ画像上におけるマスク処理の位置にマスク処理がされるように前記マスクパラメータに基づいて前記パノラマ画像上における前記マスク処理の位置を決定する決定工程と
を有することを特徴とするマスク処理方法。
【請求項11】
複数回の撮像により得られた複数の撮像画像からパノラマ画像を生成させるコンピュータに、
前記撮像画像上におけるマスク処理の位置を決定するためのマスクパラメータを入力する入力手順と、
前記複数回の撮像により得られた複数の撮像画像の座標値の変換処理により前記複数の撮像画像からパノラマ画像を生成する生成手順と、
前記撮像画像上におけるマスク処理の位置が前記座標値の変換処理により変換された前記パノラマ画像上におけるマスク処理の位置にマスク処理がされるように前記マスクパラメータに基づいて前記パノラマ画像上における前記マスク処理の位置を決定する決定手順と
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−60216(P2012−60216A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−198776(P2010−198776)
【出願日】平成22年9月6日(2010.9.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】