(57)【特許請求の範囲】
【請求項１】
伝送路を介して接続された撮像手段の撮影する方向を制御するための撮像装置コントローラにおいて、
上記撮像手段の撮像する方角を制御する駆動手段と、
上記駆動手段を制御することによって、上記撮像手段の映出する映像を選択する映像選択手段とを有し、
任意の時点で更新可能なパノラマ画像と、
時刻を変えて撮影した複数枚のパノラマ画像から選択される基準パノラマ画像と
を選択して、あるいは両方同時に操作者に提示するようにしたことを特徴とする撮像装置コントローラ。
【請求項２】
伝送路を介して接続された撮像手段の撮影する方向を制御するための撮像装置コントローラにおいて、
上記撮像手段の撮像する方角を制御する駆動手段と、
上記駆動手段を制御することによって、上記撮像手段の映出する映像を選択する映像選択手段とを有し、
任意の時点で更新可能なパノラマ画像と、
時刻を変えて撮影した複数枚のパノラマ画像から平均処理または多数決などのフィルタにより合成した基準パノラマ画像と
を選択して、あるいは両方同時に操作者に提示するようにしたことを特徴とする撮像装置コントローラ。
【請求項３】
請求項１または請求項２に記載の撮像装置コントローラにおいて、
上記パノラマ画像または上記基準パノラマ画像に対応する操作領域を有し、
上記操作領域上に任意の一点を指定することで、上記任意の一点に対応する位置の被写体を、上記駆動手段の任意の位置座標に移動するようにしたことを特徴とする撮像装置コントローラ。
【請求項４】
請求項１または請求項２に記載の撮像装置コントローラにおいて、
上記パノラマ画像または上記基準パノラマ画像に対応する操作領域を有し、
上記操作領域上に任意の領域を指定することで、上記任意の領域から生成される任意の一点に対応する位置の被写体を、上記駆動手段の任意の位置座標に移動するようにしたことを特徴とする撮像装置コントローラ。
【請求項５】
請求項１または請求項２に記載の撮像装置コントローラにおいて、
上記撮像手段の映出している現在位置を、上記パノラマ画像または上記基準パノラマ画像に表示することで、上記撮像手段の状況を把握する状態表示手段を有することを特徴とする撮像装置コントローラ。
【請求項６】
請求項１または請求項２に記載の撮像装置コントローラにおいて、
上記駆動手段の可動範囲を、上記パノラマ画像または上記基準パノラマ画像に表示することで、上記撮像手段の上記撮像手段の状況を把握する状態表示手段を有することを特徴とする撮像装置コントローラ。
【請求項７】
請求項１または請求項２に記載の撮像装置コントローラにおいて、
上記撮像手段の撮影している画角を、上記パノラマ画像または上記基準パノラマ画像に表示することで、上記撮像手段の上記撮像手段の状況を把握する状態表示手段を有することを特徴とする撮像装置コントローラ。
【請求項８】
伝送路を介して接続された撮像手段の撮影する方向を制御するための撮像装置において、
上記撮像手段の撮像する方角を制御する駆動手段と、
上記駆動手段を制御することによって、上記撮像手段の映出する映像を選択する映像選択手段とを有し、
任意の時点で更新可能なパノラマ画像と、
時刻を変えて撮影した複数枚のパノラマ画像から選択される基準パノラマ画像と
を選択して、あるいは両方同時に操作者に提示するようにしたことを特徴とする撮像装置。
【請求項９】
伝送路を介して接続された撮像手段の撮影する方向を制御するための撮像装置コントローラにおいて、
上記撮像手段の撮像する方角を制御する駆動手段と、
上記駆動手段を制御することによって、上記撮像手段の映出する映像を選択する映像選択手段とを有し、
任意の時点で更新可能なパノラマ画像と、
時刻を変えて撮影した複数枚のパノラマ画像から平均処理または多数決などのフィルタにより合成した基準パノラマ画像と
を選択して、あるいは両方同時に操作者に提示するようにしたことを特徴とする撮像装置。
【請求項１０】
請求項８または請求項９に記載の撮像装置において、
上記パノラマ画像または上記基準パノラマ画像に対応する操作領域を有し、
上記操作領域上に任意の一点を指定することで、上記任意の一点に対応する位置の被写体を、上記駆動手段の任意の位置座標に移動するようにしたことを特徴とする撮像装置。
【請求項１１】
請求項８または請求項９に記載の撮像装置において、
上記パノラマ画像または上記基準パノラマ画像に対応する操作領域を有し、
上記操作領域上に任意の領域を指定することで、上記任意の領域から生成される任意の一点に対応する位置の被写体を、上記駆動手段の任意の位置座標に移動するようにしたことを特徴とする撮像装置。
【請求項１２】
請求項８または請求項９に記載の撮像装置において、
上記撮像手段の映出している現在位置を、上記パノラマ画像または上記基準パノラマ画像に表示することで、上記撮像手段の状況を把握する状態表示手段を有することを特徴とする撮像装置。
【請求項１３】
請求項８または請求項９に記載の撮像装置において、
上記駆動手段の可動範囲を、上記パノラマ画像または上記基準パノラマ画像に表示することで、上記撮像手段の上記撮像手段の状況を把握する状態表示手段を有することを特徴とする撮像装置。
【請求項１４】
請求項８または請求項９に記載の撮像装置において、
上記撮像手段の撮影している画角を、上記パノラマ画像または上記基準パノラマ画像に表示することで、上記撮像手段の上記撮像手段の状況を把握する状態表示手段を有することを特徴とする撮像装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、あらゆるビデオカメラでの撮影用途に利用が可能であり、特に回線を利用した遠隔地にあるビデオカメラでの監視、観察、案内、紹介等の用途に、より良い操作性と、視認性を実現できる撮像装置コントローラおよび撮像装置に関する。
【０００２】
【従来の技術】
従来、遠隔地のビデオカメラを制御する場合、モニタで映像を確認しながら、上下左右、右上、右下、左上、左下の８方向にパンチルタを駆動したり、ズームの望遠、広角の駆動を行い被写体を選択する方法や、予め上述の手法でビデオカメラを制御した後、撮影したい場所のパンチルタ情報、ズーム情報を何箇所か登録しておき、撮影の際に登録した場所に対して絶対位置駆動を行って映像を選択する方法が取られていた。
【０００３】
また、出願人が先に出願したパノラマ画像の生成に関する特願平９−１０３４５６号およびパノラマ画像を利用した撮像装置の操作に関する特願平９−１０３４５５号に記載しているような、撮像可能な範囲の全部または一部を何度かに分けて撮影した複数の画像を変形、接続して得られた広角の画像（パノラマ画像）を利用した操作方法が取られてきた。
【０００４】
【発明が解決しようとする課題】
従来の技術において、パノラマ画像を利用する目的は、撮像装置周辺の環境をいち早く操作者に理解させ、効率よく被写体を捕らえることにある。
【０００５】
しかしながら、任意の時点で更新可能なパノラマ画像を利用するこの目的には、不十分な場合がある。例えば、天候によって見通しが変わる場合、悪天候時に更新したパノラマ画像では、被写体を検索しにくいという問題があった。あるいは、視野内が人込みにある場合に作成したパノラマ画像では、人影によって興味のある部分が隠される問題があった。
【０００６】
そこで、この発明の目的は、既に生成されている複数のパノラマ画像の中から最適なパノラマ画像を基準パノラマ画像とし、その基準パノラマ画像をモニタに表示できるようにした撮像装置コントローラおよび撮像装置を提供することにある。
【０００７】
【課題を解決するための手段】
請求項１に記載の発明は、伝送路を介して接続された撮像手段の撮影する方向を制御するための撮像装置コントローラにおいて、撮像手段の撮像する方角を制御する駆動手段と、駆動手段を制御することによって、撮像手段の映出する映像を選択する映像選択手段とを有し、任意の時点で更新可能なパノラマ画像と、時刻を変えて撮影した複数枚のパノラマ画像から選択される基準パノラマ画像とを選択して、あるいは両方同時に操作者に提示するようにしたことを特徴とする撮像装置コントローラである。
請求項２に記載の発明は、伝送路を介して接続された撮像手段の撮影する方向を制御するための撮像装置コントローラにおいて、撮像手段の撮像する方角を制御する駆動手段と、駆動手段を制御することによって、撮像手段の映出する映像を選択する映像選択手段とを有し、任意の時点で更新可能なパノラマ画像と、時刻を変えて撮影した複数枚のパノラマ画像から平均処理または多数決などのフィルタにより合成した基準パノラマ画像とを選択して、あるいは両方同時に操作者に提示するようにしたことを特徴とする撮像装置コントローラである。
請求項８に記載の発明は、伝送路を介して接続された撮像手段の撮影する方向を制御するための撮像装置において、撮像手段の撮像する方角を制御する駆動手段と、駆動手段を制御することによって、撮像手段の映出する映像を選択する映像選択手段とを有し、任意の時点で更新可能なパノラマ画像と、時刻を変えて撮影した複数枚のパノラマ画像から選択される基準パノラマ画像とを選択して、あるいは両方同時に操作者に提示するようにしたことを特徴とする撮像装置である。
請求項９に記載の発明は、伝送路を介して接続された撮像手段の撮影する方向を制御するための撮像装置コントローラにおいて、上記撮像手段の撮像する方角を制御する駆動手段と、駆動手段を制御することによって、撮像手段の映出する映像を選択する映像選択手段とを有し、任意の時点で更新可能なパノラマ画像と、時刻を変えて撮影した複数枚のパノラマ画像から平均処理または多数決などのフィルタにより合成した基準パノラマ画像とを選択して、あるいは両方同時に操作者に提示するようにしたことを特徴とする撮像装置である。
【０００８】
回線を介して遠隔地に設置され、様々な方向に自由に駆動することができるパンチルタカメラからの映像は、接続されているコンピュータに供給される。その映像は、モニタの操作領域に表示され、またパンチルタカメラの設置されている環境は、パノラマ画像としてパノラマ操作領域に表示される。操作領域上またはパノラマ操作領域上の表示画像の中で撮像装置の画角の中心に位置してほしい任意の一点、または任意の領域から生成される任意の一点がコンピュータに接続されたポインティングデバイスで指示される。このように、結果を入力する方法によって、選択された被写体を容易に画面の中心に捕らえることが可能になる。さらに、映像が表示されている操作領域の任意の一点、または任意の領域から生成される任意の一点をポインティングデバイスで操作するため、パンチルタカメラを駆動する方向が操作者に容易に確認することができる。
【０００９】
また、任意の時点で生成されたパノラマ画像から基準パノラマ画像を生成することができ、生成された基準パノラマ画像は、モニタ上の操作領域とパノラマ操作領域と共に、基準パノラマ操作領域に表示される。また、パノラマ画像と基準パノラマ画像を適宜選択するようにしてパノラマ操作領域に表示することもできる。この基準パノラマ画像の生成には、上述のパノラマ画像の中から適切なものを操作者あるいは自動評価によって選ぶ方法、複数枚のパノラマ画像から必要な部分を切り取って１枚のパノラマ画像を集める方法がある。前者において自動評価を行う場合、目的に応じた評価関数を設定し、パノラマ画像が得られるたびに評価を行い、最も成績の良かったものを基準パノラマ画像として保持する。後者においては、各パノラマ画像から画素毎あるいは領域毎に多数決などのロジカルフィルタにより基準パノラマ画像を生成する。
【００１０】
【発明の実施の形態】
以下、この発明の実施の一形態について図面を参照して説明する。図１は、この発明の概略的な外観図を示す。モニタ２およびマウス８が接続されているコンピュータ１は、サーバ９および伝送路を介して遠隔地に設置されたパンチルタカメラ３の駆動を制御する。すなわち、コンピュータ１によって、撮像装置コントローラが構成される。伝送路としては、通信回線（無線、有線）、ネットワークなどの既存の種々のものが使用可能である。サーバ９に対してコンピュータ１は、クライアントの関係にあり、サーバ９に対して複数のコンピュータ１の接続が可能である。ただし、この発明は、遠隔地のものを制御するシステムに限定されない。
【００１１】
パンチルタカメラ３は、パンチルタ部とカメラ部とが一体的に構成されたものを意味する。この図１では、一例としてパンチルタカメラ３およびサーバ９は、４に示すような環境にある実際の景色に設置される。この環境の実際の景色４に設置されたパンチルタカメラ３によって撮影された画面（以下、撮影画面と称する）を５に示す。この撮影画面５は、実際に撮影している画面であって、ズームを行うと画角が小さくなり、ワイドを行うと画角が大きくなる。
【００１２】
パンチルタカメラ３によって取り込まれる撮影画面５の映像は、サーバ９および伝送路を介してコンピュータ１に供給される。コンピュータ１に供給された映像は、モニタ２に表示される。モニタ２では、供給された撮影画面５がモニタ２の画面上の操作領域６Ａに表示され、またパンチルタカメラ３からの映像を連結したパノラマ画像がパノラマ操作領域６Ｂに表示される。この一例では、パノラマ操作領域６Ｂに、マウス８の位置に矢印形のカーソル７が描画され、そのマウス８を中心とする画枠６Ｃが表示される。このパノラマ操作領域６Ｂ内の画枠６Ｃに囲まれた映像が操作領域６Ａに表示される。また、パノラマ操作領域６Ｂには、後述するようにパンチルタリミッタ表示６Ｄを有し、そのパンチルタリミッタ表示６Ｄは、パンチルタカメラ３の可動範囲の限界を示す。
【００１３】
すなわち、図２Ａに示すように、モニタ２の画面上には、操作領域６Ａとパノラマ操作領域６Ｂが表示される。図示しないが、操作領域６Ａには、サーバ９および伝送路を介して遠隔地にあるパンチルタカメラ３から供給された映像が表示され、パノラマ操作領域６Ｂには、サーバ９および伝送路を介して遠隔地にあるパンチルタカメラ３から供給され、連結されたパノラマ画像が表示される。
【００１４】
また、パノラマ操作領域６Ｂには、後述するように、既に生成された複数のパノラマ画像の中から最適なパノラマ画像として選択された基準パノラマ画像とパノラマ画像とが適宜選択され、表示されるようにしても良い。
【００１５】
また、図２Ｂに示すように、モニタ２の画面上に操作領域６Ａ、パノラマ操作領域６Ｂおよび基準パノラマ操作領域６Ｅが表示されるようにしても良い。基準パノラマ操作領域６Ｅに表示される基準パノラマ画像は、現在の画像を表示する操作領域６Ａと、現在のパノラマ画像を表示するパノラマ操作領域６Ｂとは表示される画像が異なる場合がある。以下の説明では、説明を容易とするため、図２Ａに示す画面に基づいて説明を行うが、図２Ａに示す画面に代えて図２Ｂに示す画面を適用しても何ら問題はない。またその場合、基準パノラマ操作領域６Ｅは、パノラマ操作領域６Ｂと同様な処理を行うことができる。
【００１６】
図３は、この発明の実施の一形態を適用した全システムのブロック図である。このシステムは、カメラ部１１、パンチルタ部１２、ＴＶモニタ１３、サーバ９、コンピュータ１、マウス８等のポインティングデバイス１４、モニタ２から構成される。また、上述したパンチルタカメラ３は、カメラ部１１とパンチルタ部１２からなり、一例としてカメラ部１１がパンチルタ部１２の上に設置される。カメラ部１１は、レンズブロック部１５、ズームレンズ１６、ズーム部１７、ズームレンズ１６用のモータ１８、固体撮像素子１９、信号分離／自動利得調整回路（ＳＨ／ＡＧＣ）２０、Ａ／Ｄ変換器２１、信号処理回路２２から構成され、全体としてビデオカメラを示す。
【００１７】
パンチルタ部１２は、モードコントローラ２３、カメラコントローラ２４、パンチルタコントローラ２５、パン用のモータ２６、チルト用のモータ２７、パンチルタ２８から構成される。サーバ用のコンピュータ６１は、制御部６２、ビデオキャプチャーボードからなるビデオキャプチャー部６３、記憶部６４、ネットワークインタフェース６５から構成される。コンピュータ１は、制御部３１、記憶部３０、ネットワークインタフェース６７から構成される。
【００１８】
被写体から到達する撮像光は、レンズブロック部１５のレンズ群、絞りを通って固体撮像素子１９に結像される。固体撮像素子１９の一例として、ＣＣＤ（Charge Coupled Device ）がある。結像された撮像光は、視野映像を映像信号に変換した後、信号分離／自動利得調整回路２０に供給される。信号分離／自動利得調整回路２０では、映像出力信号がサンプルホールドされるとともに、オートアイリス（ＡＥ）の制御信号によって所定のゲインを持つように利得制御される。それによって、得られる映像出力信号は、Ａ／Ｄ変換器２１を介して、信号処理回路２２へ供給される。信号処理回路２２では、入力された信号が輝度（Ｙ）、色（Ｃ）、ビデオ信号といった各信号に変換され、映像信号としてＴＶモニタ１３およびサーバ用のコンピュータ６１のビデオキャプチャー部６３へ供給される。
【００１９】
また、カメラ部１１のレンズブロック部１５は、ズームレンズ１６を駆動することによって撮像する画角を変化させることが可能なズームレンズである。そのレンズブロック部１５は、パンチルタ部１２のカメラコントローラ２４の駆動命令により、例えばステッピングモータからなるモータ１８を回転させ、ズームレンズ１６を駆動させる。このカメラコントローラ２４は、カメラ部１１のレンズ制御（例えば、フォーカス、ズーム等）、露出制御（例えば、絞り、ゲイン、電子シャッタースピード等）、白バランス制御、画質制御等を通常行うコントローラであるとともに、モードコントローラ２３とのインタフェースも行っている。ズームレンズ１６の制御に関連するインタフェース制御として、モードコントローラ２３より送られてくるズームレンズ１６の駆動命令に対して、ズームレンズ１６が命令された位置に駆動されるように制御信号をモータドライバに出力するとともに、現在のズームレンズ１６の位置情報が常時モードコントローラ２３に通信される。
【００２０】
また、カメラ部１１は、パン、チルトといった２軸の回転方向の自由度を持つ装置であるパンチルタ部１２の上に設置される。そのパンチルタ部１２は、パンチルタコントローラ２５の駆動命令により、パン用のモータ２６およびチルト用のモータ２７を回転させ、パンチルタ２８の雲台が各々駆動される。これらモータ２６および２７の、一例としてステッピングモータがある。このパンチルタコントローラ２５は、モードコントローラ２３より送られてくるパン、チルト各々の方向の駆動命令に対して、パン、チルト各々の雲台が、命令された位置に駆動されるように制御信号をモータドライバに出力するとともに、現在のパンチルタ２８のパン、チルト各々の雲台の位置情報が常時モードコントローラ２３に通信される。
【００２１】
モードコントローラ２３は、カメラ部１１、パンチルタ部１２の内部状態、およびパンチルタカメラ３の外部からのインタフェース情報に従い、後述するようにシステム全体を制御する。モードコントローラ２３は、例えばコンピュータ６１とＲＳ−２３２Ｃにより接続され、コンピュータ６１からの駆動命令に対し、パンチルタ２８、レンズブロック部１５のズームレンズ１６を駆動するようにパンチルタコントローラ２５、カメラコントローラ２４に命令を振り分けるとともに、パンチルタコントローラ２５、カメラコントローラ２４より送られてくる現在の位置情報をコンピュータ６１に送信する。
【００２２】
サーバ用のコンピュータ６１のビデオキャプチャー部６３は、カメラ部１１より入力されてくる映像信号をキャプチャー信号により任意の画像フォーマット（例えば、ビットマップ形式、ＪＰＥＧ形式の静止画、ＪＰＥＧ形式の動画等）に、任意の品質でキャプチャーし、コンピュータ６１の記録部６４（例えば、ハードディスク）上にストレージすることができる。このコンピュータ６１は、制御部６２によって制御され、ビデオキャプチャー部６３および記憶部６４を制御することによって、後述するようにパノラマ画像および基準パノラマ画像を生成し、記憶することができる。コンピュータ１からの要求によって、記憶された画像例えばパノラマ画像および／または基準パノラマ画像は、インターネット６６などのネットワークを利用してコンピュータ６１のネットワークインタフェース６５からコンピュータ１のネットワークインタフェース６７へ転送される。このとき、上述したように任意の画像フォーマットで転送される。コンピュータ１に転送されたパノラマ画像および／または基準パノラマ画像は、任意の品質でモニタ２に表示することが可能であるとともに、記憶部３０上にストレージされる。
【００２３】
この実施の一形態では、パンチルタカメラ３の映出する映像を選択するためにコンピュータ１を使用している。そして、モニタ２の画面上の操作領域６Ａおよびパノラマ操作領域６Ｂに表示されるグラフィック表示と、ポインティングデバイス１４（マウス８）の指示位置、クリック等の操作とから得られる情報を処理することでモードコントローラ２３への通信データを決定している。
【００２４】
この実施の一形態の場合、後述する処理の多くはサーバ側で行い、ユーザインタフェース部のみをクラインアト側で行う。撮像された画像は、ファイルとしてクライアントに送られ、表示される。このシステムにおいては遠隔操作のための通信路の一例としてインターネットを用い、プロトコルにはＨＴＴＰ（Hyper Text Transfer Protocol）を用い、クライアント側の処理は所定のオブジェクト指向言語で記述してサーバ側から画像が供給される。
【００２５】
ここで、図４を用いて、この発明に適用されるパノラマ画像を作成するための概略的な説明を行う。まず、パンチルタカメラ３が設定されている周囲の環境を球面とする。これを仮想球面と称する。この図４では、仮想球面上の隣合う２枚の画像を連結して１枚のパノラマ画像を作成する。まず、パノラマ画像を作成するためには、図４Ａに示すように、中心に位置するパンチルタカメラ３は、仮想球面上の隣合う２枚の画像を撮影する。パンチルタカメラ３は、レンズの光軸に直交する平面を撮像する。図４Ｄは、仮想球面上の隣合う２つの画像をパンチルタカメラ３によって撮像することにより、光軸に直交する平面にこの２つの画像が写像された状態を示す。隣合う２つの画像を単純に連結した場合、つなぎ目の重複や、歪みが生じる部分がある。
【００２６】
このつなぎ目の重複や、歪みをなくすために、図４Ｂに示すように、仮想球面に隣合う２つの画像をそれぞれ写像する。図４Ｅは、光軸に直交する平面である２つの撮像画像を仮想球面に写像した状態を示す。このように、光軸に直交する平面、すなわち撮像画像を仮想球面へ写像し、写像した画像を連結し、重複画像、不要画像の削除を行う画像の連結処理が行われる。そして、仮想球面に写像された像を緯度、経度で正規化することによって、図４Ｃおよび図４Ｄに示すように、パノラマ画像を生成することができる。
【００２７】
次に、パノラマ画像を作成する一方法を説明する。この一方法では、図５に示すように、１０枚の画像を連結して１枚のパノラマ画像とする。まず、図５Ａに示すように仮想球面の中心に配置されたパンチルタカメラ３（図示しない）から１０枚の画像が撮影される。このとき、図に示すように画像領域毎に丸で示す位置にパンチルタカメラ３のレンズの光軸を合わせることによって、パンチルタカメラ３は１〜１０の各画像を取得することができる。パンチルタカメラ３によって撮像された画像は、図５Ｂに示すように、レンズの光軸に直交する平面上の画像である。取得された画像は、それぞれ仮想球面上に展開された後、図５Ｃに示すように、緯度、経度で正規化される。仮想球面上に展開された１０枚の画像は、連結処理の際につなぎ目に抜けがないように、お互いの画像が重複するような位置で画像の取得が行われる。そして、重複画像、不要画像の削除がなされた後、１０枚の画像が連結され、図５Ｄに示すように、パノラマ画像が生成される。
【００２８】
次に、パノラマ画像を作成する他の方法を図６を参照して説明する。緯度、経度で正規化されるパノラマ画像の画素、すなわち各座標（ｓ，ｔ）には、パンチルタカメラ３で取得した画像のどの画素が割り当てられるかが算出される。図５の方法のように、パンチルタカメラ３で取得した画像の画素をパノラマ画像の画素に対応させた場合、対応する画素のないパノラマ画像の画素が生じることがあり、パノラマ画像の全ての画素に取得した画像の画素を対応させるためである。このように、座標毎に算出された画素によってパノラマ画像が実現される。その処理の手順として、まずパノラマ画像の座標（ｓ，ｔ）（図６Ａ）に対応する仮想球面上の角度座標（α，β）（図６Ｂ）を式（１）を用いて算出する。
【００２９】
（α，β）＝（ａ（ｓ），ｂ（ｔ））      （１）
この式（１）の詳細は後述する図７において説明する。
【００３０】
この座標（ｓ，ｔ）および画像を取得したパンチルタ２８の角度座標（θ，φ）と、撮像装置のワイド端を１倍とした撮像倍率γとを用いて、図６Ｃに示すように、取得した画像上の座標データ（ξ，η）を式（２）を用いて算出する。
【００３１】
（ξ，η）＝（f(α，β，θ，φ，γ），g(α，β，θ，φ，γ))    （２）
この式（２）の詳細は後述する図８において説明する。
【００３２】
以上の式を用いて、パノラマ画像の各画素と、取得した画像とを対応付けることで連結画像、すなわちパノラマ画像を生成している。
【００３３】
ここで、上述したパノラマ画像の座標（ｓ，ｔ）を仮想球面上の角度座標（α，β）に変換する方法を図７を用いて説明する。まず、図７Ａに示す、PragMin は、パンチルタ２８のホームポジションを０（rad ）とした時の左端の角度データであり、PragMax は、パンチルタ２８のホームポジションを０（rad ）とした時の右端の角度データである。また、Ｎｙ2 は、パノラマ操作領域６Ｂの水平方向の座標であり、−Ｎｙ2 ／２は、パノラマ操作領域６Ｂの左端の座標データであり、Ｎｙ2 ／２は、パノラマ操作領域６Ｂの右端の座標データである。
【００３４】
そして、座標データｓからパン角度αを求めるために、
(PragMax−α）：(PragMax−PragMin)＝ (Ny2 /2−ｓ）：Ny2 
となり、これよりパン角度αは、
α＝PragMax −(PragMax−PragMin)× (Ny2 /2−ｓ）／Ny2 
となる。
【００３５】
また、図７Ｂに示す、TragMin は、パンチルタ２８のホームポジションを０（rad ）とした時の上端の角度データであり、TragMax は、パンチルタ２８のホームポジションを０（rad ）とした時の下端の角度データである。また、Ｎｚ2 は、パノラマ操作領域６Ｂの垂直方向の座標であり、−Ｎｚ2 ／２は、パノラマ操作領域６Ｂの上端の座標データであり、Ｎｚ2 ／２は、パノラマ操作領域６Ｂの下端の座標データである。
【００３６】
そして、座標データｔからチルト角度βを求めるために、
(TragMax−β）：(TragMax−TragMin)＝ (Nz2 /2−ｔ）：Nz2 
となり、これよりチルト角度βは、
β＝TragMax −(TragMax−TragMin)× (Nz2 /2−ｔ）／Nz2 
となる。
【００３７】
図８を参照して平面球面変換の処理を説明する。図８Ａに示すように、ホームポジション（緯度、経度の原点）を向いたカメラ映像上の点（ξ，η）の空間上の座標は、次のように表せる。
【００３８】
【数１】
0003812069.tif 000002
【００３９】
このとき、
ｋ1 ＝tan(λ／２γ）／（Ｎｙ／２）
ｋ2 ＝tan(μ／２γ）／（Ｎｚ／２）
となり、（Ｎｙ，Ｎｚ）は、ポインティングデバイス１４（マウス８）の駆動範囲（ｙ方向，ｚ方向）であり、（λ，μ）はワイド端での水平、垂直画角であり、γはワイド端を１倍とする現在のズーム相対倍率（倍率情報）である。
【００４０】
また、図８Ｂに示すように、一般的に３次元の回転行列は、次式のように示すことが知られている。
【００４１】
【数２】
0003812069.tif 000003
【００４２】
ホームポジションから角度情報（θ，φ）だけパン、チルトしたカメラ画像上の一点（ξ，η）と、ホームポジションから（α，β）の一点が同じ方向にあることから、次の関係が成り立つ。
【００４３】
Ｒz （θ）Ｒy （φ）ｐ＝ｌＲz （α）Ｒy （β）ｅx 
これをｐについて解くと、
【００４４】
【数３】
0003812069.tif 000004
【００４５】
ここで、
【００４６】
【数４】
0003812069.tif 000005
【００４７】
とおくと、次のようにξ，ηが求められる。
【００４８】
ｌ＝１／ａ
ξ＝−ｌｂ／ｋ1 ＝−ｂ／ｋ1a
η＝ｌｃ／ｋ2 ＝ｃ／ｋ2a
以上の式よりホームポジションから（α，β）の角度にある座標データより、撮像座標に映し出される（ξ，η）を求めることができる。
【００４９】
ξ＝(-sin(α−θ)cosβ)/(k1 (cos( α−θ)cosφ cosβ＋ sinφ sinβ))
η＝(-cos(α−θ)sinφ cosβ＋ cosφ sinβ)/(k2 (cos( α−θ)cosφ cosβ＋ sinφ sinβ))
このようにして、パノラマ画像の座標（ｓ，ｔ）に対応する仮想球面上の角度座標（α，β）からパンチルタカメラ３で取得した画像上の座標データ（ξ，η）を求めることによって、パノラマ画像を生成することができる。
【００５０】
逆に以下の式より撮像座標に映し出される（ξ，η）より、（α，β）の角度にある座標データを求めることもできる。
【００５１】
まず、ｌ＝｜ｐ｜であるから、
ａ＝１／√（１＋ｋ1 2 ξ2 ＋ｋ2 2 η2 ）
ｂ＝−ｋ1 ξ／√（１＋ｋ1 2 ξ2 ＋ｋ2 2 η2 ）
ｃ＝ｋ2 η／√（１＋ｋ1 2 ξ2 ＋ｋ2 2 η2 ）
となる。ただし、√（  ）は、（  ）内の計算結果に対して平方根の処理を行うものである。
【００５２】
また、式（３）より、
ａ＝cos(α−θ)cosφ cosβ＋ sinφ sinβ
ｂ＝sin(α−θ)cosβ
ｃ＝−cos(α−θ)sinφ cosβ＋ cosφ sinβ
となる。
【００５３】
以上の式より
ａ sinφ＋ｃ sinθ＝ sinβ
tan(α−θ) ＝ｂ/(ａ cosφ−ｃ sinθ)
であるから、
β＝sin -1(sinφ/ √(1＋ｋ1 2 ξ2 ＋ｋ2 2 η2 ）＋ sinθｋ2 η/ √(1＋ｋ1 2 ξ2 ＋ｋ2 2 η2 ）
α＝tan -1（−ｋ1 ξ/( cosφ−ｋ2 η sinθ))＋θ
となる。
【００５４】
よって、
（α，β）＝（f(ξ，η，θ，φ，γ），g(ξ，η，θ，φ，γ))    （４）
が求めることができる。
【００５５】
また、誤差を多少許容するのであれば、以下のように（α，β）を求めることができる。
【００５６】
α＝θ＋（λ／γ）×（ξ／Ｎｙ）
β＝φ＋（μ／γ）×（η／Ｎｚ）
つまり、式（４）は、
（α，β）＝（f(ξ，θ，γ），g(η，φ，γ))      （５）
となり、簡略化することができる。
【００５７】
上述した式（４）および式（５）に示されるパンチルタ２８の角度情報（α，β）を操作領域６Ａの位置座標（ξ，η）から算出する処理を図９を用いて説明する。まず、操作領域６Ａ中の任意の一点を直接指定する方法の一例を説明する。図９Ａに示すように操作領域６Ａの中心を（０，０）とした相対座標とし、その操作領域６Ａ上のマウス８の位置座標（ξ，η）が獲得される。
【００５８】
次に、操作領域６Ａ中の任意の領域から生成される任意の一点を指定する他の方法の一例を説明する。まず、図９Ａに示すように、任意の領域の始点（ｍ１，ｎ１）が指定された後、任意の領域の終点（ｍ２，ｎ２）が指定され、それら２点より生成される四角形の中心座標として、
（ξ，η）＝（（ｍ１，ｎ１）＋（ｍ２，ｎ２））／２      （６）
により、任意の一点（ξ，η）が獲得される。
【００５９】
この図９Ａは、操作領域６Ａ上のマウス８（ポインティングデバイス１４）の座標であり、操作領域６Ａ内のマウス８の可動範囲（ｙ方向、ｚ方向）を（Ｎｙ1 ，Ｎｚ1 ）とする。この任意の一点（マウス８）の位置座標（ξ，η）と、パンチルタ２８が向いている角度情報（θ，φ）と、ズームレンズ１６のワイド端を１倍とする現在のズーム相対倍率とする倍率情報（γ）とを用いて、式（４）または式（５）からパンチルタ２８の角度座標（α，β）が求められる。
【００６０】
図９Ｂに示す角度座標（α，β）は、パンチルタ２８のホームポジションを緯度、経度の原点としたとき、ポインティングデバイスで指定された場所を撮像画面の中心に映し出すためのものである。
【００６１】
この図９において、求められる座標は、モニタ２の画面の絶対座標でも良く、操作領域６Ａの中心を（０，０）とした相対座標でも良い。この座標は、パン方向の座標をξ、ｍ１、ｍ２、θ、αで示し、チルト方向の座標をη、ｎ１、ｎ２、φ、βで示す。
【００６２】
このように、マウス８が操作領域６Ａにある場合、受信データで得られた現在のパンチルタ２８の角度情報（θ，φ）、ズームの倍率情報（γ）、マウス８で指定された領域のマウス８の位置情報（ξ，η）を用いて、指定された操作領域６Ａ上の被写体が、操作領域６Ａの中心に来るようなパンチルタ２８の角度情報（α，β）を式（４）または式（５）を用いて算出する。こうして得られた、パンチルタ２８の角度座標（α，β）を図１１に従って、パンチルタ２８の内部位置情報（ｐ-new，ｔ-new）に変換し、パンチルタ２８の絶対位置駆動命令と共に送信バッファに格納する。また、後述するように、同時にデータ送信要求フラグ（Flag-so ）をセットし、タイマイベントでデータが送信されるようにする。
【００６３】
パノラマ画像が表示されるパノラマ操作領域６Ｂのマウス８の位置座標（ξ，η）を角度座標（α，β）へ変換する処理を図１０を用いて説明する。パノラマ操作領域６Ｂ中の任意の一点を直接指定する方法は、上述した操作領域６Ａ中の任意の一点を直接指定する方法と同様の方法で、図１０Ａに示すように、マウス８の位置座標（ξ，η）を得ることができる。
【００６４】
次に、パノラマ操作領域６Ｂ中の任意の領域から生成される任意の一点を指定する他の方法の一例を説明する。まず、図１０Ａに示すように、任意の領域の始点（ｍ１，ｎ１）が指定された後、任意の領域の終点（ｍ２，ｎ２）が指定され、式（６）により、任意の一点（ξ，η）が獲得される。
【００６５】
この図１０Ａは、パノラマ操作領域６Ｂ上のマウス８（ポインティングデバイス１４）の座標であり、パノラマ操作領域６Ｂ内のマウス８の可動範囲（ｙ方向、ｚ方向）を（Ｎｙ2 ，Ｎｚ2 ）とする。この可動範囲は、パノラマ操作領域６Ｂ内に点線で示すパンチルタリミッタ表示６Ｄによって制限される。このパンチルタリミッタ表示６Ｄは、パンチルタカメラ３のレンズの光軸の可動範囲を示す。すなわち、パンチルタリミッタ表示６Ｄを超えて指示することはできない。この任意の一点の位置座標（ξ，η）と、パンチルタ２８が向いている角度情報（θ，φ）と、ズームレンズ１６のワイド端を１倍とする現在のズーム相対倍率とする倍率情報（γ）とを用いて、式（７）、式（８）および式（９）からパノラマ操作領域６Ｂの位置座標（ｘ，ｙ）、画角情報（ｓ，ｔ）およびパンチルタ２８の角度座標（α，β）が求められる。
【００６６】
（ｘ，ｙ）＝（ｆ0 （θ），ｇ0 （φ））      （７）
（ｓ，ｔ）＝（ｆ1 （γ），ｇ1 （γ））      （８）
（α，β）＝（ｆ（ξ），ｇ（η））      （９）
図１０Ｂに示す位置座標（ｘ，ｙ）は、パンチルタ２８のホームポジションを緯度、経度の原点としたとき、現在のパンチルタ２８の向きであり、画角情報（ｓ，ｔ）は、現在操作領域６Ａに表示されている画角である。この図１０Ｂは、パノラマ操作領域６Ｂ上のズーム、パンチルタの状態を表示したものである。
【００６７】
図１０Ｃに示す角度座標（α，β）は、パンチルタ２８のホームポジションを緯度、経度の原点としたとき、ポインティングデバイスで指定された場所を撮像画面の中心に映し出すためのものである。（PragMax ，TragMax ）〜（PragMin ，TragMin ）は、パンチルタの駆動可能範囲、すなわちパンチルタリミッタ表示６Ｄで示す範囲である。この図１０Ｃは、パンチルタ可動範囲上の駆動目標値を表したものである。
【００６８】
この図１０において、求められる座標は、モニタ２の画面の絶対座標でも良く、パノラマ操作領域６Ｂの中心を（０，０）とした相対座標でも良い。この座標は、パン方向の座標をξ、ｍ１、ｍ２、ｘ、ｓ、αで示し、チルト方向の座標をη、ｎ１、ｎ２、ｙ、ｔ、βで示す。また、ここではパノラマ操作領域６Ｂを用いてこの説明を行ったが、基準パノラマ操作領域６Ｅに対しても同様に適用することができる。
【００６９】
このように、マウス８がパノラマ操作領域６Ｂにある場合、マウス８で指定された領域のマウス８の位置情報（ξ，η）を用いて、指定された操作領域６Ａ上の被写体が、操作領域６Ａの中心に来るようなパンチルタ２８の角度情報（α，β）を式（９）を用いて算出する。こうして得られた、パンチルタ２８の角度座標（α，β）を図１１に従って、パンチルタ２８の内部位置情報（ｐ-new，ｔ-new）に変換し、パンチルタ２８の絶対位置駆動命令と共に送信バッファに格納する。また、後述するように、同時にデータ送信要求フラグ（Flag-so ）をセットし、タイマイベントでデータが送信されるようにする。
【００７０】
ここで、上述したパンチルタ２８内部の位置情報（ｐ，ｔ）を角度情報（θ，φ）に変換する方法並びに角度座標（α，β）をパンチルタ２８内部の位置情報（ｐ-new，ｔ-new）に変換する方法を図１１を用いて説明する。まず、図１１Ａに示す、PragMin は、パンチルタ２８のホームポジションを０（rad ）とした時の左端の角度データであり、PragMax は、パンチルタ２８のホームポジションを０（rad ）とした時の右端の角度データである。また、PdatMin は、パンチルタコントローラ２５の左端の内部カウントデータであり、PdatMax は、パンチルタコントローラ２５の右端の内部カウントデータである。
【００７１】
そして、パンデータｐからパン角度θを求めるために、
(PragMax−θ）：(PragMax−PragMin)＝(PdatMax−p)：(PdatMax−PdatMin)
となり、これよりパン角度θは、
θ＝PragMax −(PragMax−PragMin)×(PdatMax−p)／(PdatMax−PdatMin)
となる。
【００７２】
またこれより、パンデータｐは、
ｐ＝PdatMax −(PragMax−θ）×(PdatMax−PdatMin)／(PragMax−PragMin)
となる。
【００７３】
また、パン角度αからパンデータｐ-newを求めるために、
(PragMax−α）：(PragMax−PragMin)＝(PdatMax−p-new)：(PdatMax−PdatMin)
となり、これよりパンデータｐ-newは、
ｐ-new＝PragMax −(PragMax−α）×(PdatMax−PdatMin)／(PragMax−PragMin)
となる。
【００７４】
また、図１１Ｂに示す、TragMin は、パンチルタ２８のホームポジションを０（rad ）とした時の上端の角度データであり、TragMax は、パンチルタ２８のホームポジションを０（rad ）とした時の下端の角度データである。また、TdatMin は、パンチルタコントローラ２５の上端の内部カウントデータであり、TdatMax は、パンチルタコントローラ２５の下端の内部カウントデータである。
【００７５】
そして、チルトデータｔからチルト角度φを求めるために、
(TragMax−φ）：(TragMax−TragMin)＝(TdatMax−t)：(TdatMax−TdatMin)
となり、これよりチルト角度φは、
φ＝TragMax −(TragMax−TragMin)×(TdatMax−t)／(TdatMax−TdatMin)
となる。
【００７６】
またこれより、チルトデータｔは、
ｔ＝TdatMax −(TragMax−φ）×(TdatMax−TdatMin)／(TragMax−TragMin)
となる。
【００７７】
また、チルト角度βからチルトデータｔ-newを求めるために、
(TragMax−β）：(TragMax−TragMin)＝(TdatMax−t-new)：(TdatMax−TdatMin)
となり、これよりチルトデータｔ-newは、
ｔ-new＝TragMax −(TragMax−β）×(TdatMax−TdatMin)／(TragMax−TragMin)
となる。
【００７８】
次に、上述したパノラマ操作領域６Ｂ内の位置座標（ξ，η）をパンチルタ２８の角度座標（α，β）へ変換する方法並びにパンチルタ２８の角度情報（θ，φ）をパノラマ操作領域６Ｂ内の位置座標（ｘ，ｙ）へ変換する方法を図１２を用いて説明する。まず、図１２Ａに示す、PragMin は、パンチルタ２８のホームポジションを０（rad ）とした時の左端の角度データであり、PragMax は、パンチルタ２８のホームポジションを０（rad ）とした時の右端の角度データである。また、Ｎｙ2 は、パノラマ操作領域６Ｂの水平方向の座標であり、−Ｎｙ2 ／２は、パノラマ操作領域６Ｂの左端の座標データであり、Ｎｙ2 ／２は、パノラマ操作領域６Ｂの右端の座標データである。
【００７９】
そして、座標データξからパン角度αを求めるために、
(PragMax−α）：(PragMax−PragMin)＝ (Ny2 /2−ξ）：Ny2 
となり、これよりパン角度αは、
α＝PragMax −(PragMax−PragMin)× (Ny2 /2−ξ）／Ny2 
となる。
【００８０】
また、パン角度θから座標データｘを求めるために、
(PragMax−θ）：(PragMax−PragMin)＝ (Ny2 /2−ｘ）：Ny2 
となり、これより座標データｘは、
ｘ＝Ny2 /2−(PragMax−θ）×Ny2 ／(PragMax−PragMin)
となる。
【００８１】
また、図１２Ｂに示す、TragMin は、パンチルタ２８のホームポジションを０（rad ）とした時の上端の角度データであり、TragMax は、パンチルタ２８のホームポジションを０（rad ）とした時の下端の角度データである。また、Ｎｚ2 は、パノラマ操作領域６Ｂの垂直方向の座標であり、−Ｎｚ2 ／２は、パノラマ操作領域６Ｂの上端の座標データであり、Ｎｚ2 ／２は、パノラマ操作領域６Ｂの下端の座標データである。
【００８２】
そして、座標データηからチルト角度βを求めるために、
(TragMax−β）：(TragMax−TragMin)＝ (Nz2 /2−η）：Nz2 
となり、これよりチルト角度βは、
β＝TragMax −(TragMax−TragMin)× (Nz2 /2−η）／Nz2 
となる。
【００８３】
また、チルト角度φから座標データｙを求めるために、
(TragMax−φ）：(TragMax−TragMin)＝ (Nz2 /2−ｙ）：Nz2 
となり、これより座標データｙは、
ｙ＝Nz2 /2−(TragMax−θ）×Nz2 ／(TragMax−TragMin)
となる。
【００８４】
パンチルタ２８が切り出している画角情報（ψ，ω）からパノラマ操作領域６Ｂ内の画枠６Ｃの画角情報（ｓ，ｔ）へ変換する方法を図１３を用いて説明する。まず、図１３Ａには、現在のパンチルタ２８の画角情報（ψ，ω）を示す。この画角情報（ψ，ω）は、
（ψ，ω）＝１／γ×（ψ０，ω０）
によって求められる。このとき、（ψ０，ω０）はワイド端での水平画角と垂直画角を示し、γはワイド端を１倍としたときのレンズ倍率を示す。
【００８５】
図１３Ｂに示すように、PragMin は、パンチルタ２８のホームポジションを０（rad ）とした時の左端の角度データであり、PragMax は、パンチルタ２８のホームポジションを０（rad ）とした時の右端の角度データである。また、Ｎｙ2 は、パノラマ操作領域６Ｂの水平方向の座標であり、−Ｎｙ2 ／２は、パノラマ操作領域６Ｂの左端の座標データであり、Ｎｙ2 ／２は、パノラマ操作領域６Ｂの右端の座標データである。
【００８６】
そして、水平画角ψから水平画角ｓを求めるために、
ψ：(PragMax−PragMin)＝ｓ：Ny2 
となり、これより水平画角ｓは、
ｓ＝ψ×Ny2 ／(PragMax−PragMin)
となる。
【００８７】
また、図１３Ｃに示す、TragMin は、パンチルタ２８のホームポジションを０（rad ）とした時の下端の角度データであり、TragMax は、パンチルタ２８のホームポジションを０（rad ）とした時の上端の角度データである。また、Ｎｚ2 は、パノラマ操作領域６Ｂの垂直方向の座標であり、−Ｎｚ2 ／２は、パノラマ操作領域６Ｂの下端の座標データであり、Ｎｚ2 ／２は、パノラマ操作領域６Ｂの上端の座標データである。
【００８８】
そして、垂直画角ωから垂直画角ｔを求めるために、
ω：(TragMax−TragMin)＝ｔ：Nz2 
となり、これより垂直画角ｔは、
ｔ＝ω×Nz2 ／(TragMax−TragMin)
となる。
【００８９】
これらより、図１３Ｄに示す画角情報（ｓ，ｔ）がパノラマ操作領域６Ｂ内に画枠６Ｃとして、表示される。
【００９０】
次に、上述したズームレンズ１６の位置情報（ｚ）を倍率情報（γ）に変換する方法を図１４を用いて説明する。この図１４は、縦軸にレンズ倍率情報を表し、横軸にズームレンズの内部情報を表す。取得したズームレンズ１６の位置情報（ｚ）は、図１４に示す変換グラフに照らし合わし、コンピュータ１上で倍率情報（γ）に変換される。一例として、ＲＯＭテーブルまたは数式によって、位置情報（ｚ）が倍率情報（γ）に変換される。
【００９１】
ここで、いくつかある基準パノラマ画像の生成方法を図１５を用いて説明する。まず、操作者が過去に生成されて記録されている複数のパノラマ画像の中から好みのパノラマ画像を選択して利用することができる。例えば、晴天時のパノラマ画像を記録しておき、そのパノラマ画像を基準パノラマ画像とすれば、視界不良時にもパノラマ画像の補助が受けられる。
【００９２】
また、基準パノラマ画像の他の生成方法は、複数のパノラマ画像の最頻値をとる方法、または複数のパノラマ画像から画素毎に平均をとる方法などがある。複数のパノラマ画像の最頻値をとる方法は、図１５Ａ、図１５Ｂ、図１５Ｃに示すパノラマ画像から最頻値をとることによって、図１５Ｄに示す基準パノラマ画像が生成される。そして、複数のパノラマ画像から画素毎に平均をとる方法は、図１５Ａ、図１５Ｂ、図１５Ｃに示すパノラマ画像から平均をとることによって、図１５Ｅに示す基準パノラマ画像が生成される。例えば、画素単位でコンポーネントの色信号のＲＧＢ毎に平均値を算出することによって生成される。
【００９３】
図１６に基準パノラマ画像を生成するための実施の一形態のブロック図を示す。まず、パノラマ画像４１が空間ハイパスフィルタ（ＨＰＦ）４２、画素数調整処理４４、色飽和処理４７へ供給される。空間ＨＰＦ４２では、供給されたパノラマ画像４１に対して空間ＨＰＦの処理が施され、２乗積分処理４３では、供給された信号に２乗積分が施され、加算器５１へ供給される。画素数調整処理４４では、供給されたパノラマ画像４１の画素数が調整され、高速フーリエ変換（ＦＦＴ）処理４５では、画素数が調整されたパノラマ画像に対して高速フーリエ変換が施される。高速フーリエ変換が施された信号が供給された絶対値、重み付け積分処理４６では、絶対値に重みを付けて積分がなされ、加算器５１へ供給される。
【００９４】
色飽和検出処理４７では、供給されたパノラマ画像４１の色の飽和度（彩度）が検出され、検出された信号は、空間ＨＰＦ４８および積分処理５０へ供給される。空間ＨＰＦ４８では、供給された信号に対して空間ＨＰＦの処理が施され、２乗積分処理４９では、供給された信号に２乗積分が施され、加算器５１へ供給される。積分処理５０では、供給された信号が積分され、加算器５１へ供給される。そして、加算機５１では、供給された４つのパラメータの値が加算され、加算結果は、そのパノラマ画像の得点として得点メモリ５２へ供給され、記憶される。そして、全てのパノラマ画像の得点を算出した後、最も得点の高かったパノラマ画像を基準パノラマ画像とする。
【００９５】
具体的には、２乗積分回路４３および絶対値、重み付け積分回路４６から加算器５１へ供給される信号は、輝度について処理された信号であり、細かい部分まではっきり写っている場合、大きな値となる。また、２乗積分回路４９および積分回路５０から加算器５１へ供給される信号は、色の飽和度について処理された信号であり、パノラマ画像が例えば霧や雨のときに得られた場合、小さな値となる。
【００９６】
このように、視界の良さの評価基準として高速フーリエ変換（ＦＦＴ）などによりパノラマ画像の空間周波数成分を分析し、高域成分のエネルギーの大きいものを選択する方法、同様に色の飽和度（彩度）を比較し鮮やかな方を選択する方法などがある。また、これらの過程を自動化することも可能である。さらにまた、供給されるパノラマ画像によっては加算器５１で４つのパラメータを加算する必要はなく、適宜選択されたパラメータのみを用いて加算するようにしても良い。
【００９７】
次に、コンピュータ１内の制御アルゴリズムの一例を図１７を用いて説明する。まず、ステップＳ１では、プログラムがスタートすると、図２Ａに示すように、モニタ２上に操作領域６Ａ、パノラマ操作領域６Ｂ、カーソル７、さらにパンチルタリミッタ表示６Ｄに示すパンチルタリミッタが設定される初期化が行われる。パンチルタリミッタの範囲は、固定値でも良いし、その範囲を変更したいときに自由に変更することができるようにしても良い。
【００９８】
そして、ステップＳ２では、コンピュータ１とモードコントローラ２３とが所定の周期で通信を行うために、タイマが設定される。これらの初期設定動作が完了すると、ステップＳ３の各種発生するイベント待ち状態に制御が移り、発生したイベントに対応してステップＳ３から制御が移る。発生するイベントは、パノラマ作成イベント（ステップＳ４）、先に設定したタイマイベント（ステップＳ５）、マウス８の左ボタンがクリックされた時に発生するマウスボタンダウンイベント（ステップＳ６）、マウスボタンアップイベント（ステップＳ７）、マウス８がモニタ２上を移動した時に発生するマウス移動イベント（ステップＳ８）がある。
【００９９】
パノラマ作成イベントのアルゴリズムの詳細について、図１８のフローチャートを用いて説明する。パノラマ作成イベントが発生すると、ステップＳ９では、パノラマ作成要求（Flag-pa ）がセット（True）される。
【０１００】
タイマイベントのアルゴリズムの詳細について、図１９のフローチャートを用いて説明する。この一例のタイマイベントは、周期的にコンピュータ１とモードコントローラ２３との通信を行うために発生するイベントである。このタイマイベントは、一例として５０ｍｓｅｃ間隔で発生する。タイマイベントが発生すると、ステップＳ１１では、通信ポートの設定が完了しているか否かが判断される。通信ポートの設定が完了している（済）と判断されると、ステップＳ１２へ制御が移り、通信ポートの設定が完了していない（未）と判断されると、ステップＳ１８へ制御が移る。ここでは、通信ポートの設定が完了していない初回のみ、ステップＳ１８に制御が移り、通信ポートの開設処理が行われる。具体的には、ステップＳ１８において、コンピュータ１上のＲＳ−２３２Ｃポートの開設が行われる。そして、ステップＳ１８からステップＳ２３へ制御が移る。
【０１０１】
それ以降のタイマイベントでは、受信データの確認、解析処理、パンチルタ２８の駆動命令など送信バッファにたまっているデータの送信処理、またはパンチルタ２８、ズームレンズ１６の状態確認要求のための通信データの送信処理が行われる。このアルゴリズムでは、ステップＳ１１からステップＳ１２へ制御が移り、ステップＳ１２では、受信バッファのデータの有無が確認され、受信データが存在する場合、ステップＳ１３に制御が移り、受信データが存在しない場合、ステップＳ１４に制御が移る。ステップＳ１３では、受信バッファに存在する受信データが解析され、モードコントローラ２３に要求したパンチルタ２８の位置情報（ｐ，ｔ）や、ズームレンズ１６の位置情報（ｚ）が取得される。これらのデータが上述した図１１、図１４の方式に従い、パンチルタ２８の角度情報（θ，φ）、ズームレンズ１６の倍率情報（γ）に変換される。
【０１０２】
次に、ステップＳ１４では、データの送信要求の有無が確認される。データの送信要求が存在する（Flag-so ＝True）場合、ステップＳ１９に制御が移り、ステップＳ１９では、送信バッファに格納されているデータの送信処理がなされた後、送信要求フラグ（Flag-so ）がリセット（False ）される。そして、ステップＳ１９からステップＳ２３へ制御が移る。この送信バッファにたまったデータの一例として、マウス８で設定されたパンチルタ２８の駆動命令のデータなどがある。
【０１０３】
そして、送信要求がない（Flag-so ＝False ）場合、ステップＳ１５へ制御が移る。ステップＳ１５では、送信要求の内部カウンタ（req-cnt ）が０が否かが判断され、送信要求の内部カウンタが０の場合（req-cnt ＝０）、ステップＳ１６へ制御が移り、送信要求の内部カウンタが０でない場合（req-cnt ≠０）、ステップＳ２０へ制御が移る。
【０１０４】
ステップＳ１６では、パンチルタ２８およびズームレンズ１６の位置要求命令がモードコントローラ２３に送信される。そして、ステップＳ１７では、送信要求の内部カウンタ（req-cnt ）がインクリメントされ、ステップＳ２３へ制御が移る。
【０１０５】
ステップＳ２０では、パノラマ作成要求が存在するか否かが判断され、パノラマ作成要求が存在する場合（Flag-pa ＝True）、ステップＳ２１へ制御が移り、パノラマ作成要求が存在しない場合（Flag-pa ＝False ）、ステップＳ２２へ制御が移る。ステップＳ２１では、後述するパノラマ作成処理が実行される。そして、ステップＳ２２では、送信要求の内部カウンタ（req-cnt ）が０にされ、ステップＳ２３へ制御が移る。
【０１０６】
ステップＳ２３では、パンチルタ２８の前回得た位置情報と今回得た位置情報とを比較し、位置情報（ｐ，ｔ）に変化があるか否かが判断される。パンチルタ２８の位置情報（ｐ，ｔ）が変化した場合、ステップＳ２５へ制御が移り、変化しなかった場合、ステップＳ２４へ制御が移る。ステップＳ２４では、ズームレンズ１６の前回得た位置情報と今回得た位置情報とを比較し、位置情報（ｚ）に変化があるか否かが判断される。ズームレンズ１６の位置情報（ｚ）が変化した場合、ステップＳ２５へ制御が移り、変化しなかった場合、このフローチャートは終了する。
【０１０７】
ステップＳ２５では、パンチルタ２８の位置情報（ｐ，ｔ）および／またはズームレンズの位置情報（ｚ）が変化したときに、パノラマ操作領域６Ｂに表示する画枠６Ｃが再描写される。このとき、パンチルタ２８の位置情報（ｐ，ｔ）は、上述したように角度情報（θ，φ）へ変換され、ズームレンズ１６の位置情報（ｚ）も上述したように倍率情報（γ）へ変換される。それぞれ変換された角度情報（θ，φ）と倍率情報（γ）とを用いて、式（７）からパンチルタ２８の位置情報（ｘ，ｙ）および式（８）から操作領域６Ａに表示されている画角である画角情報（ｓ，ｔ）を算出する。そして、算出された位置情報（ｘ，ｙ）および画角情報（ｓ，ｔ）に応じてパノラマ操作領域６Ｂに画枠６Ｃが描写される。
【０１０８】
ステップＳ２３では、パンチルタ２８の前回と今回の位置情報（ｐ，ｔ）を比較するようにしているが、パンチルタ２８の前回と今回の角度情報（θ，φ）を比較するようにしても良い。またこのとき、ステップＳ２５では、今回の角度情報（θ，φ）をそのまま式（７）に用いて位置情報（ｘ，ｙ）を算出する。同様に、ステップＳ２４では、ズームレンズ１６の前回と今回の位置情報（ｚ）を比較するようにしているが、ズームレンズ１６の前回と今回の位置情報（γ）を比較するようにしても良い。またこのとき、ステップＳ２５では、今回の倍率情報（γ）をそのまま式（８）に用いて画角情報（ｓ、ｔ）を算出する。
【０１０９】
次に、上述したパノラマ作成処理のアルゴリズムについて図２０のフローチャートを用いて説明する。パノラマ作成は、パノラマ作成イベントによって設定（Flag-pa ＝True）される。このパノラマ作成イベントが予め発生すると、上述したようにタイマイベント時、パノラマ作成処理（ステップＳ２１）が実行される。このフローチャートでは、パノラマ作成処理の手順をパノラマカウンタ（Pano
Cnt）に従って行っている。
【０１１０】
まず、この処理が開始されると、撮像装置の画角を最広角に設定する処理が行われる。すなわち、ステップＳ３１において、パノラマカウンタ（Pano Cnt）が１であるか否かが判断され、パノラマカウンタが１である（Pano Cnt＝１）と判断された場合、ステップＳ４３へ制御が移り、パノラマカウンタが１でない（Pano Cnt≠１）と判断された場合、ステップＳ３２へ制御が移る。ステップＳ４３では、ズームをワイド端に移動する駆動命令を送信すると共に、パノラマカウンタをインクリメントする。これは、より広範囲のパノラマ画像を、少ない画像取得回数で行うためである。
【０１１１】
ステップＳ３２では、パノラマカウンタが２であるか否かが判断され、パノラマカウンタが２である（Pano Cnt＝２）と判断された場合、ステップＳ４４へ制御が移り、パノラマカウンタが２でない（Pano Cnt≠２）と判断された場合、ステップＳ３３へ制御が移る。ステップＳ４４では、パンチルタ２８を最初に撮影するポジション（ＰＯＳ（Pano Cnt -２））に移動する駆動命令を送信すると共に、パノラマカウンタをインクリメントする。すなわち、ＰＯＳ（Pano Cnt -２）で示すパンチルタ２８の画角を取得する最初の位置（図５の１で示す位置）に移動する処理を行う。
【０１１２】
また、パノラマカウンタ（Pano Cnt）が３以降の場合、設定したズーム、パンチルタ位置に撮像装置が移動したのを確認し、指定位置に到達した場合、画像のキャプチャを行う。ステップＳ３３では、ズームレンズ１６の位置情報（ｚ）の確認が行われ、ズーム位置があっている場合、ステップＳ３４へ制御が移り、ズーム位置があっていない場合、このフローチャートは終了する。さらに、ステップＳ３４では、パンチルタ２８の位置情報（ｐ，ｔ）の確認が行われ、パンチルタ位置があっている（＝ＰＯＳ（Pano Cnt -３））場合、ステップＳ３５へ制御が移り、パンチルタ位置があっていない（≠ＰＯＳ（Pano Cnt -３））場合、このフローチャートは終了する。そして、ステップＳ３５では、現在のパンチルタ位置の画像が取得される。取得された画像は、ビットマップの画像ファイルとしてメモリに記憶される。
【０１１３】
ステップＳ３６では、パンチルタ２８を次に撮影するポジション（ＰＯＳ（Pano Cnt -２））に移動する駆動命令が送信される。ステップＳ３７では、上述したように、取得した画像を仮想球面にデータ変換し、重複画像、不要画像の削除を行う画像の連結処理が行われる。また、コンピュータ１の処理能力がない場合、このステップＳ３７では、水平方向および垂直方向に圧縮も行う。ステップＳ３８では、連結された画像が緯度、経度で正規化され、表示される。そして、ステップＳ３９では、パノラマカウンタ（Pano Cnt）がインクリメントされる。
【０１１４】
すなわち、次の画像取得位置にパンチルタ２８を移動する処理を行い、続いて、先にキャプチャした画像の仮想球面への写像処理、水平、垂直方向への圧縮処理、重複画像、不要画像の削除処理等を行い、パノラマ画像作成の進行状況を表示する。以上の動作をパノラマ画像が完成するまで行う。
【０１１５】
ステップＳ４０では、パノラマ画像が完全に完成したか否かが判断され、完成したと判断された場合、ステップＳ４１へ制御が移り、未完成と判断された場合、このフローチャートは終了し、再度上述の制御をパノラマ画像が完成するまで繰り返す。ステップＳ４１では、パノラマ画像が完成したので、パノラマ作成要求（Flag-pa ）がリセット（False ）される。そして、ステップＳ４２では、完成されたパノラマ画像が保存される。
【０１１６】
このフローチャートでは、図５に示す１の画像はパノラマカウンタ（Pano Cnt）が３のときに獲得でき、図５に示す２の画像はパノラマカウンタが４のときに獲得でき、そしてパノラマカウンタが１２のときに獲得される図５に示す１０の画像が獲得されると、パノラマ画像を生成するための全ての画像が獲得され、パノラマ画像が完成する。
【０１１７】
なお、駆動装置は、ここで指令される目標位置に対して、常に同位置方向から進入するように動作し、画像連結の際発生し得る駆動系の機構の遊び（例えば、ギアのバックラッシュ）による、連結画像のずれを補正している。
【０１１８】
次に、マウス移動イベントのアルゴリズムについて図２１のフローチャートを用いて説明する。このイベントは、モニタ２上をマウス８が移動すると発生するイベントである。この発明では、パンチルタ２８の駆動位置を選択するために使用する。このイベントが発生すると、図２Ａに示す操作領域６Ａ、パノラマ操作領域６Ｂまたはそれらの領域以外の部分のいずれにマウス８が存在するかを確認するために、ステップＳ５１では、操作領域６Ａにマウス８が存在するか否かが確認される。マウス８が操作領域６Ａに存在するのが確認されると、ステップＳ５２へ制御が移り、操作領域６Ａに存在しないのが確認されると、ステップＳ５４へ制御が移る。ステップＳ５２では、操作領域フラグ（Flag-rin）がセット（True）されると共に、パノラマ操作領域フラグ（Flag-pin）がクリア（False ）される。
【０１１９】
ステップＳ５４では、操作領域６Ａにはマウス８が存在しないため、操作領域フラグ（Flag-rin）がクリア（False ）される。そして、ステップＳ５５では、パノラマ操作領域６Ｂにマウス８が存在するか否かが確認される。マウス８がパノラマ操作領域６Ｂに存在するのが確認されると、ステップＳ５６へ制御が移り、パノラマ操作領域６Ｂに存在しないのが確認されると、ステップＳ５６へ制御が移る。ステップＳ５６では、パノラマ操作領域フラグ（Flag-pin）がセット（True）される。ステップＳ５７では、パノラマ操作領域６Ｂにはマウス８が存在しないため、パノラマ操作領域フラグ（Flag-pin）がクリア（False ）される。
【０１２０】
そして、操作領域６Ａまたはパノラマ操作領域６Ｂにマウス８が存在する場合、ステップＳ５３において、マウス８が存在する操作領域の中心を（０，０）とした相対座標としてマウス８の位置座標（ξ，η）が取得される。
【０１２１】
このフローチャートでは、もし操作領域６Ａにマウス８が存在する場合、操作領域フラグ（Flag-rin）をセット（True）し、操作領域６Ａにマウス８が存在しない場合、操作領域フラグ（Flag-rin）をクリア（False ）する。また、パノラマ操作領域６Ｂにマウス８が存在する場合、パノラマ操作領域フラグ（Flag-pin）をセット（True）し、パノラマ操作領域６Ａにマウス８が存在しない場合、パノラマ操作領域フラグ（Flag-pin）をクリア（False ）する。そして、操作領域６Ａまたはパノラマ操作領域６Ｂにマウス８が存在する場合、そのときのマウス８の位置座標を、各操作領域の中心を（０，０）とした相対座標として（ξ，η）に設定する。
【０１２２】
次に、マウスボタンダウンイベントとボタンアップイベントについて説明する。上述したような操作領域６Ａまたはパノラマ操作領域６Ｂの任意の一点を直接指定する方法は、図２２に示すマウスボタンダウンイベントのアルゴリズムのみを使用し、任意の領域を指定し、その任意の領域から生成される任意の一点を指定する他の方法は、図２３に示すマウスボタンダウンイベントと、図２４に示すマウスボタンアップイベントとを使用する。
【０１２３】
まず、図２２のフローチャートを用いて操作領域の任意の一点を直接指定する方法であるボタンダウンイベントのアルゴリズムを説明する。このイベントは、マウス８の左ボタンが押された時に発生するイベントである。この発明では、このイベントを、パンチルタ２８を駆動するためのトリガ情報として使用する。このイベントが発生すると、ステップＳ６１において、操作領域フラグ（Flag-rin）がセット（True）されているか否かにより、操作領域６Ａにマウス８が存在するか否かが確認される。操作領域フラグがセットされている（Flag-rin＝True）場合、操作領域６Ａにマウス８が存在するため、ステップＳ６２へ制御が移り、操作領域フラグがクリアされている（Flag-rin＝False ）場合、操作領域６Ａ外にマウス８が存在するため、ステップＳ６４へ制御が移る。
【０１２４】
マウス８が操作領域６Ａに存在する場合、ステップＳ６２において、受信データによって得られた現在のパンチルタ２８の角度情報（θ，φ）、ズームレンズ１６の倍率情報（γ）、マウス８で指定された操作領域６Ａのマウス８の位置座標（ξ，η）を用いて、指定された操作領域上の被写体が、画面の中心にくるようなパンチルタ２８の角度情報（α，β）が式（４）または式（５）を用いて算出される。
【０１２５】
そして、ステップＳ６３では、こうして得られたパンチルタ２８の角度情報（α，β）を上述した図１１に従い、パンチルタ２８の角度情報（α，β）が内部の位置情報（ｐ-new，ｔ-new）に変換される。変換された位置情報（ｐ-new，ｔ-new）は、パンチルタ２８の絶対位置駆動命令と共に送信バッファに格納される。また、同時にデータ送信要求フラグ（Flag-so ）をセット（True）し、タイマイベントの処理によってデータが送信されるようにする。
【０１２６】
操作領域６Ａ外にマウス８が存在することが確認された後、ステップＳ６４では、パノラマ操作領域６Ｂにマウス８が存在するか否かが、パノラマ操作領域フラグ（Flag-pin）がセット（True）されているか否かにより確認される。パノラマ操作領域フラグがセットされている（Flag-pin＝True）場合、パノラマ操作領域６Ｂにマウス８が存在するため、ステップＳ６５へ制御が移り、パノラマ操作領域フラグがクリアされている（Flag-pin＝False ）場合、このフローチャートは、終了する。
【０１２７】
このフローチャートでは、操作領域フラグ（Flag-rin）およびパノラマ操作領域フラグ（Flag-pin）の各フラグを確認することによって、マウス８が操作領域６Ａまたはパノラマ操作領域６Ｂに存在するか否かが確認される。また、いずれの操作領域にもマウス８が存在しない場合、このイベントは無効となる。
【０１２８】
マウス８がパノラマ操作領域６Ｂに存在する場合、ステップＳ６５において、マウス８で指定されたパノラマ操作領域６Ｂのマウス８の位置情報（ξ，η）を用いて、指定された操作領域上の被写体が、画面の中心にくるようなパンチルタ２８の角度情報（α，β）が式（９）を用いて算出される。そして、ステップＳ６３へ制御が移る。
【０１２９】
次に、パノラマ操作領域６Ｂの任意の領域から生成される任意の一点を指定する他の方法であるボタンダウンイベントのアルゴリズムを図２３を用い、ボタンアップイベントのアルゴリズムを図２４を用いて説明する。
【０１３０】
まず、ボタンダウンイベントのアルゴリズムを図２３のフローチャートを用いて説明する。このイベントは、マウス８の左ボタンが押された時に発生するイベントである。この発明では、このイベントを、指定する任意の領域の始点を決定するイベントとして使用する。このイベントが発生すると、ステップＳ７１において、操作領域フラグ（Flag-rin）がセット（True）されているか否かにより、操作領域６Ａにマウス８が存在するか否かが確認される。操作領域フラグがセットされている（Flag-rin＝True）場合、操作領域６Ａにマウス８が存在するため、ステップＳ７２へ制御が移り、操作領域フラグがクリアされている（Flag-rin＝False ）場合、操作領域６Ａ外にマウス８が存在するため、ステップＳ７４へ制御が移る。
【０１３１】
マウス８が操作領域６Ａに存在する場合、ステップＳ７２において、操作領域の始点取得フラグ（Flag-rstart ）がセット（True）される。そして、ステップＳ７３において、マウス８の左ボタンが押されたときの位置座標（ｍ１，ｎ１）を任意の領域の始点として記憶する。
【０１３２】
操作領域６Ａ外にマウス８が存在することが確認された後、ステップＳ７４では、パノラマ操作領域フラグ（Flag-pin）がセット（True）されているか否かにより、パノラマ操作領域６Ｂにマウス８が存在するか否かが確認される。パノラマ操作領域フラグがセットされている（Flag-pin＝True）場合、パノラマ操作領域６Ｂにマウス８が存在するため、ステップＳ７５へ制御が移り、パノラマ操作領域フラグがクリアされている（Flag-pin＝False ）場合、このフローチャートは終了する。
【０１３３】
このフローチャートでは、操作領域フラグ（Flag-rin）およびパノラマ操作領域フラグ（Flag-pin）の各フラグを確認することによって、マウス８が操作領域６Ａまたはパノラマ操作領域６Ｂに存在するか否かが確認される。また、いずれの操作領域にもマウス８が存在しない場合、そのイベントは無効となる。
【０１３４】
マウス８がパノラマ操作領域６Ｂに存在する場合、ステップＳ７５において、パノラマ操作領域の始点取得フラグ（Flag-pstart ）がセットされる。そして、ステップＳ７３へ制御が移る。
【０１３５】
次に、ボタンアップイベントのアルゴリズムを図２４のフローチャートを用いて説明する。このイベントは、マウスの左ボタンが離された時に発生するイベントである。この発明では、このイベントを指定する任意の領域の終点を決定するイベントとして使用する。
【０１３６】
このイベントが発生すると、まずステップＳ８１において、操作領域フラグ（Flag-rin）がセット（True）されているか否かにより、操作領域６Ａにマウス８が存在するか否かが確認される。操作領域フラグがセットされている（Flag-rin＝True）場合、操作領域６Ａにマウス８が存在するため、ステップＳ８２へ制御が移り、操作領域フラグがクリアされている（Flag-rin＝False ）場合、操作領域６Ａ外にマウス８が存在するため、ステップＳ８７へ制御が移る。そして、ステップＳ８２では、操作領域６Ａの始点開始フラグ（Flag-rstart ）がセットされているか否かにより、操作領域６Ａ内で左ボタンが押されたか否かが確認される。始点取得フラグがセットされている（Flag-rstart ＝True）場合、操作領域６Ａ内でマウス８が押されたため、ステップＳ８３へ制御が移り、始点取得フラグがクリアされている（Flag-rstart ＝False ）場合、操作領域６Ａ内でマウス８の左ボタンが押されなかったため、ステップＳ８７へ制御が移る。
【０１３７】
すなわち、ステップＳ８１およびＳ８２では、操作領域フラグ（Flag-rin）および操作領域６Ａの始点取得フラグ（Flag-rstart ）の各フラグを確認する。そして、操作領域フラグ（Flag-rin）および始点取得フラグ（Flag-rstart ）が共にセット（True）されていれば操作領域６Ａで駆動命令が発生したと識別する。また、それ以外の場合、後述するステップＳ８７およびＳ８８において、パノラマ操作領域フラグ（Flag-pin）およびパノラマ操作領域６Ｂの始点取得フラグ（Flag-pstart ）の各フラグを確認する。
【０１３８】
操作領域６Ａで指令あり、すなわち操作領域フラグ（Flag-rin）および始点取得フラグ（Flag-rstart ）が共にセット（True）されていると認識された場合、ステップＳ８３において、マウス８の左ボタンが離されたことによって指定された操作領域６Ａの位置座標（ｍ２，ｎ２）を任意の領域の終点として記憶する。そして、先に記憶した任意の領域の始点の位置座標（ｍ１、ｎ１）と、今回求めた任意の領域の終点の位置座標（ｍ２，ｎ２）の２点より生成される四角形の領域の中心座標として、式（６）からマウス８の位置座標（ξ，η）が任意の一点として算出される。
【０１３９】
そして、ステップＳ８４では、受信データで得られた現在のパンチルタ２８の角度情報（θ，φ）、ズームレンズ１６の倍率情報（γ）、マウス８で指定された操作領域のマウス８の位置情報（ξ，η）を用いて、指定された操作領域上の被写体が、画面の中心にくるようなパンチルタ２８の角度情報（α，β）を式（４）または式（５）を用いて算出される。
【０１４０】
ステップＳ８５では、このパンチルタ２８の角度情報（α，β）が上述した図１１に従い、パンチルタ２８内部の位置情報（ｐ-new，ｔ-new）に変換され、パンチルタ２８の絶対位置駆動命令と共に送信バッファに格納される。また、同時に、データ送信要求フラグ（Flag-so ）がセット（True）され、タイマイベントの処理によってデータが送信されるようにする。
【０１４１】
ステップＳ８６では、それぞれの操作領域でのマウスボタンアップイベントを確認した後、最後に操作領域６Ａの始点取得フラグ（Flag-rstart ）およびパノラマ操作領域６Ｂの始点取得フラグ（Flag-pstart ）がクリア（False ）される。そして、このイベントは終了する。
【０１４２】
ステップＳ８７では、パノラマ操作領域フラグ（Flag-pin）がセット（True）されているか否かにより、パノラマ操作領域６Ｂにマウス８が存在するか否かが確認される。パノラマ操作領域フラグがセットされている（Flag-pin＝True）場合、パノラマ操作領域６Ｂにマウス８が存在するため、ステップＳ８８へ制御が移り、操作領域フラグがセットされていない（Flag-pin＝False ）場合、パノラマ操作領域６Ｂ外にマウス８が存在するため、ステップＳ８６へ制御が移る。そして、ステップＳ８８では、パノラマ操作領域６Ｂの始点取得フラグ（Flag-pstart ）がセット（True）されているか否かにより、パノラマ操作領域６Ｂ内でマウス８の左ボタンが押されたか否かが確認される。始点取得フラグがセットされている（Flag-pstart ＝True）場合、パノラマ操作領域６Ｂ内でマウス８の左ボタンが押されたため、ステップＳ８９へ制御が移り、始点取得フラグがセットされていない（Flag-pstart ＝False ）場合、パノラマ操作領域６Ｂ内でマウス８の左ボタンが押されなかったため、ステップＳ８６へ制御が移る。
【０１４３】
すなわち、ステップＳ８７およびＳ８８では、パノラマ操作領域フラグ（Flag-pin）およびパノラマ操作領域６Ｂの始点取得フラグ（Flag-pstart ）が共にセット（True）されていればパノラマ操作領域６Ｂで駆動命令が発生したと識別する。また、上述したステップＳ８１、Ｓ８２、Ｓ８７およびＳ８８の条件に当てはまらない場合、このイベントは無効となる。
【０１４４】
パノラマ操作領域６Ｂで指令あり、すなわちパノラマ操作領域フラグ（Flag-pin）および始点取得フラグ（Flag-pstart ）が共にセット（True）されていると認識された場合、ステップＳ８９において、マウス８の左ボタンが離されることによって指定されたパノラマ操作領域６Ｂの位置座標（ｍ２，ｎ２）を任意の領域の終点として記憶する。そして、先に記憶した任意の領域の始点の位置座標（ｍ１，ｎ１）と、今回求めた任意の領域の終点の位置座標（ｍ２，ｎ２）の２点より生成される四角形の領域の中心座標として、式（６）からマウス８の位置情報（ξ，η）が任意の一点として算出される。
【０１４５】
そして、ステップＳ９０では、マウス８で指定されたパノラマ操作領域６Ｂのマウス８の位置情報（ξ，η）を用いて、指定されたパノラマ操作領域上の被写体が、画面の中心にくるようなパンチルタ２８の角度情報（α，β）を式（９）を用いて算出される。そして、ステップＳ８５へ制御が移る。
【０１４６】
この実施の一形態では、パノラマ画像の作成をコンピュータ１で行うようになされているが、サーバ９でパノラマ画像を作成し、回線容量の少ないネットワーク回線にそのパノラマ画像のデータをコンピュータ１に転送し、モニタ２のパノラマ操作領域６Ｂに表示するようにしても良い。
【０１４７】
この実施の一形態では、コンピュータ１に接続されているモニタ２の画面上に操作領域６Ａおよびパノラマ操作領域６Ｂおよび／または基準パノラマ操作領域６Ｅを表示しているが、モニタ２とは異なる別のディスプレイに操作領域６Ａ、パノラマ操作領域６Ｂおよび／または基準パノラマ操作領域６Ｅを表示しても良い。
【０１４８】
この実施の一形態では、パンチルタカメラ３によって撮影可能な範囲をパンチルタカメラ３の可動できる最大範囲としても良いし、リミッタによって撮影可能な範囲を制限しても良い。また、そのリミッタにより撮影範囲を制限する機能は、パンチルタカメラ３に持っても良いし、コンピュータ１に持っても良い。
【０１４９】
この実施の一形態では、任意の領域から生成される任意の一点をその領域の中心としたが、それに限らず任意の領域の外心、内心、重心または垂心を任意の一点としても良い。
【０１５０】
この実施の一形態では、ネットワークの一例としてインターネットを利用しているが、ネットワークを利用せずカメラ部１１からの信号とパンチルタ部１２からの信号とを直接コンピュータ１に供給するようにしても良い。
【０１５１】
【発明の効果】
この発明に依れば、装置各部の動作により、操作領域に映し出され、マウスをクリックすることによって、操作者が指定した被写体が容易に画面の中心に映し出すことが可能になる。更に、操作によってパンチルタの到達する場所が予め予測出来るので、インターネットのような回線能力に依存する通信の遅延、画像データの欠落等が発生しやすい回線上で、操作者にストレスを感じさせない、視認性の良い、容易な操作を実現することができる。
【０１５２】
さらに、この発明に依れば、特にパノラマ画像を表示することで、撮像装置の置かれている環境を一目で把握することが可能であり、その映像に対して、パンチルタの位置情報、ズームの画角を、パンチルタの可動範囲等を情報として埋め込むことにより、撮像装置の状況も容易に把握することが可能になる。
【０１５３】
また、この発明に依れば、パノラマ操作領域上を指定することにより容易に被写体を撮像映像視野内に捕らえられ、さらに操作領域上でも被写体を指定することで、パノラマ操作領域で指定しきれなかった微妙な位置も調整することが可能になる。このような操作性が、随時更新可能なパノラマ操作領域上または基準パノラマ操作領域上で同様に提供されるため、視界不良などのため更新したパノラマ画像が使いにくいときにも良好な操作性が保てるとともに、最小の操作で目的の画像が得られる。このことはネットワークなどを利用した遠隔操作や、複数人の操作者による多対一の操作を行うような場合に重要である。
【図面の簡単な説明】
【図１】この発明のシステムを説明するための外観図である。
【図２】この発明に適用される画面を説明するための略線図である。
【図３】この発明のシステムの実施の一形態のブロック図である。
【図４】この発明に適用されるパノラマ画像の生成を説明するための略線図である。
【図５】この発明に適用されるパノラマ画像の生成を説明するための概略図である。
【図６】この発明に適用されるパノラマ画像の生成を説明するための概略図である。
【図７】この発明に適用されるパノラマ操作領域上の位置座標からパンチルタカメラの角度情報を生成する説明に用いた略線図である。
【図８】この発明に適用される平面球面変換を説明するための略線図である。
【図９】この発明に適用される操作領域での座標変換を説明するための略線図である。
【図１０】この発明に適用されるパノラマ操作領域での座標変換を説明するための略線図である。
【図１１】この発明に適用されるパンチルタカメラの内部の位置情報と角度情報とを説明するための略線図である。
【図１２】この発明に適用されるパンチルタカメラの角度座標とパノラマ操作領域の位置座標とを説明するための略線図である。
【図１３】この発明に適用されるパンチルタカメラの画角とパノラマ操作領域内の枠とを説明するための略線図である。
【図１４】この発明に適用されるズームデータと倍率データの変換を説明するための略線図である。
【図１５】この発明の基準パノラマ画像を生成する一例の略線図である。
【図１６】この発明の基準パノラマ画像を生成する実施の一形態のブロック図である。
【図１７】この発明に適用される全体の処理の一例である。
【図１８】この発明に適用されるパノラマ作成イベントの処理の一例である。
【図１９】この発明に適用されるタイマイベントの処理の一例である。
【図２０】この発明に適用されるパノラマ作成処理の一例である。
【図２１】この発明に適用されるマウス移動イベントの処理の一例である。
【図２２】この発明に適用されるマウスボタンダウンイベントの処理の一例である。
【図２３】この発明に適用されるマウスボタンダウンイベントの処理の一例である。
【図２４】この発明に適用されるマウスボタンアップイベントの処理の一例である。
【符号の説明】
１、６１・・・コンピュータ、２・・・モニタ、６Ａ・・・操作領域、６Ｂ・・・パノラマ操作領域、７・・・カーソル、９・・・サーバ、１１・・・カメラ部、１２・・・パンチルタ部、１３・・・ＴＶモニタ、１４・・・ポインティングデバイス、１５・・・レンズブロック部、１６・・・ズームレンズ、１７・・・ズーム部、１８、２６、２７・・・モータ、１９・・・固体撮像素子、２０・・・信号分離／自動利得調整回路、２１・・・Ａ／Ｄ変換器、２２・・・信号処理回路、２３・・・モードコントローラ、２４・・・カメラコントローラ、２５・・・パンチルタコントローラ、２８・・・パンチルタ、３０、６４・・・記憶部、３１、６２・・・制御部、６３・・・ビデオキャプチャー部、６５、６７・・・ネットワークインタフェース
【図１】
0003812069.tif 000006
【図２】
0003812069.tif 000007
【図３】
0003812069.tif 000008
【図４】
0003812069.tif 000009
【図５】
0003812069.tif 000010
【図６】
0003812069.tif 000011
【図７】
0003812069.tif 000012
【図８】
0003812069.tif 000013
【図９】
0003812069.tif 000014
【図１０】
0003812069.tif 000015
【図１１】
0003812069.tif 000016
【図１２】
0003812069.tif 000017
【図１３】
0003812069.tif 000018
【図１４】
0003812069.tif 000019
【図１５】
0003812069.tif 000020
【図１６】
0003812069.tif 000021
【図１７】
0003812069.tif 000022
【図１８】
0003812069.tif 000023
【図１９】
0003812069.tif 000024
【図２０】
0003812069.tif 000025
【図２１】
0003812069.tif 000026
【図２２】
0003812069.tif 000027
【図２３】
0003812069.tif 000028
【図２４】
0003812069.tif 000029