JP2004187068A - パノラマ画像撮影システム - Google Patents
パノラマ画像撮影システム Download PDFInfo
- Publication number
- JP2004187068A JP2004187068A JP2002352445A JP2002352445A JP2004187068A JP 2004187068 A JP2004187068 A JP 2004187068A JP 2002352445 A JP2002352445 A JP 2002352445A JP 2002352445 A JP2002352445 A JP 2002352445A JP 2004187068 A JP2004187068 A JP 2004187068A
- Authority
- JP
- Japan
- Prior art keywords
- image
- panoramic
- event
- panoramic image
- client
- 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.)
- Pending
Links
Images
Abstract
【課題】広角光学系を用いて低解像度のパノラマ動画像と高解像度の通常画像とを、複数のクライアントに同時に送信・表示するための安価なパノラマ画像撮影システムを提供する。
【解決手段】広角光学系を持つカメラAを用いて撮影した画像をパノラマ画像や通常画像に変換し、前記パノラマ画像をネットワークCを通じて送信し、該送信された画像を受信し、該受信した画像を表示し、画像受信側から通常画像を生成する方向を指定するように制御する。
【選択図】 図1
【解決手段】広角光学系を持つカメラAを用いて撮影した画像をパノラマ画像や通常画像に変換し、前記パノラマ画像をネットワークCを通じて送信し、該送信された画像を受信し、該受信した画像を表示し、画像受信側から通常画像を生成する方向を指定するように制御する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、遠隔地にあって広角光学系を持つカメラを用いてパノラマ画像を撮影するパノラマ画像撮影システムに関する。
【0002】
【従来の技術】
従来、魚眼レンズや回転体ミラー等の広角光学系や全方位撮像系を用いて撮影した画像からパノラマ画像や通常画像を生成し、ネットワークを通じて閲覧する技術が知られている。
【0003】
例えば、「尾上、山澤、横矢、竹村:“全方位画像からの視線追従型実時間画像生成によるテレプレゼンス”、信学技報、PRMU97−20(1997−05)」では、転双曲面ミラーを用いて撮影した全方位画像を遠隔地の利用者に送信し、利用者の視線方向の透視投影画像を生成するテレプレゼンスシステムを提案している。
【0004】
また、USP6043837号には、指定した全方位画像の扇型部分領域を送信し、これを利用者側で矩形領域に変換して表示する方式が開示されている。
【0005】
これと同様な手法は、特開平11−205772号においても開示されており、複数の利用者が同時に仮想的なカメラ操作を行うために、回転双曲面ミラーを用いて撮影した全方位画像を複数の利用者に送信し、各利用者側で受信画像の一部を矩形画像に変換して表示したり、全方位画像を矩形画像に変換して、その一部を利用者に送信したりする方法が提案されている。
【0006】
また、特開2000−132673号においても、予め蓄積した全方位画像を必要に応じて利用者に送信し、一部分を矩形画像に展開して表示する方式が開示されている。
【0007】
また、魚眼レンズ等の広角レンズを用いた例としては、特開平8−279999号等を始めとして、TV(テレビジョン)会議システムに多数応用されている。
【0008】
また、静止画像への応用としては、デジタルカメラで撮影した二枚の画像から、上下左右360度の任意方向の画像を生成するiPIX社の技術がある。
【0009】
【発明が解決しようとする課題】
広角画像を閲覧する場合、画像全体を見たい場合と一部分を拡大して見たい場合とがあり、また、動画として見たい場合と静止画として見たい場合とがある。更に、できるだけ安価なシステムを構築したいという要望がある。
【0010】
しかしながら、上述した従来例では、使用するカメラの出力がNTSC形式等のアナログ出力の場合、640(H)×480(V)画素程度の低解像度画像を変換したものであり、一部分を拡大して見たいという要求を満足するものではなかった。
【0011】
これに対して、高画素数のCCD(電荷結合素子)を搭載した産業用のプログレッシブスキャンカメラが既に発売されており、このカメラは、1600(H)×1200(V)画素以上の比較的高解像度の画像を取得することはできるが、このような産業用のカメラは、特殊なフレームグラバと組み合わせて使用する必要があり、システム全体が高価になるという問題があった。
【0012】
一方、民生用のデジタルカメラを用いれば、400万画素クラスのCCDを用いて2200(H)×1700(V)画素程度の高解像度画像を安価に得ることができるが、従来のデジタルカメラは静止画撮影用に限られていた。
【0013】
本発明は、上述した従来技術の有する問題点を解消するためになされたもので、その目的は、広角光学系を用いて低解像度のパノラマ動画像と高解像度の通常画像とを、複数のクライアントに同時に送信・表示するための安価なパノラマ画像撮影システムを提供する。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明のパノラマ画像撮影システムは、広角光学系を持つカメラを用いて撮影した画像をパノラマ画像や通常画像に変換するパノラマ画像撮影システムにおいて、前記カメラから送信された画像に基づいてパノラマ画像を表示する表示手段と、前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定手段とを設けたことを特徴とする。
【0015】
【発明の実施の形態】
以下、本発明の各実施の形態を図面に基づき説明する。
【0016】
(第1の実施形態)
まず、本発明の第一の実施の形態を図1〜図10に基づき説明する。
【0017】
本実施の形態では、高解像度の静止画像と低解像度の動画像とを撮影可能なカメラに広角光学系を装備し、撮影した広角動画像からパノラマ動画像を生成し、複数のクライアントに送信するシステムにおいて、一つのクライアントが高解像度のパノラマ画像より画角の狭い通常画像を要求した場合に、高解像度の広角静止画像を撮影し、要求したクライアントには高解像度の通常静止画像を送信し、他のクライアントには低解像度のパノラマ静止画像を送信し、各クライアントは送信された画像を表示するシステムを構築することを目的とする。
【0018】
図1は、本実施の形態に係るパノラマ画像撮影システムのハードウェア構成の一例を示すブロック図である。
【0019】
パノラマ画像撮影システムは、カメラA、サーバB、ネットワークC、クライアントDから構成されている。そして、カメラAで撮影した複数の画像をサーバBで変換してパノラマ画像を生成し、そのパノラマ画像の全体または一部を、ネットワークCを通じてクライアントD−1,D−2に送信して、このクライアントD−1,D−2上のモニタ画面に表示するように構成されている。
【0020】
ここで、1台のサーバに対してクライアントは、1台以上あるものとする。
【0021】
カメラAは、広角画像を撮像するための光学系101、レンズやCCD(電荷結合素子)から成る撮像部102、フォーカス・絞り・ホワイトバランス等を制御し且つサーバBに画像を送信する撮像制御部103から構成されている。
【0022】
光学系101は、180度前後の視野を持つ魚眼レンズや、側方360度の視野角を持つ全方向位画像を映す回転体ミラーを用いる。以下では、回転双曲面ミラーを用いて全方位パノラマ画像を撮影するものとして説明するが、本実施の形態において実現するパノラマ画像撮影方式は、広角画像を撮影方法に依存するものではない。
【0023】
尚、回転体ミラーを用いたパノラマ画像撮影は公知であり、その概要については後述する。
【0024】
撮像部102と撮像制御部103は、高解像度の静止画像と低解像度の動画像の両方を撮影する。このようなカメラAは、例えば、コンピュータ制御可能なカメラを用いることで容易に実現できる。
【0025】
サーバBは、CPU(中央演算処理装置)104、RAM(ランダムアクセスメモリ)105、ROM(リードオンリーメモリ)106及び二次記憶部107を具備している。また、プログラムの実行を始めとする各種の操作のために、キーボード112及びマウス等のポインティングデバイス113を具備している。また、操作画面表示のためにVRAM(ビデオランダムアクセスメモリ)108を具備し、このVRAM108にモニタ111が接続されている。また、ネットワークCとの接続のためにネットワークI/F(インターフェース)109を具備している。また、カメラA及び周辺機器との接続を行うための周辺機器I/F(インターフェース)110を具備している。サーバBは、周辺機器I/F110を通じてカメラAを制御、画像を取得する。ここで、周辺機器I/F110には、RS−232C、USB、IEEE1394等の方式が存在するが、本実施の形態では、インターフェースの種類に依存するものではない。
【0026】
CPU104、RAM105、ROM106、二次記憶部107、VRAM108、周辺機器I/F110及びネットワークI/F109は、内部バスに接続する。
【0027】
以上説明したサーバBの構成は、市販のパーソナルコンピュータを用いることで簡単に実現できるが、VRAM108、モニタ111、キーボード112、ポインティングデバイス113の無い所謂セットトップボックスの形態を採ることも何ら問題ない。
【0028】
クライアントD−1は、サーバBと同様に、CPU114、RAM115、ROM116、二次記憶部117、VRAM118、ネットワークI/F(インターフェース)119、周辺機器I/F(インターフェース)120、モニタ121により構成されている。
【0029】
クライアントD−1は、ネットワークCを通じてサーバBと接続し、このサーバBからパノラマ画像を受信してモニタ121に表示したり、このモニタ121の画面上のGUI(グラフィカル・ユーザー・インターフェース)を操作して方向を指定し、高解像度の通常画像を要求したりする。また、周辺機器I/F(インターフェース)120には、キーボード122及びマウス等のポインティングデバイス123が接続される。
【0030】
尚、クライアントD−2は、クライアントD−1と同一構成であるから、その説明は省略する。
【0031】
ここで、ネットワークCは、TCP/IPプロトコルに基づくインターネットを想定しているが、デジタル信号を送受信可能で画像通信に十分な容量のある伝送路であれば、その実現方式は問わない。
【0032】
図2は、本実施の形態に係るパノラマ画像撮影時ステムにおいて使用する回転体ミラーの構造例を示す図である。
【0033】
図2(a)は、回転体ミラーの外観を示す模式図であり、回転体ミラーは、ミラー部201、このミラー部201を支えるガラス筒部202、カメラAを装着するためのねじを持つカメラ接続部203、黒針204等から成る。ミラー部201の断面は、球、放物線、双曲線等の形状である。
【0034】
このような回転体ミラーの構造例に関しては、特開平11−174603号に詳しく述べられている。
【0035】
図2(b)は、回転体ミラーを用いた撮影原理を示す図であり、回転体ミラー205がカメラAに装着された状態を模式的に示している。ここで空間上の点(P)を出た光線は、回転体ミラー205に反射して経路210によって、レンズ207を通過し、CCD208の面に到達する。その結果、例えば、カメラAを垂直方向上に向けて撮影した場合、図2(c)に示すような全方位画像を得ることができる。
【0036】
図2(c)の全方位画像の中心には、図2(a)の黒針部204が211のように円状に存在する。その外側に、周囲360度の画像212が回転体ミラー205の外周まで存在する。更に、その外側には、ミラーを介さずに直接カメラAに入る光線や、回転体ミラー205の底面213が映る。図2(c)では、直接カメラAに入る光線は省略しているが、この光線の有無は、本発明には無関係である。
【0037】
尚、回転体ミラー205には、「八木:“全方位ビジョンの研究動向”、コンピュータビジョンとイメージメディア、Vo1125,pp.147−160」に述べられているように、様々な種類のものが存在し、黒針部204が無いものや、回転体ミラーの保持方法が異なるもの等が存在するが、本発明の汎用性を損なうものではない。
【0038】
図2(c)の全方位画像は、図2(d)に示すようなパノラマ画像214に変換することができる。これは、全方位画像の中心を定めて、同心円上に存在する点を矩形領域の横軸方向に並べることによって可能である。また、回転体ミラーを用いた場合の、空間上の点と全方位画像上の点との対応関係が、特開平6−295333号に詳しく述べられていおり、空間中に設けた円筒面に全方位画像を逆投影することで、パノラマ画像を生成することもできる。
【0039】
通常画像は、パノラマ画像の一部を切り出すことによって生成することができ、或いは空間上に画像平面を決めて、全方位画像上の点を投影することによっても生成することができる。このようなパノラマ画像の生成方法に関しては、従来例に詳しく述べられているので、その説明は省略する。
【0040】
図3は、本実施の形態に係るパノラマ画像撮影システムにおけるソフトウェアの構成例を示す図である。サーバBにおいて、カメラ制御プロセス301、画像生成&送信プロセス302、サーバ管理プロセス303が動作し、クライアントD−1(またはクライアントD−2)において、クライアントプロセス304が動作する。ここで、プロセスとは、マルチタスクオペレーションシステムにおいて並列に動作するプログラム単位を意味する。
【0041】
サーバ管理プロセス303は、サーバB上で動作する他のプロセスの管理とクライアント情報の管理を行う。カメラ制御プロセス301は、サーバ管理プロセス303からの指示に基づいてカメラAを制御し、低解像度の動画像や高解像度の静止画像をカメラAから取得する。画像生成&送信プロセス302は、撮影した広角画像をパノラマ画像や通常画像に変換し、圧縮を行い、クライアントプロセス304へ送信する。クライアントプロセス304は、受信した動画像や静止画像を伸長し、モニタ121の表示画面305に表示する。また、ユーザーは、クライアントプロセス304のGUI上でパノラマ画像上の矩形領域を移動することで、通常画像を生成する方向を指定し、サーバ管理プロセス303に通知する。
【0042】
次に、本実施の形態に係るパノラマ画像撮影システムにおけるクライアントのGUIの例を用いて説明する。
【0043】
図4は、図3のクライアントプロセス304がモニタ121の表示画面305に表示するクライアントソフトのGUIの一例を示す図であり、一般的なウィンドウズ(登録商標)システムの一つのウィンドウである。
【0044】
図において、401はメニューであり、接続先の設定やソフトウェアの終了等を行う。402はパノラマ画像表示であり、サーバBから送られたパノラマ動画像やパノラマ静止画像を表示する。パノラマ画像表示402には、方向を指定するための矩形領域403が有り、マウス等のポインティングデバイス404を用いてパノラマ画像上の任意の位置に移動することができる。405は静止画像の表示領域であり、静止画取得ボタン406を押すと、矩形領域403によって設定した方向の通常画像がサーバBから送られるので,これを表示する。
【0045】
ここで、GUI上で設定するのは矩形領域の位置であるが、位置を方向に変換する方式は公知であるため、その説明は省略する。
【0046】
また、図4において、407はステータスの表示領域であり、現在のクライアントD−1,D−2の動作状態やサーバBとの接続状況等を表示する。
【0047】
図5は、本実施の形態に係るパノラマ画像撮影システムにおけるサーバBが管理する情報の一例を示す図であり、図5(a)は、サーバBが動画モードで動作している場合の例であり、図5(b)は、サーバBが静止画モードで動作している場合の例である。
【0048】
尚、図5中のデータ表現は論理的な意味を示すものであり、実際の格納形式は、必ずしも図5の通りでなくても何ら問題はない。
【0049】
サーバBは、図5に示すように、クライアント毎に管理番号を割り当て、IPアドレス、ホスト名、送信形式、通常画像の方向を管理する。「ホスト名」が無い場合にはN/Aとする。「送信形式」は、パノラマ画像を送信するか(panorama)、通常画像を送信するか(normal)を判別する。通常画像を送信する場合には、データを項目「通常画像の方向」に、その方向を記憶する。
【0050】
図5(a)では、全てのクライアントにパノラマ動画像を送信するが、例えば、管理番号1のクライアントから静止画像の要求があった場合には、静止画モードに移行すると共に、管理番号1のクライアントの送信形式をnormalとし、方向データをクライアントから要求のあった内容に更新する。
【0051】
次に、本実施の形態に係るパノラマ画像撮影システムの動作原理の概要について、図6を用いて説明する。
【0052】
図6は、ソフトウェアモジュールであるサーバBとクライアントD−1,D−2の動作手順と情報のやりとりを示す図である。ここでは、既に2個のクライアントD−1,D−2がサーバBとの接続を確立しているものとする。サーバBの動作モードには、動画モードと静止画モードの2つがある。動画モードでは、低解像度の動画像を撮影し、静止画モードでは、高解像度の静止画像を撮影する。
【0053】
ここで高解像度と低解像度の具体的な画素数は、例えば、高解像度の広角静止画像を2272(H)×1704(V)画素、低解像度の広角動画像を320(H)×240(V)画素として撮影することできる。この結果、600)(H)×120(V)画素程度のパノラマ動画像と、800(H)×600(V)画素程度の通常静止画像とを生成することができる。
【0054】
サーバBとクライアントD−1,D−2との間の通信は、TCP/IPやHTTP上のデータ列として送受信される。TCP/IPの場合、データ列の第1バイトはヘッダ、第2バイトはコマンド番号、第3バイト以下はパラメータ等とするデータ列を予め定めておき、コマンド番号1は接続要求、コマンド番号2は切断要求等としていくのが一般的な方法である。
【0055】
本実施の形態は、このような制御コマンドや画像の送受信プロトコルに依存するものでないため、送受信されるコマンドの形式やプロトコルの例を詳細に説明することはしない。また、画像データの符号化方式には、JPEGやMPEGを始めとして様々な規格が存在するが、本発明が画像符号化方式に依存しないのは言うまでもない。
【0056】
図6において、動画モードでサーバBは、ステップS601で低解像度の全方位動画像を1フレーム撮影し、ステップS602でパノラマ画像に展開して圧縮し、ステップS603で接続している全てのクライアントD−1(またはD−2)に対してパノラマ画像を送信する。次に、ステップS604でクライアントD−1(またはD−2)は、パノラマ画像を受信して伸長し、モニタ121の表示画面に表示する。パノラマ画像は動画像であるため、次々に送信される。
【0057】
次に、ステップS605で一つのクライアントD−1(またはD−2)で利用者が方向を指定して、高解像度静止画像を送るように要求する。この要求は、ステップS606でサーバBに向けて送信される。すると、サーバBは、静止画モードになり、ステップS607において高解像度の静止画像を撮影する。この画像からは、ステップS608で通常の静止画像と、ステップS609で前記ステップS602におけるパノラマ動画像と同一の解像度であるパノラマ静止画像とを生成する。そして、一方のクライアントD−1に対しては、ステップS610で通常の静止画像を圧縮して送信し、他方のクライアントD−2に対しては、ステップS611でパノラマ静止画像を圧縮して送信する。クライアントD−1とクライアントD−2は、ステップS612とステップS613とで、それぞれ画像を受信して伸長し、モニタ121の表示画面に表示する。
【0058】
次に、本実施の形態に係るパノラマ画像撮影システムにおける各プロセスの処理動作について、図7〜図10を用いて説明する。
【0059】
図7は、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの動作の流れを示すフローチャート、図8は、本実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの動作の流れを示すフローチャート、図9は、本実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセスの動作の流れを示すフローチャート、図10は、本実施の形態に係るパノラマ画像撮影システムにおけるクライアントプロセスの動作の流れを示すフローチャートである。
【0060】
まず、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセス303の動作について、図7を用いて説明する。
【0061】
サーバ管理プロセス303は、開始後、ステップS701で初期化を行い、次のステップS702でカメラ制御プロセス301を、その次のステップS703で画像生成&送信プロセス302をそれぞれ起動する。次いで、ステップS704でサーバBの動作モードを動画モードに設定し、次のステップS705で撮影を開始するようにカメラ制御プロセス301に指示する。次に、ステップS706でイベントの発生を待つ。
【0062】
ステップS706においてイベントが発生すると、ステップS707へ進んでイベントがクライアントプロセス304からの接続要求イベントであるか否かを判断する。そして、イベントがクライアントプロセス304からの接続要求イベントであると判断された場合には、ステップS708へ進んで現在接続しているクライアント数が最大接続数未満であるか否かを判断する。そして、現在接続しているクライアント数が最大接続数未満であると判断された場合には、ステップS709へ進んでクライアント情報を追加登録し、クライアントD−1(またはクライアントD−2)に対して接続許可通知を行う。ここで、クライアント情報の追加登録とは、図5に示す表に当該クライアントの情報を追加することに相当する。
【0063】
次に、ステップS710へ進んで画像生成&送信プロセス302に対して接続イベントを発行した後、前記ステップS706へ戻って次のイベントを待つ。
【0064】
一方、前記ステップS708において、現在接続しているクライアント数が最大接続数未満でないと判断された場合、即ち、接続クライアント数に余裕がない場合には、ステップS711へ進んでクライアントD−1(またはクライアントD−2)に対して接続拒否通知を行った後、前記ステップS706へ戻って次のイベントを待つ。
【0065】
また、前記ステップS707において、イベントがクライアントプロセス304からの接続要求イベントでないと判断された場合には、ステップS712へ進んでイベントが接続終了イベントであるか否かを判断する。このイベントは、クライアントプロセス304が終了した場合等に発生する。前記ステップS712において接続終了イベントであると判断された場合には、ステップS713へ進んでクライアントの削除処理を行った後、クライアントD−1(またはクライアントD−2)との接続を終了する。ここでクライアントの削除とは、図5に示す表から当該クライアントの行を削除することに相当する。次に、ステップS714で画像生成&送信プロセス302に対して切断イベントを送信した後、前記ステップS706へ戻って次のイベントを待つ。
【0066】
一方、前記ステップS712において、イベントが接続終了イベントでないと判断された場合には、ステップS715へ進んでイベントが静止画像要求イベントであるか否かを判断する。これは、クライアントから高解像度の静止画像を要求するイベントである。前記ステップS715において、イベントが静止画像要求イベントであると判断された場合には、ステップS716へ進んでサーバBの動作モードが動画モードであるか否かを判断する。そして、サーバBの動作モードが動画モードであると判断された場合には、ステップS717ヘ進んで静止画モードにモード変更する。また、前記ステップS716において、サーバBの動作モードが動画モードでないと判断された場合には、既に静止画モードであるので、新たな静止画像の送信要求は受け付けない。従って、ステップS718へ進んでクライアントD−1(またはクライアントD−2)に対して要求拒否通知を行った後、前記ステップS706へ戻って、次のイベントを待つ。また、前記ステップS715において静止画要求イベントでないと判断された場合には、何も処理せずに前記ステップS706へ戻って、次のイベントが発生するのを待つ。
【0067】
次に、本実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセス301の処理動作について、図8を用いて説明する。
【0068】
前記図7のステップS702において、カメラ制御プロセス301が起動するのに伴い開始し、ステップS801で初期化後、次にステップS802でサーバ管理プロセス303からの撮影開始命令を待つ。そして、撮影命令を受け取ると、次のステップS803ヘ進んで広角画像の撮影を開始する。即ち、撮影モードやカメラパラメータを読み込む。例えば、動画モードの場合には低解像度の動画で撮影を行い、静止画モードの場合には高解像度の静止画として撮影を行う。次に、ステップS804で実際の撮影を行い、次のステップS805で画像生成&送信プロセス302に対して撮影完了イベントを発行する。次に、ステップS806で静止画モードであるか否かを判断する。そして、静止画モードであると判断されたの場合には、ステップS807へ進んで動画モードに設定を変更した後、前記ステップS803へ戻って撮影を続ける。これは、高解像度の静止画は連続して撮影しないからである。また、前記ステップS806において、静止画モードではなく動画モードであると判断された場合には、前記ステップS803へ戻って撮影を続ける。
【0069】
次に、本実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセス302の動作について、図9を用いて説明する。
【0070】
前記図7のステップS703において、画像生成&送信プロセス302が起動するのに伴い開始し、ステップS901で初期化を行い、次のステップS902でイベント発生を待つ。そして、イベントが発生した場合には、ステップS903へ進んでイベントが撮影完了イベントであるか否かを判断する。そして、イベントが撮影完了イベントであると判断された場合には、ステップS904へ進んでパノラマ画像を生成し、次のステップS905でパノラマ画像を圧縮して全てのクライアントD−1,D−2に送信する。この時動画モードである場合には全てのクライアントD−1,D−2に低解像度のパノラマ画像を送信するが、静止画モードである場合には図5(b)の表を参照し、高解像度の静止画を要求したクライアント以外には、低解像度のパノラマ画像を送信する。
【0071】
次に、ステップS906で静止画像モードであるか否かを判断する。そして、静止画像モードであると判断された場合には、ステップS907へ進んでクライアントの方向指定に基づいて高解像度の通常画像を生成する。次に、ステップS908で通常画像を圧縮し、この画像を要求したクライアントに送信した後、前記ステップS902へ戻る。また、前記ステップS906において、静止画モードでないと判断された場合には、前記ステップS902へ戻る。
【0072】
一方、前記ステップS903において、撮影完了イベントでないと判断された場合には、ステップS909へ進んで接続命令であるか否かを判断する。そして、接続命令であると判断された場合には、ステップS910へ進んでクライアントと接続した後、前記ステップS902へ戻る。また、前記ステップS909において、接続命令でないと判断された場合には、ステップS911へ進んで切断命令であるか否かを判断する。そして、切断命令であると判断された場合には、ステップS912へ進んで切断処理を行った後、前記ステップS902へ戻る。また、前記ステップS911において、切断命令でないと判断された場合には、何も処理せずに前記ステップS902へ戻る。
【0073】
次に、本実施の形態に係るパノラマ画像撮影システムにおけるクライアントプロセス304の動作について、図10を用いて説明する。
【0074】
この図10では、イベント処理において、終了処理やマウスの移動処理等、一般的な処理は省いて説明を行う。
【0075】
開始後、ステップS1001で初期化し、次のステップS1002でサーバBへの接続を試みる。サーバBのIPアドレスは、予めファイル等に記録しておいたものを使用する。次に、ステップS1003で前記ステップS1002における接続が成功したか否かを判断する。ここで既に最大接続数に達している場合には、サーバ管理プロセス303から接続拒否通知が返り、接続は失敗する。また、ネットワークC上のエラーが発生した場合にも、接続は失敗する。
【0076】
前記ステップS1003において、サーバBへの接続が失敗したと判断された場合には、ステップS1004へ進んでリトライするか否かを判断する。リトライ回数は、予め決めておき、この決めた回数を上回るリトライが既に行われている場合、即ち、前記ステップS1004において、リトライしないと判断された場合には、ステップS1005へ進んで終了処理を行い、本処理動作を終了する。また、前記ステップS1004において、リトライを行うと判断された場合には、前記ステップS1002へ戻って、サーバBへの接続を再度試みる。サーバBとの接続が成功した場合は、サーバ管理プロセス303と画像生成&送信プロセス302とに同時に接続が確立する。
【0077】
前記ステップS1003において、サーバBへの接続が成功したと判断された場合には、ステップS1006へ進んで各種イベントが発生するのを待つ。そして、何らかのイベントが発生した場合には、そのイベントに応じてステップS1007以下の処理を行う。
【0078】
即ち、ステップS1007では、イベントがパノラマ画像データの受信イベントであるか否かを判断する。そして、イベントがパノラマ画像データの受信イベントであると判断された場合には、ステップS1008へ進んでパノラマ画像の受信、伸長処理及び表示を行った後、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。
【0079】
また、前記ステップS1007において、イベントがパノラマ画像データの受信イベントでないと判断された場合には、ステップS1009へ進んでイベントが通常画像の受信イベントであるか否か判断する。そして、イベントが通常画像の受信イベントであると判断された場合には、ステップS1010へ進んで通常画像の受信、伸長処理及び表示を行行った後、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。
【0080】
一方、前記ステップS1009において、イベントが通常画像の受信イベントでないと判断された場合には、ステップS1011へ進んでイベントが静止画像要求イベントであるか否かを判断する。この静止画像要求イベントは、図4の静止画取得ボタン406を押した場合に発生する。前記ステップS1011において、イベントが静止画像要求イベントであると判断された場合には、ステップS1012へ進んでサーバBに対して高解像度の静止画像を要求する。この時、所望する通常静止画像の方向も同時に送信する。前記ステップS1012の処理を終了後は、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。また、前記ステップS1011において、イベントが静止画要求イベントでないと判断された場合には、ステップS1013へ進んでイベントが領域指定イベントであるか否かを判断する。この領域指定イベントは、図4のパノラマ画像402上で領域表示403を移動した場合に発生する。
【0081】
前記ステップS1013において、イベントが領域指定イベントであると判断された場合には、ステップS1014へ進んで領域の設定を変更した後、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。また、前記ステップS1013において、イベントが領域指定イベントでないと判断された場合には、ステップS1015へ進んでイベントがステータスに関するメッセージのイベントであるか否かを判断する。これは、サーバBから接続許可・拒否に関するメッセージや、クライアントの動作状況に関するメッセージが発生した場合である。前記ステップS1015において、イベントがステータスに関するメッセージのイベントであると判断された場合には、ステップ1016へ進んでステータスを表示した後、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。
【0082】
以上の説明からも明らかなように、本実施の形態に係るパノラマ画像撮影システムによれば、高解像度の静止画像と低解像度の動画像とを撮影可能なカメラAに広角光学系を装備し、撮影した広角動画像からパノラマ動画像を生成し、複数のクライアントD−1,D−2へ送信するシステムにおいて、一つのクライアントが高解像度の通常静止画像を要求した場合に、高解像度の広角静止画像を撮影し、要求したクライアントには高解像度の通常静止画像を送信し、他のクライアントには低解像度のパノラマ静止画像を送信し、各クライアントは送信された画像を表示する。その結果、安価なカメラAを用いて低解像度のパノラマ画像と高解像度の通常画像とを、複数の利用者が閲覧することができる。
【0083】
(第二の実施の形態)
次に、本発明の第二の実施の形態を、図11及び図12に基づき説明する。
【0084】
尚、本実施の形態に係るパノラマ画像撮影システムのハードウェア構成及びソフトウェア構成は、上述した第一の実施の形態における図1及び図3と同一であるから、必要に応じて、これら各図を流用して説明する。
【0085】
本実施の形態は、上述した第一の実施の形態において、高解像度の静止画像を複数のクライアントに対して送信することができるようにしたものである。
【0086】
本実施の形態は、ハードウェア構成及びソフトウェア構成については、上述した第一の実施の形態と同一であるから、プロセスの動作を変更するだけで実現が可能である。従って、以下では、上述した第一の実施の形態とは異なる部分のみについて説明する。
【0087】
図11は、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの動作の流れを示すフローチャート、図12は、本実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの動作の流れを示すフローチャートである。
【0088】
まず、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの動作について、図11を用いて説明する。
【0089】
尚、図11において、ステップS1101〜ステップS1115は、上述した第一の実施の形態における図7のステップS701〜ステップS715と同一であるから、これらの説明は省略し、本実施の形態特有の処理ステップについてのみ説明する。
【0090】
図11のステップS1115において、イベントが静止画像要求イベントであると判断された場合の動作手順が、上述した第一の実施の形態における図7の動作手順と異なるものである。
【0091】
即ち、図11のステップS1115において、イベントがクライアントからの静止画要求イベントであると判断された場合には、ステップS1116へ進んで静止画像送信リストに当該クライアントを追加する。これは、サーバ管理プロセス303(図3参照)の持つ図5(b)のクライアント情報に関して、当該クライアントの送信形式をnormalとし、送信する通常画像の方向情報を追加することに相当する。前記ステップS1116の処理を終了後は、前記ステップS1106へ戻って、次のイベントを待つ。
【0092】
次に、本実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの動作について、図12を用いて説明する。
【0093】
尚、図12において、ステップS1201〜ステップS1207は、上述した第一の実施の形態における図8のステップS801〜ステップS807と基本的には同一であるから、本実施の形態特有の処理ステップについてのみ説明する。
【0094】
図12のステップS1203の動作手順が、上述した第一の実施の形態における図8の動作手順と異なるものである。
【0095】
即ち、カメラ制御プロセス301では、画像の撮影を行う際に、ステップS1203において、図5(b)のクライアント情報)を参照し、静止画を要求するクライアントが一つでもあれば静止画モードでの撮影を行うものである。
【0096】
次に、本実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセスの動作について、上述した第一の実施の形態における図9を流用して説明する。
【0097】
カメラ制御プロセス301の動作において、本実施の形態と上述した第一の実施の形態と異なる点は、ステップS907とステップS908の処理手順である。
【0098】
即ち、画像生成送信プロセスでは、ステップS908で通常画像を要求する全てのクライアントに対して、要求する方向に対応する高解像度の通常画像を生成し、圧縮して送信する。もし、ステップS907において通常画像を生成した直後に、クライアントから静止画像の要求があった場合には、このクライアントへの静止画像の送信は次の撮影にまわされる。この場合、静止画像の撮影を何度か繰り返すことになる。
【0099】
尚、本実施の形態に係るパノラマ画像撮影システムにおけるクライアントプロセスの動作については、上述した第一の実施の形態と同一であるから、その説明は省略する。
【0100】
上述したように、本実施の形態に係るパノラマ画像撮影システムによれば、複数のクライアントから同時に高解像度の通常静止画像の要求があった場合に、効率良く各クライアントに高解像度の通常静止画像を送信することができるものである。
【0101】
(第三の実施の形態)
次に、本発明の第三の実施の形態を、図13及び図14に基づき説明する。
【0102】
尚、本実施の形態に係るパノラマ画像撮影システムのハードウェア構成及びソフトウェア構成は、上述した第一の実施の形態における図1及び図3と同一であるから、必要に応じて、これら各図を流用して説明する。
【0103】
本実施の形態は、上述した第一若しくは第二の実施の形態において、サーバBが静止画モードにある場合に、新たなクライアントD−1,D−2の接続要求があった場合、そのクライアントD−1,D−2にも直前のパノラマ動画像の1フレームを送信し、表示するようにしたものである。これにより、クライアントD−1,D−2は、サーバBの動作モードに関係なく、起動時の初期画像を得ることができる。
【0104】
本実施の形態は、ハードウェア構成及びソフトウェア構成については、上述した第一の実施の形態と同一であるから、プロセスの動作を変更するだけで実現が可能である。従って、以下では、上述した第一の実施の形態とは異なる部分のみについて説明する。
【0105】
図13及び図14は、本実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセスの動作の流れを示すフローチャートである。
【0106】
本実施の形態において、上述した第一及び第二の実施の形態と異なる点は、画像生成プロセスと画像送信プロセスとを互いに独立して動作させるようにしたことであり、図13は、画像生成プロセスの動作の流れを、図14は、画像送信プロセスの動作の流れを、それぞれ示している。
【0107】
まず、図13を用いて説明する。図11のステップS1103において画像生成&送信プロセスの起動により、開始後、ステップS1301で初期化し、その後、ステップS1301で画像送信を専門に行う画像送信プロセスを起動する。この画像送信プロセスは、その起動後、図1401で送信命令を待ち、送信命令が発生すると、次のステップS1402で画像の送信を行う。この送信する画像は、動画像の1フレームか静止画像である。画像送信プロセスを独立して動作させるため、図13のステップS1301〜ステップS1314のプロセスを画像生成プロセスと呼ぶことにする。
【0108】
再び図13に戻って説明すると、前記ステップS1302で画像送信プロセスが起動し、次のステップS1303でイベントの発生を待つ。そして、イベントが発生した場合は、次のステップS1304で前記ステップS1303において発生したイベントが撮影完了イベントであるか否かを判断する。そして、イベントが撮影完了イベントであると判断された場合には、ステップS1305へ進んでパノラマ画像を生成する。次に、ステップS1306で画像送信プロセスに対してパノラマ画像の送信命令を発行する。そして、実際のパノラマ画像送信処理は、画像送信プロセスが行う。
【0109】
次に、ステップS1307で静止画モードであるか否かを判断する。そして、静止画モードでないと判断された場合には、何も処理せずに前記ステップS1303へ戻り、次のイベントの発生を待つ。また、前記ステップS1307において、静止画モードであると判断された場合には、ステップS1308へ進んで通常画像を生成し、次のステップS1309で通常画像送信命令のみを発行する。そして、実際の通常画像送信処理は、画像送信プロセスが行う。こうすることによって、画像生成プロセスは、時間を要する画像圧縮や送信処理を別プロセスに任せ、イベント処理の効率化を図ることができる。前記ステップS1309の処理が終了後は、前記ステップS1303へ戻り、次のイベントの発生を待つ。
【0110】
一方、前記ステップS1304において、イベントが撮影完了イベントでないと判断された場合には、ステップS1310へ進んでクライアントD−1(またはクライアントD−2)からの接続命令があるか否かを判断する。そして、接続命令があると判断された場合には、ステップS1311へ進んで接続処理を行い、次のステップS1312でパノラマ画像送信命令を発行する。このパノラマ画像送信命令は、画像送信プロセスに対して、直前の動画モードで撮影・生成されたパノラマ画像をクライアントD−1(またはクライアントD−2)に1フレーム送るよう指示するものである。これにより、動画モードか静止画モードの区別なく、クライアントD−1(またはクライアントD−2)は、パノラマ画像を1フレーム分受け取ることができる。前記ステップs1312の処理が終了後は、前記ステップS1303へ戻り、次のイベントの発生を待つ。
【0111】
一方、前記ステップS1310において、接続命令でないと判断された場合には、ステップS1313へ進んで切断命令であるか否かを判断する。そして、切断命令であると判断された場合には、ステップS1314へ進んで切断処理を行った後、前記ステップS1303へ戻り、次のイベントの発生を待つ。また、前記ステップs1313において、切断命令でないと判断された場合には、何も処理せずに前記ステップS1303へ戻り、次のイベントの発生を待つ。
【0112】
尚、前記図13のステップS1306、ステップS1309及びステップS1312における送信命令があるか否かを、図14のステップS1401において判断するものである。
【0113】
尚、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセス及びカメラ制御プロセスの動作は、上述した第一の実施の形態と同一であるから、その説明は省略する。
【0114】
以上述べたように本実施の形態に係るパノラマ画像撮影システムによれば、サーバBが静止画モードにある場合に新たなクライアントD−1,D−2の接続要求があった場合、そのクライアントにも直前のパノラマ動画像の1フレームを送信し、表示するようにしたから、クライアントD−1,D−2は、サーバBの動作モードに関係なく、最低限の画像を得ることができる。
【0115】
(その他の実施の形態)
上述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、本発明が達成されることは言うまでもない。
【0116】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した各実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0117】
また、プログラムコードを供給するための記憶媒体としては、例えば、RAM、NV−RAM、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、DVD(DVD−ROM、DVD−R、DVD−RW等)、磁気テープ、不揮発性のメモリカード、他のROM等の上記プログラムコードを記憶できるものであれば良く、或いはネットワークを介したダウンロード等を用いることができる。
【0118】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0119】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0120】
以上では、本発明の様々な例と実施形態を説明したが、当業者であれば、本発明の趣旨と範囲は本明細書内の特定の説明と図に限定されるものではなく、本願特許請求の範囲に全て述べられた様々な修正と変更に及ぶことが可能であることは言うまでもない。
【0121】
本発明の実施態様の例を以下に列挙する。
【0122】
[実施態様1] 広角光学系を持つカメラを用いて撮影した画像をパノラマ画像や通常画像に変換するパノラマ画像撮影システムにおいて、
前記カメラから送信された画像に基づいてパノラマ画像を表示する表示手段と、
前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定手段とを設けたことを特徴とするパノラマ画像撮影システム。
【0123】
[実施態様2] 広角光学系を持つカメラを用いて撮影した画像からパノラマ画像を生成する撮影手段と、
前記撮影手段により生成されたパノラマ画像をネットワークを通じて送信する送信手段と、
前記送信手段により送信されたパノラマ画像を受信する受信手段と、
前記受信手段により受信したパノラマ画像を表示する表示手段と、
前記表示手段において画像を生成する方向を指定するとその指定した方向情報を前記撮影手段に送信し且つ前記撮影手段において再び撮影した画像から当該方向の画像を生成して送信して前記表示手段において表示するように制御する制御手段とを設けたことを特徴とするパノラマ画像撮影システム。
【0124】
[実施態様3] 前記撮影手段は、低解像度の動画像と高解像度の静止画像とを撮影可能なカメラを用いて撮影した画像からパノラマ画像や通常画像を生成するものであって、
前記制御手段は、通常は低解像度の広角動画像からパノラマ動画像を生成して送信し、前記表示手段において画像を生成する方向を指定して通常画像の要求があった場合には、高解像度の広角静止画像から通常の静止画像を生成して送信し、前記表示手段において受信して表示するように制御することを特徴とする実施態様2に記載のパノラマ画像撮影システム。
【0125】
[実施態様4] 前記制御手段は、複数の前記表示手段から前記撮影手段に対して同時に高解像度の通常静止画像を要求した場合に、前記各表示手段の要求する高解像度の通常静止画像を生成して送信するように制御することを特徴とする実施態様2または3に記載のパノラマ画像撮影システム。
【0126】
[実施態様5] 前記制御手段は、前記撮影手段において直前に撮影した低解像度のパノラマ動画像の1フレームを常に保存しておき、高解像度の通常静止画像を撮影中または送信中に新たな表示手段から接続要求があった場合には、前記保存したパノラマ動画像の1フレームを送信し、接続を要求した表示手段において表示するように制御することを特徴とする実施態様2乃至4のいずれかに記載のパノラマ画像撮影システム。
【0127】
[実施態様6] 前記表示手段において、パノラマ画像上の矩形領域を用いて通常静止画像の視線方向を指定することを特徴とする実施態様1乃至5のいずれかに記載のパノラマ画像撮影システム。
【0128】
[実施態様7] 前記撮影手段において、回転双曲面ミラーを使用して撮影した全方位画像の一部を透視投影画像に変換することによって、通常画像を作成することを特徴とする請求項2乃至6のいずれかに記載のパノラマ画像撮影システム。
【0129】
[実施態様8] 前記撮影手段において、回転双曲面ミラーを使用して撮影した全方位画像を円筒面若しくは球面に再投影して展開し、その一部を切り出して通常画像を作成することを特徴とする請求項2乃至6のいずれかに記載のパノラマ画像撮影システム。
【0130】
[実施態様9] 広角光学系を持つカメラを用いて撮影した画像をパノラマ画像や通常画像に変換するパノラマ画像撮影方法において、
前記カメラから送信された画像に基づいてパノラマ画像を表示する表示工程と、
前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定工程とを設けたことを特徴とするパノラマ画像撮影方法。
【0131】
[実施態様10] 広角光学系を持つカメラを用いて撮影した画像からパノラマ画像を生成する撮影工程と、
前記撮影工程により生成されたパノラマ画像をネットワークを通じて送信する送信工程と、
前記送信工程により送信されたパノラマ画像を受信する受信工程と、
前記受信肯定により受信したパノラマ画像を表示する表示工程と、
前記表示工程において画像を生成する方向を指定するとその指定した方向情報を前記撮影工程に送信し且つ前記撮影工程において再び撮影した画像から当該方向の画像を生成して送信して前記表示工程において表示するように制御する制御工程とを設けたことを特徴とするパノラマ画像撮影方法。
【0132】
[実施態様11] 前記撮影工程は、低解像度の動画像と高解像度の静止画像とを撮影可能なカメラを用いて撮影した画像からパノラマ画像や通常画像を生成するものであって、
前記制御工程は、通常は低解像度の広角動画像からパノラマ動画像を生成して送信し、前記表示工程において画像を生成する方向を指定して通常画像の要求があった場合には、高解像度の広角静止画像から通常の静止画像を生成して送信し、前記表示工程において受信して表示するように制御することを特徴とする実施態様10に記載のパノラマ画像撮影方法。
【0133】
[実施態様12] 前記制御工程は、複数の前記表示工程から前記撮影工程に対して同時に高解像度の通常静止画像を要求した場合に、前記各表示工程の要求する高解像度の通常静止画像を生成して送信するように制御することを特徴とする請求項10または11に記載のパノラマ画像撮影方法。
【0134】
[実施態様13] 前記制御工程は、前記撮影工程において直前に撮影した低解像度のパノラマ動画像の1フレームを常に保存しておき、高解像度の通常静止画像を撮影中または送信中に新たな表示工程から接続要求があった場合には、前記保存したパノラマ動画像の1フレームを送信し、接続を要求した表示工程において表示するように制御することを特徴とする請求項10乃至12のいずれかに記載のパノラマ画像撮影方法。
【0135】
[実施態様14] 前記表示工程において、パノラマ画像上の矩形領域を用いて通常静止画像の視線方向を指定することを特徴とする請求項9乃至13のいずれかに記載のパノラマ画像撮影方法。
【0136】
[実施態様15] 前記撮影工程において、回転双曲面ミラーを使用して撮影した全方位画像の一部を透視投影画像に変換することによって、通常画像を作成することを特徴とする請求項10乃至14のいずれかに記載のパノラマ画像撮影方法。
【0137】
[実施態様16] 前記撮影工程において、回転双曲面ミラーを使用して撮影した全方位画像を円筒面若しくは球面に再投影して展開し、その一部を切り出して通常画像を作成することを特徴とする請求項10乃至15のいずれかに記載のパノラマ画像撮影方法。
【0138】
[実施態様17] パノラマ画像を撮影するパノラマ画像撮影システムを制御するためのコンピュータ読み取り可能な制御プログラムであって、
前記カメラから送信された画像に基づいてパノラマ画像を表示する表示工程と、前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定工程とを、コンピュータに実行させるためのプログラムコードから成ることを特徴とするパノラマ画像撮影システムの制御プログラム。
【0139】
[実施態様18] パノラマ画像を撮影するパノラマ画像撮影システムを制御するためのコンピュータ読み取り可能な制御プログラムであって、
広角光学系を持つカメラを用いて撮影した画像からパノラマ画像を生成する撮影工程と、前記撮影工程により生成されたパノラマ画像をネットワークを通じて送信する送信工程と、前記送信工程により送信されたパノラマ画像を受信する受信工程と、前記受信工程により受信したパノラマ画像を表示する表示工程と、前記表示工程において画像を生成する方向を指定するとその指定した方向情報を前記撮影工程に送信し且つ前記撮影工程において再び撮影した画像から当該方向の画像を生成して送信して前記表示工程において表示するように制御する制御工程とを、コンピュータに実行させるためのプログラムコードから成ることを特徴とするパノラマ画像撮影システムの制御プログラム。
【0140】
[実施態様19] 実施態様17及び18に記載の制御プログラムを格納したことを特徴とする記憶媒体。
【0141】
【発明の効果】
以上のように本発明によれば、広角光学系を用いて低解像度のパノラマ動画像と高解像度の通常画像とを、複数のクライアントに同時に送信・表示するための安価なパノラマ画像撮影システムを提供することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態に係るパノラマ画像撮影システムのハードウェア構成を示すブロック図である。
【図2】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるカメラに装着する広角光学系の一例と撮影した広角画像及びパノラマ画像の一例を示す図である。
【図3】本発明の第一の実施の形態に係るパノラマ画像撮影システムのソフトウェア構成を示すブロック図である。
【図4】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるクライアントの画面表示例を示す図である。
【図5】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるサーバで管理するクライアント情報の一例を示す図である。
【図6】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるサーバとクライアントの動作手順の概要を示す図である。
【図7】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの処理動作の流れを示すフローチャートである。
【図8】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの処理動作の流れを示すフローチャートである。
【図9】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセスの処理動作の流れを示すフローチャートである。
【図10】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるクライアントプロセスの処理動作の流れを示すフローチャートである。
【図11】本発明の第二の実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの処理動作の流れを示すフローチャートである。
【図12】本発明の第二の実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの処理動作の流れを示すフローチャートである。
【図13】本発明の第三の実施の形態に係るパノラマ画像撮影システムにおける画像生成プロセスの処理動作の流れを示すフローチャートである。
【図14】本発明の第三の実施の形態に係るパノラマ画像撮影システムにおける画像送信プロセスの処理動作の流れを示すフローチャートである。
【符号の説明】
A カメラ
B サーバ
C ネットワーク
D−1 クライアント
D−2 クライアント
101 光学系
102 撮像部
103 撮像制御部
104 CPU(中央演算処理装置)
105 RAM(ランダムアクセスメモリ)
106 ROM(リードオンリーメモリ)
107 二次記憶部
108 VRAM(ビデオランダムアクセスメモリ)
109 ネットワークI/F(インターフェース)
110 周辺機器I/F(インターフェース)
111 モニタ
112 キーボード
113 ポインティングデバイス
114 CPU(中央演算処理装置)
115 RAM(ランダムアクセスメモリ)
116 ROM(リードオンリーメモリ)
117 二次記憶部
118 VRAM(ビデオランダムアクセスメモリ)
119 ネットワークI/F(インターフェース)
120 周辺機器I/F(インターフェース)
121 モニタ
122 キーボード
123 ポインティングデバイス
P 点
201 ミラー部
202 ガラス筒部
203 カメラ接続部
204 黒針部
205 回転体ミラー
207 レンズ
208 CCD(電荷結合素子)
210 経路
211 黒針部
212 画像
213 回転体ミラー底面
214 パノラマ画像
301 カメラ制御プロセス
302 画像生成&送信プロセス
303 サーバ管理プロセス
304 クライアントプロセス
305 モニタの表示画面
401 メニュー
402 パノラマ画像表示
403 矩形表示
404 ポインティングデバイス
405 静止画像の表示領域
406 静止画取得ボタン
407 ステータスの表示領域
【発明の属する技術分野】
本発明は、遠隔地にあって広角光学系を持つカメラを用いてパノラマ画像を撮影するパノラマ画像撮影システムに関する。
【0002】
【従来の技術】
従来、魚眼レンズや回転体ミラー等の広角光学系や全方位撮像系を用いて撮影した画像からパノラマ画像や通常画像を生成し、ネットワークを通じて閲覧する技術が知られている。
【0003】
例えば、「尾上、山澤、横矢、竹村:“全方位画像からの視線追従型実時間画像生成によるテレプレゼンス”、信学技報、PRMU97−20(1997−05)」では、転双曲面ミラーを用いて撮影した全方位画像を遠隔地の利用者に送信し、利用者の視線方向の透視投影画像を生成するテレプレゼンスシステムを提案している。
【0004】
また、USP6043837号には、指定した全方位画像の扇型部分領域を送信し、これを利用者側で矩形領域に変換して表示する方式が開示されている。
【0005】
これと同様な手法は、特開平11−205772号においても開示されており、複数の利用者が同時に仮想的なカメラ操作を行うために、回転双曲面ミラーを用いて撮影した全方位画像を複数の利用者に送信し、各利用者側で受信画像の一部を矩形画像に変換して表示したり、全方位画像を矩形画像に変換して、その一部を利用者に送信したりする方法が提案されている。
【0006】
また、特開2000−132673号においても、予め蓄積した全方位画像を必要に応じて利用者に送信し、一部分を矩形画像に展開して表示する方式が開示されている。
【0007】
また、魚眼レンズ等の広角レンズを用いた例としては、特開平8−279999号等を始めとして、TV(テレビジョン)会議システムに多数応用されている。
【0008】
また、静止画像への応用としては、デジタルカメラで撮影した二枚の画像から、上下左右360度の任意方向の画像を生成するiPIX社の技術がある。
【0009】
【発明が解決しようとする課題】
広角画像を閲覧する場合、画像全体を見たい場合と一部分を拡大して見たい場合とがあり、また、動画として見たい場合と静止画として見たい場合とがある。更に、できるだけ安価なシステムを構築したいという要望がある。
【0010】
しかしながら、上述した従来例では、使用するカメラの出力がNTSC形式等のアナログ出力の場合、640(H)×480(V)画素程度の低解像度画像を変換したものであり、一部分を拡大して見たいという要求を満足するものではなかった。
【0011】
これに対して、高画素数のCCD(電荷結合素子)を搭載した産業用のプログレッシブスキャンカメラが既に発売されており、このカメラは、1600(H)×1200(V)画素以上の比較的高解像度の画像を取得することはできるが、このような産業用のカメラは、特殊なフレームグラバと組み合わせて使用する必要があり、システム全体が高価になるという問題があった。
【0012】
一方、民生用のデジタルカメラを用いれば、400万画素クラスのCCDを用いて2200(H)×1700(V)画素程度の高解像度画像を安価に得ることができるが、従来のデジタルカメラは静止画撮影用に限られていた。
【0013】
本発明は、上述した従来技術の有する問題点を解消するためになされたもので、その目的は、広角光学系を用いて低解像度のパノラマ動画像と高解像度の通常画像とを、複数のクライアントに同時に送信・表示するための安価なパノラマ画像撮影システムを提供する。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明のパノラマ画像撮影システムは、広角光学系を持つカメラを用いて撮影した画像をパノラマ画像や通常画像に変換するパノラマ画像撮影システムにおいて、前記カメラから送信された画像に基づいてパノラマ画像を表示する表示手段と、前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定手段とを設けたことを特徴とする。
【0015】
【発明の実施の形態】
以下、本発明の各実施の形態を図面に基づき説明する。
【0016】
(第1の実施形態)
まず、本発明の第一の実施の形態を図1〜図10に基づき説明する。
【0017】
本実施の形態では、高解像度の静止画像と低解像度の動画像とを撮影可能なカメラに広角光学系を装備し、撮影した広角動画像からパノラマ動画像を生成し、複数のクライアントに送信するシステムにおいて、一つのクライアントが高解像度のパノラマ画像より画角の狭い通常画像を要求した場合に、高解像度の広角静止画像を撮影し、要求したクライアントには高解像度の通常静止画像を送信し、他のクライアントには低解像度のパノラマ静止画像を送信し、各クライアントは送信された画像を表示するシステムを構築することを目的とする。
【0018】
図1は、本実施の形態に係るパノラマ画像撮影システムのハードウェア構成の一例を示すブロック図である。
【0019】
パノラマ画像撮影システムは、カメラA、サーバB、ネットワークC、クライアントDから構成されている。そして、カメラAで撮影した複数の画像をサーバBで変換してパノラマ画像を生成し、そのパノラマ画像の全体または一部を、ネットワークCを通じてクライアントD−1,D−2に送信して、このクライアントD−1,D−2上のモニタ画面に表示するように構成されている。
【0020】
ここで、1台のサーバに対してクライアントは、1台以上あるものとする。
【0021】
カメラAは、広角画像を撮像するための光学系101、レンズやCCD(電荷結合素子)から成る撮像部102、フォーカス・絞り・ホワイトバランス等を制御し且つサーバBに画像を送信する撮像制御部103から構成されている。
【0022】
光学系101は、180度前後の視野を持つ魚眼レンズや、側方360度の視野角を持つ全方向位画像を映す回転体ミラーを用いる。以下では、回転双曲面ミラーを用いて全方位パノラマ画像を撮影するものとして説明するが、本実施の形態において実現するパノラマ画像撮影方式は、広角画像を撮影方法に依存するものではない。
【0023】
尚、回転体ミラーを用いたパノラマ画像撮影は公知であり、その概要については後述する。
【0024】
撮像部102と撮像制御部103は、高解像度の静止画像と低解像度の動画像の両方を撮影する。このようなカメラAは、例えば、コンピュータ制御可能なカメラを用いることで容易に実現できる。
【0025】
サーバBは、CPU(中央演算処理装置)104、RAM(ランダムアクセスメモリ)105、ROM(リードオンリーメモリ)106及び二次記憶部107を具備している。また、プログラムの実行を始めとする各種の操作のために、キーボード112及びマウス等のポインティングデバイス113を具備している。また、操作画面表示のためにVRAM(ビデオランダムアクセスメモリ)108を具備し、このVRAM108にモニタ111が接続されている。また、ネットワークCとの接続のためにネットワークI/F(インターフェース)109を具備している。また、カメラA及び周辺機器との接続を行うための周辺機器I/F(インターフェース)110を具備している。サーバBは、周辺機器I/F110を通じてカメラAを制御、画像を取得する。ここで、周辺機器I/F110には、RS−232C、USB、IEEE1394等の方式が存在するが、本実施の形態では、インターフェースの種類に依存するものではない。
【0026】
CPU104、RAM105、ROM106、二次記憶部107、VRAM108、周辺機器I/F110及びネットワークI/F109は、内部バスに接続する。
【0027】
以上説明したサーバBの構成は、市販のパーソナルコンピュータを用いることで簡単に実現できるが、VRAM108、モニタ111、キーボード112、ポインティングデバイス113の無い所謂セットトップボックスの形態を採ることも何ら問題ない。
【0028】
クライアントD−1は、サーバBと同様に、CPU114、RAM115、ROM116、二次記憶部117、VRAM118、ネットワークI/F(インターフェース)119、周辺機器I/F(インターフェース)120、モニタ121により構成されている。
【0029】
クライアントD−1は、ネットワークCを通じてサーバBと接続し、このサーバBからパノラマ画像を受信してモニタ121に表示したり、このモニタ121の画面上のGUI(グラフィカル・ユーザー・インターフェース)を操作して方向を指定し、高解像度の通常画像を要求したりする。また、周辺機器I/F(インターフェース)120には、キーボード122及びマウス等のポインティングデバイス123が接続される。
【0030】
尚、クライアントD−2は、クライアントD−1と同一構成であるから、その説明は省略する。
【0031】
ここで、ネットワークCは、TCP/IPプロトコルに基づくインターネットを想定しているが、デジタル信号を送受信可能で画像通信に十分な容量のある伝送路であれば、その実現方式は問わない。
【0032】
図2は、本実施の形態に係るパノラマ画像撮影時ステムにおいて使用する回転体ミラーの構造例を示す図である。
【0033】
図2(a)は、回転体ミラーの外観を示す模式図であり、回転体ミラーは、ミラー部201、このミラー部201を支えるガラス筒部202、カメラAを装着するためのねじを持つカメラ接続部203、黒針204等から成る。ミラー部201の断面は、球、放物線、双曲線等の形状である。
【0034】
このような回転体ミラーの構造例に関しては、特開平11−174603号に詳しく述べられている。
【0035】
図2(b)は、回転体ミラーを用いた撮影原理を示す図であり、回転体ミラー205がカメラAに装着された状態を模式的に示している。ここで空間上の点(P)を出た光線は、回転体ミラー205に反射して経路210によって、レンズ207を通過し、CCD208の面に到達する。その結果、例えば、カメラAを垂直方向上に向けて撮影した場合、図2(c)に示すような全方位画像を得ることができる。
【0036】
図2(c)の全方位画像の中心には、図2(a)の黒針部204が211のように円状に存在する。その外側に、周囲360度の画像212が回転体ミラー205の外周まで存在する。更に、その外側には、ミラーを介さずに直接カメラAに入る光線や、回転体ミラー205の底面213が映る。図2(c)では、直接カメラAに入る光線は省略しているが、この光線の有無は、本発明には無関係である。
【0037】
尚、回転体ミラー205には、「八木:“全方位ビジョンの研究動向”、コンピュータビジョンとイメージメディア、Vo1125,pp.147−160」に述べられているように、様々な種類のものが存在し、黒針部204が無いものや、回転体ミラーの保持方法が異なるもの等が存在するが、本発明の汎用性を損なうものではない。
【0038】
図2(c)の全方位画像は、図2(d)に示すようなパノラマ画像214に変換することができる。これは、全方位画像の中心を定めて、同心円上に存在する点を矩形領域の横軸方向に並べることによって可能である。また、回転体ミラーを用いた場合の、空間上の点と全方位画像上の点との対応関係が、特開平6−295333号に詳しく述べられていおり、空間中に設けた円筒面に全方位画像を逆投影することで、パノラマ画像を生成することもできる。
【0039】
通常画像は、パノラマ画像の一部を切り出すことによって生成することができ、或いは空間上に画像平面を決めて、全方位画像上の点を投影することによっても生成することができる。このようなパノラマ画像の生成方法に関しては、従来例に詳しく述べられているので、その説明は省略する。
【0040】
図3は、本実施の形態に係るパノラマ画像撮影システムにおけるソフトウェアの構成例を示す図である。サーバBにおいて、カメラ制御プロセス301、画像生成&送信プロセス302、サーバ管理プロセス303が動作し、クライアントD−1(またはクライアントD−2)において、クライアントプロセス304が動作する。ここで、プロセスとは、マルチタスクオペレーションシステムにおいて並列に動作するプログラム単位を意味する。
【0041】
サーバ管理プロセス303は、サーバB上で動作する他のプロセスの管理とクライアント情報の管理を行う。カメラ制御プロセス301は、サーバ管理プロセス303からの指示に基づいてカメラAを制御し、低解像度の動画像や高解像度の静止画像をカメラAから取得する。画像生成&送信プロセス302は、撮影した広角画像をパノラマ画像や通常画像に変換し、圧縮を行い、クライアントプロセス304へ送信する。クライアントプロセス304は、受信した動画像や静止画像を伸長し、モニタ121の表示画面305に表示する。また、ユーザーは、クライアントプロセス304のGUI上でパノラマ画像上の矩形領域を移動することで、通常画像を生成する方向を指定し、サーバ管理プロセス303に通知する。
【0042】
次に、本実施の形態に係るパノラマ画像撮影システムにおけるクライアントのGUIの例を用いて説明する。
【0043】
図4は、図3のクライアントプロセス304がモニタ121の表示画面305に表示するクライアントソフトのGUIの一例を示す図であり、一般的なウィンドウズ(登録商標)システムの一つのウィンドウである。
【0044】
図において、401はメニューであり、接続先の設定やソフトウェアの終了等を行う。402はパノラマ画像表示であり、サーバBから送られたパノラマ動画像やパノラマ静止画像を表示する。パノラマ画像表示402には、方向を指定するための矩形領域403が有り、マウス等のポインティングデバイス404を用いてパノラマ画像上の任意の位置に移動することができる。405は静止画像の表示領域であり、静止画取得ボタン406を押すと、矩形領域403によって設定した方向の通常画像がサーバBから送られるので,これを表示する。
【0045】
ここで、GUI上で設定するのは矩形領域の位置であるが、位置を方向に変換する方式は公知であるため、その説明は省略する。
【0046】
また、図4において、407はステータスの表示領域であり、現在のクライアントD−1,D−2の動作状態やサーバBとの接続状況等を表示する。
【0047】
図5は、本実施の形態に係るパノラマ画像撮影システムにおけるサーバBが管理する情報の一例を示す図であり、図5(a)は、サーバBが動画モードで動作している場合の例であり、図5(b)は、サーバBが静止画モードで動作している場合の例である。
【0048】
尚、図5中のデータ表現は論理的な意味を示すものであり、実際の格納形式は、必ずしも図5の通りでなくても何ら問題はない。
【0049】
サーバBは、図5に示すように、クライアント毎に管理番号を割り当て、IPアドレス、ホスト名、送信形式、通常画像の方向を管理する。「ホスト名」が無い場合にはN/Aとする。「送信形式」は、パノラマ画像を送信するか(panorama)、通常画像を送信するか(normal)を判別する。通常画像を送信する場合には、データを項目「通常画像の方向」に、その方向を記憶する。
【0050】
図5(a)では、全てのクライアントにパノラマ動画像を送信するが、例えば、管理番号1のクライアントから静止画像の要求があった場合には、静止画モードに移行すると共に、管理番号1のクライアントの送信形式をnormalとし、方向データをクライアントから要求のあった内容に更新する。
【0051】
次に、本実施の形態に係るパノラマ画像撮影システムの動作原理の概要について、図6を用いて説明する。
【0052】
図6は、ソフトウェアモジュールであるサーバBとクライアントD−1,D−2の動作手順と情報のやりとりを示す図である。ここでは、既に2個のクライアントD−1,D−2がサーバBとの接続を確立しているものとする。サーバBの動作モードには、動画モードと静止画モードの2つがある。動画モードでは、低解像度の動画像を撮影し、静止画モードでは、高解像度の静止画像を撮影する。
【0053】
ここで高解像度と低解像度の具体的な画素数は、例えば、高解像度の広角静止画像を2272(H)×1704(V)画素、低解像度の広角動画像を320(H)×240(V)画素として撮影することできる。この結果、600)(H)×120(V)画素程度のパノラマ動画像と、800(H)×600(V)画素程度の通常静止画像とを生成することができる。
【0054】
サーバBとクライアントD−1,D−2との間の通信は、TCP/IPやHTTP上のデータ列として送受信される。TCP/IPの場合、データ列の第1バイトはヘッダ、第2バイトはコマンド番号、第3バイト以下はパラメータ等とするデータ列を予め定めておき、コマンド番号1は接続要求、コマンド番号2は切断要求等としていくのが一般的な方法である。
【0055】
本実施の形態は、このような制御コマンドや画像の送受信プロトコルに依存するものでないため、送受信されるコマンドの形式やプロトコルの例を詳細に説明することはしない。また、画像データの符号化方式には、JPEGやMPEGを始めとして様々な規格が存在するが、本発明が画像符号化方式に依存しないのは言うまでもない。
【0056】
図6において、動画モードでサーバBは、ステップS601で低解像度の全方位動画像を1フレーム撮影し、ステップS602でパノラマ画像に展開して圧縮し、ステップS603で接続している全てのクライアントD−1(またはD−2)に対してパノラマ画像を送信する。次に、ステップS604でクライアントD−1(またはD−2)は、パノラマ画像を受信して伸長し、モニタ121の表示画面に表示する。パノラマ画像は動画像であるため、次々に送信される。
【0057】
次に、ステップS605で一つのクライアントD−1(またはD−2)で利用者が方向を指定して、高解像度静止画像を送るように要求する。この要求は、ステップS606でサーバBに向けて送信される。すると、サーバBは、静止画モードになり、ステップS607において高解像度の静止画像を撮影する。この画像からは、ステップS608で通常の静止画像と、ステップS609で前記ステップS602におけるパノラマ動画像と同一の解像度であるパノラマ静止画像とを生成する。そして、一方のクライアントD−1に対しては、ステップS610で通常の静止画像を圧縮して送信し、他方のクライアントD−2に対しては、ステップS611でパノラマ静止画像を圧縮して送信する。クライアントD−1とクライアントD−2は、ステップS612とステップS613とで、それぞれ画像を受信して伸長し、モニタ121の表示画面に表示する。
【0058】
次に、本実施の形態に係るパノラマ画像撮影システムにおける各プロセスの処理動作について、図7〜図10を用いて説明する。
【0059】
図7は、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの動作の流れを示すフローチャート、図8は、本実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの動作の流れを示すフローチャート、図9は、本実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセスの動作の流れを示すフローチャート、図10は、本実施の形態に係るパノラマ画像撮影システムにおけるクライアントプロセスの動作の流れを示すフローチャートである。
【0060】
まず、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセス303の動作について、図7を用いて説明する。
【0061】
サーバ管理プロセス303は、開始後、ステップS701で初期化を行い、次のステップS702でカメラ制御プロセス301を、その次のステップS703で画像生成&送信プロセス302をそれぞれ起動する。次いで、ステップS704でサーバBの動作モードを動画モードに設定し、次のステップS705で撮影を開始するようにカメラ制御プロセス301に指示する。次に、ステップS706でイベントの発生を待つ。
【0062】
ステップS706においてイベントが発生すると、ステップS707へ進んでイベントがクライアントプロセス304からの接続要求イベントであるか否かを判断する。そして、イベントがクライアントプロセス304からの接続要求イベントであると判断された場合には、ステップS708へ進んで現在接続しているクライアント数が最大接続数未満であるか否かを判断する。そして、現在接続しているクライアント数が最大接続数未満であると判断された場合には、ステップS709へ進んでクライアント情報を追加登録し、クライアントD−1(またはクライアントD−2)に対して接続許可通知を行う。ここで、クライアント情報の追加登録とは、図5に示す表に当該クライアントの情報を追加することに相当する。
【0063】
次に、ステップS710へ進んで画像生成&送信プロセス302に対して接続イベントを発行した後、前記ステップS706へ戻って次のイベントを待つ。
【0064】
一方、前記ステップS708において、現在接続しているクライアント数が最大接続数未満でないと判断された場合、即ち、接続クライアント数に余裕がない場合には、ステップS711へ進んでクライアントD−1(またはクライアントD−2)に対して接続拒否通知を行った後、前記ステップS706へ戻って次のイベントを待つ。
【0065】
また、前記ステップS707において、イベントがクライアントプロセス304からの接続要求イベントでないと判断された場合には、ステップS712へ進んでイベントが接続終了イベントであるか否かを判断する。このイベントは、クライアントプロセス304が終了した場合等に発生する。前記ステップS712において接続終了イベントであると判断された場合には、ステップS713へ進んでクライアントの削除処理を行った後、クライアントD−1(またはクライアントD−2)との接続を終了する。ここでクライアントの削除とは、図5に示す表から当該クライアントの行を削除することに相当する。次に、ステップS714で画像生成&送信プロセス302に対して切断イベントを送信した後、前記ステップS706へ戻って次のイベントを待つ。
【0066】
一方、前記ステップS712において、イベントが接続終了イベントでないと判断された場合には、ステップS715へ進んでイベントが静止画像要求イベントであるか否かを判断する。これは、クライアントから高解像度の静止画像を要求するイベントである。前記ステップS715において、イベントが静止画像要求イベントであると判断された場合には、ステップS716へ進んでサーバBの動作モードが動画モードであるか否かを判断する。そして、サーバBの動作モードが動画モードであると判断された場合には、ステップS717ヘ進んで静止画モードにモード変更する。また、前記ステップS716において、サーバBの動作モードが動画モードでないと判断された場合には、既に静止画モードであるので、新たな静止画像の送信要求は受け付けない。従って、ステップS718へ進んでクライアントD−1(またはクライアントD−2)に対して要求拒否通知を行った後、前記ステップS706へ戻って、次のイベントを待つ。また、前記ステップS715において静止画要求イベントでないと判断された場合には、何も処理せずに前記ステップS706へ戻って、次のイベントが発生するのを待つ。
【0067】
次に、本実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセス301の処理動作について、図8を用いて説明する。
【0068】
前記図7のステップS702において、カメラ制御プロセス301が起動するのに伴い開始し、ステップS801で初期化後、次にステップS802でサーバ管理プロセス303からの撮影開始命令を待つ。そして、撮影命令を受け取ると、次のステップS803ヘ進んで広角画像の撮影を開始する。即ち、撮影モードやカメラパラメータを読み込む。例えば、動画モードの場合には低解像度の動画で撮影を行い、静止画モードの場合には高解像度の静止画として撮影を行う。次に、ステップS804で実際の撮影を行い、次のステップS805で画像生成&送信プロセス302に対して撮影完了イベントを発行する。次に、ステップS806で静止画モードであるか否かを判断する。そして、静止画モードであると判断されたの場合には、ステップS807へ進んで動画モードに設定を変更した後、前記ステップS803へ戻って撮影を続ける。これは、高解像度の静止画は連続して撮影しないからである。また、前記ステップS806において、静止画モードではなく動画モードであると判断された場合には、前記ステップS803へ戻って撮影を続ける。
【0069】
次に、本実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセス302の動作について、図9を用いて説明する。
【0070】
前記図7のステップS703において、画像生成&送信プロセス302が起動するのに伴い開始し、ステップS901で初期化を行い、次のステップS902でイベント発生を待つ。そして、イベントが発生した場合には、ステップS903へ進んでイベントが撮影完了イベントであるか否かを判断する。そして、イベントが撮影完了イベントであると判断された場合には、ステップS904へ進んでパノラマ画像を生成し、次のステップS905でパノラマ画像を圧縮して全てのクライアントD−1,D−2に送信する。この時動画モードである場合には全てのクライアントD−1,D−2に低解像度のパノラマ画像を送信するが、静止画モードである場合には図5(b)の表を参照し、高解像度の静止画を要求したクライアント以外には、低解像度のパノラマ画像を送信する。
【0071】
次に、ステップS906で静止画像モードであるか否かを判断する。そして、静止画像モードであると判断された場合には、ステップS907へ進んでクライアントの方向指定に基づいて高解像度の通常画像を生成する。次に、ステップS908で通常画像を圧縮し、この画像を要求したクライアントに送信した後、前記ステップS902へ戻る。また、前記ステップS906において、静止画モードでないと判断された場合には、前記ステップS902へ戻る。
【0072】
一方、前記ステップS903において、撮影完了イベントでないと判断された場合には、ステップS909へ進んで接続命令であるか否かを判断する。そして、接続命令であると判断された場合には、ステップS910へ進んでクライアントと接続した後、前記ステップS902へ戻る。また、前記ステップS909において、接続命令でないと判断された場合には、ステップS911へ進んで切断命令であるか否かを判断する。そして、切断命令であると判断された場合には、ステップS912へ進んで切断処理を行った後、前記ステップS902へ戻る。また、前記ステップS911において、切断命令でないと判断された場合には、何も処理せずに前記ステップS902へ戻る。
【0073】
次に、本実施の形態に係るパノラマ画像撮影システムにおけるクライアントプロセス304の動作について、図10を用いて説明する。
【0074】
この図10では、イベント処理において、終了処理やマウスの移動処理等、一般的な処理は省いて説明を行う。
【0075】
開始後、ステップS1001で初期化し、次のステップS1002でサーバBへの接続を試みる。サーバBのIPアドレスは、予めファイル等に記録しておいたものを使用する。次に、ステップS1003で前記ステップS1002における接続が成功したか否かを判断する。ここで既に最大接続数に達している場合には、サーバ管理プロセス303から接続拒否通知が返り、接続は失敗する。また、ネットワークC上のエラーが発生した場合にも、接続は失敗する。
【0076】
前記ステップS1003において、サーバBへの接続が失敗したと判断された場合には、ステップS1004へ進んでリトライするか否かを判断する。リトライ回数は、予め決めておき、この決めた回数を上回るリトライが既に行われている場合、即ち、前記ステップS1004において、リトライしないと判断された場合には、ステップS1005へ進んで終了処理を行い、本処理動作を終了する。また、前記ステップS1004において、リトライを行うと判断された場合には、前記ステップS1002へ戻って、サーバBへの接続を再度試みる。サーバBとの接続が成功した場合は、サーバ管理プロセス303と画像生成&送信プロセス302とに同時に接続が確立する。
【0077】
前記ステップS1003において、サーバBへの接続が成功したと判断された場合には、ステップS1006へ進んで各種イベントが発生するのを待つ。そして、何らかのイベントが発生した場合には、そのイベントに応じてステップS1007以下の処理を行う。
【0078】
即ち、ステップS1007では、イベントがパノラマ画像データの受信イベントであるか否かを判断する。そして、イベントがパノラマ画像データの受信イベントであると判断された場合には、ステップS1008へ進んでパノラマ画像の受信、伸長処理及び表示を行った後、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。
【0079】
また、前記ステップS1007において、イベントがパノラマ画像データの受信イベントでないと判断された場合には、ステップS1009へ進んでイベントが通常画像の受信イベントであるか否か判断する。そして、イベントが通常画像の受信イベントであると判断された場合には、ステップS1010へ進んで通常画像の受信、伸長処理及び表示を行行った後、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。
【0080】
一方、前記ステップS1009において、イベントが通常画像の受信イベントでないと判断された場合には、ステップS1011へ進んでイベントが静止画像要求イベントであるか否かを判断する。この静止画像要求イベントは、図4の静止画取得ボタン406を押した場合に発生する。前記ステップS1011において、イベントが静止画像要求イベントであると判断された場合には、ステップS1012へ進んでサーバBに対して高解像度の静止画像を要求する。この時、所望する通常静止画像の方向も同時に送信する。前記ステップS1012の処理を終了後は、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。また、前記ステップS1011において、イベントが静止画要求イベントでないと判断された場合には、ステップS1013へ進んでイベントが領域指定イベントであるか否かを判断する。この領域指定イベントは、図4のパノラマ画像402上で領域表示403を移動した場合に発生する。
【0081】
前記ステップS1013において、イベントが領域指定イベントであると判断された場合には、ステップS1014へ進んで領域の設定を変更した後、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。また、前記ステップS1013において、イベントが領域指定イベントでないと判断された場合には、ステップS1015へ進んでイベントがステータスに関するメッセージのイベントであるか否かを判断する。これは、サーバBから接続許可・拒否に関するメッセージや、クライアントの動作状況に関するメッセージが発生した場合である。前記ステップS1015において、イベントがステータスに関するメッセージのイベントであると判断された場合には、ステップ1016へ進んでステータスを表示した後、前記ステップS1006へ戻って、次のイベントが発生するのを待つ。
【0082】
以上の説明からも明らかなように、本実施の形態に係るパノラマ画像撮影システムによれば、高解像度の静止画像と低解像度の動画像とを撮影可能なカメラAに広角光学系を装備し、撮影した広角動画像からパノラマ動画像を生成し、複数のクライアントD−1,D−2へ送信するシステムにおいて、一つのクライアントが高解像度の通常静止画像を要求した場合に、高解像度の広角静止画像を撮影し、要求したクライアントには高解像度の通常静止画像を送信し、他のクライアントには低解像度のパノラマ静止画像を送信し、各クライアントは送信された画像を表示する。その結果、安価なカメラAを用いて低解像度のパノラマ画像と高解像度の通常画像とを、複数の利用者が閲覧することができる。
【0083】
(第二の実施の形態)
次に、本発明の第二の実施の形態を、図11及び図12に基づき説明する。
【0084】
尚、本実施の形態に係るパノラマ画像撮影システムのハードウェア構成及びソフトウェア構成は、上述した第一の実施の形態における図1及び図3と同一であるから、必要に応じて、これら各図を流用して説明する。
【0085】
本実施の形態は、上述した第一の実施の形態において、高解像度の静止画像を複数のクライアントに対して送信することができるようにしたものである。
【0086】
本実施の形態は、ハードウェア構成及びソフトウェア構成については、上述した第一の実施の形態と同一であるから、プロセスの動作を変更するだけで実現が可能である。従って、以下では、上述した第一の実施の形態とは異なる部分のみについて説明する。
【0087】
図11は、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの動作の流れを示すフローチャート、図12は、本実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの動作の流れを示すフローチャートである。
【0088】
まず、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの動作について、図11を用いて説明する。
【0089】
尚、図11において、ステップS1101〜ステップS1115は、上述した第一の実施の形態における図7のステップS701〜ステップS715と同一であるから、これらの説明は省略し、本実施の形態特有の処理ステップについてのみ説明する。
【0090】
図11のステップS1115において、イベントが静止画像要求イベントであると判断された場合の動作手順が、上述した第一の実施の形態における図7の動作手順と異なるものである。
【0091】
即ち、図11のステップS1115において、イベントがクライアントからの静止画要求イベントであると判断された場合には、ステップS1116へ進んで静止画像送信リストに当該クライアントを追加する。これは、サーバ管理プロセス303(図3参照)の持つ図5(b)のクライアント情報に関して、当該クライアントの送信形式をnormalとし、送信する通常画像の方向情報を追加することに相当する。前記ステップS1116の処理を終了後は、前記ステップS1106へ戻って、次のイベントを待つ。
【0092】
次に、本実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの動作について、図12を用いて説明する。
【0093】
尚、図12において、ステップS1201〜ステップS1207は、上述した第一の実施の形態における図8のステップS801〜ステップS807と基本的には同一であるから、本実施の形態特有の処理ステップについてのみ説明する。
【0094】
図12のステップS1203の動作手順が、上述した第一の実施の形態における図8の動作手順と異なるものである。
【0095】
即ち、カメラ制御プロセス301では、画像の撮影を行う際に、ステップS1203において、図5(b)のクライアント情報)を参照し、静止画を要求するクライアントが一つでもあれば静止画モードでの撮影を行うものである。
【0096】
次に、本実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセスの動作について、上述した第一の実施の形態における図9を流用して説明する。
【0097】
カメラ制御プロセス301の動作において、本実施の形態と上述した第一の実施の形態と異なる点は、ステップS907とステップS908の処理手順である。
【0098】
即ち、画像生成送信プロセスでは、ステップS908で通常画像を要求する全てのクライアントに対して、要求する方向に対応する高解像度の通常画像を生成し、圧縮して送信する。もし、ステップS907において通常画像を生成した直後に、クライアントから静止画像の要求があった場合には、このクライアントへの静止画像の送信は次の撮影にまわされる。この場合、静止画像の撮影を何度か繰り返すことになる。
【0099】
尚、本実施の形態に係るパノラマ画像撮影システムにおけるクライアントプロセスの動作については、上述した第一の実施の形態と同一であるから、その説明は省略する。
【0100】
上述したように、本実施の形態に係るパノラマ画像撮影システムによれば、複数のクライアントから同時に高解像度の通常静止画像の要求があった場合に、効率良く各クライアントに高解像度の通常静止画像を送信することができるものである。
【0101】
(第三の実施の形態)
次に、本発明の第三の実施の形態を、図13及び図14に基づき説明する。
【0102】
尚、本実施の形態に係るパノラマ画像撮影システムのハードウェア構成及びソフトウェア構成は、上述した第一の実施の形態における図1及び図3と同一であるから、必要に応じて、これら各図を流用して説明する。
【0103】
本実施の形態は、上述した第一若しくは第二の実施の形態において、サーバBが静止画モードにある場合に、新たなクライアントD−1,D−2の接続要求があった場合、そのクライアントD−1,D−2にも直前のパノラマ動画像の1フレームを送信し、表示するようにしたものである。これにより、クライアントD−1,D−2は、サーバBの動作モードに関係なく、起動時の初期画像を得ることができる。
【0104】
本実施の形態は、ハードウェア構成及びソフトウェア構成については、上述した第一の実施の形態と同一であるから、プロセスの動作を変更するだけで実現が可能である。従って、以下では、上述した第一の実施の形態とは異なる部分のみについて説明する。
【0105】
図13及び図14は、本実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセスの動作の流れを示すフローチャートである。
【0106】
本実施の形態において、上述した第一及び第二の実施の形態と異なる点は、画像生成プロセスと画像送信プロセスとを互いに独立して動作させるようにしたことであり、図13は、画像生成プロセスの動作の流れを、図14は、画像送信プロセスの動作の流れを、それぞれ示している。
【0107】
まず、図13を用いて説明する。図11のステップS1103において画像生成&送信プロセスの起動により、開始後、ステップS1301で初期化し、その後、ステップS1301で画像送信を専門に行う画像送信プロセスを起動する。この画像送信プロセスは、その起動後、図1401で送信命令を待ち、送信命令が発生すると、次のステップS1402で画像の送信を行う。この送信する画像は、動画像の1フレームか静止画像である。画像送信プロセスを独立して動作させるため、図13のステップS1301〜ステップS1314のプロセスを画像生成プロセスと呼ぶことにする。
【0108】
再び図13に戻って説明すると、前記ステップS1302で画像送信プロセスが起動し、次のステップS1303でイベントの発生を待つ。そして、イベントが発生した場合は、次のステップS1304で前記ステップS1303において発生したイベントが撮影完了イベントであるか否かを判断する。そして、イベントが撮影完了イベントであると判断された場合には、ステップS1305へ進んでパノラマ画像を生成する。次に、ステップS1306で画像送信プロセスに対してパノラマ画像の送信命令を発行する。そして、実際のパノラマ画像送信処理は、画像送信プロセスが行う。
【0109】
次に、ステップS1307で静止画モードであるか否かを判断する。そして、静止画モードでないと判断された場合には、何も処理せずに前記ステップS1303へ戻り、次のイベントの発生を待つ。また、前記ステップS1307において、静止画モードであると判断された場合には、ステップS1308へ進んで通常画像を生成し、次のステップS1309で通常画像送信命令のみを発行する。そして、実際の通常画像送信処理は、画像送信プロセスが行う。こうすることによって、画像生成プロセスは、時間を要する画像圧縮や送信処理を別プロセスに任せ、イベント処理の効率化を図ることができる。前記ステップS1309の処理が終了後は、前記ステップS1303へ戻り、次のイベントの発生を待つ。
【0110】
一方、前記ステップS1304において、イベントが撮影完了イベントでないと判断された場合には、ステップS1310へ進んでクライアントD−1(またはクライアントD−2)からの接続命令があるか否かを判断する。そして、接続命令があると判断された場合には、ステップS1311へ進んで接続処理を行い、次のステップS1312でパノラマ画像送信命令を発行する。このパノラマ画像送信命令は、画像送信プロセスに対して、直前の動画モードで撮影・生成されたパノラマ画像をクライアントD−1(またはクライアントD−2)に1フレーム送るよう指示するものである。これにより、動画モードか静止画モードの区別なく、クライアントD−1(またはクライアントD−2)は、パノラマ画像を1フレーム分受け取ることができる。前記ステップs1312の処理が終了後は、前記ステップS1303へ戻り、次のイベントの発生を待つ。
【0111】
一方、前記ステップS1310において、接続命令でないと判断された場合には、ステップS1313へ進んで切断命令であるか否かを判断する。そして、切断命令であると判断された場合には、ステップS1314へ進んで切断処理を行った後、前記ステップS1303へ戻り、次のイベントの発生を待つ。また、前記ステップs1313において、切断命令でないと判断された場合には、何も処理せずに前記ステップS1303へ戻り、次のイベントの発生を待つ。
【0112】
尚、前記図13のステップS1306、ステップS1309及びステップS1312における送信命令があるか否かを、図14のステップS1401において判断するものである。
【0113】
尚、本実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセス及びカメラ制御プロセスの動作は、上述した第一の実施の形態と同一であるから、その説明は省略する。
【0114】
以上述べたように本実施の形態に係るパノラマ画像撮影システムによれば、サーバBが静止画モードにある場合に新たなクライアントD−1,D−2の接続要求があった場合、そのクライアントにも直前のパノラマ動画像の1フレームを送信し、表示するようにしたから、クライアントD−1,D−2は、サーバBの動作モードに関係なく、最低限の画像を得ることができる。
【0115】
(その他の実施の形態)
上述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、本発明が達成されることは言うまでもない。
【0116】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した各実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0117】
また、プログラムコードを供給するための記憶媒体としては、例えば、RAM、NV−RAM、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、DVD(DVD−ROM、DVD−R、DVD−RW等)、磁気テープ、不揮発性のメモリカード、他のROM等の上記プログラムコードを記憶できるものであれば良く、或いはネットワークを介したダウンロード等を用いることができる。
【0118】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0119】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0120】
以上では、本発明の様々な例と実施形態を説明したが、当業者であれば、本発明の趣旨と範囲は本明細書内の特定の説明と図に限定されるものではなく、本願特許請求の範囲に全て述べられた様々な修正と変更に及ぶことが可能であることは言うまでもない。
【0121】
本発明の実施態様の例を以下に列挙する。
【0122】
[実施態様1] 広角光学系を持つカメラを用いて撮影した画像をパノラマ画像や通常画像に変換するパノラマ画像撮影システムにおいて、
前記カメラから送信された画像に基づいてパノラマ画像を表示する表示手段と、
前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定手段とを設けたことを特徴とするパノラマ画像撮影システム。
【0123】
[実施態様2] 広角光学系を持つカメラを用いて撮影した画像からパノラマ画像を生成する撮影手段と、
前記撮影手段により生成されたパノラマ画像をネットワークを通じて送信する送信手段と、
前記送信手段により送信されたパノラマ画像を受信する受信手段と、
前記受信手段により受信したパノラマ画像を表示する表示手段と、
前記表示手段において画像を生成する方向を指定するとその指定した方向情報を前記撮影手段に送信し且つ前記撮影手段において再び撮影した画像から当該方向の画像を生成して送信して前記表示手段において表示するように制御する制御手段とを設けたことを特徴とするパノラマ画像撮影システム。
【0124】
[実施態様3] 前記撮影手段は、低解像度の動画像と高解像度の静止画像とを撮影可能なカメラを用いて撮影した画像からパノラマ画像や通常画像を生成するものであって、
前記制御手段は、通常は低解像度の広角動画像からパノラマ動画像を生成して送信し、前記表示手段において画像を生成する方向を指定して通常画像の要求があった場合には、高解像度の広角静止画像から通常の静止画像を生成して送信し、前記表示手段において受信して表示するように制御することを特徴とする実施態様2に記載のパノラマ画像撮影システム。
【0125】
[実施態様4] 前記制御手段は、複数の前記表示手段から前記撮影手段に対して同時に高解像度の通常静止画像を要求した場合に、前記各表示手段の要求する高解像度の通常静止画像を生成して送信するように制御することを特徴とする実施態様2または3に記載のパノラマ画像撮影システム。
【0126】
[実施態様5] 前記制御手段は、前記撮影手段において直前に撮影した低解像度のパノラマ動画像の1フレームを常に保存しておき、高解像度の通常静止画像を撮影中または送信中に新たな表示手段から接続要求があった場合には、前記保存したパノラマ動画像の1フレームを送信し、接続を要求した表示手段において表示するように制御することを特徴とする実施態様2乃至4のいずれかに記載のパノラマ画像撮影システム。
【0127】
[実施態様6] 前記表示手段において、パノラマ画像上の矩形領域を用いて通常静止画像の視線方向を指定することを特徴とする実施態様1乃至5のいずれかに記載のパノラマ画像撮影システム。
【0128】
[実施態様7] 前記撮影手段において、回転双曲面ミラーを使用して撮影した全方位画像の一部を透視投影画像に変換することによって、通常画像を作成することを特徴とする請求項2乃至6のいずれかに記載のパノラマ画像撮影システム。
【0129】
[実施態様8] 前記撮影手段において、回転双曲面ミラーを使用して撮影した全方位画像を円筒面若しくは球面に再投影して展開し、その一部を切り出して通常画像を作成することを特徴とする請求項2乃至6のいずれかに記載のパノラマ画像撮影システム。
【0130】
[実施態様9] 広角光学系を持つカメラを用いて撮影した画像をパノラマ画像や通常画像に変換するパノラマ画像撮影方法において、
前記カメラから送信された画像に基づいてパノラマ画像を表示する表示工程と、
前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定工程とを設けたことを特徴とするパノラマ画像撮影方法。
【0131】
[実施態様10] 広角光学系を持つカメラを用いて撮影した画像からパノラマ画像を生成する撮影工程と、
前記撮影工程により生成されたパノラマ画像をネットワークを通じて送信する送信工程と、
前記送信工程により送信されたパノラマ画像を受信する受信工程と、
前記受信肯定により受信したパノラマ画像を表示する表示工程と、
前記表示工程において画像を生成する方向を指定するとその指定した方向情報を前記撮影工程に送信し且つ前記撮影工程において再び撮影した画像から当該方向の画像を生成して送信して前記表示工程において表示するように制御する制御工程とを設けたことを特徴とするパノラマ画像撮影方法。
【0132】
[実施態様11] 前記撮影工程は、低解像度の動画像と高解像度の静止画像とを撮影可能なカメラを用いて撮影した画像からパノラマ画像や通常画像を生成するものであって、
前記制御工程は、通常は低解像度の広角動画像からパノラマ動画像を生成して送信し、前記表示工程において画像を生成する方向を指定して通常画像の要求があった場合には、高解像度の広角静止画像から通常の静止画像を生成して送信し、前記表示工程において受信して表示するように制御することを特徴とする実施態様10に記載のパノラマ画像撮影方法。
【0133】
[実施態様12] 前記制御工程は、複数の前記表示工程から前記撮影工程に対して同時に高解像度の通常静止画像を要求した場合に、前記各表示工程の要求する高解像度の通常静止画像を生成して送信するように制御することを特徴とする請求項10または11に記載のパノラマ画像撮影方法。
【0134】
[実施態様13] 前記制御工程は、前記撮影工程において直前に撮影した低解像度のパノラマ動画像の1フレームを常に保存しておき、高解像度の通常静止画像を撮影中または送信中に新たな表示工程から接続要求があった場合には、前記保存したパノラマ動画像の1フレームを送信し、接続を要求した表示工程において表示するように制御することを特徴とする請求項10乃至12のいずれかに記載のパノラマ画像撮影方法。
【0135】
[実施態様14] 前記表示工程において、パノラマ画像上の矩形領域を用いて通常静止画像の視線方向を指定することを特徴とする請求項9乃至13のいずれかに記載のパノラマ画像撮影方法。
【0136】
[実施態様15] 前記撮影工程において、回転双曲面ミラーを使用して撮影した全方位画像の一部を透視投影画像に変換することによって、通常画像を作成することを特徴とする請求項10乃至14のいずれかに記載のパノラマ画像撮影方法。
【0137】
[実施態様16] 前記撮影工程において、回転双曲面ミラーを使用して撮影した全方位画像を円筒面若しくは球面に再投影して展開し、その一部を切り出して通常画像を作成することを特徴とする請求項10乃至15のいずれかに記載のパノラマ画像撮影方法。
【0138】
[実施態様17] パノラマ画像を撮影するパノラマ画像撮影システムを制御するためのコンピュータ読み取り可能な制御プログラムであって、
前記カメラから送信された画像に基づいてパノラマ画像を表示する表示工程と、前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定工程とを、コンピュータに実行させるためのプログラムコードから成ることを特徴とするパノラマ画像撮影システムの制御プログラム。
【0139】
[実施態様18] パノラマ画像を撮影するパノラマ画像撮影システムを制御するためのコンピュータ読み取り可能な制御プログラムであって、
広角光学系を持つカメラを用いて撮影した画像からパノラマ画像を生成する撮影工程と、前記撮影工程により生成されたパノラマ画像をネットワークを通じて送信する送信工程と、前記送信工程により送信されたパノラマ画像を受信する受信工程と、前記受信工程により受信したパノラマ画像を表示する表示工程と、前記表示工程において画像を生成する方向を指定するとその指定した方向情報を前記撮影工程に送信し且つ前記撮影工程において再び撮影した画像から当該方向の画像を生成して送信して前記表示工程において表示するように制御する制御工程とを、コンピュータに実行させるためのプログラムコードから成ることを特徴とするパノラマ画像撮影システムの制御プログラム。
【0140】
[実施態様19] 実施態様17及び18に記載の制御プログラムを格納したことを特徴とする記憶媒体。
【0141】
【発明の効果】
以上のように本発明によれば、広角光学系を用いて低解像度のパノラマ動画像と高解像度の通常画像とを、複数のクライアントに同時に送信・表示するための安価なパノラマ画像撮影システムを提供することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態に係るパノラマ画像撮影システムのハードウェア構成を示すブロック図である。
【図2】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるカメラに装着する広角光学系の一例と撮影した広角画像及びパノラマ画像の一例を示す図である。
【図3】本発明の第一の実施の形態に係るパノラマ画像撮影システムのソフトウェア構成を示すブロック図である。
【図4】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるクライアントの画面表示例を示す図である。
【図5】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるサーバで管理するクライアント情報の一例を示す図である。
【図6】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるサーバとクライアントの動作手順の概要を示す図である。
【図7】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの処理動作の流れを示すフローチャートである。
【図8】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの処理動作の流れを示すフローチャートである。
【図9】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおける画像生成&送信プロセスの処理動作の流れを示すフローチャートである。
【図10】本発明の第一の実施の形態に係るパノラマ画像撮影システムにおけるクライアントプロセスの処理動作の流れを示すフローチャートである。
【図11】本発明の第二の実施の形態に係るパノラマ画像撮影システムにおけるサーバ管理プロセスの処理動作の流れを示すフローチャートである。
【図12】本発明の第二の実施の形態に係るパノラマ画像撮影システムにおけるカメラ制御プロセスの処理動作の流れを示すフローチャートである。
【図13】本発明の第三の実施の形態に係るパノラマ画像撮影システムにおける画像生成プロセスの処理動作の流れを示すフローチャートである。
【図14】本発明の第三の実施の形態に係るパノラマ画像撮影システムにおける画像送信プロセスの処理動作の流れを示すフローチャートである。
【符号の説明】
A カメラ
B サーバ
C ネットワーク
D−1 クライアント
D−2 クライアント
101 光学系
102 撮像部
103 撮像制御部
104 CPU(中央演算処理装置)
105 RAM(ランダムアクセスメモリ)
106 ROM(リードオンリーメモリ)
107 二次記憶部
108 VRAM(ビデオランダムアクセスメモリ)
109 ネットワークI/F(インターフェース)
110 周辺機器I/F(インターフェース)
111 モニタ
112 キーボード
113 ポインティングデバイス
114 CPU(中央演算処理装置)
115 RAM(ランダムアクセスメモリ)
116 ROM(リードオンリーメモリ)
117 二次記憶部
118 VRAM(ビデオランダムアクセスメモリ)
119 ネットワークI/F(インターフェース)
120 周辺機器I/F(インターフェース)
121 モニタ
122 キーボード
123 ポインティングデバイス
P 点
201 ミラー部
202 ガラス筒部
203 カメラ接続部
204 黒針部
205 回転体ミラー
207 レンズ
208 CCD(電荷結合素子)
210 経路
211 黒針部
212 画像
213 回転体ミラー底面
214 パノラマ画像
301 カメラ制御プロセス
302 画像生成&送信プロセス
303 サーバ管理プロセス
304 クライアントプロセス
305 モニタの表示画面
401 メニュー
402 パノラマ画像表示
403 矩形表示
404 ポインティングデバイス
405 静止画像の表示領域
406 静止画取得ボタン
407 ステータスの表示領域
Claims (1)
- 広角光学系を持つカメラを用いて撮影した画像をパノラマ画像や通常画像に変換するパノラマ画像撮影システムにおいて、
前記カメラから送信された画像に基づいてパノラマ画像を表示する表示手段と、
前記パノラマ画像上で生成すべき通常画像に対応する領域を設定する設定手段とを設けたことを特徴とするパノラマ画像撮影システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002352445A JP2004187068A (ja) | 2002-12-04 | 2002-12-04 | パノラマ画像撮影システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002352445A JP2004187068A (ja) | 2002-12-04 | 2002-12-04 | パノラマ画像撮影システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004187068A true JP2004187068A (ja) | 2004-07-02 |
Family
ID=32754069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002352445A Pending JP2004187068A (ja) | 2002-12-04 | 2002-12-04 | パノラマ画像撮影システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004187068A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8305424B2 (en) | 2007-03-09 | 2012-11-06 | Sony Corporation | System, apparatus and method for panorama image display |
WO2013051540A1 (ja) * | 2011-10-05 | 2013-04-11 | 三洋電機株式会社 | 電子機器 |
JP6330089B1 (ja) * | 2017-06-30 | 2018-05-23 | 株式会社コロプラ | 仮想空間を提供するためにコンピュータで実行されるプログラム、情報処理装置および仮想空間を提供するための方法 |
JP2020174359A (ja) * | 2020-06-16 | 2020-10-22 | 株式会社リコー | 情報処理方法 |
US11134193B2 (en) | 2016-03-07 | 2021-09-28 | Ricoh Company, Ltd. | Information processing system, information processing method, and non-transitory computer-readable storage medium |
-
2002
- 2002-12-04 JP JP2002352445A patent/JP2004187068A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8305424B2 (en) | 2007-03-09 | 2012-11-06 | Sony Corporation | System, apparatus and method for panorama image display |
WO2013051540A1 (ja) * | 2011-10-05 | 2013-04-11 | 三洋電機株式会社 | 電子機器 |
JP2013093824A (ja) * | 2011-10-05 | 2013-05-16 | Sanyo Electric Co Ltd | 電子機器 |
US11134193B2 (en) | 2016-03-07 | 2021-09-28 | Ricoh Company, Ltd. | Information processing system, information processing method, and non-transitory computer-readable storage medium |
JP6330089B1 (ja) * | 2017-06-30 | 2018-05-23 | 株式会社コロプラ | 仮想空間を提供するためにコンピュータで実行されるプログラム、情報処理装置および仮想空間を提供するための方法 |
JP2019012441A (ja) * | 2017-06-30 | 2019-01-24 | 株式会社コロプラ | 仮想空間を提供するためにコンピュータで実行されるプログラム、情報処理装置および仮想空間を提供するための方法 |
JP2020174359A (ja) * | 2020-06-16 | 2020-10-22 | 株式会社リコー | 情報処理方法 |
JP7024820B2 (ja) | 2020-06-16 | 2022-02-24 | 株式会社リコー | 情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6805861B2 (ja) | 画像処理装置、画像処理システム、画像処理方法及びプログラム | |
JP6756269B2 (ja) | 通信端末、画像通信システム、通信方法、及びプログラム | |
US11323621B2 (en) | Image communication system, image capturing device, communication terminal, and mode switching method | |
US6331869B1 (en) | Method and apparatus for electronically distributing motion panoramic images | |
KR100739686B1 (ko) | 영상 코딩 방법, 코딩 장치, 영상 디코딩 방법 및 디코딩장치 | |
JP5172863B2 (ja) | バナナ・コーデック | |
JP7192592B2 (ja) | 撮像装置、画像通信システム、画像処理方法、プログラム | |
WO2019131577A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2018214707A1 (zh) | 一种视频画面的输出、查看方法及装置 | |
JP2005333552A (ja) | パノラマ映像配信システム | |
JP2003115050A (ja) | 映像データ処理装置及び映像データ処理方法、データ配信装置及びデータ配信方法、データ受信装置及びデータ受信方法、記憶媒体、並びにコンピュータ・プログラム | |
JP4451892B2 (ja) | 映像再生装置、映像再生方法、及び映像再生プログラム | |
JP2008510357A (ja) | 画像のエンコーディング方法、エンコーディング装置、画像のデコーディング方法及びデコーディング装置 | |
WO2019078033A1 (ja) | 再生装置および方法、並びに、生成装置および方法 | |
JP2006340091A (ja) | カメラサーバ、ビューワ、画像表示システム及び画像配信方法 | |
JP2021111943A (ja) | 画像処理装置およびその制御方法、プログラム、並びに記憶媒体 | |
JP2000132673A (ja) | 画像システム | |
US8395669B2 (en) | Image data transmission apparatus and method, remote display control apparatus and control method thereof, program, and storage medium | |
JP2004187068A (ja) | パノラマ画像撮影システム | |
JP2002312778A (ja) | モーションパノラマ画像を電子的に配信する方法および装置 | |
JP2006235159A (ja) | 画像表示装置およびこれを動作させるためのプログラム | |
JP4373645B2 (ja) | 映像配信システム、プログラム及び記録媒体 | |
JP3954439B2 (ja) | 映像記録システム、プログラム及び記録媒体 | |
JP6394682B2 (ja) | 方法および画像処理装置 | |
JP2018061243A (ja) | 通信端末、表示方法、及びプログラム |