(57)【要約】【課題】例えば、パノラマ画像群によって表現される仮想空間内においてウォークスルーを行う際に、パノラマ実写画像記憶部の画像データの読み出し効率を上げ、よりスムーズにウォークスルーシーンを表示できるようにする。【解決手段】パノラマ画像を生成するための複数の分割画像を処理する情報処理装置であって、パノラマ画像を複数に分割した分割画像を取得する分割画像取得手段と、前記分割画像のうち１枚以上の分割画像の複製を作成する複製分割画像作成手段と、前記分割画像と、前記複製分割画像を並べて結合ファイルとして記憶する記憶手段とを有する。【選択図】　　　図９
2004094523.tif 000002
【特許請求の範囲】
【請求項１】
パノラマ画像を生成するための複数の分割画像を処理する情報処理装置であって、
前記パノラマ画像を複数に分割した分割画像を取得する分割画像取得手段と、
前記分割画像のうち１枚以上の分割画像の複製を作成する複製分割画像作成手段と、
前記分割画像と、前記複製分割画像を並べて結合ファイルとして記憶する記憶手段とを有し、
前記結合ファイルのヘッダ情報には、前記分割画像と前記複製分割画像それぞれについての記憶手段上の開始アドレスあるいは画像サイズが記憶されることを特徴とする情報処理装置。
【請求項２】
さらに、前記パノラマ画像の縮小画像を取得する縮小パノラマ画像取得手段を備え、
前記縮小画像を前記結合ファイルに追加記憶する縮小パノラマ画像追加記憶手段とを備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
さらに、使用者が操作する操作手段を備え、
使用者が操作手段により指示する視点位置および視線方向に応じた切り出し画像を前記結合ファイルから作成する画像作成手段とを備えることを特徴とする請求項１乃至２のいずれかに記載の情報処理装置。
【請求項４】
サーバコンピュータとクライアントコンピュータとを有する情報処理装置であって、
前記サーバコンピュータは、
前記パノラマ画像を複数に分割した分割画像を記憶する分割画像記憶手段と、
前記分割画像を送信する分割画像送信手段を備えたサーバコンピュータとを有し、
前記クライアントコンピュータは、
前記分割画像を受信する分割画像受信手段と、
前記受信した分割画像と関連情報を管理しながら、分割画像と一枚以上の分割画像の複製画像とを並べて結合ファイルとして記憶する結合ファイル記憶手段とを有し、
前記結合ファイルのヘッダ情報には、前記分割画像と前記複製分割画像それぞれについての結合ファイル記憶手段上の開始アドレスあるいは画像サイズを記憶されることを特徴とする情報処理装置。
【請求項５】
パノラマ画像を生成するための複数の分割画像を処理する情報処理方法であって、
前記パノラマ画像を複数に分割した分割画像を取得し、
前記分割画像のうち１枚以上の分割画像の複製を作成し、
前記分割画像と、前記複製分割画像を並べて結合ファイルとして記憶し、
前記結合ファイルのヘッダ情報には、前記分割画像と前記複製分割画像それぞれについての記憶手段上の開始アドレスあるいは画像サイズが記憶されることを特徴とする情報処理方法。
【請求項６】
３６０度パノラマ画像を構成する複数の分割画像から、視線方向に応じた切り出し画像を生成する情報処理方法であって、
視線方向を示す視線情報を入力し、
前記視線情報に対応した画像を生成するための複数の分割画像を、分割画像が格納されている記憶装置から読み出し、
前記読み出された複数の分割画像から前記視線情報に対応した切り出し画像を生成する情報処理方法であり、
前記記憶装置には、３６０度パノラマ画像を構成する複数の分割画像および前記分割画像を複製することにより得られた複製分割画像が、分割画像の境界同士が連続になるように並べられて記憶されていることを特徴とする情報処理方法。
【請求項７】
前記分割画像および前記複製分割画像を同一ファイルとして管理するとともに、
前記ファイルを視点位置毎に記憶し、
前記視線情報に加えて視点位置を示す視点位置情報を入力し、
前記視点位置情報に対応するファイルにおける、前記視線情報に対応する分割画像を読出し、切り出し画像を生成することを特徴とする請求項６記載の情報処理方法。
【請求項８】
前記複製分割画像の作成枚数は、の表示画角に基づき設定されることを特徴とする請求項６乃至７のいずれかに記載の情報処理方法。
【請求項９】
請求項６乃至８のいずれかに記載の情報処理方法を実現するためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パノラマ画像を構成する複数の分割画像を処理するものに関する。
【０００２】
【従来の技術】
移動体に搭載された撮影装置によって現実空間を撮影し、撮影された実写画像データをもとに、撮影した現実空間を、計算機を用いて仮想空間として表現する試みが提案されている（例えば遠藤、片山、田村、廣瀬、渡辺、谷川：“移動車輌搭載カメラを用いた都市空間の電脳映像化について”（信学ソサイエティ、ＰＡ−３−４、ｐｐ．２７６−２７７、１９９７年）、または廣瀬、渡辺、谷川、遠藤、片山、田村：“移動車両搭載カメラを用いた電脳映像都市空間の構築（２）―実写画像を用いた広域仮想空間の生成―”（日本バーチャルリアリティ学会第２回大会論文集、ｐｐ．６７−７０、１９９７年）などを参照）。
【０００３】
移動体に搭載された撮影装置によって撮影された実写画像データをもとに、撮影した現実空間を仮想空間として表現する手法としては、実写画像データをもとに現実空間の幾何形状モデルを再現し、従来のＣＧ技術で表現する手法が挙げられるが、モデルの正確性や精密度、写実性などの点で限界がある。一方、モデルを用いた再現を行わずに、実写画像を用いて仮想空間を表現するＩｍａｇｅ−Ｂａｓｅｄ　Ｒｅｎｄｅｒｉｎｇ（ＩＢＲ）技術が近年注目を集めている。ＩＢＲ技術は実写画像に基づいているために、写実的な仮想空間の表現が可能である。
【０００４】
このようなＩＢＲ技術を用いてウォークスルー可能な仮想空間を構築するためには、体験者の仮想空間内の位置に応じた画像の生成・呈示を行う必要がある。そのため、この種のシステムにおいては、実写画像データの各フレームと仮想空間内の位置とを対応付けて保存しておき、体験者の仮想空間における位置と視線方向に基づいて対応するフレームを取得し、これを再生する。
【０００５】
このような仮想空間内のウォークスルーにおいては、体験者が各視点位置で所望の方向を見ることができるようにする。このため、各視点位置の画像を、再生時の画角よりも広い範囲をカバーするパノラマ画像で保存しておき、体験者の仮想空間における視点位置と視線方向とに基づいてパノラマ画像を選択するとともに、再生すべき部分画像を切り出してこれを表示することが考えられる。この場合、実写画像データを再生するので、撮影装置を搭載した車輌が走る道に沿ってパノラマ画像の再生が行われ、観察者はあたかも自分がその車輌に乗って走っているかのような感覚を味わうことができる。また、ウォークスルーによる再生画像が交差点に進入し、観察者が実際の車輌の動きとは異なる方向の道を選択すると、再生されていたパノラマ画像群とは異なるパノラマ画像群に切り替わり、新たな進路でのパノラマ画像の再生が行われる。
【０００６】
【発明が解決しようとする課題】
しかし、パノラマ画像のデータを保持する記憶部の読み出し速度はパノラマ画像の表示更新レートに直接影響があり、パノラマ画像の表示更新レートを向上させるためには、パノラマ画像のデータの読み出す効率を向上させなければならない。パノラマ画像を記憶部に分割保存して、必要な部分だけ読み出すことで、読み出す効率を向上させることが可能である。しかし、パノラマ画像を分割して記憶部に保存するときの保存のやり方によってはかえって効率が低くなることもあるため改良が望まれていた。
【０００７】
本発明は、パノラマ画像の分割画像の記憶方法を工夫することにより、パノラマ画像の分割画像を高速に読み出せるようにすることを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成するために本発明は以下の構成を有することを特徴とする。
【０００９】
本願請求項１に記載の発明は、パノラマ画像を生成するための複数の分割画像を処理する情報処理装置であって、前記パノラマ画像を複数に分割した分割画像を取得する分割画像取得手段と、前記分割画像のうち１枚以上の分割画像の複製を作成する複製分割画像作成手段と、前記分割画像と、前記複製分割画像を並べて結合ファイルとして記憶する記憶手段とを有し、前記結合ファイルのヘッダ情報には、前記分割画像と前記複製分割画像それぞれについての記憶手段上の開始アドレスあるいは画像サイズが記憶されることを特徴とする。
【００１０】
本願請求項４に記載の発明は、サーバコンピュータとクライアントコンピュータとを有する情報処理装置であって、前記サーバコンピュータは、前記パノラマ画像を複数に分割した分割画像を記憶する分割画像記憶手段と、前記分割画像を送信する分割画像送信手段を備えたサーバコンピュータとを有し、前記クライアントコンピュータは、前記分割画像を受信する分割画像受信手段と、前記受信した分割画像と関連情報を管理しながら、分割画像と一枚以上の分割画像の複製画像とを並べて結合ファイルとして記憶する結合ファイル記憶手段とを有し、前記結合ファイルのヘッダ情報には、前記分割画像と前記複製分割画像それぞれについての結合ファイル記憶手段上の開始アドレスあるいは画像サイズを記憶されることを特徴とする。
【００１１】
本願請求項６記載の発明は、３６０度パノラマ画像を構成する複数の分割画像から、視線方向に応じた切り出し画像を生成する情報処理方法であって、視線方向を示す視線情報を入力し、前記視線情報に対応した画像を生成するための複数の分割画像を、分割画像が格納されている記憶装置から読み出し、前記読み出された複数の分割画像から前記視線情報に対応した切り出し画像を生成する情報処理方法であり、前記記憶装置には、３６０度パノラマ画像を構成する複数の分割画像および前記分割画像を複製することにより得られた複製分割画像が、分割画像の境界同士が連続になるように並べられて記憶されていることを特徴とする。
【００１２】
【発明の実施の形態】
以下、添付図面を参照しながら、好適な実施形態を説明する。
【００１３】
＜第１実施形態＞
まず、本実施形態による仮想空間の情報処理装置について説明する。本実施形態では、例えば自動車などの移動体に搭載された複数の撮影装置によって撮影して得られた実写画像データからパノラマ画像データを生成し、このパノラマ画像データを、現実空間の位置に対応する地図上の位置と対応付けて保持する。そして、体験者が指示する仮想空間における視点位置（地図上の位置）と視線方向に応じて、保持されているパノラマ画像データから表示画像を生成することにより、仮想空間内のウォークスルーを実現する。
【００１４】
図１は本実施形態による機能構成を説明するブロック図である。情報処理装置１は、パノラマ実写画像記憶部１０、地図データ記憶部２０、対応付けデータ記憶部３０、操作部４０、視点位置・視線方向決定部５０、対応画像決定部６０、画像再生制御部７０、表示部８０、経路データ記録部９０、経路データ決定部９１を有する。
【００１５】
図２は、本実施形態における画像再生装置１のハード構成を示すブロック図である。図２に示したハード構成は通常のパーソナルコンピュータの構成と同等である。図２において、ディスク１０５はパノラマ実写画像記憶部１０を構成するものである。なお、ディスク１０５は上述のパノラマ実写画像記憶部１０のみならず、図１に示した地図データ記憶部２０、対応付けデータ記憶部３０をも構成するものである。
【００１６】
ＣＰＵ１０１は、ディスク１０５またはＲＯＭ１０６、または外部記憶装置（不図示）に保存されているプログラムを実行することにより、視点位置・視線方向決定部５０、対応画像決定部６０及び画像再生制御部７０として機能する。
【００１７】
ＣＰＵ１０１が表示コントローラ１０２に対して各種の表示指示を行うことにより、表示コントローラ１０２およびフレームバッファ１０３によって表示機１０４に所望の表示がなされる。なお、図では表示コントローラ１０２としてＣＲＴＣ、表示機１０４としてＣＲＴを示したが、表示器としては陰極線管に限らず、液晶表示機等を用いてもよいことはもちろんである。なお、ＣＲＴＣ１０２、フレームバッファ１０３及びＣＲＴ１０４は、上述の表示部８０を構成する。マウス１０８、キーボード１０９及びジョイスティック１１０は、当該画像再生装置１へのユーザの操作入力を行うためのものであり、上述の操作部４０を構成する。
【００１８】
次に、以上の構成を備えた本実施形態の画像再生装置１の動作の概要について説明する。
【００１９】
パノラマ実写画像記憶部１０は、地図上の各位置に対応したパノラマ画像データを格納する。地図データ記憶部２０は、少なくともパノラマ実写画像記憶部１０に保存されたパノラマ画像データに対応した地図上の位置を包含する地図データを格納する。対応付けデータ記憶部３０は、パノラマ実写画像記憶部１０に保存されているパノラマ画像データと、地図データ記憶部２０に保存されている地図データとの対応情報を格納する。
【００２０】
操作部４０は、マウス、キーボード、ジョイスティック等を備える。操作部４０は、視点位置の移動パラメータ、視線方向の回転パラメータを生成する。本実施形態では、操作部４０でジョイスティックを用いているが、ゲームコントローラなど他の入力装置でも同様の操作を行うことが可能である。図３は、操作部４０におけるジョイスティックの操作と移動パラメータ、回転パラメータの関係を示す図である。ジョイスティックは、スティックの傾斜とスティックの回転を独立に制御することができる。本実施例では、ジョイスティックを前後に倒す操作を仮想空間内での視点位置の移動に、ジョイスティックを左右に捻る操作を視線方向の変化に対応させている。
【００２１】
図４は、操作部４０におけるデータの流れを表す図である。操作部４０からは、視点位置・視線方向決定部５０に対して、ジョイスティックの前後の倒し角α（α＞０、後へ倒した場合は負の値）が移動パラメータとして、左右の捻り角β（β＞０、右へ捻った場合は負の値）が回転パラメータとして与えられる。
【００２２】
視点位置・視線方向決定部５０は、操作部４０からの移動パラメータ、回転パラメータをもとに、地図データ記憶部２０に保存されている地図データ上における観察者の視点位置（地図上の位置）、視線方向を決定する。また、観察者がインタラクティブに操作するのではなく、あらかじめ決められた経路に沿って自動的に視点移動を行う際には、経路データ記憶部９０に保存されている経路データから、地図データ上における観察者の視点位置を決定する。この際、視線方向のみは操作部４０からの回転パラメータから決定しても良いし、経路データ中に視線方向に関する情報を含めておいても良い。
【００２３】
図５は、視点位置・視線方向決定部５０におけるデータの流れを示す図である。視点位置・視線方向決定部５０は、地図データ記憶部２０から地図データを読み出し、対応画像決定部６０に対して、観察者の地図上の視点位置及び視線方向を与える。
【００２４】
対応画像決定部６０は、観察者の視点位置・視線方向の情報をもとに表示部８０で表示する画像に必要な画像のＩＤを決定する。
【００２５】
図６は、対応画像決定部６０におけるデータの流れを示す図である。視点位置・視線方向決定部５０で決定された体験者の仮想空間内における視点位置、視線方向及び対応付けデータ記憶部３０に保存されている地図と画像の対応情報データから、表示部８０で表示する画像を生成するのに必要なパノラマ実写画像記憶部１０に保存されている画像のＩＤを決定し、画像再生制御部７０に決定された画像のＩＤを渡す。
【００２６】
画像再生制御部７０は、表示部８０で表示する画像を生成する。図７は、画像再生制御部７０におけるデータの流れを示す図である。画像再生制御部７０は、対応画像決定部６０で決定された画像のＩＤをもとに、パノラマ実写画像記憶部１０から画像を読み出し、表示部８０に表示する画角にあわせてパノラマ画像を切り出して、射影変換を行って表示部８０に表示する画像を生成する。切出画像の生成においては、たとえば図８のような処理が行われる。まず画像生成の基となるパノラマ実写画像をパノラマ実写画像記憶部１０から取得する。その際、視線方向情報を利用して、分割保存されたパノラマ画像のうちから画像生成に必要な分割画像のみを取得する。次に、視線方向情報に応じて、全周パノラマ画像または分割画像から必要な部分画像を切り出す。そして、切り出した部分画像を円筒面にテクスチャマッピングし、透視変換処理を施すことによって、視点位置・視線方向決定部５０から決定した視点情報に応じた中心射影画像を生成する。
【００２７】
表示部８０は、画像再生制御部７０で生成された画像の表示を行う。
【００２８】
図９は、本実施形態によるパノラマ実写画像記憶部１０に保存される３６０°パノラマ実写画像となる結合ファイルの例である。結合ファイル９００は３６０°のパノラマ実写画像の情報を保持している。結合ファイル９００はヘッダ９０１と分割画像９０２，９０３，…，９０７と複製分割画像９０８，…９１０，…９１１で構成されている。
【００２９】
ヘッダ９０１は各分割画像のサイズと記憶部での記憶位置情報を保持している。一つの３６０°パノラマ実写画像自体は分割画像９０２〜９０７から構成される。本実施形態では、各分割画像９０２〜９０７はパノラマ画像の６０°分の視野角の画像であるが、そのほかの視野角でもよい。分割画像９０８〜９１０は分割画像９０２〜９０４の複製である。複製分割画像の枚数はあらかじめ決めておけばその枚数の制限はない。図９の構成の場合、分割画像の枚数Ｎは６で、複製分割画像の数はＭである。これらの画像を結合ファイル中で並べる際は、各画像の境界同士が連続になるように並べる。
【００３０】
図１０は、結合ファイル９００の情報を説明するための図である。まず結合ファイル９００の先頭に（１００１）本実施形態のファイルであることを認識するためのマジックナンバー（ｆｉｌｅ　ｆｏｒｍａｔ　ｉｄ）を記録する。１００２はヘッダの先頭を表す。１００３はパノラマ画像番号（ｉｄ番号）である。１００４は画像の圧縮方法を示す。例えばＪＰＥＧ、あるいはその他の圧縮方法でもよい。１００５は、分割画像の視野角を表す。１００６はパノラマの最初の分割画像　のオフセット角を示す。例えば、０°、あるいは他の値でもよい。
１００７は３６０°のパノラマ画像の分割画像枚数Ｎを示す。例えば、パノラマ実写画像記録部１０が３６０°のパノラマ画像を記憶しているのであれば、分割画像枚数Ｎは「表示部８０の表示画角×Ｎ
【外１】
2004094523.tif 000003
３６０°」を満たす最小の値であることが望ましい。
１００８は複製される分割画像の枚数Ｍを示す。複製される分割画像の枚数Ｍは、表示部８０の表示画角と分割画像の視野角とに応じて設定されることが望ましい。例えば、「分割画像の視野角×Ｍ表示画角
【外２】
2004094523.tif 000004
表示部８０の表示画角」を満たす最小の値であることが望ましい。
【００３１】
１００９と１０１０はこの結合ファイルのコメントである。さらに、本実施形態では、例としてコメントは２行（１００９と１０１０）であるが、コメントの行の数に限定はない。さらに、将来、ヘッダに追加項目が発生した場合は、かわりにコメントとして入れることも考えられる。１０１１はヘッダの第一部の終わりを示す。第二部には、分割画像のサイズと位置を保存する。１０１２は分割画像１のサイズを示す。１０１３から１０１５は分割画像２からＮのサイズを示す。複製分割画像１〜Ｍのサイズは分割画像１〜Ｍと同じであるので、保持する必要はない。１０１６は分割画像１の保存スタート位置を示す。１０１７から１０１９は分割画像２からＮの保存スタート位置を示す。１０２０から１０２２は複製分割画像１からＭの保存スタート位置を示す。１０２３はヘッダの終了を示す。その後から、各分割画像の画像データが続く。１０２４は分割画像１を示す。１０２５から１０２７は、分割画像２からＮを示す。１０２８から１０３０は、複製分割画像１からＭを示す。
【００３２】
本実施形態では、結合ファイル９００を図１０を用いて説明をしたが、ヘッダ情報や、画像データの順番はその他の並べ方でもよい、他の情報を足してもよい。例えば、３６０°パノラマ画像の分割画像が「［１］、［２］、［３］、［４］、［５］、［６］」の順番ではなくても、「［３］、［４］、［５］、［６］、［１］、［２］、」の順番でもよい。これはヘッダに最初の分割画像のオフセット角度を記録することで、３６０°パノラマ画像のどの角度から始まっているのかがわかっているためである。さらに、複製分割画像のデータ量を減らすために、まずデータ量の少ないシークエンスを選んでから、分割画像の順番を決めてもよい。例えば、複製分割画像数が３で、分割画像［４］、分割画像［５］、部分画像［６］がデータ量の一番少ない３つの連続分割画像であれば、選ばれるシークエンスは、「［４］、［５］、［６］、［１］、［２］、［３］、［４’］、［５’］、［６’］」とすることで全体のデータ量が少なくなる。ここで、複製分割画像［４’］は分割画像［４］と同じであるが、区別するために［’］印をつけている。
【００３３】
図１１は結合ファイル９００を作成するための方法を示すフローチャートである。Ｓ１１０１はフローチャートのエントリポイント（始まり）である。Ｓ１１０２　では、ヘッダの作成に必要な情報を入力する．例えば、分割画像の数や、分割画像の視野角や、複製分割画像の数などのパラメータを取得する。Ｓ１１０３では、全分割画像のサイズを取得する。Ｓ１１０４では、ヘッダ９０１の作成処理を行う。Ｓ１１０５では、ヘッダを結合ファイル９００に保存する。Ｓ１１０６では、各分割画像のファイルを開き、読み出し、結合ファイル９００に保存する。Ｓ１１０７では、結合ファイル９００をクローズする。Ｓ１１０８は結合ファイル９００の作成フローチャートのエンド（ＥＮＤ）を示す。
【００３４】
図１２はステップＳ１１０２の詳細な説明を示す図である。Ｓ１２０１は、ステップＳ１１０２のスタートポイントである。Ｓ１２０２では、パノラマ画像番号を取得する。Ｓ１２０３では、分割画像の圧縮方法を取得する。Ｓ１２０４では、分割画像の視野角を取得する。Ｓ１２０５では、最初の分割画像のオフセット角度を取得する。Ｓ１２０６では、保存するパノラマの分割画像枚数を決めるか、取得する。Ｓ１２０７では、複製分割画像の枚数を決めるか、取得する。Ｓ１２０８では、コメントを決めるか、取得する。Ｓ１２０９では、ヘッダ９０１を作成するためのその他の必要な情報を取得する。Ｓ１２１０は、処理Ｓ１１０２のリターンイント（戻り）である。
【００３５】
図１３はステップＳ１１０３の詳細な説明を示すフローチャートである。Ｓ１３０１はステップＳ１１０３のスタートポイントである。Ｓ１３０２では最初分割画像を開き、Ｓ１３０３では分割画像のサイズを取得する。そして、Ｓ１３０４では、分割画像のサイズを図１４に示すような表に記憶する。図１４の表では、各分割画像ｉｄ（番号）とそのサイズを記録する項目がある。図１４の表のデータは図１０のヘッダを作成する際に使われる。Ｓ１３０５では、次に調べる分割画像がまだあるかどうかを確認し、あれば、Ｓ１３０７で次の分割画像を開き、Ｓ１３０３に戻る．Ｓ１３０５で、全ての分割画像が確認できたら、Ｓ１３０６でステップＳ１１０３を終了し、メインルーチンに戻る。
【００３６】
図１５はステップＳ１１０４の詳細な説明を示すフローチャートである。Ｓ１５０１はステップＳ１１０５のスタートポイントである。Ｓ１５０２では、ステップＳ１１０２とステップＳ１１０３で取得した情報を元に１０２０に入る分割画像１データの結合ファイル９００の先頭からの保存位置を計算する。Ｓ１５０３では、次の分割画像のスタート位置の計算に移す。Ｓ１５０４では、前の分割画像のスタート位置とサイズを元に、次の分割画像データの保存位置を計算する。Ｓ１５０５では、その分割画像データ保存位置を図１６で表すような表に記憶する。図１６には、各分割画像ｉｄ（番号）とそれぞれの結合ファイル９００の先頭からのスタート位置を記録する項目がある。Ｓ１は分割画像１のスタート位置を示す。ＳＮは分割画像Ｎのスタート位置を示す。Ｓ１’は複製分割画像１のスタート位置を示す。ＳＭは複製分割画像Ｍのスタート位置を示す。Ｓ１５０６では、結合ファイル９００に保存すべき全分割画像のスタート位置の計算が終わったかどうかをチェックする。まだ次の分割画像が残っていれば、Ｓ１５０３に戻る。全ての分割画像のスタート位置の計算が終わっていれば、ステップＳ１５０７に進み、図１６の表のデータを図１０のヘッダ情報に入れる。Ｓ１５０８では、ステップＳ１１０４を終了し、メインルーチンに戻る。
【００３７】
図１７は結合ファイル９００を読み出すためのフローチャートである。Ｓ１７０１はフローチャートのスタートポイントである。Ｓ１７０２では、パノラマ実写画像記憶部から読み出すファイル名とその中の分割画像番号や分割画像数などを決める。Ｓ１７０３では、希望のファイルを開き、ヘッダを読み出す。Ｓ１７０４では、ヘッダに収めている全ての分割画像のサイズとスタート位置を読み出し、表１４と表１６にその情報を保存する。Ｓ１７０５では、連続的に分割画像を読み出すときに、結合ファイル９００に保存している最後の分割画像（複合分割画像を含む）を超えるかどうかをチェックする。例えば、結合ファイル９００に９枚の分割画像が連続的に保存されていて、この場合は、分割画像の並べ方は次の通りになっている：「［１］，［２］，［３］，［４］，［５］，［６］，［１’］，［２’］，［３’］」。
【００３８】
表示部８０に表示する画像は分割されたパノラマ画像から構成されており、その際図８に示すように複数の分割画像を読み出す。ここでは、分割画像と複製分割画像は同じ働きをする。「［１］，［２］，［３］，［４］，［５］，［６］，［１’］，［２’］，［３’］」と並べて、３枚の分割画像を読み出す時、例えば分割画像１から分割画像３は連続して並んでいるので、連続的に読み出すことができる。パノラマ実写画像記憶部は例えばＨＤＤのような磁気記憶装置や、ＣＤＲＯＭのような光記憶装置からなるが、まず記憶装置の読み出しヘッドを最初の分割画像のスタート位置へ移動して（ｓｅｅｋ）、次に並んでいるデータ即ち分割画像「［１］，［２］，［３］」を連続的に読み取れるので、読み出しヘッドの動きが減り、記憶部でのデータアクセスが早くなる。
【００３９】
同様に分割画像６から始めて、３枚の分割画像を連続的に「［６］，［１’］，［２’］」と読み出すこともできる。このように分割画像と複製分割画像を並べて記憶することで、読み出す効率を上げることができる。Ｓ１７０６では、希望の最初の分割画像のスタート位置から連続的に読み出せるデータの量を計算する。Ｓ１７０７では、パノラマ実写画像記憶部の読み出しヘッドを最初の分割画像のスタート位置に置き、Ｓ１７０８では、連続的に分割画像を読み出す。もし読み出しの際に最後の複製分割画像を超えたら、シーケンスの最初の位置から望みの分割画像を探し、読み出したらよい。Ｓ１７０９では結合ファイル９００をクローズし、パノラマ実写画像の読み出し処理を終了する。
【００４０】
以上のように、第１実施形態によれば、３６０°のパノラマ実写画像をいくつかの分割画像に分けて、さらに複製分割画像を加えて、一つの結合ファイルにまとめることで、パノラマ実写画像記憶部からの連続的な分割画像データの読み出しを早く、かつ効率的に行うことが可能となる。
【００４１】
よって、パノラマ画像群によって表現される仮想空間内においてウォークスルーを行う際に、パノラマ実写画像記憶部からの画像データの読み出し効率を上げることができ、よりスムーズにウォークスルーシーンを表示することができる。
【００４２】
＜第２実施形態＞
上記第１実施形態では、３６０°パノラマ実写画像を分割して、結合ファイルに連続的に保存する説明をした。第１実施形態での結合ファイルのヘッダには各分割画像のスタート位置を記録したが、分割画像のサイズ情報があれば、結合ファイルを読み出すときに分割画像のスタート位置を計算するのは可能である。結合ファイルを読み出す時の分割画像のスタート位置計算は、図１６の表を作るための処理、図１５で説明しているステップ１５０４と同じである。ヘッダに分割画像のスタート位置情報がない場合は、図１７の結合ファイル９００を読み出すフローチャートは、ステップＳ１７０４でヘッダに収めている分割画像のサイズを元に、図１６の表のように各分割画像スタート位置を計算すればよい。
【００４３】
以上のように、第２実施形態によれば、結合ファイルのヘッダでの分割画像のスタート位置情報をなくし、結合ファイルを小さくすることが可能であり、読み出すデータ量が少なくなるので、読み出すスピード効率を上げることも可能になる。
【００４４】
＜第３実施形態＞
上記第１実施形態では、３６０°パノラマ実写画像を分割して、結合ファイルに分割画像を連続的に保存する説明をした。第１実施形態での結合ファイルには分割画像情報をもつためのヘッダもつけた。第３実施形態では、結合ファイルのヘッダの読み出し処理をなくすための説明をする。
【００４５】
複数の視点位置に対応する複数のパノラマ画像で構成する仮想空間の各パノラマ画像全て、または一部、のパノラマ画像についてのヘッダを一つ又は、複数のヘッダ統合ファイルにまとめることも考えられる。
【００４６】
図１８は、ヘッダ統合ファイルの情報を説明するための図である。まずヘッダ統合ファイルの先頭に（１８０１）本実施形態のファイルであることを認識するためのマジックナンバー（ｆｉｌｅ　ｆｏｒｍａｔ　ｉｄ）を記録する。１８０２，１８０３，１８０４は一つのパノラマ画像に関する情報である。１８０２では、そのパノラマ画像番号は（０）であることを示す。１８０３は、パノラマ画像番号（０）のパノラマ統合ファイルの名前を示す。１８０４はパノラマ画像番号（０）のヘッダ情報を保持する。１８０４のヘッダ情報は、第１実施形態の図１０の情報が収めていると考えてもよい。パノラマ画像番号（０）と同様に、１８０５，１８０６，１８０７はパノラマ画像番号（１）に関する情報である。図１８のヘッダ統合ファイルは、パノラマ画像番号”Ｚ”までの情報を示す。
【００４７】
本実施形態では、上記の順番で説明をしたが、パノラマ画像情報の順番はその他の並べ方でもよいし、他の情報を足してもよい。
【００４８】
ヘッダ統合ファイルを読み出すことで、各々パノラマ画像の結合ファイルのヘッダを読み出さなくても、直接パノラマ画像の分割画像を読み出すことが可能である。
【００４９】
以上のように、第３実施形態によれば、ヘッダ統合ファイルを採用することで、パノラマ画像の分割画像の読み出すスピード効率を上げることも可能になる。
【００５０】
＜第４実施形態＞
上記第１実施形態では、３６０°パノラマ実写画像を分割して、結合ファイルに分割画像を連続的に保存する説明をした。さらに、３６０°のパノラマ実写画像の縮小画像を作るためには、３６０°分の分割画像を読み出して、接続しなければならない。第４実施形態では、結合ファイルに３６０°パノラマ実写画像の縮小された画像を追加する。
【００５１】
図１９は、結合ファイル９００の情報に縮小されたパノラマ画像の追加を説明するための図である。まず結合ファイル９００の先頭に（１９０１）本実施形態のファイルであることを認識するためのマジックナンバー（ｆｉｌｅ　ｆｏｒｍａｔ　ｉｄ）を記録する。１００２〜１０１１は図１０と同じである。１９０２は３６０°縮小パノラマ画像のサイズを示す。１９０３は３６０°縮小パノラマ画像のデータスタート位置を示す。３６０°縮小パノラマ画像のデータには、画像の縦・横のサイズ情報を含む。１０１２〜１０２３は図１０と同じである。１９０４は、３６０°縮小パノラマ画像のデータである。１０２４〜１０３０は図１０と同じである。
本実施形態では、パノラマ画像情報の順番はその他の並べ方でもよいし、他の情報を足してもよい。
【００５２】
以上のように、第４実施形態によれば、結合ファイルに３６０°縮小パノラマ画像を追加することで、３６０°パノラマ画像の縮小画像を表示するときに、３６０°分の分割画像を読み出して、画像を組み合わせる必要がなくなり、全体的の画像読み出しの効率を上げることが可能になる。
【００５３】
＜第５実施形態＞
上記第１実施形態では、３６０°パノラマ実写画像を分割して、結合ファイルに連続的に保存する説明をした。連続的にデータを保存していれば、連続的に読み出すことが可能になるので、効率は上がる。第５実施形態では、読み出したパノラマ実写画像を転送して、他のコンピュータで表示する方法に付いて説明する。図２０は第５実施形態を説明するための図である。サーバコンピュータ２００１がパノラマ実写画像記憶部２００２からパノラマ画像の分割画像を読み出して、ネットワーク２００５を通してクライアントコンピュータ２００３に転送する。クライアントコンピュータ２００３はパノラマ画像の分割画像を受け取って、表示画面にパノラマのシーンを表示する。この際、クライアントコンピュータに備えられた図示しない操作部によって指示された視点位置、視線方向の画像を表示する。さらに、ネットワーク２００５の転送速度等の制約を避けるために、一度受け取ったパノラマ画像の分割画像をパノラマ実写画像記憶部２００４に保存する。そうすると、次に同じパノラマ画像の分割画像を表示する場合、ネットワーク２００５経由でサーバー２００１から分割画像を読み込まずに、パノラマ実写画像記憶部２００４から読み出すことが可能となる。パノラマ実写画像記憶部２００４にパノラマ分割画像を含む結合ファイルを保存する際に、第１実施形態で説明された方法が利用できる。この場合、図１０のヘッダに追加項目として、すでに受け取った分割画像番号とまだ受けていない分割画像番号の記録をする項目が必要になる。また、すでに受け取っている結合ファイル（全部の分割画像を持っている）、部分的に受け取っている結合ファイル（一部の分割画像のみ持っている）、まだ受け取っていない結合ファイルの情報を持つ表をクライアントコンピュータ２００３に持たなければならない。
【００５４】
上記の説明では、２００５のネットワークはＬＡＮでも、インターネットでもデータの送信を行うことが可能であれば何でも良い。
【００５５】
以上のように、第５実施形態によれば、サーバコンピュータからのパノラマ実写画像記憶部の結合ファイルの分割画像をクライアントコンピュータに転送し、クライアントコンピュータのパノラマ実写画像記憶部に保存することで分割画像転送の制約を避けることができ、クライアント側でのパノラマのシーンの表示が早く、かつ効率的になることが可能である。
【００５６】
［他の実施形態］
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５８】
【発明の効果】
以上説明したように、本発明によれば、記憶部からのパノラマ画像の分割画像の読み出すスピード効率を上げることができる。
【図面の簡単な説明】
【図１】第１実施形態における情報処理装置の機能構成を説明するブロック図である。
【図２】第１実施形態による情報処理装置１のハード構成を示すブロック図である。
【図３】第１実施形態の情報処理装置における、ジョイスティック操作を説明する図である。
【図４】第１実施形態の情報処理装置における、操作部４０におけるデータ・フローを示す図である。
【図５】第１実施形態の情報処理装置における、視点位置・視線方向決定部５０におけるデータ・フローを示す図である。
【図６】第１実施形態の情報処理装置における、対応画像決定部６０におけるデータ・フローを示す図である。
【図７】第１実施形態の情報処理装置における、画像生成制御部７０におけるデータ・フローを示す図である。
【図８】視点に応じた分割画像をパノラマ画像から切り出し、円筒面にテクツチャマッピングして透視変換することでパースペクチブが正しい画像を生成する方法を説明する図である。
【図９】第１実施形態の３６０°パノラマ画像の結合ファイル構造を説明する図である。
【図１０】第１実施形態による、結合ファイルの情報の構造を示す図である。
【図１１】第１実施形態による、結合ファイル作成の処理の手順を説明するフローチャートである。
【図１２】第１実施形態による、結合ファイルのヘッダを作成するために分割画像数、視野角などのパラメータ取得の処理の手順を説明するフローチャートである。
【図１３】第１実施形態による、結合ファイルのヘッダを作成するために分割画像サイズ取得の処理の手順を説明するフローチャートである。
【図１４】第１実施形態による、分割画像サイズ表の例を説明する図である。
【図１５】第１実施形態による、結合ファイルのヘッダ作成の処理の手順を説明するフローチャートである。
【図１６】第１実施形態による、分割画像のスタート位置表の例を説明する図である。
【図１７】第１実施形態による、結合ファイルから分割画像の読み出し処理の手順を説明するフローチャートである。
【図１８】第３実施形態による、ヘッダ統合ファイルの情報の構造を示す図である。
【図１９】第４実施形態による、結合ファイルに縮小された３６０°パノラマ画像を追加された例の構造を示す図である。
【図２０】第５実施形態による、結合ファイルから読み出した分割画像を他コンピュータに転送して、ローカル記憶部に結合ファイルを再構成する例を説明する図である。
【図１】
2004094523.tif 000005
【図２】
2004094523.tif 000006
【図３】
2004094523.tif 000007
【図４】
2004094523.tif 000008
【図５】
2004094523.tif 000009
【図６】
2004094523.tif 000010
【図７】
2004094523.tif 000011
【図８】
2004094523.tif 000012
【図９】
2004094523.tif 000013
【図１０】
2004094523.tif 000014
【図１１】
2004094523.tif 000015
【図１２】
2004094523.tif 000016
【図１３】
2004094523.tif 000017
【図１４】
2004094523.tif 000018
【図１５】
2004094523.tif 000019
【図１６】
2004094523.tif 000020
【図１７】
2004094523.tif 000021
【図１８】
2004094523.tif 000022
【図１９】
2004094523.tif 000023
【図２０】
2004094523.tif 000024