JP3149389B2 - ビットマップ・イメージを環境マップにオーバレイする方法および装置 - Google Patents

ビットマップ・イメージを環境マップにオーバレイする方法および装置

Info

Publication number
JP3149389B2
JP3149389B2 JP19952297A JP19952297A JP3149389B2 JP 3149389 B2 JP3149389 B2 JP 3149389B2 JP 19952297 A JP19952297 A JP 19952297A JP 19952297 A JP19952297 A JP 19952297A JP 3149389 B2 JP3149389 B2 JP 3149389B2
Authority
JP
Japan
Prior art keywords
pixel
environment map
image
bitmap image
view window
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP19952297A
Other languages
English (en)
Other versions
JPH1097640A (ja
Inventor
ジャイムス・エス・リプスコム
ウィリアム・ルイス・ルケン
ジャイ・ピー・メノン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US08/723,970 external-priority patent/US5912670A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1097640A publication Critical patent/JPH1097640A/ja
Application granted granted Critical
Publication of JP3149389B2 publication Critical patent/JP3149389B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、画像処理
システムに関し、より詳細には、ユーザが、あるシーン
の多数のビューを表すデータからパノラマ三次元イメー
ジを作成し、視ることを可能にする画像処理システムに
関する。
【0002】
【従来の技術】従来の三次元グラフィックス・アプリケ
ーションおよび関連のハードウェアは、1個以上の三次
元物体からなるシーンをレンダリング(精密描画)す
る。物体は通常、幾何学的基本要素、たとえば三角形に
よって表される。物体は、基本要素の位置および色をモ
デル座標系の中で表すグラフィックス・データとして表
される。グラフィックス・システムは、ビュー・ポイン
トに基づき、ビュー・ウィンドウの中に見えるようなシ
ーンの物体を表示するシーンをレンダリングする。ユー
ザは、ビュー・ポイント基準(カメラ)の位置および向
きを変えることにより、シーンの中を巡航することがで
きる。加えて、ビュー・ポイント基準のあらかじめ選択
した一連の位置および向きの中を巡航することにより、
アニメーションを実行することもできる。
【0003】レンダリング操作はコンピュータ集中的処
理であり、したがって、通常は、特殊なグラフィックス
・ハードウェアによって実行される。このようなシステ
ムは強力ではあるが、この目的だけに用いられる特殊な
ハードウェアの必要性により、いぜん高価である。
【0004】そのうえ、従来の三次元グラフィック・ス
システムでは、ユーザがそのシーンの三次元モデル(す
なわち、モデル座標系の中のシーンの幾何学的基本要素
の位置および色を表すグラフィックス・データ)を提供
しなければならない。このようなモデルは、ソフトウェ
アを周辺装置(ペン・タブレット、スキャナ、カメラな
ど)とともに用いて作成することができる。たとえば、
フランスのDaussault社によって商品名CATIAの下で販売
されているソフトウェアは、ユーザがシーンの三次元モ
デルを構成することを可能にする。しかし、このような
モデル作成ソフトウェアは高価であり、加えて、それほ
ど複雑でないシーンをモデリングするのにさえ、労働力
に有意な投資を要するおそれがある。
【0005】従来の三次元グラフィックス・システムに
伴う高額な費用のため、三次元シーンを作成し、視るの
に効果的ではあるが、限定された能力を提供する、専用
のグラフィックス・ハードウェアを要することなく標準
的なパーソナル・コンピュータで使用するのに適した代
替え解決方法が出現した。そのような方法の一つは、Ap
ple Computer社により、Quicktime VRの商品名の下で開
発、販売されているソフトウェアである。Quicktime VR
ソフトウェアは、二つの別個のパッケージに分割されて
いる。コンテンツ・プロバイダに対して販売される第一
のパッケージは、コンテンツ・プロバイダがあるシーン
の多数のビューからパノラマ三次元イメージを生成する
ことを可能にする教材開発支援ツールである。第二のパ
ッケージは、消費者に配分される、消費者が、教材開発
支援ツールによって作成されたパノラマ三次元イメージ
を視ることを可能にするビューワである。Quicktime VR
システムの動作のより詳細な説明は、Chenの「Quicktim
e VR - An Image-based Approach to Virtual Environm
ent Navigation」SIGGRAPH 1995, Los Angeles, CA, p
p. 29-38およびApple Computer社を譲受人とするChenら
への米国特許第5,396,583号明細書に見ること
ができる。
【0006】
【発明が解決しようとする課題】Quicktime VRシステム
は、シーン(イメージの総体)のパノラマ・ビューを表
すために円筒環境マップを使用する。円筒環境マップを
所望のビュー・ウィンドウにマッピングすることによ
り、異なる透視的ビューをレンダリングする。しかし、
Quicktime VRシステムの限界の一つは、このシステム
が、円筒環境マップとは別にあるビットマップ・イメー
ジをパノラマ・シーンに統合する能力を有しないことに
ある。
【0007】したがって、当該技術において、ビットマ
ップ・イメージをパノラマイメージに統合することがで
きる三次元パノラマイメージを生成し、視るための費用
効果的なシステムを提供する必要がある。
【0008】
【課題を解決するための手段】従来技術に伴う上述の問
題およびその関連の問題は、シーンを表す環境マップの
要素と関連する色値と、環境マップとは別にあるビット
マップ・イメージの要素と関連する色値とをメモリに記
憶することによってシーンのビューを生成する、ビット
マップ・イメージを環境マップにオーバレイするための
本発明の原理、方法および装置によって解決される。環
境マップの座標系に対してビットマップ・イメージを向
き付けする。環境マップを、ピクセルの配列を含むビュ
ー・ウィンドウに投影する。ビットマップ・イメージに
よってカバーされるビュー・ウィンドウの少なくとも1
個のピクセルついて、ビュー面のピクセルに対応する、
ビットマップ・イメージの要素を決定し、ビットマップ
・イメージの対応する要素の色値に基づき、ピクセルの
色値を導出する。ビュー・ウィンドウのピクセルの導出
した色値を表示のために記憶する。
【0009】本発明はまた、ビットマップ・イメージの
要素と関連する深さ値と、ビュー・ウィンドウのピクセ
ルと関連する深さ値とをメモリに記憶する。このシナリ
オで、ピクセルと関連する深さ値および要素と関連する
深さ値が、ビットマップ・イメージの要素がビュー・ウ
ィンドウのピクセルよりもビュー・ポイントに近いこと
を示すとき、ビュー・ウィンドウのピクセルの色値を、
ビットマップ・イメージの対応する要素の色値から導出
し、ピクセルの導出した色値を表示のために記憶する。
【0010】
【発明の実施の形態】円筒環境のトップ部および/また
はボトム部を定義するデータ含む円筒環境マップからパ
ノラマ・シーンを生成する方法および装置を以下に記載
する。
【0011】トップ・イメージおよびボトム・イメージ
を表すデータは、それぞれ最小および最大の仰角によっ
て決まる円に基づいて二つの部分に分割することができ
る。すなわち、トップ・イメージは、最大仰角によって
決まる円に基づいて二つの領域に分割することができ、
ボトム・イメージは、最小仰角によって決まる円に基づ
いて二つの領域に分割することができる。最小および最
大の仰角は、たとえば、サイド・イメージの中心の上縁
および下縁に対応する仰角によって決定することができ
る。これらの円の外側に位置するトップ・イメージおよ
びボトム・イメージの領域中のイメージ・データ値は、
円筒環境マップにマッピングされると、図12にXおよ
び*によって示す領域ならびに図12のトップおよびボ
トムを超えるさらなる区域を充填し、それにより、円筒
環境マップによってアクセス可能である垂直方向の高さ
値を延ばす。以下、トップ・イメージおよび/またはボ
トム・イメージを円筒環境マップに統合する方法をより
詳細に説明する。
【0012】円筒環境マップの各部分を記憶するのに要
するデータの量は、最大および最小の高さのマップの接
線に比例して増し、それが、60°を超える最大および
最小仰角の場合などに実施不可能になるおそれがある。
トップ・イメージおよび/またはボトム・イメージが存
在しなければ、高さ値の範囲への拡張は不可能である。
【0013】これらの円の内側に位置するトップ・イメ
ージおよびボトム・イメージの領域のイメージ・データ
値は、円筒環境マップにマッピングする必要はない。代
わりに、これらのデータ値には、イメージ投影処理の際
にアクセスして、高さ値の範囲をさらに拡張することも
でき、それは、円筒環境マップによって表されるデータ
を視覚化するのに使用される手段によって支援すること
ができる。すなわち、最大または最小の高さ値を超える
高さ値に対応する、投影イメージ中のピクセルの色値
は、前記最小および最大の仰角によって決まるトップ・
イメージおよび/またはボトム・イメージの円形領域の
内部から直接導出することができる。トップ・イメージ
およびボトム・イメージが存在しなければ、そのような
拡張された高さ値に依存する投影イメージを生成するこ
とはできない。
【0014】本発明は、たとえばパーソナル・コンピュ
ータ、ワークステーションまたはパーソナル・コンピュ
ータもしくはワークステーションとともに作動するグラ
フィックス・アダプタをはじめとする、いかなるコンピ
ュータ処理システムでも実現することができる。図1に
示すように、本発明によって用いることができるコンピ
ュータ処理システムは、メモリ101と、少なくとも1
個の中央処理装置(CPU)103(図では1個)と、
少なくとも1個のユーザ入力装置107(たとえばキー
ボード、マウス、ジョイスティック、音声認識装置また
は手書き認識装置)とを含む。加えて、コンピュータ処
理システムは、不揮発性メモリ、たとえば読出し専用メ
モリ(ROM)および/または他の不揮発性記憶装置1
08、たとえば、オペレーティング・システムと、メモ
リ101にロードされ、CPU103によって実行され
る1個以上のアプリケーション・プログラムとを記憶す
る固定ディスク・ドライブを含む。オペレーティング・
システムおよびアプリケーション・プログラムの実行の
際に、CPUは、不揮発性記憶装置108および/また
はメモリ101に記憶されたデータを使用することがで
きる。
【0015】加えて、コンピュータ処理システムは、C
PU103と表示装置105、たとえばCRT表示装置
またはLCD表示装置との間に結合されたフレーム・バ
ッファ104を含む。フレーム・バッファ104は、表
示装置105を駆動するためのピクセル・データを含
む。システムによっては、グラフィックス・アクセラレ
ータとしても知られるレンダリング装置(図示せず)が
CPU103とフレーム・バッファ104との間に結合
されていてもよい。
【0016】さらに、コンピュータ処理システムは、C
PU103に結合された、CPU103を、通信リン
ク、たとえばインターネットを介して他のコンピュータ
処理システムと通信させることができる通信リンク10
9(たとえばネットワーク・アダプタ、RFリンクまた
はモデム)を含むことができる。CPU103は、オペ
ーティング・システムの部分、アプリケーション・プロ
グラムの部分またはオペーティング・システムおよびア
プリケーション・プログラムを実行する際にCPU10
3によって使用されるデータの部分を受けることができ
る。
【0017】CPU103によって実行されるアプリケ
ーション・プログラムは、以下に説明する本発明のレン
ダリング方法を実行することができる。あるいはまた、
以下に説明するレンダリング方法の一部または全部を、
CPU103によって実行されるアプリケーション・プ
ログラムととも作動するハードウェアに具現化すること
もできる。
【0018】次に説明するものは、円筒環境のトップ部
および/またはボトム部を定義するデータを含む円筒環
境マップならびにそのような円筒環境マップのビューを
レンダリングする技法である。
【0019】円筒環境マップは、要素もしくはピクセル
の矩形の配列であって、各ピクセルが、円筒軸の原点お
よび円筒表面の矩形区域によって画定される細い角錐の
中に含まれる三次元シーンの一部を表すデータを含むと
ころの配列から構成されている。
【0020】図2は、円筒、円筒軸および円筒軸の原点
を表す。第二の座標軸は、円筒軸に垂直であり、円筒の
原点を通過する線によって決まる。第三の座標軸は、円
筒軸および第二の座標軸のいずれに対しても垂直であ
り、同様に円筒軸の原点を通過する線によって決まる。
第二および第三の座標軸によって決まる面中のいかなる
点も、その高さゼロを有するものとして定義される。他
の点の高さは、第二および第三の座標軸によって決まる
面までの距離によって定義され、この面よりも上にある
点には正の高さが割り当てられ、この面の反対側にある
点には負の高さが割り当てられる。
【0021】図3は、円筒を多数の矩形区域に分割する
方法を説明する。これらの区域の境界は、円筒軸に対し
て平行である垂直方向の線および円筒軸に対して直角方
向の円によって形成されている。これらの区域は、円筒
を展開して大きな平面矩形を形成した場合の平面の矩形
に対応する。円筒の所与の矩形区域は、サイド・イメー
ジに関連する一意の行番号および列番号によって指定さ
れる。以下、円筒の行数をPanWdtで示し、円筒の列数を
PanHgtで示す。
【0022】図4は、円筒の側面の1個の矩形区域(a
bcd)および円筒の原点によって決まる角錐領域を示
す。角錐の底面(ABCD)は、矩形区域(abcd)
から無限遠距離に位置することができる。矩形区域(a
bcd)と関連する色値は、この角錐と交差し、円筒の
原点(O)から見える三次元物体によって決まる。コン
ピュータ生成イメージでは、矩形区域(abcd)と関
連する色は、原点(O)から出発し、角錐の底面(AB
CD)の中心を通過する線によって決まる色によって近
似することができる。他の値もまた、区域(abcd)
と関連することができる。たとえば、深さ値は、原点
と、原点(O)から角錐の底面(ABCD)の中心を通
過する線と交差する最近点との距離によって定義するこ
とができる。あるいはまた、応答表のインデックスを区
域(abcd)と関連させてもよい。応答表の各項目
は、対応する区域(abcd)が選択されたときに実行
すべき動作を定義することができる。
【0023】円筒環境マップは、垂直方向の細いスリッ
トを使用して、レンズおよびスリットを垂直軸を中心に
回転させながら写真フィルムを露光させる仕組みのパノ
ラマ・カメラから得られたパノラマ写真をデジタル処理
することによって作成することができる。あるいはま
た、多数の平坦なイメージを円筒の表面に投影して円筒
環境マップを作成することもできる。平坦なイメージそ
れぞれは、写真フィルムの平坦または平面区域に捕らえ
た従来の写真をデジタル処理することにより、あるい
は、コンピュータ・グラフィックス・レンダリング・ア
ルゴリズムを三次元デジタル・モデルに適用することに
より、得ることができる。いずれにしても、各平坦なイ
メージは、水平視野および垂直視野によって特徴づける
ことができる。水平視野の合計が360°に等しいなら
ば、円筒環境マップは完全なものとして定義される。水
平視野の合計が360°未満であるならば、円筒環境マ
ップは部分パノラマとして定義される。
【0024】本発明によると、円筒環境マップのイメー
ジ・データを好ましくは列順に記憶する。イメージ・デ
ータは行順に記憶することが通常のやり方である。すな
わち、nCol列およびnRow行を有するイメージを表すデー
タは通常、それぞれが、イメージの水平方向の帯域を表
すnColの隣接するピクセルのデータを含むnRowの隣接す
る一連のデータ・ブロックとして記憶され、連続する行
のデータは、上から下または下から上の順に記憶され
る。この場合、行の数はイメージの高さを表し、列の数
はイメージの幅を表す。円筒投影に基づくパノラマイメ
ージは、行よりも多くの列を有している。パノラマイメ
ージの列の数は、行の数の4〜5倍またはそれ以上であ
ることもある。パノラマイメージによって表されるシー
ンのビューを表す投影イメージは、パノラマイメージ中
の行および列の特定のサブセットに依存する。このサブ
セットは、たとえば行の半分から全部および列の1/1
0〜1/4を含むことができる。この場合、従来の行順
でのイメージ・データの記憶は、投影イメージを計算す
るとき、投影イメージが各行の小さな部分に依存する場
合、非常に非効率的なメモリ参照パターンにつながる。
【0025】投影イメージを計算するのに必要なメモリ
参照パターンは、パノラマイメージを行順ではなく列順
で記憶することにより、より効率的にすることができ
る。この場合、パノラマイメージを表す同じデータを、
それぞれがnRowの連続するピクセルを含むnColの連続す
る一連のブロックとして記憶する。そのような各ブロッ
クは、パノラマイメージの1列分のデータを含み、連続
する列を表すブロックは、方位角が増す順番で記憶され
る。この場合、イメージ・データの「幅」(ブロックあ
たりの要素の数)がイメージの垂直方向サイズになり、
「高さ」(データブロックの数)がパノラマイメージの
水平方向サイズになる。
【0026】パノラマイメージの列順の記憶はまた、投
影イメージそのものが行順に記憶されるとしても、投影
イメージの列順での計算に利点を与える。この場合、よ
り大きなデータ構造(パノラマイメージ)の要素に対し
て順にアクセスし、特定の演算、たとえば方位角の三角
関数を列ごとに1回計算するだけでよい。以下に記す本
発明の円筒環境マップは、イメージの幅がイメージの垂
直方向サイズであり、イメージの高さがイメージの水平
方向サイズである列順に記述される。
【0027】部分的または完全な環境マップが得られる
と、円筒環境マップの要素を円筒軸に平行な面に投影す
ることにより、対応する三次元シーンのイメージを生成
することが可能である。この面に投影された円筒環境マ
ップの部分は、方位角θおよび投影イメージの中心の高
さzならびに水平視野の角度αおよび垂直視野の角度β
によって特徴づけることができる。
【0028】円筒の一部を面に投影したもの(または
逆)を図5に示す。点A、C、DおよびFは、円筒軸に
平行な平面矩形の角を表す。点Bは辺(AC)の中間点
であり、点Eは辺(DF)の中間点である。矩形(AC
DF)は、線(BE=be)に沿って円筒と接してい
る。点(a、b、c、d、eおよびf)は、原点(O)
からの直線が平面矩形上の点(A、B、C、D、Eおよ
びF)と交差する点によって定義される、円筒上の点を
表す。
【0029】図6は、図5に示すものと同じ円筒および
面を円筒軸の上から見た図である。この図では、点A、
B、C、a、bおよびcはそれぞれ点F、E、D、f、
eおよびdと一致している。線(BE=be)の方位角
を角度θによって示す。水平視野の角度αは、線(a
f)の方位角と、線(cd)の方位角との差によって決
まる。この図では、線(af)、(be)および(c
d)は、すべて円筒軸(および視線の方向)に平行であ
るため、点にしか見えない。
【0030】図7は、図5および6に示すものと同じ円
筒および面を、円筒軸および投影面の中心線(BE)を
含む面に垂直な方向から見た図である。中心線(BE)
の中間点を点Gによって示す。点Gの仰角φはzMid
の高さ値に対応する。垂直視野をβによって示す。
【0031】完全なパノラマの場合、可能な方位角θに
限界はなく、水平視野の角度αは、180°未満である
というだけの制限を受ける。0〜θMAXの方位角θをカ
バーする部分パノラマの場合、投影イメージの中心の方
位角θは、次式の範囲内になければならない。
【0032】
【数1】
【0033】投影イメージの高さ値zの範囲を制限する
要因は二つある。一つは、円筒データによって表される
データの範囲を超える高さ値に関する情報の欠如であ
る。第二の制限は、多数の平坦なイメージを一つの円筒
データ構造に合併する結果から生じる。多数の平坦なイ
メージそれぞれは、三次元シーンを円筒軸に平行な面に
投影したものを表す。これらのイメージそれぞれは、特
定の水平視野αおよび垂直視野βを有している。通常、
これらの平坦イメージはすべて同じ水平視野および垂直
視野を共有し、水平視野αは、360°をイメージの数
で割ることによって決まる。
【0034】たとえば、図8に示すように、それぞれ9
0°の水平視野を有する4個のイメージがあってもよ
い。円筒軸を上から見てわかるように、円筒は半径のR
の円として見える。Rは次式で与えられる。
【0035】
【数2】
【0036】ただし、PanHgtは、円筒データ構造中の列
の数である。
【0037】各イメージの中心がこの円に接している。
水平視野αを有する1個のイメージの同様な図を図9に
示す。左縁または右縁から接点(tangent point)までの
距離はR*tan (α/2)である。円筒軸から左右の縁
までの距離はR*sec(α/2)である。
【0038】図9の円筒の側面図を図10に示す。図1
0の場合の視線は、図9の面A−Aから見た方向であ
り、図9に示す円筒の軸に垂直である。より具体的に
は、図10の視線方向は、図9に示す半径Rで円筒に接
するイメージの中心線から見た方向である。イメージの
垂直視野はβであり、最大高さEmaxはR*tan(β/
2)であり、最小高さEminは−R*tan(β/2)であ
る。
【0039】円筒のもう一つの側面図を図11に示す。
この場合、図11の視線は、図9の面B−Bから見た方
向であり、図9に示す円筒の軸に垂直である。より具体
的には、図11の視線方向は、イメージの中心からでは
なく、イメージの左縁または右縁から見た方向である。
図9に示すように、イメージの両縁は、円筒軸から距離
R*sec(α/2)のところに位置している。その結
果、イメージの全高は、円筒軸から距離Rの円筒の側面
で、Emax*cos(α/2)〜Emin*cos(α/2)の高
さ範囲に圧縮される。その結果、このイメージには、E
max*cos(α/2)〜Emaxの範囲またはEmin〜Emin
*cos(α/2)の範囲の高さに対応する情報はない。
【0040】得られた円筒を平坦な面に展開するなら
ば、図12に示す結果が得られる(90°のイメージ4
個の場合)。この場合、4個のイメージが、Emin/sqr
t(2)〜Emax/sqrt(2)の範囲の高さに対応する円
筒のすべての要素を充填する。また、Emin〜Emin/sq
rt(2)の範囲およびEmax/sqrt(2)〜Emaxの範囲
の高さに関してさらなる情報が得られるが、「X」およ
び「*」でマークされた円筒の部分は決定されないまま
である。これに対する一つの解決方法は、Emin/sqrt
(2)〜Emax/sqrt(2)の範囲の外の高さに対応す
るデータを捨て、視野の高さをこの縮小範囲に制限する
方法である。代替えの方法は、Emin〜Emaxの範囲の高
さを許容するが、欠けた領域を濃淡のない黒または他の
任意の色で充填する方法である。
【0041】本発明によると、円筒環境マップから投影
イメージを計算することができる仰角の範囲を、円筒環
境マップのトップ・イメージおよび/またはボトム・イ
メージを定義するデータを加えることによって補足す
る。トップ・イメージおよび/またはボトム・イメージ
の可用性が、投影イメージを作成する能力を二つの点で
改善する。まず、これらのイメージは、従来の円筒環境
マップによって表される円筒領域によってカバーされる
範囲を超える高さ値を有する投影イメージを計算するこ
とを可能にする。第二に、これらのイメージは、多数の
平坦なイメージを円筒に投影することによって作成され
る角領域を充填するのに使用することができる。
【0042】次に、図20を参照しながら、サイド・イ
メージを円筒環境マップにアセンブルする際にトップ・
イメージおよびボトム・イメージを利用する手順を説明
する。説明に際し、以下に記すサイド・イメージは矩形
であり、トップ・イメージおよびボトム・イメージは正
方形である。しかし、当業者であれば、本発明がこの点
で限定されず、種々の多角形のサイド、トップおよびボ
トムの各イメージにも応用できることを認識するであろ
う。
【0043】処理は、ステップ201で、パノラマシー
ンのサイド・イメージを生成することによって始まる。
従来どおり、各サイド・イメージは、生成されると、複
数の要素区域(またはピクセル)でサイド・イメージの
色を示すデータによって表すことができる。しかし、必
要ならば(たとえば、サイド・イメージを写真から導出
する場合)、ステップ201で、各サイド・イメージを
複数の要素区域(またはピクセル)に分割し、要素区域
ごとに、要素区域におけるイメージの色値を記憶する必
要があるかもしれない。図21に示すように、各サイド
・イメージを行列に分割してもよい。サイド・イメージ
の所与の要素区域(またはピクセル)を、そのサイド・
イメージと関連する一意の行番号および列番号(iRow、
iCol)によって指定する。加えて、ステップ201で、
イメージごとに、イメージ中の行数(imgHgtで示す)お
よびイメージ中の列数(imgWdtで示す)を記憶する。図
22は、サイド・イメージのピクセルごとに記憶される
情報を示す。情報は、ピクセルの色を識別する色データ
を含む。色データは、ピクセルの色の赤、緑および青の
各成分(真色)または色パレットへのインデックス(パ
レット色)を表すことができる。所与のピクセルについ
て記憶される情報はまた、所与のピクセルでのイメージ
の深さを表すZデータを含むことができる。加えて、ピ
クセルごとに記憶される情報は、ピクセルと関連するさ
らなるデータ(Mデータ)を含むこともできる。たとえ
ば、データは、別のパノラマへのハイパリンク、音声を
再生するためのコマンドまたは外部アプリケーションを
開始するためのコマンドをはじめとする、ピクセルと関
連する動作であってもよい。
【0044】サイド・イメージは、垂直方向の細いスリ
ットを使用して、レンズおよびスリットを垂直軸を中心
に回転させながら写真フィルムを露光させる仕組みのパ
ノラマカメラから得られたパノラマ写真をデジタル処理
することによって作成することができる。あるいはま
た、サイド・イメージは、写真フィルムの平坦または平
面区域に捕らえた従来の写真をデジタル処理することに
より、あるいは、コンピュータ・グラフィックス・レン
ダリング・アルゴリズムを三次元デジタル・モデルに適
用することにより、得ることができる。
【0045】ステップ203で、パノラマシーンのトッ
プ・イメージおよび/またはボトム・イメージを生成す
る。従来どおり、トップ・イメージおよびボトム・イメ
ージは、生成されると、複数の要素区域(またはピクセ
ル)でイメージの色を示すデータによって表すことがで
きる。必要ならば(たとえば、トップ・イメージおよび
/またはボトム・イメージを写真から導出する場合)、
ステップ203で、トップ・イメージおよび/またはボ
トム・イメージを要素区域(またはピクセル)に分割
し、要素区域ごとに、要素区域におけるイメージの色値
を記憶する必要があるかもしれない。図23に示すよう
に、トップ・イメージおよびボトム・イメージを行列に
分割してもよい。説明に際し、トップ・イメージだけを
示す。トップ・イメージおよびボトム・イメージの所与
の要素区域(またはピクセル)を、それぞれトップ・イ
メージおよびボトム・イメージと関連する一意の行番号
および列番号(tRow、tCol)または(bRow、bCol)によ
って指定する。加えて、ステップ203で、トップ・イ
メージおよび/またはボトム・イメージ中の行数(topH
gtおよびbotHgtで示す)ならびにトップ・イメージおよ
び/またはボトム・イメージ中の列数(topWdtおよびbo
tWdtで示す)を記憶する。
【0046】図24は、トップ・イメージ(またはボト
ム・イメージ)のピクセルごとに記憶される情報を示
す。情報は、ピクセルの色を識別する色データを含む。
色データは、ピクセルの色の赤、緑および青の各成分
(真色)または色パレットへのインデックス(パレット
色)を表すことができる。所与のピクセルについて記憶
される情報はまた、所与のピクセルでのイメージの深さ
を表すZデータを含むことができる。加えて、ピクセル
ごとに記憶される情報は、ピクセルと関連するさらなる
データ(Mデータ)を含むこともできる。たとえば、デ
ータは、別のパノラマへのハイパリンク、音声を再生す
るためのコマンドまたは外部アプリケーションを開始す
るためのコマンドをはじめとする、ピクセルと関連する
動作であってもよい。
【0047】トップ・イメージおよびボトム・イメージ
は、カメラから得られたトップ・イメージおよびボトム
・イメージの従来の写真をデジタル処理することによっ
て作成することができる。あるいはまた、トップ・イメ
ージおよびボトム・イメージは、コンピュータ・グラフ
ィックス・レンダリング・アルゴリズムを三次元デジタ
ル・モデルに適用することによって生成することもでき
る。より具体的には、トップ・イメージおよびボトム・
イメージは、三次元シーンを、従来の円筒環境マップを
定義する円筒軸に垂直な面に投影することによって定義
することができる。トップ・イメージは、三次元シーン
を、円筒軸の原点よりも上の面に投影することによって
定義され、ボトム・イメージは、三次元シーンを、円筒
軸の原点よりも下に位置する面に投影することによって
定義される。
【0048】ステップ205で、ステップ201で生成
したサイド・イメージごとに、所与のサイド・イメージ
に対応する円筒の列の範囲を決定する。より具体的に
は、各サイド・イメージを水平視野αによって特徴づけ
る。特定のサイド・イメージのイメージ・データを、θ
1〜θ2の方位角の範囲に対応する円筒の列にマッピング
する(ただし、θ1は、先行のすべてのサイド・イメー
ジの水平視野の合計によって決まり、θ2=θ1+αであ
る)。したがって、現在のイメージの初期方位角θ1
よび最終方位角θ2を与えられると、特定のサイド・イ
メージに対応する、得られる円筒イメージ中の列の範囲
が次式によって決定される。
【0049】panCol1=panHgt*θ1MAX panCol2=panHgt*θ2MAX ただし、θMAXは、完全なパノラマの場合には2πに等
しく、部分パノラマの場合には2π未満である。
【0050】加えて、ステップ205で、サイド・イメ
ージごとに、各サイド・イメージに対応する円筒の列の
数を記憶する。所与のサイド・イメージに対応する円筒
の列の数は、次式によって求められる。
【0051】numPanCol=panCol2−panCol1
【0052】ステップ207で、ステップ201で生成
したサイド・イメージごとに、特定のサイド・イメージ
と関連する、ステップ205で決定した列の範囲内の円
筒の各列を順に選択して、ステップ201で生成した現
在のサイド・イメージのデータ値ならびにステップ20
3で生成したトップ・イメージおよび/またはボトム・
イメージのデータ値に基づいて充填する。好ましくは、
panCol1に初期化され、panCol2に達するまで1ステッ
プずつ漸増される列インデックスpanColを指定すること
により、個々の列を順に選択してゆく。以下、図25を
参照しながら、特定の列に関する充填操作をより詳細に
説明する。
【0053】ステップ209で、各サイド・イメージに
対応する列の範囲を処理したのち、処理は終了する。
【0054】図25は、円筒の特定の列に関する充填操
作をより詳細に示す。より具体的には、インデックスpa
nColによって指定する円筒の特定の列は、絶対角θおよ
び局所角度δに対応する。ただし、
【0055】θ=θMAX*panCol/panHgt δ=θ−θ1−(α/2)
【0056】これらの角度の関係を図13に示す。イン
デックスpanColによって指定される円筒上の個々の列に
ついて、次式によって求められる、インデックスimgCol
によって指定されるサイド・イメージ中の対応する列が
ある。
【0057】
【数3】
【0058】ステップ301で、panRowで示す円筒の各
行を選択し、円筒の現在の行panRowが、現在のサイド・
イメージに入るのか、トップ・イメージに入るのか、ボ
トム・イメージに入るのかを決定する。panRowの値は0
から(panWidth−1)である。ただし、panWidthは円筒
中の列数である。
【0059】ステップ303で、円筒の選択した行およ
び列に対応するピクセル・インデックスimgRowを決定す
る。図14に示すように、円筒の壁は円筒軸から半径R
の距離に位置し、現在のサイド・イメージの対応する列
は円筒軸からR*sec(δ)の距離に位置しているため、
円筒の壁の行panRowのピクセルは、現在のサイド・イメ
ージでは、行imgRowのピクセルに対応する。
【0060】
【数4】
【0061】ステップ305〜309で、ImgRowの値を
評価することにより、円筒の現在の行panRowが、現在の
サイド・イメージに入るのか、トップ・イメージに入る
のか、ボトム・イメージに入るのかを決定する。ImgRow
を評価し、そのような評価に基づく処理を実行したの
ち、ステップ310で、列の最後の行が処理されたかど
うかを決定する。処理されていないならば、処理はステ
ップ301に戻り、行インデックスpanRowを円筒の列中
の次の順番の行に設定する。その列の最後の行を選択し
たならば(panRow=panWidth−1)、処理は終了する。
【0062】ステップ305で、imgRowの値がimgHgt以
上であるならば、円筒の行panRowはトップ・イメージに
入る。この場合、ステップ311で、円筒の現在の行Pa
nRowおよび列panColに対応する、インデックスtRowおよ
びtColによって識別されるトップ・イメージの要素(ピ
クセル)を決定し、ステップ313で、好ましくは、イ
ンデックスpanRow、panColによって識別される円筒環境
マップのピクセルの色を、インデックスtRow、tColによ
って識別されるトップ・イメージのピクセルの色に対応
するように設定する。
【0063】ステップ307で、imgRowの値が0未満で
あるならば、円筒の行panRowはボトム・イメージに入
る。この場合、ステップ315で、円筒の現在の行panR
owおよび列panColに対応する、インデックスbRowおよび
bColによって識別されるボトム・イメージの要素(ピク
セル)を決定し、ステップ317で、好ましくは、イン
デックスpanRow、panColによって識別される円筒環境マ
ップのピクセルの色を、インデックスbRow、bColによっ
て識別されるボトム・イメージのピクセルの色に対応す
るように設定する。
【0064】ステップ309では、imgRowの値が0〜im
gHgtの範囲であり、したがって、円筒の行panRowは現在
のサイド・イメージに入る。この場合、インデックスpa
nRowおよびpanColによって識別される円筒環境マップの
ピクセルは、インデックスimgRow、imgColによって識別
される現在のサイド・イメージのピクセルに対応する。
ステップ309で、好ましくは、インデックスpanRow、
panColによって識別される円筒環境マップのピクセルの
色を、インデックスimgRow、imgColによって識別される
現在のサイド・イメージのピクセルの色に対応するよう
に設定する。
【0065】以下、図26を参照して、円筒の現在の行
panRowおよび列panColに対応するトップ・イメージまた
はボトム・イメージの要素(ピクセル)を決定する際の
システムの動作を説明する。ステップ401で、処理
は、トップ(またはボトム)イメージ中の対応する点の
半径を決定することによって始まる。これは、トップ・
イメージ中の点に関して図15に示されている。この場
合、トップ・イメージ中の点の半径は、次式によって求
められる。
【0066】Rtop=R*(panHgt/2)/(panRow−
(panHgt/2))
【0067】ボトム・イメージ中の点の半径は、次式に
よって求められる。
【0068】Rbot=R*(panHgt/2)/((panHgt/
2)−panRow)
【0069】この場合には、円筒をR=1の単位円とし
て扱うことができる。得られるRtopおよびRbotの値は
常に1.0よりも大きくなり、単位円の外の点に対応す
る。
【0070】ステップ403で、トップ半径Rtop(ま
たはボトム半径Rbot)を決定したのち、図16に示す
トップ(またはボトム)イメージ中の点を識別するイン
デックスを決定する。トップ・イメージ中の点の場合、
トップ・イメージ中の色値の行および列インデックス
は、次式によって決定することができる。
【0071】 tRow=topHgt*(1.0−Rtop*sin(θ)) tCol=topWdt*(1.0+Rtop*cos(θ)) ただし、topHgtおよびtopWdtは、トップ・イメージの行
および列の寸法である。
【0072】同様に、ボトム・イメージ中の点の行およ
び列のインデックスは、次式によって決定することがで
きる。
【0073】 bRow=botHgt*(1.0−Rbot*sin(θ)) bCol=botWdt*(1.0−Rbot*cos(θ))
【0074】上述したように、インデックス(tRow、tC
ol)および(bRow、bCol)によって指定される点は、円
筒の壁の上縁および下縁に対応する内接円の外に位置す
るトップ・イメージおよびボトム・イメージ中のピクセ
ルに対応する。好ましくは、この円の外にあるトップ
(またはボトム)イメージの点の、円筒環境マップへの
マッピングは、以下に記す、パノラマデータを視るため
に使用される投影アルゴリズムによって扱う。
【0075】パノラマシーンのトップ・イメージおよび
/またはボトム・イメージを定義するデータによって円
筒環境マップを補足する機構を述べたところで、次に、
図27を参照して、本発明の改良された円筒環境マップ
を表示のためにレンダリングする技法を説明する。
【0076】ステップ501で、視野を決定する。視野
は、好ましくは、以下のパラメータ、すなわち方位角
θ、投影イメージの中心の仰角φ、水平視野αおよび垂
直視野βによって特徴づける。選択したパラメータは、
図17に示すものである。パラメータは、たとえばコン
ピュータ・システムの入力装置107を操作するユーザ
に応答して生成されたユーザ入力コマンドに基づいて選
択してもよい。
【0077】ステップ503で、円筒環境マップを、視
野に対応するビュー・ウィンドウにマッピングする。マ
ッピング処理は、ビュー・ウィンドウを、図17に示す
ようなncolの等間隔の列に分割することによって始ま
る。ncol列それぞれは、0〜ncol−1の範囲のインデッ
クスicolによって識別することができ、次式によって求
められる角度δに対応する。
【0078】δ=tan−1(tan(α/2)*(width−
2*icol)/(2*width)) ただし、width=ncol−1はビュー・ウィンドウの幅で
ある。
【0079】ビュー・ウィンドウのncol列の列(icol)
ごとに、列icolに対応する円筒環境マップの列panColを
決定する。好ましくは、列icolに対応する円筒環境マッ
プの列panColは、次式によって決定する。
【0080】panCol=panHgt*(θ+δ)/θMAX
【0081】加えて、ビュー・ウィンドウの列icolの中
のnrowピクセルを選択し、処理する。好ましくは、列中
のnrowピクセルは、図18に示すように、円筒軸から距
離Rpan/cos(8)のところで円筒軸に平行な線に沿っ
て均一に離間している。nrowピクセルそれぞれには、0
(ビュー・ウィンドウのボトム)〜nrow−1(ビュー・
ウィンドウのトップ)の範囲を有するインデックスirow
を割り当てることができる。以下、図28を参照して、
ビュー・ウィンドウの選択した列(icolで示す)のnrow
ピクセルの処理を詳細に説明する。
【0082】図27の最後のステップ505で、円筒環
境マップの列をビュー・ウィンドウにマッピングしたの
ち、ビュー・ウィンドウを表示装置または表示装置の一
部にマッピングすることができる。このようなマッピン
グは、ビュー・ウィンドウを表示装置の座標系に対して
スケーリングし、平行移動させることを要するかもしれ
ない。このようなスケーリングおよび平行移動の技法は
当該分野で周知である。しかし、システムの性能を高め
るため、スケーリング処理を避けてもよい。この場合、
ビュー・ウィンドウのピクセルを表示ウィンドウのピク
セルに整合させなければならない。
【0083】図28は、円筒環境マップをビュー・ウィ
ンドウの選択した列(icol)のnrowピクセルにマッピン
グする際のシステムの動作を示す。上述したように、列
icolに対応する円筒環境マップの列panColは、次式によ
って決定する。
【0084】panCol=panHgt*(θ+δ)/θMAX
【0085】ステップ601で、処理は、選択された列
icolについて、それぞれtopRowおよびbotRowで示す、円
筒の上縁および下縁に対応するビュー・ウィンドウの行
を決定することによって始まる。topRowおよびbotRowの
値は、好ましくは、次式によって決定する。
【0086】topRow=ctrRow+(0.5*panHgt/pxlS
ize)*sec(δ) botRow=ctrRow−(0.5*panHgt/pxlSize)*sec
(δ) ただし、pxlSize=2*Rpan*tan(α/2)widthは、
正方形のピクセル(垂直方向のピクセルサイズが水平方
向のピクセルサイズに等しい)を仮定してのピクセルの
サイズである。
【0087】上述したtopRowおよびbotRowの値は、ビュ
ー・ウィンドウの中心ピクセルctrRowの位置に依存す
る。垂直方向のビューの動きがないならば(ビュー仰角
φがゼロに等しいならば)、中心線ctrRowのピクセル・
インデックスは次式によって求められる。
【0088】ctrRow=0.5*高さ
【0089】ビューの高さが変化すると、ビュー・ウィ
ンドウの中心は、次式によって決定される円筒の行に対
応する。
【0090】zMid=Rpan*tan(φ)
【0091】その結果、ゼロ高さに対応するビュー・ウ
ィンドウの行は次式のようになる。
【0092】ctrRow=0.5*高さ−zMid/pxlSize
【0093】ステップ603で、ビュー・ウィンドウの
nrowピクセルのいずれかが円筒の下縁よりも下に位置す
る(したがってボトム・イメージの中にある)かどうか
を決定し、そのように位置するならば、円筒の下縁より
も下に位置するビュー・ウィンドウのピクセルを処理す
る。好ましくは、0よりも大きいbotRowの値は、ビュー
・ウィンドウの1個以上のピクセルが円筒の下縁よりも
下に位置し、したがってボトム・イメージの中にあると
いうことを示す。この場合、botRowの値が0よりも大き
いならば、0〜botRow−1の範囲のピクセルは円筒の下
縁よりも下に位置する。円筒の下縁よりも下に位置する
ピクセルの処理についてはあとで説明する。
【0094】ステップ605で、ビュー・ウィンドウの
nrowピクセルのいずれかが円筒の上縁よりも上に位置す
る(したがってトップ・イメージの中にある)かどうか
を決定し、そのように位置するならば、円筒の上縁より
も上に位置するビュー・ウィンドウのピクセルを処理す
る。好ましくは、nrow−1よりも小さいtopRowの値は、
ビュー・ウィンドウの1個以上のピクセルが円筒の上縁
よりも上に位置し、したがってトップ・イメージの中に
あるということを示す。この場合、topRowの値がnrow−
1よりも小さいならば、topRow〜nrow−1の範囲のピク
セルは円筒の上縁よりも上に位置する。円筒の上縁より
も上に位置するピクセルの処理についてはあとで説明す
る。
【0095】最後に、ステップ607で、円筒の下縁よ
りも下に位置しないし、円筒の上縁よりも上に位置しな
い(したがって円筒環境マップの中にある)ビュー・ウ
ィンドウのnrowピクセルを処理する。好ましくは、円筒
の下縁よりも下に位置しないし、円筒の上縁よりも上に
位置しないnrowピクセルは、botRow〜topRow−1の範囲
に位置する。円筒の上縁よりも上に位置しないし、円筒
の下縁よりも下に位置しないピクセルの処理については
あとで説明する。
【0096】次に、円筒の上縁よりも上に位置するピク
セルの処理を説明する。上述したように、円筒の上縁よ
りも上に位置するピクセルは、topRow〜nrow−1の範囲
にあるインデックスicolによって識別することができ
る。この場合、topRow〜nrow−1の範囲にあるインデッ
クスicolによって識別されたピクセルごとに、ピクセル
に対応するトップ半径Rtopの値を、トップ・イメージ
中のピクセルの行インデックスおよび列インデックス
(tRowおよびtCol)とともに決定する。好ましくは、ト
ップ半径Rtopは次式によって求められる。
【0097】Rtop=Rpan*sec(δ)*(0.5*panW
idth)/(irow−ctrRow)
【0098】これは、図19に示す、一方が幅Rpan*s
ec(δ)および高さ(irow−ctrRow)を有し、もう一方
が幅Rtopおよび高さ(0.5*panHgt)を有する相似
形の直角三角形どうしの比較に基づく。この場合には、
必要なすべてはRtopとRpanとの比率であり、Rtopの
計算は次式のように簡約される。
【0099】Rtop=radRow/(irow−ctrRow) ただし、radRow=0.5*panHgt*sec(δ)は、1例
のピクセルに対する定数である(定数デルタ)。
【0100】トップ・イメージ中のピクセルの行インデ
ックスおよび列インデックス(tRow、tCol)は、好まし
くは、次式によって決定される。
【0101】 tRow=topHgt*(1.0−Rtop*sin(θ+δ)) tCol=topWdt*(1.0+Rtop*cos(θ+δ))
【0102】最後に、好ましくは、インデックスirow、
icolによって識別されるビュー・ウィンドウのピクセル
の色を、インデックスtRow、tColによって識別されるト
ップ・イメージのピクセルの色に対応するように設定す
る。
【0103】次に、円筒の下縁よりも下に位置するピク
セルの処理を説明する。上述したように、円筒の下縁よ
りも下に位置するピクセルは、0〜botRow−1の範囲に
あるインデックスicolによって識別することができる。
この場合、0〜botRow−1の範囲にあるインデックスic
olによって識別されたピクセルごとに、ピクセルに対応
するボトム半径Rbotの値を、ボトム・イメージ中のピ
クセルの行インデックスおよび列インデックス(bRowお
よびbCol)とともに決定する。
【0104】好ましくは、ボトム半径Rbotは次式によ
って求められる。
【0105】Rbot=radRow/(ctrRow−irow)
【0106】ボトム・イメージ中のピクセルの行インデ
ックスおよび列インデックス(bRow、bCol)は、好まし
くは、次式によって決定される。
【0107】 bRow=topHgt*(1.0−Rtop*sin(θ+δ)) bCol=topWdt*(1.0+Rtop*cos(θ+δ))
【0108】最後に、好ましくは、インデックスirow、
icolによって識別されるビュー・ウィンドウのピクセル
の色を、インデックスbRow、bColによって識別されるボ
トム・イメージのピクセルの色に対応するように設定す
る。
【0109】次に、円筒の上縁よりも上に位置しない
し、円筒の下縁よりも下に位置しないピクセルの処理を
説明する。円筒の上縁よりも上に位置しないし、円筒の
下縁よりも下に位置しないピクセルごとに、ビュー・ウ
ィンドウの行irowに対応する円筒環境マップの行panRow
を次式によって求める。
【0110】
【数5】
【0111】そして、好ましくは、インデックスirow、
icolによって識別されるビュー・ウィンドウのピクセル
の色を、インデックスpanRow、panColによって識別され
る円筒環境マップのピクセルの色に対応するように設定
する。
【0112】ビュー・ウィンドウに対するトップ・イメ
ージおよびボトム・イメージの投影を決定するための計
算は、ビュー・ウィンドウに対する円筒環境マップの投
影を決定するのに要する計算よりも困難である。これ
は、投影イメージの大きな部分をトップ・イメージおよ
び/またはボトム・イメージ中の点によって決定する場
合、性能の損失をもたらすおそれがある。投影イメージ
の小さな部分だけをトップ・イメージおよび/またはボ
トム・イメージ中のピクセルによって決定する場合、性
能の損失は非常に小さい。円筒の単位円の外に位置する
トップ点およびボトム点については性能の損失はない。
【0113】トップ・イメージおよびボトム・イメージ
から導出されるピクセルのインデックスの計算は、サイ
ンおよびコサイン三角関数に依存するが、これらの関数
の引き数は、行インデックスではなく、列インデックス
(角度δ)だけに依存する。その結果、好ましいこと
に、これらの値は列あたり1回計算するだけでよい。
【0114】好都合には、トップ・イメージおよびボト
ム・イメージを円筒環境マップに統合することにより、
本発明は、データをわずかしか増さずに、視野を増大さ
せることができる。
【0115】本発明のもう一つの態様では、サーバが、
本発明の円筒環境マップを含む1個以上のファイルを記
憶することが可能である。ネットワークを介してサーバ
に接続されたクライアントが、サーバからファイルをダ
ウンロードし、上述した本発明のレンダリング処理を実
行することができる。しかし、ネットワークを介してフ
ァイルを通信するステップは、ネットワーク通信帯域幅
の制限のため、非常に遅いかもしれない。これは、結果
的に、ネットワーク通信ステップの開始と、表示装置の
表示ウィンドウ中のイメージの出現との間に長い遅延を
もたらすかもしれない。
【0116】そのようなネットワーク通信遅延の影響を
最小限にするため、異なる解像度の複数の円筒環境マッ
プによって、サーバに記憶された本発明の円筒環境マッ
プを表すこともできる。低めの解像度の環境マップは、
高めの解像度の環境マップよりも含むデータが少なく、
したがって、ネットワークを介して通信するのに要する
時間が少ない。他の画像処理操作に常であるように、低
めの解像度の円筒環境は、1個以上のより高い解像度の
円筒環境マップから作成することができる。たとえば、
第一の円筒環境マップの要素(ピクセル)数の1/4を
有する低めの解像度の円筒環境マップは、第一の円筒環
境マップ中のピクセルの各2×2ブロックを平均するこ
とによって作成することができる。
【0117】このシナリオでは、クライアントは、ま
ず、最低解像度の環境マップを要求して受け取り、その
最低解像度の環境マップをレンダリングするように制御
される。最低解像度の環境マップをレンダリングしたの
ち(またはそれと並行に)、クライアントは、より高い
解像度の環境マップを要求して受け取り、そのより高い
解像度の環境マップをレンダリングすることができる。
最高解像度の環境マップがクライアントによって受け取
られ、表示のためにレンダリングされるまで、この処理
を繰り返すことができる。
【0118】クライアントおよびサーバが、異なる解像
度を有する複数の環境マップを操作する際の処理の詳細
を図29〜31に示す。この例では、サーバは、それぞ
れ異なる解像度を有する複数の環境マップLOD0、L
OD1、LOD2等々を記憶している。最低解像度のマ
ップをLOD0とする。環境マップLOD1、LOD2
等々は、それらの解像度が漸増している。そのうえ、ク
ライアントの動作は、2個のスレッド、すなわち表示ス
レッドと通信スレッドとに分割されている。しかし、ク
ライアントの動作はこれに限定されず、1個のスレッド
に統合してもよいし、3個以上のスレッドに分割しても
よい。
【0119】クライアントの動作は、たとえば、ユーザ
が、サーバに記憶された環境マップを表示する要求を開
始したときに始まる。この要求は、サーバを識別するハ
イパリンクの一部であってもよいし、サーバに記憶され
た制御ファイルCF0であってもよい。この場合、好ま
しくは、制御ファイルCF0を、サーバに記憶された複
数の他の制御ファイル(CF1、CF2等々)ととも
に、サーバからクライアントにダウンロードすべき異な
る解像度の環境マップの連鎖を識別するためのリンク・
リスト・データ構造として使用する。より具体的には、
制御ファイルCF0は、環境マップLOD0へのポイン
タおよび制御ファイルCF1へのポインタを含み、制御
ファイルCF1は、環境マップLOD1へのポインタお
よび制御ファイルCF2へのポインタを含む。以下も同
様である。
【0120】この場合、クライアントは、ユーザの要求
に応答して、サーバから制御ファイルCF0を要求す
る。サーバから制御ファイルCF0を受け取ると、クラ
イアントは、制御ファイルCF0で識別される最低解像
度環境マップLOD0をサーバから要求する。
【0121】最低解像度の環境マップLOD0をサーバ
から受け取ると、クライアントは、その最低解像度環境
マップLOD0を局所的に記憶し、最低解像度環境マッ
プLOD0を表示のためにレンダリングし、好ましく
は、ユーザがその最低解像度環境マップLOD0の中で
ナビゲートすることを許す。加えて、クライアントは、
サーバから制御ファイルCF1を要求する。上述したよ
うに、制御ファイルCF1は、好ましくは、次に高い解
像度の環境マップLOD1および制御ファイルCF2
(必要があるならば)へのポインタを含む。
【0122】制御ファイルCF1をサーバから受け取る
と、クライアントは、制御ファイルCF1で識別される
次に高い解像度の環境マップLOD1をサーバから要求
する。次に高い解像度の環境マップLOD1をサーバか
ら受け取ると、クライアントは、その環境マップLOD
1を局所的に記憶する。加えて、クライアントは、最低
解像度の環境マップLOD0のナビゲーションを中止
し、次に高い解像度の環境マップLOD1を表示のため
にレンダリングし、好ましくは、ユーザがその環境マッ
プLOD1の中でナビゲートすることを許す。加えて、
クライアントは、サーバから制御ファイルCF2を要求
する。上述したように、制御ファイルCF2は、好まし
くは、次に高い解像度の環境マップLOD2および制御
ファイルCF3(必要があるならば)へのポインタを含
む。
【0123】制御ファイルCF2をサーバから受け取る
と、クライアントは、制御ファイルCF2で識別される
次に高い解像度の環境マップLOD2をサーバから要求
する。次に高い解像度の環境マップLOD2をサーバか
ら受け取ると、クライアントは、その環境マップLOD
2を局所的に記憶する。加えて、クライアントは、環境
マップLOD1のナビゲーションを中止し、次に高い解
像度の環境マップLOD2を表示のためにレンダリング
し、好ましくは、ユーザがその環境マップLOD2の中
でナビゲートすることを許す。
【0124】最高解像度の環境マップがクライアントに
よって受け取られ、表示のためにレンダリングされるま
で、これらの処理を繰り返すことができる。この処理
は、ユーザに対し、低めの解像度の環境マップをすばや
く視て、その中でナビゲートしながらも、より高い解像
度の環境マップを漸進的に構築し、それにより、ネット
ワーク通信の遅延の影響を最小限にする能力を提供す
る。
【0125】本発明のもう一つの態様では、環境マップ
とは別にある1個以上のビットマップ・イメージ(また
はスプライト)をパノラマシーンに統合することを可能
にする機構が提供される。ビットマップ・イメージと
は、ピクセルごとにイメージの色を表すピクセルの二次
元配列である。図32を参照すると、ビットマップ・イ
メージをパノラマシーンに統合する処理は、ステップ7
01で、環境マップの座標系の中でビットマップ・イメ
ージを向き付けすることによって始まる。図2に示すよ
うに、円筒環境マップの座標系は、円筒軸ならびに原点
で円筒軸と交差する第二および第三の軸によって特徴づ
けられる。第二および第三の軸は、円筒軸および互いに
対して垂直である。好ましくは、ビットマップ・イメー
ジの向き付けは、ビットマップ・イメージが円筒軸に対
して平行な面に位置するように制限する。この場合、ビ
ットマップ・イメージは、特徴的な方位角θおよび仰角
φをビットマップ・イメージに割り当てることにより、
環境マップの座標系の中で向き付けすることができる。
図33および34に示すように、方位角θは、好ましく
は、第二の座標軸と円筒軸との面と、円筒軸からビット
マップ・イメージの中心ピクセルMに達する線との間の
角度によって表される。図33および35に示すよう
に、仰角φは、好ましくは、円筒軸からビットマップ・
イメージの中心ピクセルMに達する線と、第二および第
三の座標軸の面の間の角度によって表される。
【0126】ステップ703で、図27を参照して上述
したように、環境マップをビュー・ウィンドウに投影す
る。投影ステップの結果として、ビュー・ウィンドウの
行および列のピクセルに関する色値が生成される。
【0127】ステップ705で、対(startCol、endCo
l)によって示す、ビットマップ・イメージによってカ
バーされるビュー・ウィンドウの列の範囲ならびに対
(startRow、endRow)によって示す、ビットマップ・イ
メージによってカバーされるビュー・ウィンドウの行の
範囲を決定する。
【0128】ステップ707で、列の範囲(startCol、
endCol)内の列icolごとに、ビュー・ウィンドウの特定
の列icolに対応するビットマップ・イメージの列インデ
ックスBMColを、好ましくは次式によって決定する。
【0129】BMCol=icol−startCol
【0130】加えて、ビュー・ウィンドウの列(icol)
の行の範囲(startRow、EndRow)の各行irowを順に選択
し、以下のように処理する。まず、ビュー・ウィンドウ
の選択された行irowに対応するビットマップ・イメージ
の行インデックスBMRowを、好ましくは次式によって決
定する。
【0131】BMRow=irow−startRow
【0132】次に、インデックスBMRow、BMColによって
識別されるピクセルのビットマップ・イメージの色値
を、ステップ703で決定した、インデックス(irow、
icol)によって識別されるビュー・ウィンドウのピクセ
ルの色値の代わりに用いる。
【0133】ビットマップ・イメージによってカバーさ
れるビュー・ウィンドウの列の範囲(startCol、endCo
l)を処理したのち、処理は終わる。
【0134】上記の処理は、環境マップとは別にある1
個以上のビットマップ・イメージをパノラマシーン中で
向き付けし、表示することを可能にする。
【0135】代替えの実施態様では、上述の機構を変形
して、深さ値をビットマップ・イメージのピクセルと関
連させることにより、ビットマップ・イメージと環境マ
ップとの統合を高めてもよい。このシナリオでは、ステ
ップ701で、深さ値を各ビットマップ・イメージのピ
クセルと関連させる。深さマップのピクセルの深さ値は
一定であってもよい。あるいはまた、深さ値をビットマ
ップ・イメージのピクセルにわたって変化させてもよ
い。この場合、深さ値は、好ましくは、中央のピクセル
に対してのイメージの深さを表す。したがって、ビット
マップ・イメージの各ピクセルの深さは、ビットマップ
・イメージの特徴的な方位角θおよび仰角φならびに所
与のピクセルに関連する中心ピクセルに対するピクセル
の相対深さから決定することができる。加えて、デフォ
ルト深さ値(Dmax)を環境マップのピクセルと関連させ
る。
【0136】好ましくは、深さバッファを使用して、ビ
ュー・ウィンドウの各ピクセルに関連する深さ値を記憶
する。ピクセルそれぞれの深さ値を最大値(Dmax)に初
期化する。ステップ703で、深さバッファにはアクセ
スせず、したがって、Dmaxの深さ値を、ビュー・ウィン
ドウに投影される環境マップのピクセルに割り当てる。
ステップ707で、ピクセル(BMRow、BMCol)でのビッ
トマップ・イメージの深さ値(Dnew)を、ビュー・ウィ
ンドウのピクセル(irow、icol)に対応する深さバッフ
ァの位置に記憶された深さ値Boldと比較する。ビットマ
ップ・イメージの深さ値Dnewが、ビットマップ・イメー
ジが、記憶された深さ値Doldよりもビューポイントに近
いことを示すならば、ピクセル(irow、icol)に対応す
る深さバッファの位置を更新して値Dnewを記憶し、イン
デックス(irow、icol)によって識別されるビュー・ウ
ィンドウのピクセルの色値を、インデックス(BMRow、B
MCol)によって識別されるピクセルでのビットマップ・
イメージの色値で上書きする。
【0137】この処理は、複数のビットマップ・イメー
ジの間で部分的(または完全)なオクルージョンが生じ
たとき、もっとも近いビットマップ・イメージを表示す
る。
【0138】代替えの実施態様では、上述の機構を変形
して、深さ値をビットマップ・イメージのピクセルおよ
び環境マップのピクセルと関連させることにより、ビッ
トマップ・イメージと環境マップとの統合を高めてもよ
い。このシナリオでは、ステップ701で、深さ値を各
ビットマップ・イメージのピクセルと関連させる。好ま
しくは、深さ値は、中央のピクセルに対してのイメージ
の深さを表す。この場合、ビットマップ・イメージの各
ピクセルの深さは、ビットマップ・イメージの特徴的な
方位角θおよび仰角φならびに所与のピクセルに関連す
る中心ピクセルに対するピクセルの相対深さから決定す
ることができる。加えて、深さ値を環境マップのピクセ
ルと関連させる。たとえば、円筒環境マップの場合、環
境マップの所与のピクセルと関連する深さ値は、円筒の
原点から円筒のピクセルまでの距離によって決定するこ
とができる。別の例では、円筒環境マップが三次元シー
ンのレンダリングから導出されたものであるならば、環
境マップのピクセルの深さ値は、シーンの物体の深さ情
報から導出することもできる。
【0139】深さバッファを使用して、ビュー・ウィン
ドウの各ピクセルと関連する深さ値を記憶してもよい。
ビュー・ウィンドウのピクセルそれぞれの深さ値を最大
値(Dmax)に初期化する。ステップ703で、図27を
参照しながら上述したように、環境マップをビュー・ウ
ィンドウに投影すると、深さバッファを更新して、ビュ
ー・ウィンドウの所与のピクセルをカバーする環境マッ
プのピクセルに関連する深さ値を記憶する。投影ステッ
プはまた、結果として、ビュー・ウィンドウの行および
列のピクセルの色値を生成する。ステップ707で、ピ
クセル(BMRow、BMCol)のビットマップ・イメージの深
さ値Dnewを、ビュー・ウィンドウのピクセル(irow、ic
ol)に対応する深さバッファの位置に記憶された深さ値
Doldと比較する。ビットマップ・イメージの深さ値Dnew
が、ビットマップ・イメージが、記憶された深さ値Dold
よりもビューポイントに近いことを示すならば、ピクセ
ル(irow、icol)に対応する深さバッファの位置を更新
して値Dnewを記憶し、インデックス(irow、icol)によ
って識別されるビュー・ウィンドウのピクセルの色値
を、インデックス(BMRow、MBCol)によって識別される
ピクセルでのビットマップ・イメージの色値で上書きす
る。
【0140】この処理は、複数のビットマップ・イメー
ジおよび/または環境マップの間で部分的(または完
全)なオクルージョンが生じたとき、ビットマップ・イ
メージまたは環境マップを表示する。
【0141】代替えの実施態様では、深さ値をビットマ
ップ・イメージのピクセルおよび環境マップのピクセル
と関連させる上述の機構を変形して、ビュー・ウィンド
ウの各ピクセルに対応する深さ値を記憶する深さバッフ
ァが必要とされないようにしてもよい。この実施態様で
は、ステップ701で、深さ値は各ビットマップ・イメ
ージのピクセルと関連し、深さ値は、上述したように、
環境マップのピクセルと関連する。ステップ703で、
図27を参照しながら上述したように、環境マップをビ
ュー・ウィンドウに投影するとき、インデックス(iro
w、icol)によって識別されるビュー・ウィンドウのピ
クセルごとに、ビュー・ウィンドウのピクセルがビット
マップ・イメージによってカバーされるかどうかを決定
する。
【0142】ビュー・ウィンドウがビットマップ・イメ
ージによって部分的にカバーされないならば、図27を
参照しながら上述したように処理が継続して、ビュー・
ウィンドウのピクセル(irow、icol)の色値が環境マッ
プの適切な要素の色値に設定されるようになる。
【0143】しかし、ビュー・ウィンドウのピクセルが
ビットマップ・イメージによって部分的にカバーされて
いないならば、ビュー・ウィンドウの選択されたピクセ
ル(irow、icol)に対応するビットマップ・イメージの
行インデックスおよび列インデックスBMRow、BMColを決
定する。加えて、ピクセル(BMRow、BMCol)でのビット
マップ・イメージの深さ値を、ビュー・ウィンドウのピ
クセル(irow、icol)に対応する環境マップのピクセル
の深さ値と比較する。ビットマップ・イメージのピクセ
ル(BMRow、BMCol)の深さ値が、ビットマップ・イメー
ジのピクセル(BMRow、BMCol)の方が、環境マップのピ
クセルよりもビュー・ポイントに近いことを示すなら
ば、ビュー・ウィンドウのピクセル(irow、icol)の色
値を、インデックス(BMRow、MBCol)によって識別され
るピクセルでのビットマップ・イメージの色値に設定す
る。そうでなければ、ビュー・ウィンドウのピクセル
(irow、icol)の色値を、環境マップの対応するピクセ
ルの色値に設定する。
【0144】この処理は、複数のビットマップ・イメー
ジおよび/または環境マップの間で部分的(または完
全)なオクルージョンが生じたとき、ふさぐとき、ビッ
トマップ・イメージまたは環境マップを表示し、ビュー
・ウィンドウのピクセルの深さ情報を記憶する深さバッ
ファを要しない。
【0145】パノラマシーンを生成する際にビットマッ
プ・イメージを環境マップと統合する機構を述べた上記
の実施態様では、環境マップに対するビットマップ・イ
メージの位置および/または向きを変更して、そのよう
なビットマップ・イメージの動きを提供してもよい。そ
のうえ、ビットマップ・イメージを選択的に表示して、
イメージのゆがみまたは他の所望の属性を提供してもよ
い。たとえば、それぞれが異なった位置に尾を有する同
じ一匹の魚を表す4個のビットマップ・イメージを考え
てみる。この場合、適切なビットマップ・イメージの選
択を、表示されたビットマップ・イメージの向きの変化
と同調させることにより、魚が泳いでいるように見せる
ことができる。
【0146】加えて、ビットマップ・イメージに対して
適切なスケーリング処理(拡大/縮小)を実行すること
により、ビットマップ・イメージの深さ値の変化を表し
てもよい。たとえば、ビットマップ・イメージをビュー
・ポイントにより近づける(深さで)ならば、ビットマ
ップ・イメージに対して拡大(ズーム・イン)処理を実
行することができる。しかし、ビットマップ・イメージ
をビュー・ポイントからさらに遠ざける(深さで)なら
ば、ビットマップ・イメージに対して縮小(ズーム・ア
ウト)処理を実行することができる。このシナリオで
は、ビュー・ウィンドウとビットマップ・イメージとの
間のマッピングは、ビットマップ・イメージのスケーリ
ング処理を考慮に入れることになろう。
【0147】上述の機構は、パノラマシーンをレンダリ
ングするとき、1個以上のビットマップ・イメージを環
境マップに統合することを考慮している。環境マップ
は、上述したような円筒環境マップであってもよい。し
かし、この機構はこれには限定されず、いかなるタイプ
の環境マップとで使用してもよい。たとえば、環境マッ
プは、立方体の環境マップ、球形の環境マップまたは、
米国特許出願第60/022,428号に記載のような
多面形の環境マップであってもよい。
【0148】特定の実施態様を参照しながら本発明を示
し、記載したが、当業者であれば、本発明の真髄および
範囲を逸することなく、形態および詳細において前記お
よびその他の変形、省略および追加を成しうることを理
解すべきである。
【0149】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)シーンのビューを生成する方法であって、前記シ
ーンを表す環境マップの要素と関連する色値をメモリに
記憶するステップと、前記環境マップとは別にあるビッ
トマップ・イメージの要素と関連する色値をメモリに記
憶するステップと、前記環境マップの座標系に対して前
記ビットマップ・イメージを向き付けするステップと、
前記環境マップを、ピクセルの配列を含むビュー・ウィ
ンドウに投影するステップと、前記ビットマップ・イメ
ージによってカバーされる前記ビュー・ウィンドウの少
なくとも1個のピクセルについて、前記ビュー・ウィン
ドゥの前記ピクセルに対応する、前記ビットマップ・イ
メージの少なくとも1個の要素を決定するステップと、
前記ビットマップ・イメージの前記少なくとも1個の要
素の色値に基づき、前記ピクセルの色値を導出するステ
ップと、前記ピクセルの導出した色値を表示のために記
憶するステップと、を含むことを特徴とする方法。 (2)シーンのビューを生成する方法にであって、前記
シーンを表す環境マップの要素と関連する色値をメモリ
に記憶するステップと、前記環境マップとは別にあるビ
ットマップ・イメージの要素と関連する色値をメモリに
記憶するステップと、前記ビットマップ・イメージの要
素と関連する深さ値をメモリに記憶するステップと、前
記環境マップの座標系に対して前記ビットマップ・イメ
ージを向き付けするステップと、前記環境マップを、ピ
クセルの配列を含むビュー・ウィンドウに投影するステ
ップと、前記ビットマップ・イメージによってカバーさ
れる前記ビュー・ウィンドウの少なくとも1個のピクセ
ルについて、前記ビュー・ウィンドゥの前記ピクセルに
対応する、前記ビットマップ・イメージの少なくとも1
個の要素を決定するステップと、前記ピクセルと関連す
る深さ値および前記少なくとも1個の要素と関連する深
さ値が、前記少なくとも1個の要素が前記ピクセルより
もビュー・ポイントに近いことを示すならば、前記ビッ
トマップ・イメージの前記少なくとも1個の要素の色値
に基づき、前記ピクセルの色値を導出するステップと、
前記ピクセルの導出した色値を表示のために記憶するス
テップと、を含むことを特徴とする方法。 (3)前記ビットマップ・イメージによってカバーされ
る前記ビュー・ウィンドウの前記少なくとも1個のピク
セルについて、前記ピクセルと関連する前記深さ値およ
び前記少なくとも1個の要素と関連する前記深さ値が、
前記少なくとも1個の要素が前記ピクセルよりも前記ビ
ュー・ポイントから遠いことを示すならば、前記ピクセ
ルに対応する、前記環境マップの少なくとも1個の要素
の色値に基づき、前記ピクセルの色値を導出し、前記ピ
クセルの導出した色値を表示のために記憶する上記
(2)記載の方法。 (4)前記ビュー・ウィンドウの前記ピクセルと関連す
る深さ値を深さバッファに記憶する上記(3)記載の方
法。 (5)前記ビットマップ・イメージによってカバーされ
る前記ビュー・ウィンドウの前記少なくとも1個のピク
セルについて、前記ピクセルと関連する前記深さ値およ
び前記少なくとも1個の要素と関連する前記深さ値が、
前記少なくとも1個の要素が前記ピクセルよりも前記ビ
ュー・ポイントに近いことを示すならば、前記ビットマ
ップ・イメージの前記少なくとも1個の要素と関連する
前記深さ値にしたがって、前記ビュー・ウィンドウの前
記ピクセルと関連する前記深さ値を更新する上記(4)
記載の方法。 (6)前記環境マップの前記要素と関連する深さ値をメ
モリに記憶するステップをさらに含み、前記ビュー・ウ
ィンドウの前記ピクセルと関連する前記深さ値を、前記
ビュー・ウィンドウの前記ピクセルに対応する、前記環
境マップの少なくとも1個の要素と関連する深さ値から
導出する上記(2)記載の方法。 (7)シーンのビューを生成する方法ステップを実行す
るために機械によって実行可能な命令のプログラムを具
現化する機械読み出し可能なプログラム記憶装置におい
て、前記方法ステップが、前記シーンを表す環境マップ
の要素と関連する色値をメモリに記憶するステップと、
前記環境マップとは別にあるビットマップ・イメージの
要素と関連する色値をメモリに記憶するステップと、前
記環境マップの座標系に対して前記ビットマップ・イメ
ージを向き付けするステップと、前記環境マップを、ピ
クセルの配列を含むビュー・ウィンドウに投影するステ
ップと、前記ビットマップ・イメージによってカバーさ
れる前記ビュー・ウィンドウの少なくとも1個のピクセ
ルについて、前記ビュー・ウィンドゥの前記ピクセルに
対応する、前記ビットマップの少なくとも1個の要素を
決定するステップと、前記ビットマップ・イメージの前
記少なくとも1個の要素の色値に基づき、前記ピクセル
の色値を導出するステップと、前記ピクセルの導出した
色値を表示のために記憶するステップと、を含むことを
特徴とするプログラム記憶装置。 (8)シーンのビューを生成する方法ステップを実行す
るために機械によって実行可能な命令のプログラムを具
現化する機械読み出し可能なプログラム記憶装置におい
て、前記方法が、前記シーンを表す環境マップの要素と
関連する色値をメモリに記憶するステップと、前記環境
マップとは別にあるビットマップ・イメージの要素と関
連する色値をメモリに記憶するステップと、前記ビット
マップ・イメージの要素と関連する深さ値をメモリに記
憶するステップと、前記環境マップの座標系に対して前
記ビットマップ・イメージを向き付けするステップと、
前記環境マップを、ピクセルの配列を含むビュー・ウィ
ンドウに投影するステップと、前記ビットマップ・イメ
ージによってカバーされる前記ビュー・ウィンドウの少
なくとも1個のピクセルについて、前記ビュー・ウィン
ドゥの前記ピクセルに対応する、前記ビットマップ・イ
メージの少なくとも1個の要素を決定するステップと、
前記ピクセルと関連する深さ値および前記少なくとも1
個の要素と関連する深さ値が、前記少なくとも1個の要
素が前記ピクセルよりもビュー・ポイントに近いことを
示すならば、前記ビットマップ・イメージの前記少なく
とも1個の要素の色値に基づき、前記ピクセルの色値を
導出するステップと、前記ピクセルの導出した色値を表
示のために記憶するステップと、を含むことを特徴とす
るプログラム記憶装置。 (9)前記ビットマップ・イメージによってカバーされ
る前記ビュー・ウィンドウの前記少なくとも1個のピク
セルについて、前記ピクセルと関連する前記深さ値およ
び前記少なくとも1個の要素と関連する前記深さ値が、
前記少なくとも1個の要素が前記ピクセルよりも前記ビ
ュー・ポイントから遠いことを示すならば、前記ピクセ
ルに対応する、前記環境マップの少なくとも1個の要素
の色値に基づき、前記ピクセルの色値を導出し、前記ピ
クセルの導出した色値を表示のために記憶する上記
(8)記載のプログラム記憶装置。 (10)前記ビュー・ウィンドウの前記ピクセルと関連
する深さ値を深さバッファに記憶する上記(9)記載の
プログラム記憶装置。 (11)前記ビットマップ・イメージによってカバーさ
れる前記ビュー・ウィンドウの前記少なくとも1個のピ
クセルについて、前記ピクセルと関連する前記深さ値お
よび前記少なくとも1個の要素と関連する前記深さ値
が、前記少なくとも1個の要素が前記ピクセルよりも前
記ビュー・ポイントに近いことを示すならば、前記ビッ
トマップ・イメージの前記少なくとも1個の要素と関連
する前記深さ値にしたがって、前記ビュー・ウィンドウ
の前記ピクセルと関連する前記深さ値を更新する上記
(10)記載のプログラム記憶装置。 (12)前記環境マップの前記要素と関連する深さ値を
メモリに記憶するステップをさらに含み、前記ビュー・
ウィンドウの前記ピクセルと関連する前記深さ値を、前
記ビュー・ウィンドウの前記ピクセルに対応する、前記
環境マップの少なくとも1個の要素と関連する深さ値か
ら導出する上記(8)記載のプログラム記憶装置。
【図面の簡単な説明】
【図1】本発明の好ましい実施態様に用いることができ
るコンピュータ処理システムの機能ブロック図である。
【図2】円筒環境マップの円筒、円筒軸、軸の原点、第
二の座標軸および第三の座標軸を示す図である。
【図3】図2の円筒を矩形区域に分割した図である。
【図4】図3の円筒の原点(O)および矩形区域(ab
cd)によって画定される角錐形体積(OABCD)を
示す図である。
【図5】図2の円筒の一部(abcdef)を円筒軸に
平行な面(ABCDEF)に投影した図である。
【図6】図5の円筒および投影面を円筒軸の上から見た
図である。
【図7】図5の円筒および投影面を、円筒軸および投影
面の中心線(BE)を含む面に垂直な方向から見た図で
ある。
【図8】それぞれが90°の水平視野を有する4個のイ
メージを円筒環境マップの円筒にマッピングしたものを
円筒軸の上から見た図である。
【図9】水平視野αを有する一つのイメージを円筒環境
マップの円筒にマッピングしたものを円筒軸の上から見
た図である。
【図10】水平視野αを有するイメージを円筒にマッピ
ングしたものを、図9に示す円筒軸に垂直な面A−Aの
方向から見た側面図である。
【図11】水平視野αを有するイメージを円筒にマッピ
ングしたものを、図9に示す円筒軸に垂直な面B−Bの
方向から見た側面図である。
【図12】図8に示す円筒に対する4個のイメージのマ
ッピングから導出される、展開した円筒環境マップを示
す図である。
【図13】本発明にしたがって円筒環境マップの円筒に
イメージをマッピングするのに使用される角度θ、
θ1 、αおよびδを示す図である。
【図14】イメージを円筒にマッピングするのに使用さ
れるPanRowとImgRowとの関係を示す図である。
【図15】トップ・イメージ中の点に関するPanRowとRt
opとの関係を示す図である。
【図16】トップ・イメージ中の点の位置を示す図であ
る。
【図17】視野と、その視野に入る円筒環境マップの部
分が投影されるところの、視野に対応するビュー面とを
示す図である。
【図18】円筒環境マップの一部をビュー・ウィンドウ
に投影した側面図である。
【図19】円筒環境マップの一部をビュー・ウィンドウ
に投影した側面図である。
【図20】本発明にしたがってサイド・イメージをトッ
プ・イメージおよび/またはボトム・イメージとともに
円筒環境マップにマッピングする際のシステムの動作を
説明するフロー・チャートである。
【図21】行列に分割されたサイド・イメージおよびデ
ータを示す図である。
【図22】図21のサイド・イメージのピクセルごとに
記憶されるデータを示す図である。
【図23】行列に分割されたトップ・イメージを示す図
である。
【図24】図23のトップ・イメージのピクセルごとに
記憶されるデータを示す図である。
【図25】サイド・イメージ、トップ・イメージまたは
ボトム・イメージ中の対応するピクセルの内部の円筒の
列のピクセルを満たす際のシステムの動作を説明するフ
ロー・チャートである。
【図26】円筒の列中の所与のピクセルに対応するトッ
プ・イメージまたはボトム・イメージ中のピクセルを決
定する際のシステムの動作を説明するフロー・チャート
である。
【図27】円筒環境マップにマッピングされたパノラマ
イメージのビューを生成する際のシステムの動作を説明
するフロー・チャートである。
【図28】本発明にしたがってビュー・ウィンドウの選
択された列のピクセルをレンダリングする際のシステム
の動作を説明するフロー・チャートである。
【図29】サーバに記憶された、解像度が漸進的に高ま
る複数の環境マップを操作する際のクライアントおよび
サーバの動作を示す図である。
【図30】サーバに記憶された、解像度が漸進的に高ま
る複数の環境マップを操作する際のクライアントおよび
サーバの動作を示す図である。
【図31】サーバに記憶された、解像度が漸進的に高ま
る複数の環境マップを操作する際のクライアントおよび
サーバの動作を示す図である。
【図32】本発明にしたがってビットマップ・イメージ
および環境マップをレンダリングするためのシステムの
動作を説明するフロー・チャートである。
【図33】ビットマップ・イメージと円筒環境マップと
の空間的関係を示す図である。
【図34】ビットマップ・イメージに特徴的な方位角を
示す、円筒軸を上から見た円筒環境マップの平面図であ
る。
【図35】ビットマップ・イメージに特徴的な仰角を示
す、円筒の第二および第三の軸の面から見た円筒環境マ
ップの図である。
【符号の説明】
101 メモリ 103 CPU 104 フレームバッファ 105 表示装置 107 入力装置 108 不揮発性記憶装置 109 通信リンク
フロントページの続き (72)発明者 ウィリアム・ルイス・ルケン アメリカ合衆国10598、 ニューヨーク 州 ヨークタウン ハイツ ファーム ウォーク ロード 2924 (72)発明者 ジャイ・ピー・メノン アメリカ合衆国105666、 ニューヨーク 州 ピークスキル キャンパス ロード 55 (56)参考文献 実開 平3−100892(JP,U) 米国特許5396583(US,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/00 - 17/50

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】シーンのビューを生成する方法であって、 前記シーンを表し、イメージを計算する範囲を示すデー
    タを含む環境マップの要素と関連する色値を列順にメモ
    リに記憶するステップと、 前記環境マップとは別にあるビットマップ・イメージの
    要素と関連する色値をメモリに記憶するステップと、 前記環境マップの座標系に対して前記ビットマップ・イ
    メージを向き付けするステップと、 前記環境マップを、ピクセルの配列を含むビュー・ウィ
    ンドウに投影するステップと、 前記ビットマップ・イメージによってカバーされる前記
    ビュー・ウィンドウの少なくとも1個のピクセルについ
    て、 前記ビュー・ウィンドゥの前記ピクセルに対応する、前
    記ビットマップ・イメージの少なくとも1個の要素を決
    定するステップと、 前記ビットマップ・イメージの前記少なくとも1個の要
    素の色値に基づき、前記ピクセルの色値を導出するステ
    ップと、前記環境マップのイメージを計算する範囲を示すデータ
    に基づいて、前記環境マップを超える範囲のピクセルの
    色値を導出するステップと、 前記ピクセルの導出した色値を表示のために記憶するス
    テップと、 を含むことを特徴とする方法。
  2. 【請求項2】シーンのビューを生成する方法であって、 前記シーンを表し、イメージを計算する範囲を示すデー
    タを含む環境マップの要素と関連する色値を列順にメモ
    リに記憶するステップと、 前記環境マップとは別にあるビットマップ・イメージの
    要素と関連する色値をメモリに記憶するステップと、 前記ビットマップ・イメージの要素と関連する深さ値を
    メモリに記憶するステップと、 前記環境マップの座標系に対して前記ビットマップ・イ
    メージを向き付けするステップと、 前記環境マップを、ピクセルの配列を含むビュー・ウィ
    ンドウに投影するステップと、 前記ビットマップ・イメージによってカバーされる前記
    ビュー・ウィンドウの少なくとも1個のピクセルについ
    て、 前記ビュー・ウィンドゥの前記ピクセルに対応する、前
    記ビットマップ・イメージの少なくとも1個の要素を決
    定するステップと、 前記ピクセルと関連する深さ値および前記少なくとも1
    個の要素と関連する深さ値が、前記少なくとも1個の要
    素が前記ピクセルよりもビュー・ポイントに近いことを
    示すならば、 前記ビットマップ・イメージの前記少なくとも1個の要
    素の色値に基づき、前記ピクセルの色値を導出するステ
    ップと、前記環境マップのイメージを計算する範囲を示すデータ
    に基づいて、前記環境マップを超える範囲のピクセルの
    色値を導出するステップと、 前記ピクセルの導出した色値を表示のために記憶するス
    テップと、 を含むことを特徴とする方法。
  3. 【請求項3】前記ビットマップ・イメージによってカバ
    ーされる前記ビュー・ウィンドウの前記少なくとも1個
    のピクセルについて、 前記ピクセルと関連する前記深さ値および前記少なくと
    も1個の要素と関連する前記深さ値が、前記少なくとも
    1個の要素が前記ピクセルよりも前記ビュー・ポイント
    から遠いことを示すならば、 前記ピクセルに対応する、前記環境マップの少なくとも
    1個の要素の色値に基づき、前記ピクセルの色値を導出
    し、 前記ピクセルの導出した色値を表示のために記憶する請
    求項2記載の方法。
  4. 【請求項4】前記ビュー・ウィンドウの前記ピクセルと
    関連する深さ値を深さバッファに記憶する請求項3記載
    の方法。
  5. 【請求項5】前記ビットマップ・イメージによってカバ
    ーされる前記ビュー・ウィンドウの前記少なくとも1個
    のピクセルについて、 前記ピクセルと関連する前記深さ値および前記少なくと
    も1個の要素と関連する前記深さ値が、前記少なくとも
    1個の要素が前記ピクセルよりも前記ビュー・ポイント
    に近いことを示すならば、 前記ビットマップ・イメージの前記少なくとも1個の要
    素と関連する前記深さ値にしたがって、前記ビュー・ウ
    ィンドウの前記ピクセルと関連する前記深さ値を更新す
    る請求項4記載の方法。
  6. 【請求項6】前記環境マップの前記要素と関連する深さ
    値をメモリに記憶するステップをさらに含み、前記ビュ
    ー・ウィンドウの前記ピクセルと関連する前記深さ値
    を、前記ビュー・ウィンドウの前記ピクセルに対応す
    る、前記環境マップの少なくとも1個の要素と関連する
    深さ値から導出する請求項2記載の方法。
  7. 【請求項7】シーンのビューを生成する方法ステップを
    実行するために機械によって実行可能な命令のプログラ
    ムを具現化する機械読み出し可能なプログラム記憶装置
    において、前記方法ステップが、 前記シーンを表し、イメージを計算する範囲を示すデー
    タを含む環境マップの要素と関連する色値を列順にメモ
    リに記憶するステップと、 前記環境マップとは別にあるビットマップ・イメージの
    要素と関連する色値をメモリに記憶するステップと、 前記環境マップの座標系に対して前記ビットマップ・イ
    メージを向き付けするステップと、 前記環境マップを、ピクセルの配列を含むビュー・ウィ
    ンドウに投影するステップと、 前記ビットマップ・イメージによってカバーされる前記
    ビュー・ウィンドウの少なくとも1個のピクセルについ
    て、 前記ビュー・ウィンドゥの前記ピクセルに対応する、前
    記ビットマップの少なくとも1個の要素を決定するステ
    ップと、 前記ビットマップ・イメージの前記少なくとも1個の要
    素の色値に基づき、前記ピクセルの色値を導出するステ
    ップと、前記環境マップのイメージを計算する範囲を示すデータ
    に基づいて、前記環境マップを超える範囲のピクセルの
    色値を導出するステップと、 前記ピクセルの導出した色値を表示のために記憶するス
    テップと、 を含むことを特徴とするプログラム記憶装置。
  8. 【請求項8】シーンのビューを生成する方法ステップを
    実行するために機械によって実行可能な命令のプログラ
    ムを具現化する機械読み出し可能なプログラム記憶装置
    において、前記方法が、 前記シーンを表し、イメージを計算する範囲を示すデー
    タを含む環境マップの要素と関連する色値を列順にメモ
    リに記憶するステップと、 前記環境マップとは別にあるビットマップ・イメージの
    要素と関連する色値をメモリに記憶するステップと、 前記ビットマップ・イメージの要素と関連する深さ値を
    メモリに記憶するステップと、 前記環境マップの座標系に対して前記ビットマップ・イ
    メージを向き付けするステップと、 前記環境マップを、ピクセルの配列を含むビュー・ウィ
    ンドウに投影するステップと、 前記ビットマップ・イメージによってカバーされる前記
    ビュー・ウィンドウの少なくとも1個のピクセルについ
    て、 前記ビュー・ウィンドゥの前記ピクセルに対応する、前
    記ビットマップ・イメージの少なくとも1個の要素を決
    定するステップと、 前記ピクセルと関連する深さ値および前記少なくとも1
    個の要素と関連する深さ値が、前記少なくとも1個の要
    素が前記ピクセルよりもビュー・ポイントに近いことを
    示すならば、 前記ビットマップ・イメージの前記少なくとも1個の要
    素の色値に基づき、前記ピクセルの色値を導出するステ
    ップと、前記環境マップのイメージを計算する範囲を示すデータ
    に基づいて、前記環境マップを超える範囲のピクセルの
    色値を導出するステップと、 前記ピクセルの導出した色値を表示のために記憶するス
    テップと、 を含むことを特徴とするプログラム記憶装置。
  9. 【請求項9】前記ビットマップ・イメージによってカバ
    ーされる前記ビュー・ウィンドウの前記少なくとも1個
    のピクセルについて、 前記ピクセルと関連する前記深さ値および前記少なくと
    も1個の要素と関連する前記深さ値が、前記少なくとも
    1個の要素が前記ピクセルよりも前記ビュー・ポイント
    から遠いことを示すならば、 前記ピクセルに対応する、前記環境マップの少なくとも
    1個の要素の色値に基づき、前記ピクセルの色値を導出
    し、 前記ピクセルの導出した色値を表示のために記憶する請
    求項8記載のプログラム記憶装置。
  10. 【請求項10】前記ビュー・ウィンドウの前記ピクセル
    と関連する深さ値を深さバッファに記憶する請求項9記
    載のプログラム記憶装置。
  11. 【請求項11】前記ビットマップ・イメージによってカ
    バーされる前記ビュー・ウィンドウの前記少なくとも1
    個のピクセルについて、 前記ピクセルと関連する前記深さ値および前記少なくと
    も1個の要素と関連する前記深さ値が、前記少なくとも
    1個の要素が前記ピクセルよりも前記ビュー・ポイント
    に近いことを示すならば、 前記ビットマップ・イメージの前記少なくとも1個の要
    素と関連する前記深さ値にしたがって、前記ビュー・ウ
    ィンドウの前記ピクセルと関連する前記深さ値を更新す
    る請求項10記載のプログラム記憶装置。
  12. 【請求項12】前記環境マップの前記要素と関連する深
    さ値をメモリに記憶するステップをさらに含み、前記ビ
    ュー・ウィンドウの前記ピクセルと関連する前記深さ値
    を、前記ビュー・ウィンドウの前記ピクセルに対応す
    る、前記環境マップの少なくとも1個の要素と関連する
    深さ値から導出する請求項8記載のプログラム記憶装
    置。
JP19952297A 1996-08-05 1997-07-25 ビットマップ・イメージを環境マップにオーバレイする方法および装置 Expired - Fee Related JP3149389B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US2314396P 1996-08-05 1996-08-05
US08/723970 1996-08-05
US60/023143 1996-08-05
US08/723,970 US5912670A (en) 1996-08-05 1996-09-27 Method and apparatus for overlaying a bit map image on an environment map

Publications (2)

Publication Number Publication Date
JPH1097640A JPH1097640A (ja) 1998-04-14
JP3149389B2 true JP3149389B2 (ja) 2001-03-26

Family

ID=26696782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19952297A Expired - Fee Related JP3149389B2 (ja) 1996-08-05 1997-07-25 ビットマップ・イメージを環境マップにオーバレイする方法および装置

Country Status (1)

Country Link
JP (1) JP3149389B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001149639A (ja) * 1999-11-25 2001-06-05 Sony Computer Entertainment Inc 画像処理装置、画像生成方法および記憶媒体
JP3472273B2 (ja) 2001-03-07 2003-12-02 キヤノン株式会社 画像再生装置及び画像処理装置及び方法
JP2003085586A (ja) * 2001-06-27 2003-03-20 Namco Ltd 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム
JP2003009039A (ja) * 2001-06-27 2003-01-10 Namco Ltd 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム

Also Published As

Publication number Publication date
JPH1097640A (ja) 1998-04-14

Similar Documents

Publication Publication Date Title
US6031541A (en) Method and apparatus for viewing panoramic three dimensional scenes
KR100259424B1 (ko) 환경 맵 상에 비트 맵 화상을 오버레이 하기 위한 방법 및 장치
EP1008112B1 (en) Techniques for creating and modifying 3d models and correlating such models with 2d pictures
RU2215326C2 (ru) Иерархическое основанное на изображениях представление неподвижного и анимированного трехмерного объекта, способ и устройство для использования этого представления для визуализации объекта
US6434277B1 (en) Image processing apparatus and method, and medium therefor
US5684937A (en) Method and apparatus for performing perspective transformation on visible stimuli
US6529206B1 (en) Image processing apparatus and method, and medium therefor
US6222551B1 (en) Methods and apparatus for providing 3D viewpoint selection in a server/client arrangement
US5396583A (en) Cylindrical to planar image mapping using scanline coherence
US6081273A (en) Method and system for building three-dimensional object models
US20020113865A1 (en) Image processing method and apparatus
US20110050685A1 (en) Image processing apparatus, image processing method, and program
US5963213A (en) Method and system for accelerating warping
US20090153555A1 (en) System and Computer-Implemented Method for Modeling the Three-Dimensional Shape of An Object by Shading of a Two-Dimensional Image of the Object
US6724383B1 (en) System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object
US5793372A (en) Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically using user defined points
US6230167B1 (en) Method and apparatus for generating and displaying hotlinks in a panoramic three dimensional scene
JP3149389B2 (ja) ビットマップ・イメージを環境マップにオーバレイする方法および装置
KR100490885B1 (ko) 직각 교차 실린더를 이용한 영상기반 렌더링 방법
Borshukov New algorithms for modeling and rendering architecture from photographs
KR100264486B1 (ko) 파노라마식 3차원 경치를 뷰잉하는 방법 및 장치
JP2000057377A (ja) 画像処理装置および画像処理方法、並びに媒体
Brosz et al. Shape defined panoramas
KR100270140B1 (ko) 파노라마식 3차원 경치에 핫링크를 발생하여 표시하는 방법 및 장치.
AU744983B2 (en) System and computer-implemented method for modeling the three-dimensional shape of an object by shading of two-dimensional image of the object

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080119

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090119

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees