JP3744147B2 - パノラマ画像生成装置および方法 - Google Patents
パノラマ画像生成装置および方法 Download PDFInfo
- Publication number
- JP3744147B2 JP3744147B2 JP26182997A JP26182997A JP3744147B2 JP 3744147 B2 JP3744147 B2 JP 3744147B2 JP 26182997 A JP26182997 A JP 26182997A JP 26182997 A JP26182997 A JP 26182997A JP 3744147 B2 JP3744147 B2 JP 3744147B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- pantilter
- panorama
- images
- operation area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Closed-Circuit Television Systems (AREA)
- Studio Devices (AREA)
Description
【発明の属する技術分野】
この発明は、高解像度、高品質のパノラマ画像を安価な装置により、且つ容易に得ることができるパノラマ画像生成装置および方法に関する。
【0002】
【従来の技術】
従来、画像同士を連結する場合、連結したい画像の相関する位置(画素)を見つけだし、単純に重ね合わせたり、1枚の画像に対して、連結する画像を拡大/縮小したり、変形した後に重ね合わせるといった手法がとられていた。
【0003】
【発明が解決しようとする課題】
しかしながら、画像の拡大/縮小、変形は、画像の解像度の劣化など、画質の低下をもたらす問題があった。また、複数の画像を単に連結する場合には、歪みが発生する問題があった。例えば、図21Aに示すような、10枚の画像同士を連結する場合、撮像装置から得られた10枚の画像は、レンズの光軸に垂直な平面群を写像している。このため、単に10枚の画像を連結する手法によると、奥行きの方向にある被写体が連結する画像間に映し出されている場合、図21Bに示すように、連結部分に歪みが生じる問題があった。
【0004】
従って、この発明の目的は、高画質であって、連結部分に歪みが生じることのないパノラマ画像を生成することができるパノラマ画像生成装置および方法を提供することにある。
【0005】
【課題を解決するための手段】
請求項1に記載の発明は、映像を撮影する撮像手段と、
撮像手段の撮像する方角を制御する駆動手段と、
撮像手段の撮像する方角を変化させることによって得られた複数の画像を、駆動手段の回転中心から見た仮想球面に対し写像し、仮想球面に対して写像された画像を、仮想球面の緯度、経度で正規化することによって平面に写像することによって歪みなく連結する画像連結手段と
からなり、
駆動手段は、駆動系に遊びがある機構を有するものであって、撮像手段の撮像する方角を変化させる際に、同一方向に駆動されることによってバックラッシュの影響を補正するようにしたことを特徴とするパノラマ画像生成装置である。
【0006】
請求項8に記載の発明は、映像を撮影する撮像ステップと、
映像を撮像する方角を制御する駆動ステップと、
撮影することによって得られた複数の画像を、撮影する位置の回転中心から見た仮想球面に対し写像し、仮想球面に対して写像された画像を、仮想球面の緯度、経度で正規化することによって平面に写像することによって歪みなく連結する画像連結ステップと
からなり、
駆動ステップにおいて、駆動系に遊びがある機構を有する駆動手段が使用され、撮像手段の撮像する方角を変化させる際に、同一方向に駆動系が駆動されることによってバックラッシュの影響を補正されることを特徴とするパノラマ画像生成方法である。
【0007】
撮像手段(例えば、ビデオカメラ)では、ズームレンズを通して撮像された被写体の映像を電気信号に変換し、映像信号として出力すると共に、画像連結手段より指令されるズームレンズ位置座標に対してレンズを駆動する。また、現在のズームレンズの位置座標を、画像連結手段に供給する。
【0008】
駆動手段(例えば、パンチルタ)は、撮像手段を回転方向に駆動して撮像装置の撮像する方向を変更することが可能で、画像連結手段より指令される、位置座標に対して駆動手段を移動すると共に、画像連結手段に対して現在の駆動手段の位置座標を供給する。画像連結手段は、撮像手段より現在のレンズのズーム位置を取得し、その倍率を計算すると共に、駆動手段より現在のパンチルタのパン、チルト方向の位置データを取得し、ホームポジション(例えば駆動手段の可動範囲の中心位置)を緯度、経度の原点とするパンチルタの角度座標を計算する。そして、パノラマ画像作成の指示が、装置内部(例えば、周期的な作成指令)、または装置外部(例えば、操作者の指令)より発生した場合、駆動手段に対して、パノラマ画像を作成するための映像を取得するために位置座標を指示し、目標位置到達後、映像を取得し、得られた映像の仮想球面への写像、水平、垂直方向への画像の圧縮、先に取り込まれた画像への連結処理などを行い、連結した画像を表示手段に出力する。そして、このような手順で画像の連結を順次行っていき、最終的に得られたパノラマ画像を表示手段に出力すると共に、画像の保存を行う。なお、駆動手段への目標位置を設定する際、画像連結手段は、バックラッシュによる影響で駆動手段の絶対位置が狂わぬよう、同一方向から目標位置に進入するように駆動手段に指示を与える。
【0009】
【発明の実施の形態】
以下、この発明のいくつかの実施形態について図面を参照して説明する。図1−1はこの発明の一実施形態の概略的な構成を示す。モニタ2およびマウス8が接続されているコンピュータ1は、遠隔地に接続されてたパンチルタカメラ3の駆動を制御する。すなわち、コンピュータ1によって、撮像装置のコントローラが構成される。
【0010】
パンチルタカメラ3は、パンチルタ部とカメラ部が一体的に構成されたものを意味する。この図1では、一例としてパンチルタカメラ3は、4に示すような環境にある実際の景色に設置される。この環境の実際の景色4に設置されたパンチルタカメラ3によって撮影された画面(以下、撮影画面と称する)を5に示す。この撮影画面は、実際に撮影されている画面であって、ズームレンズを望遠側に操作すると画角が小さくなり、ワイド側に操作すると画角が大きくなる。
【0011】
パンチルタカメラ3によって取り込まれる撮影画面5の映像は、ビデオケーブルなどを経て、コンピュータ1に供給され、コンピュータ1に供給された映像データがデコードされ、モニタ2の操作領域6Aに表示される。また、モニタ2では、パノラマ画像表示領域6Bを有しており、パノラマ生成ボタン6Eにより、パノラマ画面生成指示がなされると、パンチルタ、ズームレンズを所定の位置に駆動し、各々の場所で画像を取得するとともに、取得した複数枚の画像を、パンチルタカメラの可動軸を原点とした仮想球面に対して画像を連結し、仮想球面の緯度、経度方向に対して正規化を行った平面画像を表示する。パノラマ操作領域6Bは、マウス8に位置に矢印形のカーソル7が描画されている、映像又はパノラマ画像中の任意の一点または任意の領域6Cをマウス8で指示することによって、パンチルタカメラ3を操作するようになされている。さらに、パノラマ操作領域6Bには、点線で示すように、パンチルタリミッタ表示6Dが表示される。パンチルタリッタ表示6Dは、パンチルタカメラ3の可動範囲の限界を示す。
【0012】
図2に示すように、モニタ2の画面上には、操作領域6Aとパノラマ操作領域6Bが表示される。マウス8を操作することによって、カーソルが移動し、パノラマ操作領域6Bの任意の一点または、任意の領域6Cから生成される任意の一点を指示することができる。指示された任意の一点が操作領域6Aの中央になるように、パンチルタを駆動させ、撮像画面5が移動する。すなわち、予め表示させたい結果を入力し、その入力に応じて選択された被写体が、操作領域6Aの中央になるように表示される。
【0013】
図3は、この発明の実施の一形態を適用した全システムのブロック図である。このシステムは、カメラ部11、パンチルタ部12、TVモニタ13、コンピュータ1、マウス8等のポインティングデバイス14、モニタ2から構成される。また、上述したパンチルタカメラ3は、カメラ部11とパンチルタ部12からなり、一例としてカメラ部11がパンチルタ部12の上に設置される。カメラ部11は、レンズブロック部15、ズームレンズ16、ズーム部17、ズームレンズ16用のモータ18、固体撮像素子19、信号分離/自動利得調整回路(SH/AGC)20、A/D変換器21、信号処理回路22から構成され、全体としてビデオカメラを示す。
【0014】
パンチルタ部12は、モードコントローラ23、カメラコントローラ24、パンチルタコントローラ25、パン用のモータ26、チルト用のモータ27、パンチルタ28から構成される。コンピュータ1は、制御部31、ビデオキャプチャーボードからなるビデオキャプチャー部29、記憶部30から構成される。
【0015】
被写体から到達する撮像光は、レンズブロック部15のレンズ群、絞りを通って固体撮像素子19に結像される。固体撮像素子19の一例として、CCD(Charge Coupled Device )がある。結像された撮像光は、視野映像を映像信号に変換した後、信号分離/自動利得調整回路20に供給される。信号分離/自動利得調整回路20では、映像出力信号がサンプルホールドされるとともに、オートアイリス(AE)の制御信号によって所定のゲインを持つように利得制御される。それによって、得られる映像出力信号は、A/D変換器21を介して、信号処理回路22へ供給される。信号処理回路22では、入力された信号が輝度(Y)、色(C)、ビデオ信号といった各信号に変換され、映像信号としてTVモニタ13を介してコンピュータ1のビデオキャプチャー部29へ供給される。
【0016】
また、カメラ部11のレンズブロック部15は、ズームレンズ16を駆動することによって撮像する画角を変化させることが可能とされている。このレンズブロック部15は、パンチルタ部12のカメラコントローラ24の駆動命令により、例えばステッピングモータからなるモータ18を回転させ、ズームレンズ16を駆動させる。このカメラコントローラ24は、カメラ部11のレンズ制御(例えば、フォーカス、ズーム等)、露出制御(例えば、絞り、ゲイン、電子シャッタースピード等)、白バランス制御、画質制御等を通常行うコントローラであるとともに、モードコントローラ23とのインタフェースも行っている。ズームレンズ16の制御に関連するインタフェース制御として、モードコントローラ23より送られてくるズームレンズ16の駆動命令に対して、ズームレンズ16が命令された位置に駆動されるように制御信号をモータドライバに出力するとともに、現在のズームレンズ16の位置情報が常時モードコントローラ23に通信される。
【0017】
また、カメラ部11は、パン、チルトといった2軸の回転方向の自由度を持つ装置であるパンチルタ部12の上に設置される。そのパンチルタ部12は、パンチルタコントローラ25の駆動命令により、パン用のモータ26およびチルト用のモータ27を回転させ、パンチルタ28の雲台が各々駆動される。これらモータ26および27の、一例としてステッピングモータがある。このパンチルタコントローラ25は、モードコントローラ23より送られてくるパン、チルト各々の方向の駆動命令に対して、パン、チルト各々の雲台が、命令された位置に駆動されるように制御信号をモータドライバに出力するとともに、現在のパンチルタ28のパン、チルト各々の雲台の位置情報が常時モードコントローラ23に通信される。
【0018】
モードコントローラ23は、カメラ部11、パンチルタ部12の内部状態、およびパンチルタカメラ3の外部からのインタフェース情報に従い、後述するようにシステム全体を制御する。モードコントローラ23は、例えばコンピュータ1とRS−232Cにより接続され、コンピュータ1からの駆動命令に対し、パンチルタ28、レンズブロック部15のズームレンズ16を駆動するようにパンチルタコントローラ25、カメラコントローラ24に命令を振り分けるとともに、パンチルタコントローラ25、カメラコントローラ24より送られてくる現在の位置情報をコンピュータ1に送信する。
【0019】
この実施の一形態では、パンチルタカメラ3の映出する映像を選択するためにコンピュータ1を使用している。そして、モニタ2の画面上の操作領域6Aおよびパノラマ操作領域6Bに表示されるグラフィック表示と、ポインティングデバイス14(マウス8)の指示位置、クリック等の操作とから得られる情報を処理することでモードコントローラ23への通信データを決定している。また、カメラ部11の映像をモニタ2に表示するため、ビデオキャプチャー部29が使用される。このビデオキャプチャー部29は、カメラ部11より入力されてくる映像信号を任意の品質でモニタ2に表示することが可能であるとともに、キャプチャー信号により任意の画像フォーマット(例えば、ビットマップ形式、JPEG形式の静止画、JPEG形式の動画等)に、任意の品質でキャプチャーし、コンピュータ1の記憶部30(例えば、ハードディスク)上にストレージすることができる。
【0020】
ここで、図4を用いて、この実施の一形態におけるパノラマ画像を作成するための概略的な説明を行う。まず、パンチルタカメラ3が設定されている周囲の環境を球面とする。これを仮想球面と称する。この図4では、仮想球面上の隣合う2枚の画像を連結して1枚のパノラマ画像を作成する。まず、パノラマ画像を作成するためには、図4Aに示すように、中心に位置するパンチルタカメラ3は、仮想球面上の隣合う2枚の画像を撮影する。パンチルタカメラ3は、レンズの光軸に直交する平面を撮像する。図4Dは、仮想球面上の隣合う2つの画像をパンチルタカメラ3によって撮像することにより、光軸に直交する平面にこの2つの画像が写像された状態を示す。隣合う2つの画像を単純に連結した場合、つなぎ目の重複や、歪みが生じる部分がある。
【0021】
このつなぎ目の重複や、歪みをなくすために、図4Bに示すように、仮想球面に隣合う2つの画像をそれぞれ写像する。図4Eは、光軸に直交する平面である2つの撮像画像を仮想球面に写像した状態を示す。このように、光軸に直交する平面、すなわち撮像画像を仮想球面へ写像し、写像した画像を連結し、重複画像、不要画像の削除を行う画像の連結処理が行われる。そして、仮想球面に写像された像を緯度、経度で正規化することによって、図4Cおよび図4Dに示すように、パノラマ画像を生成することができる。
【0022】
次に、この発明によるパノラマ画像を作成する一方法を説明する。この一方法では、図5に示すように、10枚の画像を連結して1枚のパノラマ画像とする。まず、図5Aに示すように仮想球面の中心に配置されたパンチルタカメラ3(図示しない)から10枚の画像が撮影される。このとき、図に示すように画像領域毎に丸で示す位置にパンチルタカメラ3のレンズの光軸を合わせることによって、パンチルタカメラ3は1〜10の各画像を取得することができる。パンチルタカメラ3によって撮像された画像は、図5Bに示すように、レンズの光軸に直交する平面上の画像である。取得された画像は、それぞれ仮想球面上に展開された後、図5Cに示すように、緯度、経度で正規化される。仮想球面上に展開された10枚の画像は、連結処理の際につなぎ目に抜けがないように、お互いの画像が重複するような位置で画像の取得が行われる。そして、重複画像、不要画像の削除がなされた後、10枚の画像が連結され、図5Dに示すように、パノラマ画像が生成される。
【0023】
次に、この発明によるパノラマ画像を作成する他の方法を図6を参照して説明する。緯度、経度で正規化されるパノラマ画像の画素、すなわち各座標(s,t)には、パンチルタカメラ3で取得した画像のどの画素が割り当てられるかが算出される。図5の方法のように、パンチルタカメラ3で取得した画像の画素をパノラマ画像の画素に対応させた場合、対応する画素のないパノラマ画像の画素が生じることがあり、パノラマ画像の全ての画素に取得した画像の画素を対応させるためである。このように、座標毎に算出された画素によってパノラマ画像が実現される。その処理の手順として、まずパノラマ画像の座標(s,t)(図6A)に対応する仮想球面上の角度座標(α,β)(図6B)を式(1)を用いて算出する。
【0024】
(α,β)=(a(s),b(t)) (1)
この式(1)の詳細は後述する図7において説明する。
【0025】
この座標(s,t)および画像を取得したパンチルタ28の角度座標(θ,φ)と、撮像装置のワイド端を1倍とした撮像倍率γとを用いて、図6Cに示すように、取得した画像上の座標データ(ξ,η)を式(2)を用いて算出する。
【0026】
(ξ,η)=(f(α,β,θ,φ,γ),g(α,β,θ,φ,γ)) (2)
この式(2)の詳細は後述する図8において説明する。
【0027】
以上の式を用いて、パノラマ画像の各画素と、取得した画像とを対応付けることで連結画像、すなわちパノラマ画像を生成している。
【0028】
ここで、上述したパノラマ画像の座標(s,t)を仮想球面上の角度座標(α,β)に変換する方法を図7を用いて説明する。まず、図7Aに示す、PragMin は、パンチルタ28のホームポジションを0(rag)とした時の左端の角度データであり、PragMax は、パンチルタ28のホームポジションを0(rag)とした時の右端の角度データである。また、Ny2 は、パノラマ操作領域6Bの水平方向の座標であり、−Ny2 /2は、パノラマ操作領域6Bの左端の座標データであり、Ny2 /2は、パノラマ操作領域6Bの右端の座標データである。
【0029】
そして、座標データsからパン角度αを求めるために、
(PragMax−α):(PragMax−PragMin)= (Ny2 /2−s):Ny2
となり、これよりパン角度αは、
α=PragMax −(PragMax−PragMin)× (Ny2 /2−s)/Ny2
となる。
【0030】
また、図7Bに示す、TragMin は、パンチルタ28のホームポジションを0(rag)とした時の上端の角度データであり、TragMax は、パンチルタ28のホームポジションを0(rag)とした時の下端の角度データである。また、Nz2 は、パノラマ操作領域6Bの垂直方向の座標であり、−Nz2 /2は、パノラマ操作領域6Bの上端の座標データであり、Nz2 /2は、パノラマ操作領域6Bの下端の座標データである。
【0031】
そして、座標データtからチルト角度βを求めるために、
(TragMax−β):(TragMax−TragMin)= (Nz2 /2−t):Nz2
となり、これよりチルト角度βは、
β=TragMax −(TragMax−TragMin)× (Nz2 /2−t)/Nz2
となる。
【0032】
図8を参照して平面球面変換の処理を説明する。図8Aに示すように、ホームポジション(緯度、経度の原点)を向いたカメラ映像上の点(ξ,η)の空間上の座標は、次のように表せる。
【0033】
【数1】
【0034】
このとき、
k1 =tan(λ/2γ)/(Ny/2)
k2 =tan(μ/2γ)/(Nz/2)
となり、(Ny,Nz)は、ポインティングデバイス14(マウス8)の駆動範囲(y方向,z方向)であり、(λ,μ)はワイド端での水平、垂直画角であり、γはワイド端を1倍とする現在のズーム相対倍率(倍率情報)である。
【0035】
また、図8Bに示すように、一般的に3次元の回転行列は、次式のように示すことが知られている。
【0036】
【数2】
【0037】
ホームポジションから角度情報(θ,φ)だけパン、チルトしたカメラ画像上の一点(ξ,η)と、ホームポジションから(α,β)の一点が同じ方向にあることから、次の関係が成り立つ。
【0038】
Rz (θ)Ry (φ)p=lRz (α)Ry (β)ex
これをpについて解くと、
【0039】
【数3】
【0040】
ここで、
【0041】
【数4】
【0042】
とおくと、次のようにξ,ηが求められる。
【0043】
l=1/a
ξ=−lb/k1 =−b/k1a
η=lc/k2 =c/k2a
以上の式よりホームポジションから(α,β)の角度にある座標データより、撮像座標に映し出される(ξ,η)を求めることができる。
【0044】
ξ=(-sin(α−θ)cosβ)/(k1 (cos( α−θ)cosφ cosβ+ sinφ sinβ))
η=(-cos(α−θ)sinφ cosβ+ cosφ sinβ)/(k2 (cos( α−θ)cosφ cosβ+ sinφ sinβ))
このようにして、パノラマ画像の座標(s,t)に対応する仮想球面上の角度座標(α,β)からパンチルタカメラ3で取得した画像上の座標データ(ξ,η)を求めることによって、パノラマ画像を生成することができる。
【0045】
逆に以下の式より撮像座標に映し出される(ξ,η)より、(α,β)の角度にある座標データを求めることもできる。
【0046】
まず、l=|p|であるから、
a=1/√(1+k1 2 ξ2 +k2 2 η2 )
b=−k1 ξ/√(1+k1 2 ξ2 +k2 2 η2 )
c=k2 η/√(1+k1 2 ξ2 +k2 2 η2 )
となる。ただし、√( )は、( )内の計算結果に対して平方根の処理を行うものである。
【0047】
また、式(3)より、
a=cos(α−θ)cosφ cosβ+ sinφ sinβ
b=sin(α−θ)cosβ
c=−cos(α−θ)sinφ cosβ+ cosφ sinβ
となる。
【0048】
以上の式より
a sinφ+c sinθ= sinβ
tan(α−θ) =b/(a cosφ−c sinθ)
であるから、
β=sin -1(sinφ/ √(1+k1 2 ξ2 +k2 2 η2 )+ sinθk2 η/ √(1+k1 2 ξ2 +k2 2 η2 )
α=tan -1(−k1 ξ/( cosφ−k2 η sinθ))+θ
となる。
【0049】
よって、
(α,β)=(f(ξ,η,θ,φ,γ),g(ξ,η,θ,φ,γ)) (4)
が求めることができる。
【0050】
また、誤差を多少許容するのであれば、以下のように(α,β)を求めることができる。
【0051】
α=θ+(λ/γ)×(ξ/Ny)
β=φ+(μ/γ)×(η/Nz)
つまり、式(4)は、
(α,β)=(f(ξ,θ,γ),g(η,φ,γ)) (5)
となり、簡略化することができる。
【0052】
上述した式(4)および式(5)に示されるパンチルタ28の角度情報(α,β)を操作領域6Aの位置座標(ξ,η)から算出する処理を図9を用いて説明する。まず、操作領域6A中の任意の一点を直接指定する方法の一例を説明する。図9Aに示すように操作領域6Aの中心を(0,0)とした相対座標とし、その操作領域6A上のマウス8の位置座標(ξ,η)が獲得される。
【0053】
次に、操作領域6A中の任意の領域から生成される任意の一点を指定する他の方法の一例を説明する。まず、図9Aに示すように、任意の領域の始点(m1,n1)が指定された後、任意の領域の終点(m2,n2)が指定され、それら2点より生成される四角形の中心座標として、
(ξ,η)=((m1,n1)+(m2,n2))/2 (6)
により、任意の一点(ξ,η)が獲得される。
【0054】
この図9Aは、操作領域6A上のマウス8(ポインティングデバイス14)の座標であり、操作領域6A内のマウス8の可動範囲(y方向、z方向)を(Ny1 ,Nz1 )とする。この任意の一点(マウス8)の位置座標(ξ,η)と、パンチルタ28が向いている角度情報(θ,φ)と、ズームレンズ16のワイド端を1倍とする現在のズーム相対倍率とする倍率情報(γ)とを用いて、式(4)または式(5)からパンチルタ28の角度座標(α,β)が求められる。
【0055】
図9Bに示す角度座標(α,β)は、パンチルタ28のホームポジションを緯度、経度の原点としたとき、ポインティングデバイスで指定された場所を撮像画面の中心に映し出すためのものである。
【0056】
この図9において、求められる座標は、モニタ2の画面の絶対座標でも良く、操作領域6Aの中心を(0,0)とした相対座標でも良い。この座標は、パン方向の座標をξ、m1、m2、θ、αで示し、チルト方向の座標をη、n1、n2、φ、βで示す。
【0057】
このように、マウス8が操作領域6Aにある場合、受信データで得られた現在のパンチルタ28の角度情報(θ,φ)、ズームの倍率情報(γ)、マウス8で指定された領域のマウス8の位置情報(ξ,η)を用いて、指定された操作領域6A上の被写体が、操作領域6Aの中心に来るようなパンチルタ28の角度情報(α,β)を式(4)または式(5)を用いて算出する。こうして得られた、パンチルタ28の角度座標(α,β)を図11に従って、パンチルタ28の内部位置情報(PNew,TNew)に変換し、パンチルタ28の絶対位置駆動命令と共に送信バッファに格納する。また、後述するように、同時にデータ送信要求フラグ(FlagSo) をセットし、タイマイベントでデータが送信されるようにする。
【0058】
パノラマ画像が表示されるパノラマ操作領域6Bのマウス8の位置座標(ξ,η)を角度座標(α,β)へ変換する処理を図10を用いて説明する。パノラマ操作領域6B中の任意の一点を直接指定する方法は、上述した操作領域6A中の任意の一点を直接指定する方法と同様の方法で、図10Aに示すように、マウス8の位置座標(ξ,η)を得ることができる。
【0059】
次に、パノラマ操作領域6B中の任意の領域から生成される任意の一点を指定する他の方法の一例を説明する。まず、図10Aに示すように、任意の領域の始点(m1,n1)が指定された後、任意の領域の終点(m2,n2)が指定され、式(6)により、任意の一点(ξ,η)が獲得される。
【0060】
この図10Aは、パノラマ操作領域6B上のマウス8(ポインティングデバイス14)の座標であり、パノラマ操作領域6B内のマウス8の可動範囲(y方向、z方向)を(Ny2 ,Nz2 )とする。この可動範囲は、パノラマ操作領域6B内に点線で示すパンチルタリミッタ表示6Dによって制限される。このパンチルタリミッタ表示6Dは、パンチルタカメラ3のレンズの光軸の可動範囲を示す。すなわち、パンチルタリミッタ表示6Dを超えて指示することはできない。この任意の一点の位置座標(ξ,η)と、パンチルタ28が向いている角度情報(θ,φ)と、ズームレンズ16のワイド端を1倍とする現在のズーム相対倍率とする倍率情報(γ)とを用いて、式(7)、式(8)および式(9)からパノラマ操作領域6Bの位置座標(x,y)、画角情報(s,t)およびパンチルタ28の角度座標(α,β)が求められる。
【0061】
(x,y)=(f0 (θ),g0 (φ)) (7)
(s,t)=(f1 (γ),g1 (γ)) (8)
(α,β)=(f(ξ),g(η)) (9)
図10Bに示す位置座標(x,y)は、パンチルタ28のホームポジションを緯度、経度の原点としたとき、現在のパンチルタ28の向きであり、画角情報(s,t)は、現在操作領域6Aに表示されている画角である。この図10Bは、パノラマ操作領域6B上のズーム、パンチルタの状態を表示したものである。
【0062】
図10Cに示す角度座標(α,β)は、パンチルタ28のホームポジションを緯度、経度の原点としたとき、ポインティングデバイスで指定された場所を撮像画面の中心に映し出すためのものである。(PragMax ,TragMax)〜(PragMin ,TragMin)は、パンチルタの駆動可能範囲、すなわちパンチルタリミッタ表示6Dで示す範囲である。この図10Cは、パンチルタ可動範囲上の駆動目標値を表したものである。
【0063】
この図10において、求められる座標は、モニタ2の画面の絶対座標でも良く、パノラマ操作領域6Bの中心を(0,0)とした相対座標でも良い。この座標は、パン方向の座標をξ、m1、m2、x、s、αで示し、チルト方向の座標をη、n1、n2、y、t、βで示す。
【0064】
このように、マウス8がパノラマ操作領域6Bにある場合、マウス8で指定された領域のマウス8の位置情報(ξ,η)を用いて、指定された操作領域6A上の被写体が、操作領域6Aの中心に来るようなパンチルタ28の角度情報(α,β)を式(9)を用いて算出する。こうして得られた、パンチルタ28の角度座標(α,β)を図11に従って、パンチルタ28の内部位置情報(PNew,TNew)に変換し、パンチルタ28の絶対位置駆動命令と共に送信バッファに格納する。また、後述するように、同時にデータ送信要求フラグ(FlagSo)をセットし、タイマイベントでデータが送信されるようにする。
【0065】
ここで、上述したパンチルタ28内部の位置情報(p,t)を角度情報(θ,φ)に変換する方法並びに角度座標(α,β)をパンチルタ28内部の位置情報(PNew,TNew )に変換する方法を図11を用いて説明する。まず、図11Aに示す、PragMin は、パンチルタ28のホームポジションを0(rag)とした時の左端の角度データであり、PragMax は、パンチルタ28のホームポジションを0(rag)とした時の右端の角度データである。また、PdatMin は、パンチルタコントローラ25の左端の内部カウントデータであり、PdatMax は、パンチルタコントローラ25の右端の内部カウントデータである。
【0066】
そして、パンデータpからパン角度θを求めるために、
(PragMax−θ):(PragMax−PragMin)=(PdatMax−p):(PdatMax−PdatMin)
となり、これよりパン角度θは、
θ=PragMax −(PragMax−PragMin)×(PdatMax−p)/(PdatMax−PdatMin)
となる。
【0067】
またこれより、パンデータpは、
p=PdatMax −(PragMax−θ)×(PdatMax−PdatMin)/(PragMax−PragMin)
となる。
【0068】
また、パン角度αからパンデータPNewを求めるために、
(PragMax−α):(PragMax−PragMin)=(PdatMax−p-new):(PdatMax−PdatMin)
となり、これよりパンデータPNewは、
PNew=PragMax −(PragMax−α)×(PdatMax−PdatMin)/(PragMax−PragMin)
となる。
【0069】
また、図11Bに示す、TragMin は、パンチルタ28のホームポジションを0(rag)とした時の上端の角度データであり、TragMax は、パンチルタ28のホームポジションを0(rag)とした時の下端の角度データである。また、TdatMin は、パンチルタコントローラ25の上端の内部カウントデータであり、TdatMax は、パンチルタコントローラ25の下端の内部カウントデータである。
【0070】
そして、チルトデータtからチルト角度φを求めるために、
(TragMax−φ):(TragMax−TragMin)=(TdatMax−t):(TdatMax−TdatMin)
となり、これよりチルト角度φは、
φ=TragMax −(TragMax−TragMin)×(TdatMax−t)/(TdatMax−TdatMin)
となる。
【0071】
またこれより、チルトデータtは、
t=TdatMax −(TragMax−φ)×(TdatMax−TdatMin)/(TragMax−TragMin)
となる。
【0072】
また、チルト角度βからチルトデータTNewを求めるために、
(TragMax−β):(TragMax−TragMin)=(TdatMax−TNew) :(TdatMax−TdatMin)
となり、これよりチルトデータTNewは、
TNew=TragMax −(TragMax−β)×(TdatMax−TdatMin)/(TragMax−TragMin)
となる。
【0073】
次に、上述したパノラマ操作領域6B内の位置座標(ξ,η)をパンチルタ28の角度座標(α,β)へ変換する方法並びにパンチルタ28の角度情報(θ,φ)をパノラマ操作領域6B内の位置座標(x,y)へ変換する方法を図12を用いて説明する。まず、図12Aに示す、PragMin は、パンチルタ28のホームポジションを0(rag)とした時の左端の角度データであり、PragMax は、パンチルタ28のホームポジションを0(rag)とした時の右端の角度データである。また、Ny2 は、パノラマ操作領域6Bの水平方向の座標であり、−Ny2 /2は、パノラマ操作領域6Bの左端の座標データであり、Ny2 /2は、パノラマ操作領域6Bの右端の座標データである。
【0074】
そして、座標データξからパン角度αを求めるために、
(PragMax−α):(PragMax−PragMin)= (Ny2 /2−ξ):Ny2
となり、これよりパン角度αは、
α=PragMax −(PragMax−PragMin)× (Ny2 /2−ξ)/Ny2
となる。
【0075】
また、パン角度θから座標データxを求めるために、
(PragMax−θ):(PragMax−PragMin)= (Ny2 /2−x):Ny2
となり、これより座標データxは、
x=Ny2 /2−(PragMax−θ)×Ny2 /(PragMax−PragMin)
となる。
【0076】
また、図12Bに示す、TragMin は、パンチルタ28のホームポジションを0(rag)とした時の上端の角度データであり、TragMax は、パンチルタ28のホームポジションを0(rag)とした時の下端の角度データである。また、Nz2 は、パノラマ操作領域6Bの垂直方向の座標であり、−Nz2 /2は、パノラマ操作領域6Bの上端の座標データであり、Nz2 /2は、パノラマ操作領域6Bの下端の座標データである。
【0077】
そして、座標データηからチルト角度βを求めるために、
(TragMax−β):(TragMax−TragMin)= (Nz2 /2−η):Nz2
となり、これよりチルト角度βは、
β=TragMax −(TragMax−TragMin)× (Nz2 /2−η)/Nz2
となる。
【0078】
また、チルト角度φから座標データyを求めるために、
(TragMax−φ):(TragMax−TragMin)= (Nz2 /2−y):Nz2
となり、これより座標データyは、
y=Nz2 /2−(TragMax−θ)×Nz2 /(TragMax−TragMin)
となる。
【0079】
パンチルタ28が切り出している画角情報(ψ,ω)からパノラマ操作領域6B内の画枠6Cの画角情報(s,t)へ変換する方法を図13を用いて説明する。まず、図13Aには、現在のパンチルタ28の画角情報(ψ,ω)を示す。この画角情報(ψ,ω)は、
(ψ,ω)=1/γ×(ψ0,ω0)
によって求められる。このとき、(ψ0,ω0)はワイド端での水平画角と垂直画角を示し、γはワイド端を1倍としたときのレンズ倍率を示す。
【0080】
図13Bに示すように、PragMin は、パンチルタ28のホームポジションを0(rag)とした時の左端の角度データであり、PragMax は、パンチルタ28のホームポジションを0(rag)とした時の右端の角度データである。また、Ny2 は、パノラマ操作領域6Bの水平方向の座標であり、−Ny2 /2は、パノラマ操作領域6Bの左端の座標データであり、Ny2 /2は、パノラマ操作領域6Bの右端の座標データである。
【0081】
そして、水平画角ψから水平画角sを求めるために、
ψ:(PragMax−PragMin)=s:Ny2
となり、これより水平画角sは、
s=ψ×Ny2 /(PragMax−PragMin)
となる。
【0082】
また、図13Cに示す、TragMin は、パンチルタ28のホームポジションを0(rag)とした時の下端の角度データであり、TragMax は、パンチルタ28のホームポジションを0(rag)とした時の上端の角度データである。また、Nz2 は、パノラマ操作領域6Bの垂直方向の座標であり、−Nz2 /2は、パノラマ操作領域6Bの下端の座標データであり、Nz2 /2は、パノラマ操作領域6Bの上端の座標データである。
【0083】
そして、垂直画角ωから垂直画角tを求めるために、
ω:(TragMax−TragMin)=t:Nz2
となり、これより垂直画角tは、
t=ω×Nz2 /(TragMax−TragMin)
となる。
【0084】
これらより、図13Dに示す画角情報(s,t)がパノラマ操作領域6B内に画枠6Cとして、表示される。
【0085】
次に、上述したズームレンズ16の位置情報(z)を倍率情報(γ)に変換する方法を図14を用いて説明する。この図14は、縦軸にレンズ倍率情報を表し、横軸にズームレンズの内部情報を表す。取得したズームレンズ16の位置情報(z)は、図14に示す変換グラフに照らし合わし、コンピュータ1上で倍率情報(γ)に変換される。一例として、ROMテーブルまたは数式によって、位置情報(z)が倍率情報(γ)に変換される。
【0086】
次に、コンピュータ1内の制御アルゴリズムの一例を図15を用いて説明する。まず、ステップS1では、プログラムがスタートすると、図2に示すように、モニタ2上に操作領域6A、パノラマ操作領域6B、カーソル7、さらにパンチルタリミッタ表示6Dに示すパンチルタリミッタが設定される初期化が行われる。パンチルタリミッタの範囲は、固定値でも良いし、その範囲を変更したいときに自由に変更することができるようにしても良い。そして、ステップS2では、コンピュータ1とモードコントローラ23とが所定の周期で通信を行うために、タイマが設定される。これらの初期設定動作が完了すると、ステップS3の各種発生するイベント待ち状態に制御が移り、発生したイベントに対応してステップS3から制御が移る。発生するイベントは、先に設定したタイマイベント(ステップS4)、パノラマ作成要求イベント(ステップS5)がある。
【0087】
パノラマ作成要求イベントのアルゴリズムの詳細について、図16のフローチャートを用いて説明する。パノラマ作成要求イベントが発生すると、ステップS8では、パノラマ作成要求(FlagPa)がセット(True)される。
【0088】
タイマイベントのアルゴリズムの詳細について、図17のフローチャートを用いて説明する。この一例のタイマイベントは、周期的にコンピュータ1とモードコントローラ23との通信を行うために発生するイベントである。このタイマイベントは、一例として50msec間隔で発生する。タイマイベントが発生すると、ステップS11では、通信ポートの設定が完了しているか否かが判断される。通信ポートの設定が完了している(済)と判断されると、ステップS12へ制御が移り、通信ポートの設定が完了していない(未)と判断されると、ステップS18へ制御が移る。ここでは、通信ポートの設定が完了していない初回のみ、ステップS18に制御が移り、通信ポートの開設処理が行われる。具体的には、ステップS18において、コンピュータ1上のRS−232Cポートの開設が行われる。
【0089】
それ以降のタイマイベントでは、受信データの確認、解析処理、パンチルタ28の駆動命令など送信バッファにたまっているデータの送信処理、またはパンチルタ28、ズームレンズ16の状態確認要求のための通信データの送信処理が行われる。このアルゴリズムでは、ステップS11からステップS12へ制御が移り、ステップS12では、受信バッファのデータの有無が確認され、受信データが存在する場合、ステップS13に制御が移り、受信データが存在しない場合、ステップS14に制御が移る。ステップS13では、受信バッファに存在する受信データが解析され、モードコントローラ23に要求したパンチルタ28の位置情報(p,t)や、ズームレンズ16の位置情報(z)が取得される。これらのデータが上述した図11、図14の方式に従い、パンチルタ28の角度情報(θ,φ)、ズームレンズ16の倍率情報(γ)に変換される。
【0090】
次に、ステップS14では、データの送信要求の有無が確認される。データの送信要求が存在する(FlagSo==True)場合、ステップS19に制御が移り、ステップS19では、送信バッファに格納されているデータの送信処理がなされた後、送信要求フラグ(FlagSo)がリセット(False)される。この送信バッファにたまったデータの一例として、マウス8で設定されたパンチルタ28の駆動命令のデータなどがある。そして、送信要求がない(FlagSo==False)場合、ステップS15へ制御が移る。ステップS15では、送信要求の内部カウンタ(ReqCnt)が0が否かが判断され、送信要求の内部カウンタが0の場合(ReqCnt=0)、ステップS16へ制御が移り、送信要求の内部カウンタが0でない場合(ReqCnt≠0)、ステップS20へ制御が移る。
【0091】
ステップS16では、パンチルタ28およびズームレンズ16の位置要求命令がモードコントローラ23に送信される。そして、ステップS17では、送信要求の内部カウンタ(ReqCnt)がインクリメントされる。
【0092】
ステップS20では、パノラマ作成要求が存在するか否かが判断され、パノラマ作成要求が存在する場合(FlagPa==True)、ステップS21へ制御が移り、パノラマ作成要求が存在しない場合(FlagPa==False)、ステップS22へ制御が移る。ステップS21では、後述するパノラマ作成処理が実行される。そして、ステップS22では、送信要求の内部カウンタ(ReqCnt)が0にされる。
【0093】
次に、上述したパノラマ作成処理のアルゴリズムについて図18のフローチャートを用いて説明する。パノラマ作成は、パノラマ作成要求イベントによって設定(FlagPa=True)される。このパノラマ作成要求イベントが予め発生すると、上述したようにタイマイベント時、パノラマ作成処理(ステップS21)が実行される。このフローチャートでは、パノラマ作成処理の手順をパノラマカウンタ(PanoCnt)に従って行っている。
【0094】
まず、この処理が開始されると、撮像装置の画角を最広角に設定する処理が行われる。すなわち、ステップS31において、パノラマカウンタ(PanoCnt)が1であるか否かが判断され、パノラマカウンタが1である(PanoCnt ==1)と判断された場合、ステップS43へ制御が移り、パノラマカウンタが1でない(PanoCnt ≠1)と判断された場合、ステップS32へ制御が移る。ステップS43では、ズームをワイド端に移動する駆動命令を送信すると共に、パノラマカウンタをインクリメントする。これは、より広範囲のパノラマ画像を、少ない画像取得回数で行うためである。
【0095】
ステップS32では、パノラマカウンタが2であるか否かが判断され、パノラマカウンタが2である(PanoCnt ==2)と判断された場合、ステップS44へ制御が移り、パノラマカウンタが2でない(PanoCnt ≠2)と判断された場合、ステップS33へ制御が移る。ステップS44では、パンチルタ28を最初に撮影するポジション(POS(PanoCnt −2))に移動する駆動命令を送信すると共に、パノラマカウンタをインクリメントする。すなわち、POS(PanoCnt −2)で示すパンチルタ28の画角を取得する最初の位置(図5の1で示す位置)に移動する処理を行う。
【0096】
また、パノラマカウンタ(PanoCnt)が3以降の場合、設定したズーム、パンチルタ位置に撮像装置が移動したのを確認し、指定位置に到達した場合、画像のキャプチャを行う。ステップS33では、ズームレンズ16の位置情報(z)の確認が行われ、ズーム位置があっている場合、ステップS34へ制御が移り、ズーム位置があっていない場合、このフローチャートは終了する。さらに、ステップS34では、パンチルタ28の位置情報(p,t)の確認が行われ、パンチルタ位置があっている(==POS(PanoCnt −3))場合、ステップS35へ制御が移り、パンチルタ位置があっていない(≠POS(PanoCnt −3))場合、このフローチャートは終了する。そして、ステップS35では、現在のパンチルタ位置の画像が取得される。取得された画像は、ビットマップの画像ファイルとしてメモリに記憶される。
【0097】
ステップS36では、パンチルタ28を次に撮影するポジション(POS(PanoCnt −2))に移動する駆動命令が送信される。ステップS37では、上述したように、取得した画像を仮想球面にデータ変換し、重複画像、不要画像の削除を行う画像の連結処理が行われる。また、コンピュータ1の処理能力がない場合、このステップS37では、水平方向および垂直方向に圧縮も行う。ステップS38では、連結された画像が緯度、経度で正規化され、表示される。そして、ステップS39では、パノラマカウンタ(PanoCnt)がインクリメントされる。
【0098】
すなわち、次の画像取得位置にパンチルタ28を移動する処理を行い、続いて、先にキャプチャした画像の仮想球面への写像処理、水平、垂直方向への圧縮処理、重複画像、不要画像の削除処理等を行い、パノラマ画像作成の進行状況を表示する。以上の動作をパノラマ画像が完成するまで行う。
【0099】
ステップS40では、パノラマ画像が完全に完成したか否かが判断され、完成したと判断された場合、ステップS41へ制御が移り、未完成と判断された場合、このフローチャートは終了し、再度上述の制御をパノラマ画像が完成するまで繰り返す。ステップS41では、パノラマ画像が完成したので、パノラマ作成要求(FlagPa)がリセット(False)される。そして、ステップS42では、完成されたパノラマ画像が保存される。
【0100】
このフローチャートでは、図5に示す1の画像はパノラマカウンタ(PanoCnt)が3のときに獲得でき、図5に示す2の画像はパノラマカウンタが4のときに獲得でき、そしてパノラマカウンタが12のときに獲得される図5に示す10の画像が獲得されると、パノラマ画像を生成するための全ての画像が獲得され、パノラマ画像が完成する。
【0101】
なお、駆動装置は、ここで指令される目標位置に対して、常に同一方向から進入するように動作し、画像連結の際発生し得る駆動系の機構の遊び(例えば、ギアのバックラッシュ)による、連結画像のずれを補正している。
【0102】
上述したこの発明の一実施形態によって、図5Bに示すような10枚の映像から図5Dに示すようなパノラマ画像を得ることができる。
【0103】
上述した一実施形態では、すべての制御を1台のコンピュータを用いて行うようになされている。この発明の他の実施形態は、図19に示すように、サーバ用コンピュータ、クライアント用コンピュータ間で役割を分担して、ネットワーク回線のように通信容量に制限のある形態でもパンチルタカメラを制御するようにしたものである。モニタ2およびマウス8が接続されているコンピュータ1は、伝送路およびサーバ9を介して遠隔地に設置されたパンチルタカメラ3の駆動を制御する。すなわち、コンピュータ1によって、撮像装置コントローラが構成される。伝送路としては、通信回線(無線、有線)、ネットワークなどの既存の種々のものが使用可能である。サーバ9に対してコンピュータ1は、クライアントの関係にあり、サーバ9に対して複数のコンピュータ1の接続が可能である。
【0104】
パンチルタカメラ3およびサーバ9は、4に示すような環境にある実際の景色に設置される。この環境の実際の景色4に設置されたパンチルタカメラ3によって撮影された画面(以下、撮影画面と称する)を5に示す。この撮影画面5は、実際に撮影している画面であって、ズームレンズを望遠側に操作すると画角が小さくなり、ワイド側に操作すると画角が大きくなる。
【0105】
パンチルタカメラ3によって取り込まれる撮影画面5の映像は、サーバ9を経由することによって映像データに変換される。この映像データが伝送路を介してコンピュータ1に供給される。コンピュータ1に供給された映像データがモニタ2に表示される。モニタ2では、供給された撮影画面5がモニタ2の画面上の操作領域6Aに表示される。
【0106】
また、モニタ2では、パノラマ操作領域6Bおよびパノラマ生成ボタン6Eを有している。パノラマ生成ボタン6Eによりパノラマ画像の作成指示がサーバ9に発信され、サーバ9では、パンチルタ、ズームを所定の位置に駆動し、各々の場所で画像を取得するとともに、取得した複数枚の画像を、パンチルタの可動軸を原点とした仮想球面に対して画像を連結し、仮想球面の緯度、経度方向に対して正規化を行った平面画像を作成する。作成されたパノラマ画像がサーバ9から伝送路を介してコンピュータ1によりモニタ2のパノラマ操作領域6Bに表示される。
【0107】
また、上述した一実施形態と同様に、パノラマ操作領域6Bに、マウス8の位置に矢印形のカーソル7が描画される。映像またはパノラマ画像中の任意の一点または領域6Cをマウス8により指示することによって、パンチルタカメラ3が操作される。さらに、パノラマ操作領域6Bには、点線で示すように、パンチルタリミッタ表示6Dが表示される。パンチルタリッタ表示6Dは、パンチルタカメラ3の可動範囲の限界を示す。
【0108】
そして、マウス8を操作することによって、カーソルは移動し、パノラマ操作領域6Bの任意の一点または、任意の領域6Cから生成される任意の一点を指示することができる。指示された任意の一点が操作領域6Aの中央になるように、サーバ9および伝送路を介してパンチルタを駆動させ、撮像画面5が移動する。すなわち、選択された被写体がサーバ9および伝送路を介して、パノラマ操作領域6Bの中央になるように表示される。
【0109】
図20は、この発明の実施の他の実施形態の全システムのブロック図である。但し、カメラ部11およびパンチルタ部12の構成、機能は、上述した一実施形態(図3)と同様であるので、図20では、その詳細な構成が省略されている。サーバ9は、制御部131、ビデオキャプチャーボードからなるビデオキャプチャー部129、記憶部30から構成される。コンピュータ1は、伝送路132とネットワークで接続されており、図3に示す一実施形態と同様に制御部31等から構成される。なお、各コンピュータ内の詳細なアルゴリズムについても、前記一実施形態と内容が重複するため、その説明を省略する。
【0110】
被写体から到達する撮像光は、一実施形態と同様、カメラ部11で信号処理され、輝度(Y)、色(C)、ビデオ信号といった各信号に変換され、映像信号としてTVモニタ13およびサーバ9のビデオキャプチャー部129へ供給される。また、一実施形態のとおり、パンチルタカメラは、モードコントローラ23、カメラコントローラ24、パンチルタコントローラ25を有し、カメラ部11、パンチルタ部28を制御している。モードコントローラ23は、カメラ部11、パンチルタ部12の内部状態、および、外部からの命令に従い、システム全体を一実施形態と同様に制御する。
【0111】
モードコントローラ23は、通信路(具体的には、RS232Cを用いている)によりサーバ9と接続され、サーバ9から直接送られてくる命令、または、コンピュータ1から、サーバ9経由で送られてくる命令に対し、パンチルタ28、レンズブロック部15のズームレンズ16を駆動するように、パンチルタコントローラ25、カメラコントローラ24に、受け取った命令を振り分ける。また、モードコントローラ23は、パンチルタカメラの内部状態をサーバ9を経由して外部に送出するため、パンチルタコントローラ25、カメラコントローラ24から情報を常に取得している。
【0112】
サーバ9は、パンチルタ部12のモードコントローラ23より、パンチルタカメラの内部状態(たとえば、パンチルタ、ズームレンズの現在の位置情報等)を周期的に取得するようになっている。また、カメラ部11の映像を伝送路132に送出するために、ビデオキャプチャー部129を使用しており、カメラ部11より入力されてくる映像情報を任意の品質で、伝送路132に送出しやすいデジタル画像データ(具体的には、JPEG形式の静止画またはビットマップ形式の静止画)に変換している。また、同形式のデジタル画像を、記憶部130(例えば、ハードディスク)上にストレージすることができる。
【0113】
サーバ9に対し、コンピュータ1より接続要求がなされると、サーバ9は、コンピュータ1に接続されているモニタ2に表示するための、GUI(グラフィカルインターフェース)パネル情報を送出する。パネル情報としては、パネルの配置、パネル上でマウス操作されたときの、コンピュータ1での動作プログラム等があり、具体的には、HTML、JAVAのプログラムを使用している。また、周期的にパンチルタカメラが撮像した画像データ、パンチルタカメラの状態などを伝送路132を介してコンピュータ1に送出する。
【0114】
他の実施形態では、伝送路132にインターネットを使用し、伝送路132上を、HTTPプロトルコを用いてやり取りがなされている。また、コンピュータ1では、インターネット用のフラウザを用いて、サーバ9より送られてくるGUIパネル情報、画像情報、パンチルタカメラ状態などを、モニタ2に表示する。モニタ2の画面上に表示されるGUIパネルには、操作領域6Aおよびパノラマ操作領域6B、ズームの操作ボタン、ポインティングデバイス14(マウス8)のカーソル等が表示される。そして、操作領域6Aには、サーバより送られてくる画像データがデコード表示され、画像データの更新と共に映像が書き換えられる。また、サーバ9より送られてくるパノラマ画像データがデコードされ、パノラマ操作領域6Bに、パノラマ画像が表示され、さらに、パンチルタカメラの動作範囲及び、現在のパンチルタの位置、ズームの画角などが一実施形態と同様な手法で表示される。そして、コンピュータ1は、サーバ9より送られてきた、GUIパネルが操作されたときの動作プログラムが実行される。
【0115】
他の実施形態の上記動作プログラムは、パンチルタカメラへの駆動命令及び、サーバ上での動作命令を、マウスのクリック動作によって発生させる。操作領域6A上で、マウスがクリックされた場合、一実施形態と同様、画角情報、現在のパンチルタ位置情報、クリックされたときのマウスの位置情報を元に、操作領域6Aに表示される映像上でマウスクリックされた位置が、操作領域6A(映像表示)の中心に来るようにパンチルタが駆動されるように、命令(絶対位置駆動命令又は相対位置駆動命令)をサーバ9に発信する。
【0116】
サーバ9がこの命令を取得すると、命令を中継して、パンチルタカメラに発信し、パンチルタが所望の位置に駆動される。このように、映像上でパンチルタの駆動目標を設定するため、ネットワークでの駆動命令、映像のディレー等を意識せずにパンチルタを容易に操作することが可能になる。
【0117】
コンピュータ1では、送られてきたパノラマ画像が、モニタ2のパノラマ操作領域6Bに重ね合わすように表示され、現在パンチルタカメラが設定されている環境を一目で表示することが可能になる。また、先の説明でも述べたように、パノラマ操作領域6Bには、パンチルタの位置情報、ズームレンズ画角、パンチルタの駆動範囲が表示されてるため、パノラマ画像上で、現在のパンチルタの状態を容易に確認することが可能になる。つまり、コンピュータ1または、サーバ9がパンチルタやズームを駆動する命令を発生すれば、それに応じたパンチルタカメラの状況が、パノラマ画像上で確認できることになる。
【0118】
また、パノラマ操作領域6B上で、マウスがクリックされた場合、一実施形態と同様、クリックされたときのマウスの位置情報を元に、パノラマ画像上のマウスクリックされた位置が、操作領域6A(映像)の中心に来るように駆動されるように、命令(絶対位置駆動命令)をサーバ9に発信する。サーバ9がこの命令を取得すると、命令を中継して、パンチルタカメラに発信し、パンチルタが所望の位置に駆動される。このように、パノラマ画像上でパンチルタの駆動目標を設定するため、ネットワークでの駆動命令、映像のディレー等を意識せずにパンチルタを容易に操作することが可能になる。
【0119】
この発明の実施形態では、パノラマ画像は、パンチルタカメラ3からコンピュータ1へ画像が供給される度にコンピュータ1内で連結し、連結されるたびに画像をパノラマ操作領域6Bに表示しているが、全ての画像が連結された後にパノラマ操作領域6Bに表示するようにしても良い。
【0120】
この発明の実施形態では、コンピュータ1に接続されているモニタ2の画面上に操作領域6Aおよびパノラマ操作領域6Bを表示しているが、モニタ2とは異なる別のディスプレイに操作領域6Aおよび/またはパノラマ操作領域6Bを表示しても良い。
【0121】
この発明の実施形態では、パンチルタカメラ3によって撮影可能な範囲をパンチルタカメラ3の可動できる最大範囲としても良いし、リミッタによって撮影可能な範囲を制限しても良い。また、そのリミッタにより撮影範囲を制限する機能は、パンチルタカメラ3に持っても良いし、コンピュータ1に持っても良い。
【0122】
この発明の実施形態では、任意の領域から生成される任意の一点をその領域の中心としたが、それに限らず任意の領域の外心、内心、重心または垂心を任意の一点としても良い。
【0123】
この発明の他の実施形態では、パノラマ画像の作成をコンピュータ1で行うようになされているが、サーバ9でパノラマ画像を作成し、回線容量の少ないネットワーク回線にそのパノラマ画像のデータをコンピュータ1に転送し、モニタ2のパノラマ操作領域6Bに表示するようにしても良い。
【0124】
この発明の他の実施形態では、説明を容易とするために、遠隔地に設置されたサーバ9とパンチルタカメラ3に対して1つのコンピュータ1としたが、サーバ9とパンチルタカメラ3は、世界中に配置され、例えばインターネットを介して複数のコンピュータから1つのパンチルタカメラ3を制御するようにしても良い。
【0125】
【発明の効果】
この発明に依れば、撮像した映像を仮想球面上に写像し、連結する手法をとっているため、連結部に歪みのない画像を提供することが可能になる。これによって、低コストのデバイス、画像フォーマットを用いた機器の画像を連結しても、高解像度のデバイス、画像フォーマットを用いてしか得られないようなハイクオリティー(高画質、高品質)な画像を得ることができる。また、一般に高価である超広角系のレンズまたは魚眼レンズを用いて可能になるパノラマ画像を、安易に作成できるため、撮像装置の撮像方向が変更可能な装置(例えば、パンチルタ内蔵カメラ)に用いたアプリケーションなどで効果が期待できる。
【0126】
また、この発明に依れば、例えば、パノラマ画像上に、ズーム画角、パンチルタ位置などを表示することで、撮像装置の状況を容易に把握することが可能になると共に、パノラマ画像上で、駆動したい場所、映したい被写体を指定することができるので、容易に目的の映像を得るが可能となる。特に、こういったアプリケーションにパノラマ画像を用いることで、回線を利用した遠隔地にあるビデオカメラでの監視、観察、案内、紹介などの制御用途で、より良い操作性と、視認性を実現することができる。さらに、この発明では、指令される目標位置に対して、駆動装置が常に同一方向から進入するように動作し、画像連結の際発生し得る駆動系の機構の遊び(例えば、ギアのバックラッシュ)による、連結画像のずれの発生を防止することができる。
【図面の簡単な説明】
【図1】この発明の一実施形態のシステムの概略的構成を示す略線図である。
【図2】この発明の一実施形態における画面を説明するための略線図である。
【図3】この発明の一実施形態のシステム構成を示すブロック図である。
【図4】この発明の一実施形態におけるパノラマ画像の生成を説明するための略線図である。
【図5】この発明の一実施形態におけるパノラマ画像の生成を説明するための概略図である。
【図6】この発明の一実施形態におけるパノラマ画像の生成を説明するための概略図である。
【図7】この発明の一実施形態におけるパノラマ操作領域上の位置座標からパンチルタカメラの角度情報を生成する説明にもちいた略線図である。
【図8】この発明の一実施形態における平面球面変換を説明するための略線図である。
【図9】この発明の一実施形態における操作領域での座標変換を説明するための略線図である。
【図10】この発明の一実施形態におけるパノラマ操作領域での座標変換を説明するための略線図である。
【図11】この発明の一実施形態におけるパンチルタカメラの内部の位置情報と角度情報とを説明するための略線図である。
【図12】この発明の一実施形態におけるパンチルタカメラの角度座標とパノラマ操作領域の位置座標とを説明するための略線図である。
【図13】この発明の一実施形態におけるパンチルタカメラの画角とパノラマ操作領域内の枠とを説明するための略線図である。
【図14】この発明の一実施形態におけるズームデータと倍率データの変換を説明するための略線図である。
【図15】この発明の一実施形態の全体の処理の一例を示すフローチャートである。
【図16】この発明の一実施形態におけるパノラマ作成要求イベントの処理の一例を示すフローチャートである。
【図17】この発明の一実施形態におけるタイマイベントの処理の一例を示すフローチャートである。
【図18】この発明の一実施形態におけるパノラマ作成処理の一例を示すフローチャートである。
【図19】この発明の他の実施形態のシステムの概略的構成を示す略線図である。
【図20】この発明の他の実施形態のシステム構成を示すブロック図である。
【図21】パノラマ画像の作成を説明するための略線図である。
【符号の説明】
1・・・コンピュータ、2・・・モニタ、6A・・・操作領域、6B・・・パノラマ操作領域、7・・・カーソル、9・・・サーバ、11・・・カメラ部、12・・・パンチルタ部、13・・・TVモニタ、14・・・ポインティングデバイス、15・・・レンズブロック部、16・・・ズームレンズ、17・・・ズーム部、18、26、27・・・モータ、19・・・固体撮像素子、20・・・信号分離/自動利得調整回路、21・・・A/D変換器、22・・・信号処理回路、23・・・モードコントローラ、24・・・カメラコントローラ、25・・・パンチルタコントローラ、28・・・パンチルタ、29・・・ビデオキャプチャー、30・・・記憶部、31・・・制御部
Claims (8)
- 映像を撮影する撮像手段と、
上記撮像手段の撮像する方角を制御する駆動手段と、
上記撮像手段の撮像する方角を変化させることによって得られた複数の画像を、上記駆動手段の回転中心から見た仮想球面に対し写像し、上記仮想球面に対して写像された上記画像を、上記仮想球面の緯度、経度で正規化することによって平面に写像することによって歪みなく連結する画像連結手段と
からなり、
上記駆動手段は、駆動系に遊びがある機構を有するものであって、上記撮像手段の撮像する方角を変化させる際に、同一方向に駆動されることによってバックラッシュの影響を補正するようにしたことを特徴とするパノラマ画像生成装置。 - 上記画像連結手段によって複数枚の画像を連結する場合、1枚の画像を取得するたびに、その連結結果を表示手段に表示せず、全画像を取得した後に、上記表示手段に表示するようにしたことを特徴とする請求項1に記載のパノラマ画像生成装置。
- 上記画像連結手段によって複数枚の画像を連結する場合、1枚の画像を取得するたびに逐次画像の連結を行うが、その結果を表示手段に表示せず、全画像が取り込まれ、連結が終了した時に、その結果を表示手段に表示するようにしたことを特徴とする請求項1に記載のパノラマ画像生成装置。
- 上記駆動手段の可動範囲の画像を上記撮像手段によって撮像し、パノラマ画像を自動的に生成するようにしたことを特徴とする請求項1に記載のパノラマ画像生成装置。
- 上記駆動手段の駆動方向の指示を行うためのパノラマ操作領域に、パノラマ画像を表示するようにしたことを特徴とする請求項4に記載のパノラマ画像生成装置。
- 上記パノラマ操作領域の任意の一点を指定することで、指定された任意の一点に対応する位置の被写体を、上記駆動手段の任意の位置座標に移動するようにしたことを特徴とする請求項5に記載のパノラマ画像生成装置。
- 上記パノラマ操作領域の任意の領域を指定することで、上記任意の領域より生成される任意の一点に対応する位置の被写体を、上記駆動手段の任意の位置座標に移動するようにしたことを特徴とする請求項5に記載のパノラマ画像生成装置。
- 映像を撮影する撮像ステップと、
上記映像を撮像する方角を制御する駆動ステップと、
撮影することによって得られた複数の画像を、上記撮影する位置の回転中心から見た仮想球面に対し写像し、上記仮想球面に対して写像された上記画像を、上記仮想球面の緯度、経度で正規化することによって平面に写像することによって歪みなく連結する画像連結ステップと
からなり、
上記駆動ステップにおいて、駆動系に遊びがある機構を有する駆動手段が使用され、上記撮像手段の撮像する方角を変化させる際に、同一方向に上記駆動系が駆動されることによってバックラッシュの影響を補正されることを特徴とするパノラマ画像生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26182997A JP3744147B2 (ja) | 1997-04-21 | 1997-09-26 | パノラマ画像生成装置および方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9-103456 | 1997-04-21 | ||
JP10345697 | 1997-04-21 | ||
JP26182997A JP3744147B2 (ja) | 1997-04-21 | 1997-09-26 | パノラマ画像生成装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH118845A JPH118845A (ja) | 1999-01-12 |
JP3744147B2 true JP3744147B2 (ja) | 2006-02-08 |
Family
ID=26444097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26182997A Expired - Fee Related JP3744147B2 (ja) | 1997-04-21 | 1997-09-26 | パノラマ画像生成装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3744147B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000227963A (ja) * | 1999-02-08 | 2000-08-15 | Nippon Telegr & Teleph Corp <Ntt> | 距離情報付き画像作成装置及び方法、並びにこの方法のプログラムを記録した記録媒体 |
JP2002016909A (ja) * | 2000-06-28 | 2002-01-18 | Tokin Corp | パノラマ画像撮影用カメラの遠隔制御方法およびその制御システム |
JP2003009136A (ja) * | 2001-06-21 | 2003-01-10 | Toshiba Corp | カメラ監視システム及び映像配信サーバ |
DE60320169T2 (de) | 2002-05-02 | 2009-04-09 | Sony Corp. | Überwachungssystem und Verfahren sowie zugehöriges Programm- und Aufzeichnungsmedium |
EP1359553B1 (en) | 2002-05-02 | 2012-10-10 | Sony Corporation | Monitoring system, monitoring method, computer program and storage medium |
JP2006310975A (ja) * | 2005-04-26 | 2006-11-09 | Mitsubishi Electric Corp | ビデオモザイキング装置、パノラマ映像送受信システム、パノラマ映像作成送信装置、パノラマ映像受信装置、パノラマ映像用ストリップ作成送信装置およびパノラマ映像用ストリップ受信装置 |
JP2007043225A (ja) * | 2005-07-29 | 2007-02-15 | Univ Of Electro-Communications | 撮像画像処理装置及び撮像画像処理方法 |
JP4802012B2 (ja) * | 2006-03-02 | 2011-10-26 | ティーオーエー株式会社 | カメラ制御装置およびカメラ制御方法 |
JP4914171B2 (ja) | 2006-10-16 | 2012-04-11 | キヤノン株式会社 | 撮像装置の制御方法及びカメラシステム |
US8267192B2 (en) | 2009-02-24 | 2012-09-18 | Black & Decker Inc. | Ergonomic handle for power tool |
CN104284155B (zh) * | 2014-10-16 | 2017-08-15 | 浙江宇视科技有限公司 | 视频图像信息标注方法及装置 |
JP6726931B2 (ja) | 2015-03-20 | 2020-07-22 | キヤノン株式会社 | 画像処理装置およびその方法、並びに、画像処理システム |
JP6672315B2 (ja) * | 2015-08-18 | 2020-03-25 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、及び画像表示制御装置 |
CN108961371B (zh) * | 2017-05-19 | 2023-06-02 | 阿里巴巴(中国)有限公司 | 全景启动页及app显示方法、处理装置以及移动终端 |
JP2020022058A (ja) * | 2018-07-31 | 2020-02-06 | 横河電機株式会社 | 監視システム |
-
1997
- 1997-09-26 JP JP26182997A patent/JP3744147B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH118845A (ja) | 1999-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4332231B2 (ja) | 撮像装置コントローラおよび撮像システム | |
JP3744147B2 (ja) | パノラマ画像生成装置および方法 | |
JP3792901B2 (ja) | カメラ制御システム及びその制御方法 | |
JP5379856B2 (ja) | リモートカメラの制御方法、システム、及び装置 | |
JP4914171B2 (ja) | 撮像装置の制御方法及びカメラシステム | |
KR20110108265A (ko) | 제어 장치, 카메라 시스템 및 프로그램 | |
KR20120012399A (ko) | 카메라 장치, 카메라 시스템, 제어 장치 및 프로그램 | |
JP2019087974A (ja) | 撮像装置、撮像方法、表示装置および表示方法 | |
JP7150456B2 (ja) | 撮像システム、情報処理装置、情報処理装置の制御方法、及び、プログラム | |
JP2004214830A (ja) | 一部リアルタイム画像表示装置 | |
JPH1118003A (ja) | パノラマ撮像装置 | |
JP4332580B2 (ja) | 制御装置および制御方法、並びに監視システム | |
JP2000341574A (ja) | カメラ装置及びカメラ制御システム | |
JP3994469B2 (ja) | 撮像装置、表示装置及び記録装置 | |
JP3812069B2 (ja) | 撮像装置コントローラおよび撮像装置 | |
JPH10322581A (ja) | 撮像装置コントローラおよび撮像システム | |
JP2005354748A (ja) | 撮像手段制御方法および撮像手段制御装置 | |
JP4448001B2 (ja) | 撮像装置 | |
JP5863257B2 (ja) | パノラマ画像の生成装置、及び生成方法 | |
CN112073630A (zh) | 摄像装置、摄像装置的控制方法及记录介质 | |
KR20170011928A (ko) | 초광각 카메라를 이용한 렌즈 왜곡 영상 보정 카메라 시스템 및 그가 적용된 tvi 장치 | |
JP4148251B2 (ja) | 撮像装置及び表示装置 | |
JP2005348448A (ja) | パノラマ撮像装置 | |
JPH1127572A (ja) | 遠隔操作撮像装置および撮影方向の決定方法 | |
JP6128966B2 (ja) | 画像処理装置、画像処理方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051011 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051114 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |