JP3149389B2 - Method and apparatus for overlaying a bitmap image on an environment map - Google Patents

Method and apparatus for overlaying a bitmap image on an environment map

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
Japanese (ja)
Other versions
JPH1097640A (en
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/en
Application granted granted Critical
Publication of JP3149389B2 publication Critical patent/JP3149389B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、一般に、画像処理
システムに関し、より詳細には、ユーザが、あるシーン
の多数のビューを表すデータからパノラマ三次元イメー
ジを作成し、視ることを可能にする画像処理システムに
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates generally to image processing systems, and more particularly, to enabling a user to create and view panoramic three-dimensional images from data representing multiple views of a scene. To an image processing system.

【0002】[0002]

【従来の技術】従来の三次元グラフィックス・アプリケ
ーションおよび関連のハードウェアは、1個以上の三次
元物体からなるシーンをレンダリング(精密描画)す
る。物体は通常、幾何学的基本要素、たとえば三角形に
よって表される。物体は、基本要素の位置および色をモ
デル座標系の中で表すグラフィックス・データとして表
される。グラフィックス・システムは、ビュー・ポイン
トに基づき、ビュー・ウィンドウの中に見えるようなシ
ーンの物体を表示するシーンをレンダリングする。ユー
ザは、ビュー・ポイント基準(カメラ)の位置および向
きを変えることにより、シーンの中を巡航することがで
きる。加えて、ビュー・ポイント基準のあらかじめ選択
した一連の位置および向きの中を巡航することにより、
アニメーションを実行することもできる。
2. Description of the Related Art Conventional three-dimensional graphics applications and associated hardware render a scene consisting of one or more three-dimensional objects. Objects are typically represented by geometric primitives, such as triangles. Objects are represented as graphics data representing the position and color of primitives in a model coordinate system. The graphics system renders the scene based on the view point, displaying scene objects as seen in the view window. The user can cruise through the scene by changing the position and orientation of the view point reference (camera). In addition, by cruising through a series of preselected positions and orientations of the view point reference,
Animations can also be performed.

【0003】レンダリング操作はコンピュータ集中的処
理であり、したがって、通常は、特殊なグラフィックス
・ハードウェアによって実行される。このようなシステ
ムは強力ではあるが、この目的だけに用いられる特殊な
ハードウェアの必要性により、いぜん高価である。
[0003] The rendering operation is a computer intensive process, and is therefore typically performed by specialized graphics hardware. While such systems are powerful, they are still expensive due to the need for specialized hardware dedicated to this purpose.

【0004】そのうえ、従来の三次元グラフィック・ス
システムでは、ユーザがそのシーンの三次元モデル(す
なわち、モデル座標系の中のシーンの幾何学的基本要素
の位置および色を表すグラフィックス・データ)を提供
しなければならない。このようなモデルは、ソフトウェ
アを周辺装置(ペン・タブレット、スキャナ、カメラな
ど)とともに用いて作成することができる。たとえば、
フランスのDaussault社によって商品名CATIAの下で販売
されているソフトウェアは、ユーザがシーンの三次元モ
デルを構成することを可能にする。しかし、このような
モデル作成ソフトウェアは高価であり、加えて、それほ
ど複雑でないシーンをモデリングするのにさえ、労働力
に有意な投資を要するおそれがある。
In addition, in conventional three-dimensional graphics systems, the user has a three-dimensional model of the scene (ie, graphics data representing the positions and colors of the scene's geometric primitives in the model coordinate system). Must be provided. Such models can be created using software with peripheral devices (pen tablets, scanners, cameras, etc.). For example,
Software sold under the trade name CATIA by the French company Daussault allows users to construct a three-dimensional model of the scene. However, such modeling software is expensive and, in addition, modeling even less complex scenes can require a significant investment in labor.

【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号明細書に見ること
ができる。
[0005] Due to the high cost associated with conventional three-dimensional graphics systems, dedicated graphics hardware that is effective in creating and viewing three-dimensional scenes but provides limited capabilities. An alternative solution has emerged that is suitable for use on a standard personal computer without the need for hardware. One such method is Ap
Software developed and sold by ple Computer under the brand name Quicktime VR. Quicktime VR
The software is divided into two separate packages. The first package sold to content providers is a teaching aid development tool that allows content providers to generate panoramic 3D images from multiple views of a scene. The second package is a viewer that is distributed to the consumer and allows the consumer to view a panoramic three-dimensional image created by the educational material development support tool. Quicktime VR
For a more detailed description of the operation of the system, see Chen's Quicktim
e VR-An Image-based Approach to Virtual Environment
ent Navigation '' SIGGRAPH 1995, Los Angeles, CA, p
p. 29-38 and U.S. Patent No. 5,396,583 to Chen et al., assigned to Apple Computer.

【0006】[0006]

【発明が解決しようとする課題】Quicktime VRシステム
は、シーン(イメージの総体)のパノラマ・ビューを表
すために円筒環境マップを使用する。円筒環境マップを
所望のビュー・ウィンドウにマッピングすることによ
り、異なる透視的ビューをレンダリングする。しかし、
Quicktime VRシステムの限界の一つは、このシステム
が、円筒環境マップとは別にあるビットマップ・イメー
ジをパノラマ・シーンに統合する能力を有しないことに
ある。
The Quicktime VR system uses a cylindrical environment map to represent a panoramic view of a scene (collection of images). Render different perspective views by mapping the cylindrical environment map to the desired view window. But,
One of the limitations of the Quicktime VR system is that it does not have the ability to integrate a bitmap image separate from the cylindrical environment map into a panoramic scene.

【0007】したがって、当該技術において、ビットマ
ップ・イメージをパノラマイメージに統合することがで
きる三次元パノラマイメージを生成し、視るための費用
効果的なシステムを提供する必要がある。
[0007] Therefore, there is a need in the art to provide a cost effective system for generating and viewing three-dimensional panoramic images that can integrate a bitmap image into a panoramic image.

【0008】[0008]

【課題を解決するための手段】従来技術に伴う上述の問
題およびその関連の問題は、シーンを表す環境マップの
要素と関連する色値と、環境マップとは別にあるビット
マップ・イメージの要素と関連する色値とをメモリに記
憶することによってシーンのビューを生成する、ビット
マップ・イメージを環境マップにオーバレイするための
本発明の原理、方法および装置によって解決される。環
境マップの座標系に対してビットマップ・イメージを向
き付けする。環境マップを、ピクセルの配列を含むビュ
ー・ウィンドウに投影する。ビットマップ・イメージに
よってカバーされるビュー・ウィンドウの少なくとも1
個のピクセルついて、ビュー面のピクセルに対応する、
ビットマップ・イメージの要素を決定し、ビットマップ
・イメージの対応する要素の色値に基づき、ピクセルの
色値を導出する。ビュー・ウィンドウのピクセルの導出
した色値を表示のために記憶する。
SUMMARY OF THE INVENTION The above and related problems associated with the prior art include the color values associated with elements of an environment map representing a scene, and the elements of a bitmap image that are separate from the environment map. The problem is solved by the principles, methods and apparatus of the present invention for overlaying a bitmap image on an environment map, which creates a view of the scene by storing associated color values in a memory. Orient the bitmap image to the environment map coordinate system. Project the environment map into a view window that contains an array of pixels. At least one of the view windows covered by the bitmap image
Pixels, corresponding to the pixels in the view plane,
Determine the elements of the bitmap image and derive the color values of the pixels based on the color values of the corresponding elements of the bitmap image. The derived color values of the pixels of the view window are stored for display.

【0009】本発明はまた、ビットマップ・イメージの
要素と関連する深さ値と、ビュー・ウィンドウのピクセ
ルと関連する深さ値とをメモリに記憶する。このシナリ
オで、ピクセルと関連する深さ値および要素と関連する
深さ値が、ビットマップ・イメージの要素がビュー・ウ
ィンドウのピクセルよりもビュー・ポイントに近いこと
を示すとき、ビュー・ウィンドウのピクセルの色値を、
ビットマップ・イメージの対応する要素の色値から導出
し、ピクセルの導出した色値を表示のために記憶する。
The present invention also stores in memory a depth value associated with an element of the bitmap image and a depth value associated with a pixel of the view window. In this scenario, when the depth value associated with the pixel and the depth value associated with the element indicate that the element of the bitmap image is closer to the view point than the pixel of the view window, the pixel of the view window Color value of
Derived from the color values of the corresponding elements of the bitmap image, and the derived color values of the pixels are stored for display.

【0010】[0010]

【発明の実施の形態】円筒環境のトップ部および/また
はボトム部を定義するデータ含む円筒環境マップからパ
ノラマ・シーンを生成する方法および装置を以下に記載
する。
DETAILED DESCRIPTION OF THE INVENTION A method and apparatus for generating a panoramic scene from a cylindrical environment map including data defining the top and / or bottom of the cylindrical environment is described below.

【0011】トップ・イメージおよびボトム・イメージ
を表すデータは、それぞれ最小および最大の仰角によっ
て決まる円に基づいて二つの部分に分割することができ
る。すなわち、トップ・イメージは、最大仰角によって
決まる円に基づいて二つの領域に分割することができ、
ボトム・イメージは、最小仰角によって決まる円に基づ
いて二つの領域に分割することができる。最小および最
大の仰角は、たとえば、サイド・イメージの中心の上縁
および下縁に対応する仰角によって決定することができ
る。これらの円の外側に位置するトップ・イメージおよ
びボトム・イメージの領域中のイメージ・データ値は、
円筒環境マップにマッピングされると、図12にXおよ
び*によって示す領域ならびに図12のトップおよびボ
トムを超えるさらなる区域を充填し、それにより、円筒
環境マップによってアクセス可能である垂直方向の高さ
値を延ばす。以下、トップ・イメージおよび/またはボ
トム・イメージを円筒環境マップに統合する方法をより
詳細に説明する。
The data representing the top and bottom images can be divided into two parts based on circles determined by the minimum and maximum elevation angles, respectively. That is, the top image can be divided into two regions based on a circle determined by the maximum elevation angle,
The bottom image can be divided into two regions based on a circle determined by the minimum elevation angle. The minimum and maximum elevation angles can be determined, for example, by the elevation angles corresponding to the upper and lower edges of the center of the side image. The image data values in the top and bottom image areas located outside these circles are:
When mapped to the cylindrical environment map, it fills the area indicated by X and * in FIG. 12 and additional areas beyond the top and bottom of FIG. 12, so that the vertical height values accessible by the cylindrical environment map Prolong. Hereinafter, a method of integrating the top image and / or the bottom image into the cylindrical environment map will be described in more detail.

【0012】円筒環境マップの各部分を記憶するのに要
するデータの量は、最大および最小の高さのマップの接
線に比例して増し、それが、60°を超える最大および
最小仰角の場合などに実施不可能になるおそれがある。
トップ・イメージおよび/またはボトム・イメージが存
在しなければ、高さ値の範囲への拡張は不可能である。
The amount of data required to store each portion of the cylindrical environment map increases in proportion to the tangent of the maximum and minimum height maps, such as for maximum and minimum elevation angles greater than 60 °. May become impossible to implement.
Without a top and / or bottom image, extension to a range of height values is not possible.

【0013】これらの円の内側に位置するトップ・イメ
ージおよびボトム・イメージの領域のイメージ・データ
値は、円筒環境マップにマッピングする必要はない。代
わりに、これらのデータ値には、イメージ投影処理の際
にアクセスして、高さ値の範囲をさらに拡張することも
でき、それは、円筒環境マップによって表されるデータ
を視覚化するのに使用される手段によって支援すること
ができる。すなわち、最大または最小の高さ値を超える
高さ値に対応する、投影イメージ中のピクセルの色値
は、前記最小および最大の仰角によって決まるトップ・
イメージおよび/またはボトム・イメージの円形領域の
内部から直接導出することができる。トップ・イメージ
およびボトム・イメージが存在しなければ、そのような
拡張された高さ値に依存する投影イメージを生成するこ
とはできない。
The image data values in the top and bottom image regions located inside these circles need not be mapped to the cylindrical environment map. Alternatively, these data values can be accessed during the image projection process to further extend the range of height values, which can be used to visualize the data represented by the cylindrical environment map. Can be assisted by the means being done. That is, the color value of a pixel in the projected image corresponding to a height value that exceeds the maximum or minimum height value is determined by the top and bottom angles determined by the minimum and maximum elevation angles.
It can be derived directly from inside the circular area of the image and / or the bottom image. Without the top and bottom images, it is not possible to generate a projection image that depends on such extended height values.

【0014】本発明は、たとえばパーソナル・コンピュ
ータ、ワークステーションまたはパーソナル・コンピュ
ータもしくはワークステーションとともに作動するグラ
フィックス・アダプタをはじめとする、いかなるコンピ
ュータ処理システムでも実現することができる。図1に
示すように、本発明によって用いることができるコンピ
ュータ処理システムは、メモリ101と、少なくとも1
個の中央処理装置(CPU)103(図では1個)と、
少なくとも1個のユーザ入力装置107(たとえばキー
ボード、マウス、ジョイスティック、音声認識装置また
は手書き認識装置)とを含む。加えて、コンピュータ処
理システムは、不揮発性メモリ、たとえば読出し専用メ
モリ(ROM)および/または他の不揮発性記憶装置1
08、たとえば、オペレーティング・システムと、メモ
リ101にロードされ、CPU103によって実行され
る1個以上のアプリケーション・プログラムとを記憶す
る固定ディスク・ドライブを含む。オペレーティング・
システムおよびアプリケーション・プログラムの実行の
際に、CPUは、不揮発性記憶装置108および/また
はメモリ101に記憶されたデータを使用することがで
きる。
The present invention can be implemented in any computer processing system, including, for example, a personal computer, a workstation or a graphics adapter working with a personal computer or workstation. As shown in FIG. 1, a computer processing system that can be used in accordance with the present invention includes a memory 101 and at least one
Central processing units (CPUs) 103 (one in the figure),
At least one user input device 107 (eg, a keyboard, mouse, joystick, voice recognizer or handwriting recognizer). In addition, the computer processing system may include a non-volatile memory, such as a read only memory (ROM) and / or other non-volatile storage 1
08, including, for example, a fixed disk drive that stores an operating system and one or more application programs loaded into memory 101 and executed by CPU 103. operating·
When executing the system and application programs, the CPU can use the data stored in the nonvolatile storage device 108 and / or the memory 101.

【0015】加えて、コンピュータ処理システムは、C
PU103と表示装置105、たとえばCRT表示装置
またはLCD表示装置との間に結合されたフレーム・バ
ッファ104を含む。フレーム・バッファ104は、表
示装置105を駆動するためのピクセル・データを含
む。システムによっては、グラフィックス・アクセラレ
ータとしても知られるレンダリング装置(図示せず)が
CPU103とフレーム・バッファ104との間に結合
されていてもよい。
In addition, the computer processing system has a C
It includes a frame buffer 104 coupled between the PU 103 and a display 105, for example, a CRT display or LCD display. Frame buffer 104 includes pixel data for driving display device 105. In some systems, a rendering device (not shown), also known as a graphics accelerator, may be coupled between CPU 103 and frame buffer 104.

【0016】さらに、コンピュータ処理システムは、C
PU103に結合された、CPU103を、通信リン
ク、たとえばインターネットを介して他のコンピュータ
処理システムと通信させることができる通信リンク10
9(たとえばネットワーク・アダプタ、RFリンクまた
はモデム)を含むことができる。CPU103は、オペ
ーティング・システムの部分、アプリケーション・プロ
グラムの部分またはオペーティング・システムおよびア
プリケーション・プログラムを実行する際にCPU10
3によって使用されるデータの部分を受けることができ
る。
Further, the computer processing system may include C
A communication link 10 coupled to the PU 103 that allows the CPU 103 to communicate with other computer processing systems via a communication link, such as the Internet.
9 (e.g., a network adapter, RF link or modem). The CPU 103 executes the operating system part, the application program part, or the operating system and the application program.
3 can receive a portion of the data used.

【0017】CPU103によって実行されるアプリケ
ーション・プログラムは、以下に説明する本発明のレン
ダリング方法を実行することができる。あるいはまた、
以下に説明するレンダリング方法の一部または全部を、
CPU103によって実行されるアプリケーション・プ
ログラムととも作動するハードウェアに具現化すること
もできる。
An application program executed by the CPU 103 can execute the rendering method of the present invention described below. Alternatively,
Some or all of the rendering methods described below,
It may be embodied in hardware that operates together with an application program executed by the CPU 103.

【0018】次に説明するものは、円筒環境のトップ部
および/またはボトム部を定義するデータを含む円筒環
境マップならびにそのような円筒環境マップのビューを
レンダリングする技法である。
Described next is a cylindrical environment map that includes data defining the top and / or bottom of a cylindrical environment, and techniques for rendering views of such a cylindrical environment map.

【0019】円筒環境マップは、要素もしくはピクセル
の矩形の配列であって、各ピクセルが、円筒軸の原点お
よび円筒表面の矩形区域によって画定される細い角錐の
中に含まれる三次元シーンの一部を表すデータを含むと
ころの配列から構成されている。
A cylindrical environment map is a rectangular array of elements or pixels, each pixel being a portion of a three-dimensional scene contained within a thin pyramid defined by the origin of the cylindrical axis and a rectangular area on the cylindrical surface. Consists of an array that contains data representing

【0020】図2は、円筒、円筒軸および円筒軸の原点
を表す。第二の座標軸は、円筒軸に垂直であり、円筒の
原点を通過する線によって決まる。第三の座標軸は、円
筒軸および第二の座標軸のいずれに対しても垂直であ
り、同様に円筒軸の原点を通過する線によって決まる。
第二および第三の座標軸によって決まる面中のいかなる
点も、その高さゼロを有するものとして定義される。他
の点の高さは、第二および第三の座標軸によって決まる
面までの距離によって定義され、この面よりも上にある
点には正の高さが割り当てられ、この面の反対側にある
点には負の高さが割り当てられる。
FIG. 2 shows the cylinder, the cylinder axis and the origin of the cylinder axis. The second coordinate axis is perpendicular to the cylinder axis and is determined by a line passing through the origin of the cylinder. The third coordinate axis is perpendicular to both the cylindrical axis and the second coordinate axis, and is similarly determined by a line passing through the origin of the cylindrical axis.
Any point in the plane defined by the second and third coordinate axes is defined as having its height zero. The height of the other points is defined by the distance to the plane determined by the second and third coordinate axes, points above this plane are assigned a positive height and are on the opposite side of this plane Points are assigned a negative height.

【0021】図3は、円筒を多数の矩形区域に分割する
方法を説明する。これらの区域の境界は、円筒軸に対し
て平行である垂直方向の線および円筒軸に対して直角方
向の円によって形成されている。これらの区域は、円筒
を展開して大きな平面矩形を形成した場合の平面の矩形
に対応する。円筒の所与の矩形区域は、サイド・イメー
ジに関連する一意の行番号および列番号によって指定さ
れる。以下、円筒の行数をPanWdtで示し、円筒の列数を
PanHgtで示す。
FIG. 3 illustrates a method of dividing a cylinder into a number of rectangular areas. The boundaries of these zones are formed by vertical lines parallel to the cylinder axis and circles perpendicular to the cylinder axis. These areas correspond to planar rectangles when the cylinder is expanded to form a large planar rectangle. A given rectangular area of the cylinder is specified by a unique row and column number associated with the side image. Hereinafter, the number of cylinder rows is indicated by PanWdt, and the number of cylinder columns is
Shown in PanHgt.

【0022】図4は、円筒の側面の1個の矩形区域(a
bcd)および円筒の原点によって決まる角錐領域を示
す。角錐の底面(ABCD)は、矩形区域(abcd)
から無限遠距離に位置することができる。矩形区域(a
bcd)と関連する色値は、この角錐と交差し、円筒の
原点(O)から見える三次元物体によって決まる。コン
ピュータ生成イメージでは、矩形区域(abcd)と関
連する色は、原点(O)から出発し、角錐の底面(AB
CD)の中心を通過する線によって決まる色によって近
似することができる。他の値もまた、区域(abcd)
と関連することができる。たとえば、深さ値は、原点
と、原点(O)から角錐の底面(ABCD)の中心を通
過する線と交差する最近点との距離によって定義するこ
とができる。あるいはまた、応答表のインデックスを区
域(abcd)と関連させてもよい。応答表の各項目
は、対応する区域(abcd)が選択されたときに実行
すべき動作を定義することができる。
FIG. 4 shows one rectangular section (a
bcd) and the pyramid region determined by the origin of the cylinder. The base of the pyramid (ABCD) is a rectangular area (abcd)
Can be located at an infinite distance from. Rectangular area (a
The color value associated with bcd) intersects this pyramid and is determined by the three-dimensional object seen from the origin (O) of the cylinder. In the computer-generated image, the color associated with the rectangular area (abcd) starts at the origin (O) and is at the base of the pyramid (AB
CD) can be approximated by the color determined by the line passing through the center. Other values are also in the area (abcd)
Can be related to For example, the depth value can be defined by the distance between the origin and the closest point that intersects a line from the origin (O) that passes through the center of the base of the pyramid (ABCD). Alternatively, the index of the response table may be associated with the area (abcd). Each entry in the response table may define an operation to be performed when a corresponding area (abcd) is selected.

【0023】円筒環境マップは、垂直方向の細いスリッ
トを使用して、レンズおよびスリットを垂直軸を中心に
回転させながら写真フィルムを露光させる仕組みのパノ
ラマ・カメラから得られたパノラマ写真をデジタル処理
することによって作成することができる。あるいはま
た、多数の平坦なイメージを円筒の表面に投影して円筒
環境マップを作成することもできる。平坦なイメージそ
れぞれは、写真フィルムの平坦または平面区域に捕らえ
た従来の写真をデジタル処理することにより、あるい
は、コンピュータ・グラフィックス・レンダリング・ア
ルゴリズムを三次元デジタル・モデルに適用することに
より、得ることができる。いずれにしても、各平坦なイ
メージは、水平視野および垂直視野によって特徴づける
ことができる。水平視野の合計が360°に等しいなら
ば、円筒環境マップは完全なものとして定義される。水
平視野の合計が360°未満であるならば、円筒環境マ
ップは部分パノラマとして定義される。
The cylindrical environment map uses a narrow vertical slit to digitally process a panoramic photograph obtained from a panoramic camera that exposes photographic film while rotating the lens and slit about a vertical axis. Can be created by Alternatively, a number of flat images can be projected onto the surface of the cylinder to create a cylindrical environment map. Each flat image is obtained by digitally processing a conventional photograph captured on a flat or planar area of photographic film, or by applying a computer graphics rendering algorithm to a three-dimensional digital model. Can be. In any case, each flat image can be characterized by a horizontal view and a vertical view. If the sum of the horizontal views is equal to 360 °, the cylindrical environment map is defined as complete. If the sum of the horizontal views is less than 360 °, the cylindrical environment map is defined as a partial panorama.

【0024】本発明によると、円筒環境マップのイメー
ジ・データを好ましくは列順に記憶する。イメージ・デ
ータは行順に記憶することが通常のやり方である。すな
わち、nCol列およびnRow行を有するイメージを表すデー
タは通常、それぞれが、イメージの水平方向の帯域を表
すnColの隣接するピクセルのデータを含むnRowの隣接す
る一連のデータ・ブロックとして記憶され、連続する行
のデータは、上から下または下から上の順に記憶され
る。この場合、行の数はイメージの高さを表し、列の数
はイメージの幅を表す。円筒投影に基づくパノラマイメ
ージは、行よりも多くの列を有している。パノラマイメ
ージの列の数は、行の数の4〜5倍またはそれ以上であ
ることもある。パノラマイメージによって表されるシー
ンのビューを表す投影イメージは、パノラマイメージ中
の行および列の特定のサブセットに依存する。このサブ
セットは、たとえば行の半分から全部および列の1/1
0〜1/4を含むことができる。この場合、従来の行順
でのイメージ・データの記憶は、投影イメージを計算す
るとき、投影イメージが各行の小さな部分に依存する場
合、非常に非効率的なメモリ参照パターンにつながる。
According to the invention, the image data of the cylindrical environment map is stored, preferably in column order. It is common practice to store image data in row order. That is, data representing an image having nCol columns and nRow rows is typically stored as a contiguous series of nRows of data blocks, each containing data for nCol adjacent pixels representing the horizontal band of the image. The data of the corresponding row is stored in order from top to bottom or from bottom to top. In this case, the number of rows represents the height of the image and the number of columns represents the width of the image. Panoramic images based on cylindrical projections have more columns than rows. The number of columns in the panoramic image may be four to five times the number of rows or more. The projected image representing the view of the scene represented by the panoramic image depends on a specific subset of the rows and columns in the panoramic image. This subset can be, for example, half a row to a full and 1/1 a column.
0 to 1/4 can be included. In this case, the conventional storage of image data in row order leads to a very inefficient memory reference pattern when calculating the projected image, if the projected image depends on a small part of each row.

【0025】投影イメージを計算するのに必要なメモリ
参照パターンは、パノラマイメージを行順ではなく列順
で記憶することにより、より効率的にすることができ
る。この場合、パノラマイメージを表す同じデータを、
それぞれがnRowの連続するピクセルを含むnColの連続す
る一連のブロックとして記憶する。そのような各ブロッ
クは、パノラマイメージの1列分のデータを含み、連続
する列を表すブロックは、方位角が増す順番で記憶され
る。この場合、イメージ・データの「幅」(ブロックあ
たりの要素の数)がイメージの垂直方向サイズになり、
「高さ」(データブロックの数)がパノラマイメージの
水平方向サイズになる。
The memory reference patterns required to calculate the projected image can be made more efficient by storing the panoramic images in column order rather than row order. In this case, the same data representing the panoramic image
Store as a series of nCol consecutive blocks, each containing nRow consecutive pixels. Each such block contains data for one column of the panoramic image, and blocks representing successive columns are stored in order of increasing azimuth. In this case, the "width" (number of elements per block) of the image data is the vertical size of the image,
"Height" (the number of data blocks) is the horizontal size of the panoramic image.

【0026】パノラマイメージの列順の記憶はまた、投
影イメージそのものが行順に記憶されるとしても、投影
イメージの列順での計算に利点を与える。この場合、よ
り大きなデータ構造(パノラマイメージ)の要素に対し
て順にアクセスし、特定の演算、たとえば方位角の三角
関数を列ごとに1回計算するだけでよい。以下に記す本
発明の円筒環境マップは、イメージの幅がイメージの垂
直方向サイズであり、イメージの高さがイメージの水平
方向サイズである列順に記述される。
The storage of the panoramic images in column order also provides an advantage to the calculation of the projected images in column order, even if the projected images themselves are stored in row order. In this case, it is only necessary to sequentially access the elements of the larger data structure (panoramic image) and calculate a specific operation, for example a trigonometric function of the azimuth, once for each column. The cylindrical environment map of the present invention described below is described in column order in which the width of the image is the vertical size of the image and the height of the image is the horizontal size of the image.

【0027】部分的または完全な環境マップが得られる
と、円筒環境マップの要素を円筒軸に平行な面に投影す
ることにより、対応する三次元シーンのイメージを生成
することが可能である。この面に投影された円筒環境マ
ップの部分は、方位角θおよび投影イメージの中心の高
さzならびに水平視野の角度αおよび垂直視野の角度β
によって特徴づけることができる。
Once a partial or complete environment map is obtained, it is possible to generate an image of the corresponding three-dimensional scene by projecting the elements of the cylindrical environment map onto a plane parallel to the cylinder axis. The part of the cylindrical environment map projected onto this plane is the azimuth angle θ and the height z of the center of the projected image, and the angle of horizontal field α and the angle of vertical field β
Can be characterized by

【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)と交差する点によって定義される、円筒上の点を
表す。
FIG. 5 shows a projection of a part of a cylinder onto a surface (or vice versa). Points A, C, D and F represent the corners of a planar rectangle parallel to the cylinder axis. Point B is the midpoint of the side (AC) and point E is the midpoint of the side (DF). Rectangular (AC
DF) is in contact with the cylinder along the line (BE = be). The points (a, b, c, d, e and f) are at the origin (O)
Represents the point on the cylinder defined by the point where the straight line from intersects the points (A, B, C, D, E and F) on the planar rectangle.

【0029】図6は、図5に示すものと同じ円筒および
面を円筒軸の上から見た図である。この図では、点A、
B、C、a、bおよびcはそれぞれ点F、E、D、f、
eおよびdと一致している。線(BE=be)の方位角
を角度θによって示す。水平視野の角度αは、線(a
f)の方位角と、線(cd)の方位角との差によって決
まる。この図では、線(af)、(be)および(c
d)は、すべて円筒軸(および視線の方向)に平行であ
るため、点にしか見えない。
FIG. 6 is a view of the same cylinder and surface as those shown in FIG. 5 as viewed from above the cylinder axis. In this figure, point A,
B, C, a, b and c are points F, E, D, f,
e and d. The azimuth of the line (BE = be) is indicated by the angle θ. The angle α of the horizontal field of view is the line (a
It depends on the difference between the azimuth of f) and the azimuth of line (cd). In this figure, the lines (af), (be) and (c)
d) are only visible as points since they are all parallel to the cylinder axis (and the direction of the line of sight).

【0030】図7は、図5および6に示すものと同じ円
筒および面を、円筒軸および投影面の中心線(BE)を
含む面に垂直な方向から見た図である。中心線(BE)
の中間点を点Gによって示す。点Gの仰角φはzMid
の高さ値に対応する。垂直視野をβによって示す。
FIG. 7 is a view of the same cylinder and plane as those shown in FIGS. 5 and 6 as viewed from a direction perpendicular to the plane including the cylinder axis and the center line (BE) of the projection plane. Center line (BE)
Is indicated by a point G. The elevation angle φ of the point G is zMid
Corresponds to the height value of The vertical field is indicated by β.

【0031】完全なパノラマの場合、可能な方位角θに
限界はなく、水平視野の角度αは、180°未満である
というだけの制限を受ける。0〜θMAXの方位角θをカ
バーする部分パノラマの場合、投影イメージの中心の方
位角θは、次式の範囲内になければならない。
For a complete panorama, there is no limit to the possible azimuthal angles θ and the horizontal viewing angle α is limited only to less than 180 °. For partial panorama covering the azimuth angle θ of 0~Shita MAX, the azimuth angle θ of the center of a projection image must be within a range of the following equation.

【0032】[0032]

【数1】 (Equation 1)

【0033】投影イメージの高さ値zの範囲を制限する
要因は二つある。一つは、円筒データによって表される
データの範囲を超える高さ値に関する情報の欠如であ
る。第二の制限は、多数の平坦なイメージを一つの円筒
データ構造に合併する結果から生じる。多数の平坦なイ
メージそれぞれは、三次元シーンを円筒軸に平行な面に
投影したものを表す。これらのイメージそれぞれは、特
定の水平視野αおよび垂直視野βを有している。通常、
これらの平坦イメージはすべて同じ水平視野および垂直
視野を共有し、水平視野αは、360°をイメージの数
で割ることによって決まる。
There are two factors that limit the range of the height value z of the projected image. One is the lack of information about height values beyond the range of the data represented by the cylinder data. The second limitation results from the merging of many flat images into one cylindrical data structure. Each of a number of flat images represents a projection of a three-dimensional scene onto a plane parallel to the cylinder axis. Each of these images has a specific horizontal field of view α and a vertical field of view β. Normal,
These flat images all share the same horizontal and vertical field of view, and the horizontal field of view α is determined by dividing 360 ° by the number of images.

【0034】たとえば、図8に示すように、それぞれ9
0°の水平視野を有する4個のイメージがあってもよ
い。円筒軸を上から見てわかるように、円筒は半径のR
の円として見える。Rは次式で与えられる。
For example, as shown in FIG.
There may be four images with a horizontal field of view of 0 °. As can be seen from the top of the cylinder axis, the cylinder has a radius R
It looks like a circle. R is given by the following equation.

【0035】[0035]

【数2】 (Equation 2)

【0036】ただし、PanHgtは、円筒データ構造中の列
の数である。
Here, PanHgt is the number of columns in the cylindrical data structure.

【0037】各イメージの中心がこの円に接している。
水平視野αを有する1個のイメージの同様な図を図9に
示す。左縁または右縁から接点(tangent point)までの
距離はR*tan (α/2)である。円筒軸から左右の縁
までの距離はR*sec(α/2)である。
The center of each image touches this circle.
A similar view of one image having a horizontal field of view α is shown in FIG. The distance from the left or right edge to the tangent point is R * tan (α / 2). The distance from the cylindrical axis to the left and right edges is R * sec (α / 2).

【0038】図9の円筒の側面図を図10に示す。図1
0の場合の視線は、図9の面A−Aから見た方向であ
り、図9に示す円筒の軸に垂直である。より具体的に
は、図10の視線方向は、図9に示す半径Rで円筒に接
するイメージの中心線から見た方向である。イメージの
垂直視野はβであり、最大高さEmaxはR*tan(β/
2)であり、最小高さEminは−R*tan(β/2)であ
る。
FIG. 10 shows a side view of the cylinder of FIG. FIG.
The line of sight in the case of 0 is the direction viewed from the plane AA in FIG. More specifically, the viewing direction in FIG. 10 is a direction as viewed from the center line of the image in contact with the cylinder with the radius R shown in FIG. The vertical field of view of the image is β, and the maximum height Emax is R * tan (β /
2), and the minimum height Emin is -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)の範囲の高さに対応する情報はない。
Another side view of the cylinder is shown in FIG.
In this case, the line of sight in FIG. 11 is the direction viewed from plane BB in FIG. 9 and is perpendicular to the axis of the cylinder shown in FIG. More specifically, the line of sight in FIG. 11 is not from the center of the image but from the left or right edge of the image.
As shown in FIG. 9, both edges of the image are located at a distance R * sec (α / 2) from the cylinder axis. As a result, the overall height of the image is compressed to a height range from Emax * cos (α / 2) to Emin * cos (α / 2) on the side of the cylinder at a distance R from the cylinder axis. As a result, this image contains E
max * cos (α / 2) -Emax or Emin-Emin
* There is no information corresponding to the height in the range of 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の範囲の高
さを許容するが、欠けた領域を濃淡のない黒または他の
任意の色で充填する方法である。
If the obtained cylinder is developed on a flat surface, the result shown in FIG. 12 is obtained (image 4 of 90 °).
Case). In this case, the four images are Emin / sqr
Fill all elements of the cylinder corresponding to heights in the range t (2) to Emax / sqrt (2). Also, Emin-Emin / sq
Further information is obtained regarding the range of rt (2) and the height in the range of Emax / sqrt (2) to Emax, but the portions of the cylinder marked with "X" and "*" remain undetermined. One solution to this is Emin / sqrt
(2) A method of discarding data corresponding to a height outside the range of Emax / sqrt (2) and limiting the height of the field of view to this reduced range. An alternative method is to allow the height in the range of Emin to Emax, but fill the missing area with solid black or any other color.

【0041】本発明によると、円筒環境マップから投影
イメージを計算することができる仰角の範囲を、円筒環
境マップのトップ・イメージおよび/またはボトム・イ
メージを定義するデータを加えることによって補足す
る。トップ・イメージおよび/またはボトム・イメージ
の可用性が、投影イメージを作成する能力を二つの点で
改善する。まず、これらのイメージは、従来の円筒環境
マップによって表される円筒領域によってカバーされる
範囲を超える高さ値を有する投影イメージを計算するこ
とを可能にする。第二に、これらのイメージは、多数の
平坦なイメージを円筒に投影することによって作成され
る角領域を充填するのに使用することができる。
According to the present invention, the range of elevation angles over which the projected image can be calculated from the cylindrical environment map is supplemented by adding data defining the top and / or bottom images of the cylindrical environment map. The availability of top and / or bottom images improves the ability to create projected images in two ways. First, these images make it possible to calculate projected images having height values beyond the range covered by the cylindrical area represented by the conventional cylindrical environment map. Second, these images can be used to fill corner regions created by projecting multiple flat images onto a cylinder.

【0042】次に、図20を参照しながら、サイド・イ
メージを円筒環境マップにアセンブルする際にトップ・
イメージおよびボトム・イメージを利用する手順を説明
する。説明に際し、以下に記すサイド・イメージは矩形
であり、トップ・イメージおよびボトム・イメージは正
方形である。しかし、当業者であれば、本発明がこの点
で限定されず、種々の多角形のサイド、トップおよびボ
トムの各イメージにも応用できることを認識するであろ
う。
Next, referring to FIG. 20, when assembling the side image into the cylindrical environment map, the top
A procedure for using an image and a bottom image will be described. For the sake of explanation, the side images described below are rectangular, and the top and bottom images are square. However, those skilled in the art will recognize that the present invention is not limited in this respect and is applicable to various polygonal side, top and bottom images.

【0043】処理は、ステップ201で、パノラマシー
ンのサイド・イメージを生成することによって始まる。
従来どおり、各サイド・イメージは、生成されると、複
数の要素区域(またはピクセル)でサイド・イメージの
色を示すデータによって表すことができる。しかし、必
要ならば(たとえば、サイド・イメージを写真から導出
する場合)、ステップ201で、各サイド・イメージを
複数の要素区域(またはピクセル)に分割し、要素区域
ごとに、要素区域におけるイメージの色値を記憶する必
要があるかもしれない。図21に示すように、各サイド
・イメージを行列に分割してもよい。サイド・イメージ
の所与の要素区域(またはピクセル)を、そのサイド・
イメージと関連する一意の行番号および列番号(iRow、
iCol)によって指定する。加えて、ステップ201で、
イメージごとに、イメージ中の行数(imgHgtで示す)お
よびイメージ中の列数(imgWdtで示す)を記憶する。図
22は、サイド・イメージのピクセルごとに記憶される
情報を示す。情報は、ピクセルの色を識別する色データ
を含む。色データは、ピクセルの色の赤、緑および青の
各成分(真色)または色パレットへのインデックス(パ
レット色)を表すことができる。所与のピクセルについ
て記憶される情報はまた、所与のピクセルでのイメージ
の深さを表すZデータを含むことができる。加えて、ピ
クセルごとに記憶される情報は、ピクセルと関連するさ
らなるデータ(Mデータ)を含むこともできる。たとえ
ば、データは、別のパノラマへのハイパリンク、音声を
再生するためのコマンドまたは外部アプリケーションを
開始するためのコマンドをはじめとする、ピクセルと関
連する動作であってもよい。
The process begins at step 201 by generating a side image of a panoramic scene.
As before, each side image, when generated, can be represented by data indicating the color of the side image in a plurality of element areas (or pixels). However, if necessary (eg, when deriving side images from photographs), in step 201, each side image is divided into a plurality of element areas (or pixels), and for each element area, You may need to store color values. As shown in FIG. 21, each side image may be divided into a matrix. A given element area (or pixel) of a side image is
Unique row and column numbers associated with the image (iRow,
iCol). In addition, in step 201,
For each image, the number of rows in the image (indicated by imgHgt) and the number of columns in the image (indicated by imgWdt) are stored. FIG. 22 shows the information stored for each pixel of the side image. The information includes color data identifying the color of the pixel. The color data can represent the red, green, and blue components (true colors) of a pixel color or an index (palette color) into a color palette. The information stored for a given pixel may also include Z data representing the depth of the image at the given pixel. In addition, the information stored for each pixel may include additional data (M data) associated with the pixel. For example, the data may be operations associated with pixels, such as a hyperlink to another panorama, a command to play audio or a command to start an external application.

【0044】サイド・イメージは、垂直方向の細いスリ
ットを使用して、レンズおよびスリットを垂直軸を中心
に回転させながら写真フィルムを露光させる仕組みのパ
ノラマカメラから得られたパノラマ写真をデジタル処理
することによって作成することができる。あるいはま
た、サイド・イメージは、写真フィルムの平坦または平
面区域に捕らえた従来の写真をデジタル処理することに
より、あるいは、コンピュータ・グラフィックス・レン
ダリング・アルゴリズムを三次元デジタル・モデルに適
用することにより、得ることができる。
The side image is a digital processing of a panoramic photograph obtained from a panoramic camera using a thin vertical slit to expose a photographic film while rotating the lens and the slit about a vertical axis. Can be created by Alternatively, the side images can be obtained by digitally processing a conventional photograph captured on a flat or planar area of photographic film, or by applying a computer graphics rendering algorithm to a three-dimensional digital model. Obtainable.

【0045】ステップ203で、パノラマシーンのトッ
プ・イメージおよび/またはボトム・イメージを生成す
る。従来どおり、トップ・イメージおよびボトム・イメ
ージは、生成されると、複数の要素区域(またはピクセ
ル)でイメージの色を示すデータによって表すことがで
きる。必要ならば(たとえば、トップ・イメージおよび
/またはボトム・イメージを写真から導出する場合)、
ステップ203で、トップ・イメージおよび/またはボ
トム・イメージを要素区域(またはピクセル)に分割
し、要素区域ごとに、要素区域におけるイメージの色値
を記憶する必要があるかもしれない。図23に示すよう
に、トップ・イメージおよびボトム・イメージを行列に
分割してもよい。説明に際し、トップ・イメージだけを
示す。トップ・イメージおよびボトム・イメージの所与
の要素区域(またはピクセル)を、それぞれトップ・イ
メージおよびボトム・イメージと関連する一意の行番号
および列番号(tRow、tCol)または(bRow、bCol)によ
って指定する。加えて、ステップ203で、トップ・イ
メージおよび/またはボトム・イメージ中の行数(topH
gtおよびbotHgtで示す)ならびにトップ・イメージおよ
び/またはボトム・イメージ中の列数(topWdtおよびbo
tWdtで示す)を記憶する。
In step 203, a top image and / or a bottom image of the panoramic scene is generated. As before, the top and bottom images, once generated, can be represented by data indicating the color of the image in a plurality of element areas (or pixels). If necessary (for example, when deriving a top and / or bottom image from a photo)
In step 203, the top image and / or the bottom image may be divided into element areas (or pixels), and for each element area, it may be necessary to store the color values of the image in the element areas. As shown in FIG. 23, the top image and the bottom image may be divided into a matrix. For explanation, only the top image is shown. Identify a given element area (or pixel) of the top and bottom images by unique row and column numbers (tRow, tCol) or (bRow, bCol) associated with the top and bottom images, respectively. I do. In addition, in step 203, the number of rows (topH) in the top and / or bottom image
gt and botHgt) and the number of columns in the top and / or bottom images (topWdt and bo
tWdt).

【0046】図24は、トップ・イメージ(またはボト
ム・イメージ)のピクセルごとに記憶される情報を示
す。情報は、ピクセルの色を識別する色データを含む。
色データは、ピクセルの色の赤、緑および青の各成分
(真色)または色パレットへのインデックス(パレット
色)を表すことができる。所与のピクセルについて記憶
される情報はまた、所与のピクセルでのイメージの深さ
を表すZデータを含むことができる。加えて、ピクセル
ごとに記憶される情報は、ピクセルと関連するさらなる
データ(Mデータ)を含むこともできる。たとえば、デ
ータは、別のパノラマへのハイパリンク、音声を再生す
るためのコマンドまたは外部アプリケーションを開始す
るためのコマンドをはじめとする、ピクセルと関連する
動作であってもよい。
FIG. 24 shows the information stored for each pixel of the top image (or bottom image). The information includes color data identifying the color of the pixel.
The color data can represent the red, green, and blue components (true colors) of a pixel color or an index (palette color) into a color palette. The information stored for a given pixel may also include Z data representing the depth of the image at the given pixel. In addition, the information stored for each pixel may include additional data (M data) associated with the pixel. For example, the data may be operations associated with pixels, such as a hyperlink to another panorama, a command to play audio or a command to start an external application.

【0047】トップ・イメージおよびボトム・イメージ
は、カメラから得られたトップ・イメージおよびボトム
・イメージの従来の写真をデジタル処理することによっ
て作成することができる。あるいはまた、トップ・イメ
ージおよびボトム・イメージは、コンピュータ・グラフ
ィックス・レンダリング・アルゴリズムを三次元デジタ
ル・モデルに適用することによって生成することもでき
る。より具体的には、トップ・イメージおよびボトム・
イメージは、三次元シーンを、従来の円筒環境マップを
定義する円筒軸に垂直な面に投影することによって定義
することができる。トップ・イメージは、三次元シーン
を、円筒軸の原点よりも上の面に投影することによって
定義され、ボトム・イメージは、三次元シーンを、円筒
軸の原点よりも下に位置する面に投影することによって
定義される。
The top and bottom images can be created by digitally processing conventional photographs of the top and bottom images obtained from the camera. Alternatively, the top and bottom images can be generated by applying a computer graphics rendering algorithm to the three-dimensional digital model. More specifically, top image and bottom image
An image can be defined by projecting a three-dimensional scene onto a plane perpendicular to the cylinder axis that defines a conventional cylindrical environment map. The top image is defined by projecting the 3D scene onto a plane above the origin of the cylinder axis, and the bottom image is projecting the 3D scene onto a plane below the origin of the cylinder axis. Is defined by

【0048】ステップ205で、ステップ201で生成
したサイド・イメージごとに、所与のサイド・イメージ
に対応する円筒の列の範囲を決定する。より具体的に
は、各サイド・イメージを水平視野αによって特徴づけ
る。特定のサイド・イメージのイメージ・データを、θ
1〜θ2の方位角の範囲に対応する円筒の列にマッピング
する(ただし、θ1は、先行のすべてのサイド・イメー
ジの水平視野の合計によって決まり、θ2=θ1+αであ
る)。したがって、現在のイメージの初期方位角θ1
よび最終方位角θ2を与えられると、特定のサイド・イ
メージに対応する、得られる円筒イメージ中の列の範囲
が次式によって決定される。
In step 205, for each side image generated in step 201, the range of the column of cylinders corresponding to the given side image is determined. More specifically, each side image is characterized by a horizontal field of view α. Convert the image data of a specific side image to θ
1 through? 2 of maps to a column of a cylinder corresponding to the range of the azimuth angle (where, theta 1 is determined by the sum of the horizontal field of view of all the side image of the preceding, and θ 2 = θ 1 + α) . Thus, given the initial azimuth θ 1 and the final azimuth θ 2 of the current image, the range of columns in the resulting cylindrical image corresponding to a particular side image is determined by:

【0049】panCol1=panHgt*θ1MAX panCol2=panHgt*θ2MAX ただし、θMAXは、完全なパノラマの場合には2πに等
しく、部分パノラマの場合には2π未満である。
PanCol1 = panHgt * θ 1 / θ MAX panCol2 = panHgt * θ 2 / θ MAX where θ MAX is equal to 2π for a complete panorama and less than 2π for a partial panorama.

【0050】加えて、ステップ205で、サイド・イメ
ージごとに、各サイド・イメージに対応する円筒の列の
数を記憶する。所与のサイド・イメージに対応する円筒
の列の数は、次式によって求められる。
In addition, in step 205, for each side image, the number of rows of cylinders corresponding to each side image is stored. The number of rows of cylinders corresponding to a given side image is given by:

【0051】numPanCol=panCol2−panCol1NumPanCol = panCol2-panCol1

【0052】ステップ207で、ステップ201で生成
したサイド・イメージごとに、特定のサイド・イメージ
と関連する、ステップ205で決定した列の範囲内の円
筒の各列を順に選択して、ステップ201で生成した現
在のサイド・イメージのデータ値ならびにステップ20
3で生成したトップ・イメージおよび/またはボトム・
イメージのデータ値に基づいて充填する。好ましくは、
panCol1に初期化され、panCol2に達するまで1ステッ
プずつ漸増される列インデックスpanColを指定すること
により、個々の列を順に選択してゆく。以下、図25を
参照しながら、特定の列に関する充填操作をより詳細に
説明する。
In step 207, for each side image generated in step 201, each column of cylinders within the range of the column determined in step 205, which is associated with a specific side image, is sequentially selected. Generated current side image data values and step 20
3. The top image and / or bottom image generated in
Fill based on image data values. Preferably,
Individual columns are sequentially selected by designating a column index panCol which is initialized to panCol1 and gradually increased by one step until reaching panCol2. Hereinafter, the filling operation for a specific column will be described in more detail with reference to FIG.

【0053】ステップ209で、各サイド・イメージに
対応する列の範囲を処理したのち、処理は終了する。
In step 209, after processing the range of the column corresponding to each side image, the process ends.

【0054】図25は、円筒の特定の列に関する充填操
作をより詳細に示す。より具体的には、インデックスpa
nColによって指定する円筒の特定の列は、絶対角θおよ
び局所角度δに対応する。ただし、
FIG. 25 shows the filling operation for a particular row of cylinders in more detail. More specifically, the index pa
The particular column of the cylinder specified by nCol corresponds to the absolute angle θ and the local angle δ. However,

【0055】θ=θMAX*panCol/panHgt δ=θ−θ1−(α/2)Θ = θ MAX * panCol / panHgt δ = θ−θ 1 − (α / 2)

【0056】これらの角度の関係を図13に示す。イン
デックスpanColによって指定される円筒上の個々の列に
ついて、次式によって求められる、インデックスimgCol
によって指定されるサイド・イメージ中の対応する列が
ある。
FIG. 13 shows the relationship between these angles. For each column on the cylinder specified by the index panCol, the index imgCol, determined by:
There is a corresponding column in the side image specified by.

【0057】[0057]

【数3】 (Equation 3)

【0058】ステップ301で、panRowで示す円筒の各
行を選択し、円筒の現在の行panRowが、現在のサイド・
イメージに入るのか、トップ・イメージに入るのか、ボ
トム・イメージに入るのかを決定する。panRowの値は0
から(panWidth−1)である。ただし、panWidthは円筒
中の列数である。
In step 301, each row of the cylinder indicated by panRow is selected, and the current row panRow of the cylinder is set to the current side row.
Determine whether to enter the image, the top image, or the bottom image. panRow value is 0
From (panWidth-1). Here, panWidth is the number of rows in the cylinder.

【0059】ステップ303で、円筒の選択した行およ
び列に対応するピクセル・インデックスimgRowを決定す
る。図14に示すように、円筒の壁は円筒軸から半径R
の距離に位置し、現在のサイド・イメージの対応する列
は円筒軸からR*sec(δ)の距離に位置しているため、
円筒の壁の行panRowのピクセルは、現在のサイド・イメ
ージでは、行imgRowのピクセルに対応する。
At step 303, the pixel index imgRow corresponding to the selected row and column of the cylinder is determined. As shown in FIG. 14, the wall of the cylinder has a radius R from the cylinder axis.
And the corresponding column of the current side image is located at a distance of R * sec (δ) from the cylinder axis,
The pixels in row panRow of the cylindrical wall correspond to the pixels in row imgRow in the current side image.

【0060】[0060]

【数4】 (Equation 4)

【0061】ステップ305〜309で、ImgRowの値を
評価することにより、円筒の現在の行panRowが、現在の
サイド・イメージに入るのか、トップ・イメージに入る
のか、ボトム・イメージに入るのかを決定する。ImgRow
を評価し、そのような評価に基づく処理を実行したの
ち、ステップ310で、列の最後の行が処理されたかど
うかを決定する。処理されていないならば、処理はステ
ップ301に戻り、行インデックスpanRowを円筒の列中
の次の順番の行に設定する。その列の最後の行を選択し
たならば(panRow=panWidth−1)、処理は終了する。
In steps 305-309, it is determined whether the current row panRow of the cylinder is in the current side, top or bottom image by evaluating the value of ImgRow. I do. ImgRow
, And performing processing based on such an evaluation, step 310 determines whether the last row of the column has been processed. If not, the process returns to step 301, where the row index panRow is set to the next sequential row in the cylindrical column. If the last row of the column is selected (panRow = panWidth-1), the process ends.

【0062】ステップ305で、imgRowの値がimgHgt以
上であるならば、円筒の行panRowはトップ・イメージに
入る。この場合、ステップ311で、円筒の現在の行Pa
nRowおよび列panColに対応する、インデックスtRowおよ
びtColによって識別されるトップ・イメージの要素(ピ
クセル)を決定し、ステップ313で、好ましくは、イ
ンデックスpanRow、panColによって識別される円筒環境
マップのピクセルの色を、インデックスtRow、tColによ
って識別されるトップ・イメージのピクセルの色に対応
するように設定する。
At step 305, if the value of imgRow is greater than or equal to imgHgt, the cylindrical row panRow enters the top image. In this case, in step 311, the current line Pa of the cylinder is
Determine the element (pixel) of the top image identified by the index tRow and tCol, corresponding to nRow and column panCol, and in step 313, preferably the color of the pixel of the cylindrical environment map identified by the index panRow, panCol Is set to correspond to the color of the pixel in the top image identified by the index tRow, tCol.

【0063】ステップ307で、imgRowの値が0未満で
あるならば、円筒の行panRowはボトム・イメージに入
る。この場合、ステップ315で、円筒の現在の行panR
owおよび列panColに対応する、インデックスbRowおよび
bColによって識別されるボトム・イメージの要素(ピク
セル)を決定し、ステップ317で、好ましくは、イン
デックスpanRow、panColによって識別される円筒環境マ
ップのピクセルの色を、インデックスbRow、bColによっ
て識別されるボトム・イメージのピクセルの色に対応す
るように設定する。
At step 307, if the value of imgRow is less than 0, the cylindrical row panRow enters the bottom image. In this case, in step 315, the current line panR of the cylinder
index bRow and corresponding to ow and column panCol
The element (pixel) of the bottom image identified by bCol is determined, and in step 317, preferably the color of the pixel of the cylindrical environment map identified by the index panRow, panCol, and the bottom identified by the index bRow, bCol -Set to correspond to the pixel color of the image.

【0064】ステップ309では、imgRowの値が0〜im
gHgtの範囲であり、したがって、円筒の行panRowは現在
のサイド・イメージに入る。この場合、インデックスpa
nRowおよびpanColによって識別される円筒環境マップの
ピクセルは、インデックスimgRow、imgColによって識別
される現在のサイド・イメージのピクセルに対応する。
ステップ309で、好ましくは、インデックスpanRow、
panColによって識別される円筒環境マップのピクセルの
色を、インデックスimgRow、imgColによって識別される
現在のサイド・イメージのピクセルの色に対応するよう
に設定する。
In step 309, the value of imgRow is 0 to im
gHgt range, so the cylindrical row panRow falls into the current side image. In this case, the index pa
The pixels of the cylindrical environment map identified by nRow and panCol correspond to the pixels of the current side image identified by the indexes imgRow, imgCol.
In step 309, preferably the index panRow,
Set the color of the pixel in the cylindrical environment map identified by panCol to correspond to the color of the pixel in the current side image identified by index imgRow, imgCol.

【0065】以下、図26を参照して、円筒の現在の行
panRowおよび列panColに対応するトップ・イメージまた
はボトム・イメージの要素(ピクセル)を決定する際の
システムの動作を説明する。ステップ401で、処理
は、トップ(またはボトム)イメージ中の対応する点の
半径を決定することによって始まる。これは、トップ・
イメージ中の点に関して図15に示されている。この場
合、トップ・イメージ中の点の半径は、次式によって求
められる。
Referring now to FIG. 26, the current row of the cylinder
The operation of the system in determining the elements (pixels) of the top or bottom image corresponding to panRow and column panCol will be described. In step 401, processing begins by determining the radius of a corresponding point in the top (or bottom) image. This is the top
The points in the image are shown in FIG. In this case, the radius of the point in the top image is obtained by the following equation.

【0066】Rtop=R*(panHgt/2)/(panRow−
(panHgt/2))
Rtop = R * (panHgt / 2) / (panRow−
(PanHgt / 2))

【0067】ボトム・イメージ中の点の半径は、次式に
よって求められる。
The radius of a point in the bottom image is obtained by the following equation.

【0068】Rbot=R*(panHgt/2)/((panHgt/
2)−panRow)
Rbot = R * (panHgt / 2) / ((panHgt /
2) -panRow)

【0069】この場合には、円筒をR=1の単位円とし
て扱うことができる。得られるRtopおよびRbotの値は
常に1.0よりも大きくなり、単位円の外の点に対応す
る。
In this case, the cylinder can be treated as a unit circle with R = 1. The resulting values of Rtop and Rbot are always greater than 1.0 and correspond to points outside the unit circle.

【0070】ステップ403で、トップ半径Rtop(ま
たはボトム半径Rbot)を決定したのち、図16に示す
トップ(またはボトム)イメージ中の点を識別するイン
デックスを決定する。トップ・イメージ中の点の場合、
トップ・イメージ中の色値の行および列インデックス
は、次式によって決定することができる。
After the top radius Rtop (or bottom radius Rbot) is determined in step 403, an index for identifying a point in the top (or bottom) image shown in FIG. 16 is determined. For points in the top image,
The row and column indices of the color values in the top image can be determined by:

【0071】 tRow=topHgt*(1.0−Rtop*sin(θ)) tCol=topWdt*(1.0+Rtop*cos(θ)) ただし、topHgtおよびtopWdtは、トップ・イメージの行
および列の寸法である。
TRow = topHgt * (1.0−Rtop * sin (θ)) tCol = topWdt * (1.0 + Rtop * cos (θ)) where topHgt and topWdt are the row and column dimensions of the top image. is there.

【0072】同様に、ボトム・イメージ中の点の行およ
び列のインデックスは、次式によって決定することがで
きる。
Similarly, the row and column indices of points in the bottom image can be determined by:

【0073】 bRow=botHgt*(1.0−Rbot*sin(θ)) bCol=botWdt*(1.0−Rbot*cos(θ))BRow = botHgt * (1.0−Rbot * sin (θ)) bCol = botWdt * (1.0−Rbot * cos (θ))

【0074】上述したように、インデックス(tRow、tC
ol)および(bRow、bCol)によって指定される点は、円
筒の壁の上縁および下縁に対応する内接円の外に位置す
るトップ・イメージおよびボトム・イメージ中のピクセ
ルに対応する。好ましくは、この円の外にあるトップ
(またはボトム)イメージの点の、円筒環境マップへの
マッピングは、以下に記す、パノラマデータを視るため
に使用される投影アルゴリズムによって扱う。
As described above, the indexes (tRow, tC
The points specified by (ol) and (bRow, bCol) correspond to pixels in the top and bottom images located outside the inscribed circles corresponding to the upper and lower edges of the cylindrical wall. Preferably, the mapping of points of the top (or bottom) image outside this circle to the cylindrical environment map is handled by the projection algorithm used to view panoramic data, described below.

【0075】パノラマシーンのトップ・イメージおよび
/またはボトム・イメージを定義するデータによって円
筒環境マップを補足する機構を述べたところで、次に、
図27を参照して、本発明の改良された円筒環境マップ
を表示のためにレンダリングする技法を説明する。
Having described the mechanism for supplementing the cylindrical environment map with data defining the top and / or bottom images of the panoramic scene,
Referring to FIG. 27, a technique for rendering the improved cylindrical environment map for display of the present invention is described.

【0076】ステップ501で、視野を決定する。視野
は、好ましくは、以下のパラメータ、すなわち方位角
θ、投影イメージの中心の仰角φ、水平視野αおよび垂
直視野βによって特徴づける。選択したパラメータは、
図17に示すものである。パラメータは、たとえばコン
ピュータ・システムの入力装置107を操作するユーザ
に応答して生成されたユーザ入力コマンドに基づいて選
択してもよい。
In step 501, the visual field is determined. The field of view is preferably characterized by the following parameters: azimuth angle θ, elevation angle φ of the center of the projected image, horizontal field α and vertical field β. The selected parameters are
This is shown in FIG. The parameters may be selected, for example, based on user input commands generated in response to a user operating input device 107 of the computer system.

【0077】ステップ503で、円筒環境マップを、視
野に対応するビュー・ウィンドウにマッピングする。マ
ッピング処理は、ビュー・ウィンドウを、図17に示す
ようなncolの等間隔の列に分割することによって始ま
る。ncol列それぞれは、0〜ncol−1の範囲のインデッ
クスicolによって識別することができ、次式によって求
められる角度δに対応する。
At step 503, the cylindrical environment map is mapped to a view window corresponding to the visual field. The mapping process begins by dividing the view window into ncol equally spaced columns as shown in FIG. Each ncol column can be identified by an index icol in the range 0-ncol-1 and corresponds to an angle δ determined by the following equation.

【0078】δ=tan−1(tan(α/2)*(width−
2*icol)/(2*width)) ただし、width=ncol−1はビュー・ウィンドウの幅で
ある。
Δ = tan−1 (tan (α / 2) * (width−
2 * icol) / (2 * width)) where width = ncol-1 is the width of the view window.

【0079】ビュー・ウィンドウのncol列の列(icol)
ごとに、列icolに対応する円筒環境マップの列panColを
決定する。好ましくは、列icolに対応する円筒環境マッ
プの列panColは、次式によって決定する。
Column (icol) of ncol column of view window
In each case, the column panCol of the cylindrical environment map corresponding to the column icol is determined. Preferably, the column panCol of the cylindrical environment map corresponding to the column icol is determined by:

【0080】panCol=panHgt*(θ+δ)/θMAX PanCol = panHgt * (θ + δ) / θ MAX

【0081】加えて、ビュー・ウィンドウの列icolの中
のnrowピクセルを選択し、処理する。好ましくは、列中
のnrowピクセルは、図18に示すように、円筒軸から距
離Rpan/cos(8)のところで円筒軸に平行な線に沿っ
て均一に離間している。nrowピクセルそれぞれには、0
(ビュー・ウィンドウのボトム)〜nrow−1(ビュー・
ウィンドウのトップ)の範囲を有するインデックスirow
を割り当てることができる。以下、図28を参照して、
ビュー・ウィンドウの選択した列(icolで示す)のnrow
ピクセルの処理を詳細に説明する。
In addition, select and process nrow pixels in column icol of the view window. Preferably, the nrow pixels in the column are evenly spaced along a line parallel to the cylinder axis at a distance Rpan / cos (8) from the cylinder axis, as shown in FIG. 0 for each nrow pixel
(Bottom of view window)-nrow-1 (view
Index irow with range (top of window)
Can be assigned. Hereinafter, referring to FIG.
Nrow of selected column (indicated by icol) in view window
The processing of the pixel will be described in detail.

【0082】図27の最後のステップ505で、円筒環
境マップの列をビュー・ウィンドウにマッピングしたの
ち、ビュー・ウィンドウを表示装置または表示装置の一
部にマッピングすることができる。このようなマッピン
グは、ビュー・ウィンドウを表示装置の座標系に対して
スケーリングし、平行移動させることを要するかもしれ
ない。このようなスケーリングおよび平行移動の技法は
当該分野で周知である。しかし、システムの性能を高め
るため、スケーリング処理を避けてもよい。この場合、
ビュー・ウィンドウのピクセルを表示ウィンドウのピク
セルに整合させなければならない。
In a final step 505 of FIG. 27, after mapping the columns of the cylindrical environment map to the view window, the view window can be mapped to a display device or a portion of a display device. Such mapping may require scaling and translating the view window with respect to the display coordinate system. Such scaling and translation techniques are well-known in the art. However, the scaling process may be avoided to improve the performance of the system. in this case,
The pixels of the view window must be aligned with the pixels of the display window.

【0083】図28は、円筒環境マップをビュー・ウィ
ンドウの選択した列(icol)のnrowピクセルにマッピン
グする際のシステムの動作を示す。上述したように、列
icolに対応する円筒環境マップの列panColは、次式によ
って決定する。
FIG. 28 illustrates the operation of the system in mapping a cylindrical environment map to nrow pixels in a selected column (icol) of a view window. As mentioned above, the columns
The column panCol of the cylindrical environment map corresponding to icol is determined by the following equation.

【0084】panCol=panHgt*(θ+δ)/θMAX PanCol = panHgt * (θ + δ) / θ MAX

【0085】ステップ601で、処理は、選択された列
icolについて、それぞれtopRowおよびbotRowで示す、円
筒の上縁および下縁に対応するビュー・ウィンドウの行
を決定することによって始まる。topRowおよびbotRowの
値は、好ましくは、次式によって決定する。
In step 601, the processing proceeds to the selected column
For icol, one begins by determining the rows of the view window corresponding to the top and bottom edges of the cylinder, denoted by topRow and botRow, respectively. The values of topRow and botRow are preferably determined by the following equation.

【0086】topRow=ctrRow+(0.5*panHgt/pxlS
ize)*sec(δ) botRow=ctrRow−(0.5*panHgt/pxlSize)*sec
(δ) ただし、pxlSize=2*Rpan*tan(α/2)widthは、
正方形のピクセル(垂直方向のピクセルサイズが水平方
向のピクセルサイズに等しい)を仮定してのピクセルの
サイズである。
TopRow = ctrRow + (0.5 * panHgt / pxlS)
ize) * sec (δ) botRow = ctrRow- (0.5 * panHgt / pxlSize) * sec
(Δ) where pxlSize = 2 * Rpan * tan (α / 2) width is
Pixel size assuming square pixels (vertical pixel size equals horizontal pixel size).

【0087】上述したtopRowおよびbotRowの値は、ビュ
ー・ウィンドウの中心ピクセルctrRowの位置に依存す
る。垂直方向のビューの動きがないならば(ビュー仰角
φがゼロに等しいならば)、中心線ctrRowのピクセル・
インデックスは次式によって求められる。
The above values of topRow and botRow depend on the position of the center pixel ctrRow of the view window. If there is no vertical view movement (if the view elevation φ is equal to zero), the pixel of the centerline ctrRow
The index is obtained by the following equation.

【0088】ctrRow=0.5*高さCtrRow = 0.5 * height

【0089】ビューの高さが変化すると、ビュー・ウィ
ンドウの中心は、次式によって決定される円筒の行に対
応する。
As the height of the view changes, the center of the view window corresponds to the row of cylinders determined by:

【0090】zMid=Rpan*tan(φ)ZMid = Rpan * tan (φ)

【0091】その結果、ゼロ高さに対応するビュー・ウ
ィンドウの行は次式のようになる。
As a result, the row of the view window corresponding to the zero height is as follows.

【0092】ctrRow=0.5*高さ−zMid/pxlSizeCtrRow = 0.5 * height-zMid / pxlSize

【0093】ステップ603で、ビュー・ウィンドウの
nrowピクセルのいずれかが円筒の下縁よりも下に位置す
る(したがってボトム・イメージの中にある)かどうか
を決定し、そのように位置するならば、円筒の下縁より
も下に位置するビュー・ウィンドウのピクセルを処理す
る。好ましくは、0よりも大きいbotRowの値は、ビュー
・ウィンドウの1個以上のピクセルが円筒の下縁よりも
下に位置し、したがってボトム・イメージの中にあると
いうことを示す。この場合、botRowの値が0よりも大き
いならば、0〜botRow−1の範囲のピクセルは円筒の下
縁よりも下に位置する。円筒の下縁よりも下に位置する
ピクセルの処理についてはあとで説明する。
At step 603, the view window
Determines if any of the nrow pixels are below the bottom edge of the cylinder (and therefore in the bottom image), and if so, is below the bottom edge of the cylinder Process the pixels in the view window. Preferably, a value of botRow greater than 0 indicates that one or more pixels of the view window are located below the lower edge of the cylinder, and thus are in the bottom image. In this case, if the value of botRow is greater than 0, pixels in the range 0-botRow-1 will be located below the lower edge of the cylinder. Processing of pixels located below the lower edge of the cylinder will be described later.

【0094】ステップ605で、ビュー・ウィンドウの
nrowピクセルのいずれかが円筒の上縁よりも上に位置す
る(したがってトップ・イメージの中にある)かどうか
を決定し、そのように位置するならば、円筒の上縁より
も上に位置するビュー・ウィンドウのピクセルを処理す
る。好ましくは、nrow−1よりも小さいtopRowの値は、
ビュー・ウィンドウの1個以上のピクセルが円筒の上縁
よりも上に位置し、したがってトップ・イメージの中に
あるということを示す。この場合、topRowの値がnrow−
1よりも小さいならば、topRow〜nrow−1の範囲のピク
セルは円筒の上縁よりも上に位置する。円筒の上縁より
も上に位置するピクセルの処理についてはあとで説明す
る。
In step 605, the view window
Determines if any of the nrow pixels are above the top edge of the cylinder (and therefore in the top image), and if so, is above the top edge of the cylinder Process the pixels in the view window. Preferably, the value of topRow less than nrow-1 is
Indicates that one or more pixels of the view window are located above the top edge of the cylinder and are therefore in the top image. In this case, the value of topRow is nrow-
If less than one, pixels in the range topRow to nrow-1 are located above the top edge of the cylinder. Processing of pixels located above the upper edge of the cylinder will be described later.

【0095】最後に、ステップ607で、円筒の下縁よ
りも下に位置しないし、円筒の上縁よりも上に位置しな
い(したがって円筒環境マップの中にある)ビュー・ウ
ィンドウのnrowピクセルを処理する。好ましくは、円筒
の下縁よりも下に位置しないし、円筒の上縁よりも上に
位置しないnrowピクセルは、botRow〜topRow−1の範囲
に位置する。円筒の上縁よりも上に位置しないし、円筒
の下縁よりも下に位置しないピクセルの処理については
あとで説明する。
Finally, step 607 processes the nrow pixels of the view window that are not below the bottom edge of the cylinder or above the top edge of the cylinder (and thus are in the cylinder environment map). I do. Preferably, nrow pixels that are not below the bottom edge of the cylinder or above the top edge of the cylinder are located in the range botRow to topRow-1. Processing of pixels that are not located above the top edge of the cylinder or below the bottom edge of the cylinder will be described later.

【0096】次に、円筒の上縁よりも上に位置するピク
セルの処理を説明する。上述したように、円筒の上縁よ
りも上に位置するピクセルは、topRow〜nrow−1の範囲
にあるインデックスicolによって識別することができ
る。この場合、topRow〜nrow−1の範囲にあるインデッ
クスicolによって識別されたピクセルごとに、ピクセル
に対応するトップ半径Rtopの値を、トップ・イメージ
中のピクセルの行インデックスおよび列インデックス
(tRowおよびtCol)とともに決定する。好ましくは、ト
ップ半径Rtopは次式によって求められる。
Next, processing of pixels located above the upper edge of the cylinder will be described. As described above, pixels located above the top edge of the cylinder can be identified by an index icol in the range topRow to nrow-1. In this case, for each pixel identified by an index icol in the range topRow to nrow-1, the value of the top radius Rtop corresponding to the pixel is determined by the row index and column index (tRow and tCol) of the pixel in the top image. Decide with. Preferably, the top radius Rtop is determined by the following equation.

【0097】Rtop=Rpan*sec(δ)*(0.5*panW
idth)/(irow−ctrRow)
Rtop = Rpan * sec (δ) * (0.5 * panW
idth) / (irow-ctrRow)

【0098】これは、図19に示す、一方が幅Rpan*s
ec(δ)および高さ(irow−ctrRow)を有し、もう一方
が幅Rtopおよび高さ(0.5*panHgt)を有する相似
形の直角三角形どうしの比較に基づく。この場合には、
必要なすべてはRtopとRpanとの比率であり、Rtopの
計算は次式のように簡約される。
This is shown in FIG. 19, one of which is width Rpan * s.
Based on a comparison of similar right triangles with ec (δ) and height (irow-ctrRow), the other having width Rtop and height (0.5 * panHgt). In this case,
All that is needed is the ratio of Rtop to Rpan, and the calculation of Rtop is simplified as:

【0099】Rtop=radRow/(irow−ctrRow) ただし、radRow=0.5*panHgt*sec(δ)は、1例
のピクセルに対する定数である(定数デルタ)。
Rtop = radRow / (irow-ctrRow) where radRow = 0.5 * panHgt * sec (δ) is a constant for one example pixel (constant delta).

【0100】トップ・イメージ中のピクセルの行インデ
ックスおよび列インデックス(tRow、tCol)は、好まし
くは、次式によって決定される。
The row and column indices (tRow, tCol) of the pixels in the top image are preferably determined by:

【0101】 tRow=topHgt*(1.0−Rtop*sin(θ+δ)) tCol=topWdt*(1.0+Rtop*cos(θ+δ))TRow = topHgt * (1.0−Rtop * sin (θ + δ)) tCol = topWdt * (1.0 + Rtop * cos (θ + δ))

【0102】最後に、好ましくは、インデックスirow、
icolによって識別されるビュー・ウィンドウのピクセル
の色を、インデックスtRow、tColによって識別されるト
ップ・イメージのピクセルの色に対応するように設定す
る。
Finally, preferably, the index irow,
Set the color of the pixel in the view window identified by icol to correspond to the color of the pixel in the top image identified by index tRow, tCol.

【0103】次に、円筒の下縁よりも下に位置するピク
セルの処理を説明する。上述したように、円筒の下縁よ
りも下に位置するピクセルは、0〜botRow−1の範囲に
あるインデックスicolによって識別することができる。
この場合、0〜botRow−1の範囲にあるインデックスic
olによって識別されたピクセルごとに、ピクセルに対応
するボトム半径Rbotの値を、ボトム・イメージ中のピ
クセルの行インデックスおよび列インデックス(bRowお
よびbCol)とともに決定する。
Next, processing of pixels located below the lower edge of the cylinder will be described. As mentioned above, pixels located below the lower edge of the cylinder can be identified by an index icol in the range 0-botRow-1.
In this case, the index ic in the range of 0 to botRow-1
For each pixel identified by ol, determine the value of the bottom radius Rbot corresponding to the pixel, along with the row and column indices (bRow and bCol) of the pixel in the bottom image.

【0104】好ましくは、ボトム半径Rbotは次式によ
って求められる。
Preferably, the bottom radius Rbot is determined by the following equation.

【0105】Rbot=radRow/(ctrRow−irow)Rbot = radRow / (ctrRow-irow)

【0106】ボトム・イメージ中のピクセルの行インデ
ックスおよび列インデックス(bRow、bCol)は、好まし
くは、次式によって決定される。
The row and column indices (bRow, bCol) of the pixels in the bottom image are preferably determined by:

【0107】 bRow=topHgt*(1.0−Rtop*sin(θ+δ)) bCol=topWdt*(1.0+Rtop*cos(θ+δ))BRow = topHgt * (1.0−Rtop * sin (θ + δ)) bCol = topWdt * (1.0 + Rtop * cos (θ + δ))

【0108】最後に、好ましくは、インデックスirow、
icolによって識別されるビュー・ウィンドウのピクセル
の色を、インデックスbRow、bColによって識別されるボ
トム・イメージのピクセルの色に対応するように設定す
る。
Finally, preferably, the index irow,
Set the color of the pixel in the view window identified by icol to correspond to the color of the pixel in the bottom image identified by index bRow, bCol.

【0109】次に、円筒の上縁よりも上に位置しない
し、円筒の下縁よりも下に位置しないピクセルの処理を
説明する。円筒の上縁よりも上に位置しないし、円筒の
下縁よりも下に位置しないピクセルごとに、ビュー・ウ
ィンドウの行irowに対応する円筒環境マップの行panRow
を次式によって求める。
Next, processing of a pixel which is not located above the upper edge of the cylinder and which is not located below the lower edge of the cylinder will be described. For each pixel that is not above the top edge of the cylinder or below the bottom edge of the cylinder, the row panRow of the cylinder environment map that corresponds to the row irow of the view window
Is determined by the following equation.

【0110】[0110]

【数5】 (Equation 5)

【0111】そして、好ましくは、インデックスirow、
icolによって識別されるビュー・ウィンドウのピクセル
の色を、インデックスpanRow、panColによって識別され
る円筒環境マップのピクセルの色に対応するように設定
する。
Preferably, the index irow,
Set the color of the pixel in the view window identified by icol to correspond to the color of the pixel in the cylindrical environment map identified by the index panRow, panCol.

【0112】ビュー・ウィンドウに対するトップ・イメ
ージおよびボトム・イメージの投影を決定するための計
算は、ビュー・ウィンドウに対する円筒環境マップの投
影を決定するのに要する計算よりも困難である。これ
は、投影イメージの大きな部分をトップ・イメージおよ
び/またはボトム・イメージ中の点によって決定する場
合、性能の損失をもたらすおそれがある。投影イメージ
の小さな部分だけをトップ・イメージおよび/またはボ
トム・イメージ中のピクセルによって決定する場合、性
能の損失は非常に小さい。円筒の単位円の外に位置する
トップ点およびボトム点については性能の損失はない。
The calculations to determine the projection of the top and bottom images on the view window are more difficult than the calculations required to determine the projection of the cylindrical environment map on the view window. This can result in a loss of performance if a large portion of the projected image is determined by points in the top and / or bottom images. If only a small portion of the projected image is determined by pixels in the top and / or bottom images, the performance loss is very small. There is no performance loss for top and bottom points located outside the unit circle of the cylinder.

【0113】トップ・イメージおよびボトム・イメージ
から導出されるピクセルのインデックスの計算は、サイ
ンおよびコサイン三角関数に依存するが、これらの関数
の引き数は、行インデックスではなく、列インデックス
(角度δ)だけに依存する。その結果、好ましいこと
に、これらの値は列あたり1回計算するだけでよい。
The calculation of the indices of the pixels derived from the top and bottom images depends on the sine and cosine trigonometric functions, whose arguments are not the row indices but the column indices (angle δ). Only depends on. Consequently, preferably, these values need only be calculated once per column.

【0114】好都合には、トップ・イメージおよびボト
ム・イメージを円筒環境マップに統合することにより、
本発明は、データをわずかしか増さずに、視野を増大さ
せることができる。
Advantageously, by integrating the top and bottom images into a cylindrical environment map,
The present invention can increase the field of view with only a small increase in data.

【0115】本発明のもう一つの態様では、サーバが、
本発明の円筒環境マップを含む1個以上のファイルを記
憶することが可能である。ネットワークを介してサーバ
に接続されたクライアントが、サーバからファイルをダ
ウンロードし、上述した本発明のレンダリング処理を実
行することができる。しかし、ネットワークを介してフ
ァイルを通信するステップは、ネットワーク通信帯域幅
の制限のため、非常に遅いかもしれない。これは、結果
的に、ネットワーク通信ステップの開始と、表示装置の
表示ウィンドウ中のイメージの出現との間に長い遅延を
もたらすかもしれない。
In another aspect of the invention, the server comprises:
It is possible to store one or more files containing the cylindrical environment map of the present invention. A client connected to the server via the network can download a file from the server and execute the above-described rendering processing of the present invention. However, communicating files over a network may be very slow due to network communication bandwidth limitations. This may result in a long delay between the start of the network communication step and the appearance of the image in the display window of the display device.

【0116】そのようなネットワーク通信遅延の影響を
最小限にするため、異なる解像度の複数の円筒環境マッ
プによって、サーバに記憶された本発明の円筒環境マッ
プを表すこともできる。低めの解像度の環境マップは、
高めの解像度の環境マップよりも含むデータが少なく、
したがって、ネットワークを介して通信するのに要する
時間が少ない。他の画像処理操作に常であるように、低
めの解像度の円筒環境は、1個以上のより高い解像度の
円筒環境マップから作成することができる。たとえば、
第一の円筒環境マップの要素(ピクセル)数の1/4を
有する低めの解像度の円筒環境マップは、第一の円筒環
境マップ中のピクセルの各2×2ブロックを平均するこ
とによって作成することができる。
In order to minimize the influence of such network communication delay, the cylindrical environment map of the present invention stored in the server can be represented by a plurality of cylindrical environment maps of different resolutions. The lower resolution environment map
It contains less data than a higher resolution environment map,
Therefore, the time required for communication via the network is short. As is common with other image processing operations, a lower resolution cylindrical environment can be created from one or more higher resolution cylindrical environment maps. For example,
A lower resolution cylindrical environment map having 1 / of the number of elements (pixels) of the first cylindrical environment map is created by averaging each 2 × 2 block of pixels in the first cylindrical environment map. Can be.

【0117】このシナリオでは、クライアントは、ま
ず、最低解像度の環境マップを要求して受け取り、その
最低解像度の環境マップをレンダリングするように制御
される。最低解像度の環境マップをレンダリングしたの
ち(またはそれと並行に)、クライアントは、より高い
解像度の環境マップを要求して受け取り、そのより高い
解像度の環境マップをレンダリングすることができる。
最高解像度の環境マップがクライアントによって受け取
られ、表示のためにレンダリングされるまで、この処理
を繰り返すことができる。
In this scenario, the client is first controlled to request and receive the lowest resolution environment map and render the lowest resolution environment map. After (or in parallel with) rendering the lowest resolution environment map, the client can request and receive a higher resolution environment map and render the higher resolution environment map.
This process can be repeated until the highest resolution environment map is received by the client and rendered for display.

【0118】クライアントおよびサーバが、異なる解像
度を有する複数の環境マップを操作する際の処理の詳細
を図29〜31に示す。この例では、サーバは、それぞ
れ異なる解像度を有する複数の環境マップLOD0、L
OD1、LOD2等々を記憶している。最低解像度のマ
ップをLOD0とする。環境マップLOD1、LOD2
等々は、それらの解像度が漸増している。そのうえ、ク
ライアントの動作は、2個のスレッド、すなわち表示ス
レッドと通信スレッドとに分割されている。しかし、ク
ライアントの動作はこれに限定されず、1個のスレッド
に統合してもよいし、3個以上のスレッドに分割しても
よい。
The details of the processing when the client and the server operate a plurality of environment maps having different resolutions are shown in FIGS. In this example, the server transmits a plurality of environment maps LOD0 and LOD0 each having a different resolution.
OD1, LOD2, etc. are stored. The map with the lowest resolution is LOD0. Environment map LOD1, LOD2
And so on, their resolution is gradually increasing. Moreover, the operation of the client is divided into two threads, a display thread and a communication thread. However, the operation of the client is not limited to this, and may be integrated into one thread or divided into three or more threads.

【0119】クライアントの動作は、たとえば、ユーザ
が、サーバに記憶された環境マップを表示する要求を開
始したときに始まる。この要求は、サーバを識別するハ
イパリンクの一部であってもよいし、サーバに記憶され
た制御ファイルCF0であってもよい。この場合、好ま
しくは、制御ファイルCF0を、サーバに記憶された複
数の他の制御ファイル(CF1、CF2等々)ととも
に、サーバからクライアントにダウンロードすべき異な
る解像度の環境マップの連鎖を識別するためのリンク・
リスト・データ構造として使用する。より具体的には、
制御ファイルCF0は、環境マップLOD0へのポイン
タおよび制御ファイルCF1へのポインタを含み、制御
ファイルCF1は、環境マップLOD1へのポインタお
よび制御ファイルCF2へのポインタを含む。以下も同
様である。
The operation of the client begins, for example, when a user initiates a request to display an environment map stored on a server. This request may be part of a hyperlink that identifies the server, or may be a control file CF0 stored on the server. In this case, the control file CF0 is preferably linked with a plurality of other control files (CF1, CF2, etc.) stored on the server to identify a chain of different resolution environment maps to be downloaded from the server to the client.・
Used as a list data structure. More specifically,
The control file CF0 includes a pointer to the environment map LOD0 and a pointer to the control file CF1, and the control file CF1 includes a pointer to the environment map LOD1 and a pointer to the control file CF2. The same applies to the following.

【0120】この場合、クライアントは、ユーザの要求
に応答して、サーバから制御ファイルCF0を要求す
る。サーバから制御ファイルCF0を受け取ると、クラ
イアントは、制御ファイルCF0で識別される最低解像
度環境マップLOD0をサーバから要求する。
In this case, the client requests the control file CF0 from the server in response to the user's request. Upon receiving the control file CF0 from the server, the client requests the minimum resolution environment map LOD0 identified by the control file CF0 from the server.

【0121】最低解像度の環境マップLOD0をサーバ
から受け取ると、クライアントは、その最低解像度環境
マップLOD0を局所的に記憶し、最低解像度環境マッ
プLOD0を表示のためにレンダリングし、好ましく
は、ユーザがその最低解像度環境マップLOD0の中で
ナビゲートすることを許す。加えて、クライアントは、
サーバから制御ファイルCF1を要求する。上述したよ
うに、制御ファイルCF1は、好ましくは、次に高い解
像度の環境マップLOD1および制御ファイルCF2
(必要があるならば)へのポインタを含む。
Upon receiving the lowest resolution environment map LOD0 from the server, the client stores the lowest resolution environment map LOD0 locally, renders the lowest resolution environment map LOD0 for display, and preferably, the user Allows navigating within the lowest resolution environment map LOD0. In addition, the client
The control file CF1 is requested from the server. As described above, the control file CF1 preferably stores the next higher resolution environment map LOD1 and the control file CF2.
Contains a pointer to (if necessary).

【0122】制御ファイルCF1をサーバから受け取る
と、クライアントは、制御ファイルCF1で識別される
次に高い解像度の環境マップLOD1をサーバから要求
する。次に高い解像度の環境マップLOD1をサーバか
ら受け取ると、クライアントは、その環境マップLOD
1を局所的に記憶する。加えて、クライアントは、最低
解像度の環境マップLOD0のナビゲーションを中止
し、次に高い解像度の環境マップLOD1を表示のため
にレンダリングし、好ましくは、ユーザがその環境マッ
プLOD1の中でナビゲートすることを許す。加えて、
クライアントは、サーバから制御ファイルCF2を要求
する。上述したように、制御ファイルCF2は、好まし
くは、次に高い解像度の環境マップLOD2および制御
ファイルCF3(必要があるならば)へのポインタを含
む。
Upon receiving the control file CF1 from the server, the client requests the next higher resolution environment map LOD1 identified by the control file CF1 from the server. Upon receiving the next higher resolution environment map LOD1 from the server, the client sends the environment map LOD1.
1 is stored locally. In addition, the client stops navigating the lowest resolution environment map LOD0 and renders the next higher resolution environment map LOD1 for display, preferably wherein the user navigates within that environment map LOD1. Forgive. in addition,
The client requests the control file CF2 from the server. As described above, the control file CF2 preferably includes a pointer to the next higher resolution environment map LOD2 and control file CF3 (if needed).

【0123】制御ファイルCF2をサーバから受け取る
と、クライアントは、制御ファイルCF2で識別される
次に高い解像度の環境マップLOD2をサーバから要求
する。次に高い解像度の環境マップLOD2をサーバか
ら受け取ると、クライアントは、その環境マップLOD
2を局所的に記憶する。加えて、クライアントは、環境
マップLOD1のナビゲーションを中止し、次に高い解
像度の環境マップLOD2を表示のためにレンダリング
し、好ましくは、ユーザがその環境マップLOD2の中
でナビゲートすることを許す。
Upon receiving the control file CF2 from the server, the client requests the next higher resolution environment map LOD2 identified by the control file CF2 from the server. Upon receiving the next higher resolution environment map LOD2 from the server, the client sends the environment map LOD2.
2 is stored locally. In addition, the client stops navigating the environment map LOD1, renders the next higher resolution environment map LOD2 for display, and preferably allows the user to navigate within the environment map LOD2.

【0124】最高解像度の環境マップがクライアントに
よって受け取られ、表示のためにレンダリングされるま
で、これらの処理を繰り返すことができる。この処理
は、ユーザに対し、低めの解像度の環境マップをすばや
く視て、その中でナビゲートしながらも、より高い解像
度の環境マップを漸進的に構築し、それにより、ネット
ワーク通信の遅延の影響を最小限にする能力を提供す
る。
These processes can be repeated until the highest resolution environment map is received by the client and rendered for display. This process allows the user to quickly look at and navigate through a lower resolution environment map while progressively building a higher resolution environment map, thereby reducing the impact of network communication delays. Provide the ability to minimize.

【0125】本発明のもう一つの態様では、環境マップ
とは別にある1個以上のビットマップ・イメージ(また
はスプライト)をパノラマシーンに統合することを可能
にする機構が提供される。ビットマップ・イメージと
は、ピクセルごとにイメージの色を表すピクセルの二次
元配列である。図32を参照すると、ビットマップ・イ
メージをパノラマシーンに統合する処理は、ステップ7
01で、環境マップの座標系の中でビットマップ・イメ
ージを向き付けすることによって始まる。図2に示すよ
うに、円筒環境マップの座標系は、円筒軸ならびに原点
で円筒軸と交差する第二および第三の軸によって特徴づ
けられる。第二および第三の軸は、円筒軸および互いに
対して垂直である。好ましくは、ビットマップ・イメー
ジの向き付けは、ビットマップ・イメージが円筒軸に対
して平行な面に位置するように制限する。この場合、ビ
ットマップ・イメージは、特徴的な方位角θおよび仰角
φをビットマップ・イメージに割り当てることにより、
環境マップの座標系の中で向き付けすることができる。
図33および34に示すように、方位角θは、好ましく
は、第二の座標軸と円筒軸との面と、円筒軸からビット
マップ・イメージの中心ピクセルMに達する線との間の
角度によって表される。図33および35に示すよう
に、仰角φは、好ましくは、円筒軸からビットマップ・
イメージの中心ピクセルMに達する線と、第二および第
三の座標軸の面の間の角度によって表される。
In another aspect of the invention, a mechanism is provided that allows one or more bitmap images (or sprites) separate from the environment map to be integrated into a panoramic scene. A bitmap image is a two-dimensional array of pixels that represents the color of the image on a pixel-by-pixel basis. Referring to FIG. 32, the process of integrating a bitmap image into a panoramic scene is performed in step 7
Begin at 01 by orienting the bitmap image in the coordinate system of the environment map. As shown in FIG. 2, the coordinate system of the cylindrical environment map is characterized by a cylindrical axis and second and third axes that intersect the cylindrical axis at the origin. The second and third axes are perpendicular to the cylindrical axis and to each other. Preferably, the orientation of the bitmap image is restricted such that the bitmap image lies in a plane parallel to the cylinder axis. In this case, the bitmap image is obtained by assigning a characteristic azimuth angle θ and elevation angle φ to the bitmap image.
It can be oriented in the coordinate system of the environment map.
As shown in FIGS. 33 and 34, the azimuthal angle θ is preferably represented by the angle between the plane of the second coordinate axis and the cylindrical axis and the line from the cylindrical axis to the center pixel M of the bitmap image. Is done. As shown in FIGS. 33 and 35, the elevation angle φ is preferably
It is represented by the angle between the line reaching the center pixel M of the image and the plane of the second and third coordinate axes.

【0126】ステップ703で、図27を参照して上述
したように、環境マップをビュー・ウィンドウに投影す
る。投影ステップの結果として、ビュー・ウィンドウの
行および列のピクセルに関する色値が生成される。
At step 703, the environment map is projected onto the view window as described above with reference to FIG. As a result of the projection step, color values are generated for the pixels in the rows and columns of the view window.

【0127】ステップ705で、対(startCol、endCo
l)によって示す、ビットマップ・イメージによってカ
バーされるビュー・ウィンドウの列の範囲ならびに対
(startRow、endRow)によって示す、ビットマップ・イ
メージによってカバーされるビュー・ウィンドウの行の
範囲を決定する。
At step 705, the pair (startCol, endCo
Determine the range of columns of the view window covered by the bitmap image, indicated by l), and the range of rows of the view window covered by the bitmap image, indicated by the pair (startRow, endRow).

【0128】ステップ707で、列の範囲(startCol、
endCol)内の列icolごとに、ビュー・ウィンドウの特定
の列icolに対応するビットマップ・イメージの列インデ
ックスBMColを、好ましくは次式によって決定する。
In step 707, the range of the column (startCol,
For each column icol in endCol), the column index BMCol of the bitmap image corresponding to the particular column icol in the view window is determined, preferably by:

【0129】BMCol=icol−startColBMCol = icol-startCol

【0130】加えて、ビュー・ウィンドウの列(icol)
の行の範囲(startRow、EndRow)の各行irowを順に選択
し、以下のように処理する。まず、ビュー・ウィンドウ
の選択された行irowに対応するビットマップ・イメージ
の行インデックスBMRowを、好ましくは次式によって決
定する。
In addition, columns of the view window (icol)
Are sequentially selected in the row range (startRow, EndRow), and processing is performed as follows. First, the row index BMRow of the bitmap image corresponding to the selected row irow of the view window is determined, preferably by:

【0131】BMRow=irow−startRowBMRow = irow-startRow

【0132】次に、インデックスBMRow、BMColによって
識別されるピクセルのビットマップ・イメージの色値
を、ステップ703で決定した、インデックス(irow、
icol)によって識別されるビュー・ウィンドウのピクセ
ルの色値の代わりに用いる。
Next, the color value of the bitmap image of the pixel identified by the indexes BMRow and BMCol is determined by the index (irow,
icol) instead of the color value of the pixel in the view window identified by

【0133】ビットマップ・イメージによってカバーさ
れるビュー・ウィンドウの列の範囲(startCol、endCo
l)を処理したのち、処理は終わる。
The range of columns of the view window covered by the bitmap image (startCol, endCo
After processing l), the processing ends.

【0134】上記の処理は、環境マップとは別にある1
個以上のビットマップ・イメージをパノラマシーン中で
向き付けし、表示することを可能にする。
The above processing is performed separately from the environment map.
More than one bitmap image can be oriented and displayed in a panoramic scene.

【0135】代替えの実施態様では、上述の機構を変形
して、深さ値をビットマップ・イメージのピクセルと関
連させることにより、ビットマップ・イメージと環境マ
ップとの統合を高めてもよい。このシナリオでは、ステ
ップ701で、深さ値を各ビットマップ・イメージのピ
クセルと関連させる。深さマップのピクセルの深さ値は
一定であってもよい。あるいはまた、深さ値をビットマ
ップ・イメージのピクセルにわたって変化させてもよ
い。この場合、深さ値は、好ましくは、中央のピクセル
に対してのイメージの深さを表す。したがって、ビット
マップ・イメージの各ピクセルの深さは、ビットマップ
・イメージの特徴的な方位角θおよび仰角φならびに所
与のピクセルに関連する中心ピクセルに対するピクセル
の相対深さから決定することができる。加えて、デフォ
ルト深さ値(Dmax)を環境マップのピクセルと関連させ
る。
In an alternative embodiment, the mechanism described above may be modified to enhance the integration of the bitmap image with the environment map by associating depth values with the pixels of the bitmap image. In this scenario, step 701 associates a depth value with a pixel of each bitmap image. The depth values of the pixels of the depth map may be constant. Alternatively, the depth values may vary over the pixels of the bitmap image. In this case, the depth value preferably represents the depth of the image relative to the central pixel. Thus, the depth of each pixel in the bitmap image can be determined from the characteristic azimuth and elevation φ of the bitmap image and the relative depth of the pixel to the center pixel associated with a given pixel. . In addition, a default depth value (Dmax) is associated with the pixels of the environment map.

【0136】好ましくは、深さバッファを使用して、ビ
ュー・ウィンドウの各ピクセルに関連する深さ値を記憶
する。ピクセルそれぞれの深さ値を最大値(Dmax)に初
期化する。ステップ703で、深さバッファにはアクセ
スせず、したがって、Dmaxの深さ値を、ビュー・ウィン
ドウに投影される環境マップのピクセルに割り当てる。
ステップ707で、ピクセル(BMRow、BMCol)でのビッ
トマップ・イメージの深さ値(Dnew)を、ビュー・ウィ
ンドウのピクセル(irow、icol)に対応する深さバッフ
ァの位置に記憶された深さ値Boldと比較する。ビットマ
ップ・イメージの深さ値Dnewが、ビットマップ・イメー
ジが、記憶された深さ値Doldよりもビューポイントに近
いことを示すならば、ピクセル(irow、icol)に対応す
る深さバッファの位置を更新して値Dnewを記憶し、イン
デックス(irow、icol)によって識別されるビュー・ウ
ィンドウのピクセルの色値を、インデックス(BMRow、B
MCol)によって識別されるピクセルでのビットマップ・
イメージの色値で上書きする。
Preferably, a depth buffer is used to store a depth value associated with each pixel of the view window. Initialize the depth value of each pixel to the maximum value (Dmax). At step 703, the depth buffer is not accessed, and therefore the depth value of Dmax is assigned to the pixels of the environment map that are projected into the view window.
At step 707, the depth value (Dnew) of the bitmap image at the pixel (BMRow, BMCol) is stored in the depth buffer location corresponding to the pixel (irow, icol) in the view window. Compare with Bold. If the bitmap image depth value Dnew indicates that the bitmap image is closer to the viewpoint than the stored depth value Dold, the location of the depth buffer corresponding to the pixel (irow, icol). Is updated to store the value Dnew, and the color value of the pixel in the view window identified by the index (irow, icol) is stored in the index (BMRow, B
Bitmap at the pixel identified by MCol)
Overwrite with the color value of the image.

【0137】この処理は、複数のビットマップ・イメー
ジの間で部分的(または完全)なオクルージョンが生じ
たとき、もっとも近いビットマップ・イメージを表示す
る。
This processing displays the closest bitmap image when partial (or complete) occlusion occurs between a plurality of bitmap images.

【0138】代替えの実施態様では、上述の機構を変形
して、深さ値をビットマップ・イメージのピクセルおよ
び環境マップのピクセルと関連させることにより、ビッ
トマップ・イメージと環境マップとの統合を高めてもよ
い。このシナリオでは、ステップ701で、深さ値を各
ビットマップ・イメージのピクセルと関連させる。好ま
しくは、深さ値は、中央のピクセルに対してのイメージ
の深さを表す。この場合、ビットマップ・イメージの各
ピクセルの深さは、ビットマップ・イメージの特徴的な
方位角θおよび仰角φならびに所与のピクセルに関連す
る中心ピクセルに対するピクセルの相対深さから決定す
ることができる。加えて、深さ値を環境マップのピクセ
ルと関連させる。たとえば、円筒環境マップの場合、環
境マップの所与のピクセルと関連する深さ値は、円筒の
原点から円筒のピクセルまでの距離によって決定するこ
とができる。別の例では、円筒環境マップが三次元シー
ンのレンダリングから導出されたものであるならば、環
境マップのピクセルの深さ値は、シーンの物体の深さ情
報から導出することもできる。
In an alternative embodiment, the above mechanism is modified to enhance the integration of the bitmap image with the environment map by associating depth values with the pixels of the bitmap image and the pixels of the environment map. You may. In this scenario, step 701 associates a depth value with a pixel of each bitmap image. Preferably, the depth value represents the depth of the image relative to the central pixel. In this case, the depth of each pixel of the bitmap image may be determined from the characteristic azimuth angle θ and elevation angle φ of the bitmap image and the relative depth of the pixel to the center pixel associated with a given pixel. it can. In addition, the depth values are associated with the pixels of the environment map. For example, for a cylindrical environment map, the depth value associated with a given pixel of the environment map can be determined by the distance from the cylinder origin to the cylinder pixel. In another example, if the cylindrical environment map was derived from a rendering of a three-dimensional scene, the depth values of the pixels in the environment map could be derived from depth information of objects in the scene.

【0139】深さバッファを使用して、ビュー・ウィン
ドウの各ピクセルと関連する深さ値を記憶してもよい。
ビュー・ウィンドウのピクセルそれぞれの深さ値を最大
値(Dmax)に初期化する。ステップ703で、図27を
参照しながら上述したように、環境マップをビュー・ウ
ィンドウに投影すると、深さバッファを更新して、ビュ
ー・ウィンドウの所与のピクセルをカバーする環境マッ
プのピクセルに関連する深さ値を記憶する。投影ステッ
プはまた、結果として、ビュー・ウィンドウの行および
列のピクセルの色値を生成する。ステップ707で、ピ
クセル(BMRow、BMCol)のビットマップ・イメージの深
さ値Dnewを、ビュー・ウィンドウのピクセル(irow、ic
ol)に対応する深さバッファの位置に記憶された深さ値
Doldと比較する。ビットマップ・イメージの深さ値Dnew
が、ビットマップ・イメージが、記憶された深さ値Dold
よりもビューポイントに近いことを示すならば、ピクセ
ル(irow、icol)に対応する深さバッファの位置を更新
して値Dnewを記憶し、インデックス(irow、icol)によ
って識別されるビュー・ウィンドウのピクセルの色値
を、インデックス(BMRow、MBCol)によって識別される
ピクセルでのビットマップ・イメージの色値で上書きす
る。
A depth buffer may be used to store the depth value associated with each pixel in the view window.
Initialize the depth value of each pixel in the view window to the maximum value (Dmax). In step 703, projecting the environment map onto the view window, as described above with reference to FIG. 27, updates the depth buffer to relate pixels in the environment map that cover a given pixel in the view window. The depth value to be stored is stored. The projection step also results in the generation of color values for pixels in rows and columns of the view window. In step 707, the depth value Dnew of the bitmap image of the pixel (BMRow, BMCol) is set to the pixel (irow, ic) of the view window.
ol) the depth value stored in the depth buffer location corresponding to
Compare with Dold. Bitmap image depth value Dnew
Is the bitmap image and the stored depth value Dold
Update the position of the depth buffer corresponding to the pixel (irow, icol) to store the value Dnew and to store the value of the view window identified by the index (irow, icol). Overwrites the color value of the pixel with the color value of the bitmap image at the pixel identified by the index (BMRow, MBCol).

【0140】この処理は、複数のビットマップ・イメー
ジおよび/または環境マップの間で部分的(または完
全)なオクルージョンが生じたとき、ビットマップ・イ
メージまたは環境マップを表示する。
This process displays a bitmap image or environment map when partial (or complete) occlusion occurs between a plurality of bitmap images and / or environment maps.

【0141】代替えの実施態様では、深さ値をビットマ
ップ・イメージのピクセルおよび環境マップのピクセル
と関連させる上述の機構を変形して、ビュー・ウィンド
ウの各ピクセルに対応する深さ値を記憶する深さバッフ
ァが必要とされないようにしてもよい。この実施態様で
は、ステップ701で、深さ値は各ビットマップ・イメ
ージのピクセルと関連し、深さ値は、上述したように、
環境マップのピクセルと関連する。ステップ703で、
図27を参照しながら上述したように、環境マップをビ
ュー・ウィンドウに投影するとき、インデックス(iro
w、icol)によって識別されるビュー・ウィンドウのピ
クセルごとに、ビュー・ウィンドウのピクセルがビット
マップ・イメージによってカバーされるかどうかを決定
する。
In an alternative embodiment, the above mechanism for associating depth values with pixels of the bitmap image and pixels of the environment map is modified to store a depth value corresponding to each pixel of the view window. A depth buffer may not be required. In this embodiment, at step 701, a depth value is associated with each bitmap image pixel, and the depth value is calculated as described above.
Associated with the pixels of the environment map. In step 703,
As described above with reference to FIG. 27, when projecting the environment map onto the view window, the index (iro
For each pixel of the view window identified by (w, icol), determine whether the pixel of the view window is covered by the bitmap image.

【0142】ビュー・ウィンドウがビットマップ・イメ
ージによって部分的にカバーされないならば、図27を
参照しながら上述したように処理が継続して、ビュー・
ウィンドウのピクセル(irow、icol)の色値が環境マッ
プの適切な要素の色値に設定されるようになる。
If the view window is not partially covered by the bitmap image, processing continues as described above with reference to FIG.
The color values of the pixels (irow, icol) in the window will now be set to the color values of the appropriate elements in the environment map.

【0143】しかし、ビュー・ウィンドウのピクセルが
ビットマップ・イメージによって部分的にカバーされて
いないならば、ビュー・ウィンドウの選択されたピクセ
ル(irow、icol)に対応するビットマップ・イメージの
行インデックスおよび列インデックスBMRow、BMColを決
定する。加えて、ピクセル(BMRow、BMCol)でのビット
マップ・イメージの深さ値を、ビュー・ウィンドウのピ
クセル(irow、icol)に対応する環境マップのピクセル
の深さ値と比較する。ビットマップ・イメージのピクセ
ル(BMRow、BMCol)の深さ値が、ビットマップ・イメー
ジのピクセル(BMRow、BMCol)の方が、環境マップのピ
クセルよりもビュー・ポイントに近いことを示すなら
ば、ビュー・ウィンドウのピクセル(irow、icol)の色
値を、インデックス(BMRow、MBCol)によって識別され
るピクセルでのビットマップ・イメージの色値に設定す
る。そうでなければ、ビュー・ウィンドウのピクセル
(irow、icol)の色値を、環境マップの対応するピクセ
ルの色値に設定する。
However, if the pixels of the view window are not partially covered by the bitmap image, the row index of the bitmap image corresponding to the selected pixel (irow, icol) of the view window and Determine the column indexes BMRow, BMCol. In addition, the depth value of the bitmap image at the pixel (BMRow, BMCol) is compared with the pixel value of the environment map corresponding to the pixel (irow, icol) of the view window. If the depth value of the bitmap image pixel (BMRow, BMCol) indicates that the bitmap image pixel (BMRow, BMCol) is closer to the view point than the environment map pixel, the view Set the color value of the window pixel (irow, icol) to the color value of the bitmap image at the pixel identified by the index (BMRow, MBCol). Otherwise, set the color value of the view window pixel (irow, icol) to the color value of the corresponding pixel in the environment map.

【0144】この処理は、複数のビットマップ・イメー
ジおよび/または環境マップの間で部分的(または完
全)なオクルージョンが生じたとき、ふさぐとき、ビッ
トマップ・イメージまたは環境マップを表示し、ビュー
・ウィンドウのピクセルの深さ情報を記憶する深さバッ
ファを要しない。
This process displays a bitmap image or environment map when partial (or complete) occlusion occurs between a plurality of bitmap images and / or environment maps, and displays the viewmap. There is no need for a depth buffer to store depth information for window pixels.

【0145】パノラマシーンを生成する際にビットマッ
プ・イメージを環境マップと統合する機構を述べた上記
の実施態様では、環境マップに対するビットマップ・イ
メージの位置および/または向きを変更して、そのよう
なビットマップ・イメージの動きを提供してもよい。そ
のうえ、ビットマップ・イメージを選択的に表示して、
イメージのゆがみまたは他の所望の属性を提供してもよ
い。たとえば、それぞれが異なった位置に尾を有する同
じ一匹の魚を表す4個のビットマップ・イメージを考え
てみる。この場合、適切なビットマップ・イメージの選
択を、表示されたビットマップ・イメージの向きの変化
と同調させることにより、魚が泳いでいるように見せる
ことができる。
In the embodiment described above which describes a mechanism for integrating a bitmap image with an environment map when generating a panoramic scene, the position and / or orientation of the bitmap image with respect to the environment map is changed to allow such a change. The motion of the bitmap image may be provided. In addition, bitmap images can be selectively displayed,
Image distortion or other desired attributes may be provided. For example, consider four bitmap images each representing the same fish, each having a tail at a different location. In this case, the selection of the appropriate bitmap image can be synchronized with the change in the orientation of the displayed bitmap image to make the fish appear to be swimming.

【0146】加えて、ビットマップ・イメージに対して
適切なスケーリング処理(拡大/縮小)を実行すること
により、ビットマップ・イメージの深さ値の変化を表し
てもよい。たとえば、ビットマップ・イメージをビュー
・ポイントにより近づける(深さで)ならば、ビットマ
ップ・イメージに対して拡大(ズーム・イン)処理を実
行することができる。しかし、ビットマップ・イメージ
をビュー・ポイントからさらに遠ざける(深さで)なら
ば、ビットマップ・イメージに対して縮小(ズーム・ア
ウト)処理を実行することができる。このシナリオで
は、ビュー・ウィンドウとビットマップ・イメージとの
間のマッピングは、ビットマップ・イメージのスケーリ
ング処理を考慮に入れることになろう。
In addition, a change in the depth value of the bitmap image may be represented by performing an appropriate scaling process (enlargement / reduction) on the bitmap image. For example, if the bitmap image is closer (by depth) to the view point, a zoom-in process can be performed on the bitmap image. However, if the bitmap image is moved further away (by depth) from the view point, a reduction (zoom out) operation can be performed on the bitmap image. In this scenario, the mapping between the view window and the bitmap image will take into account the scaling of the bitmap image.

【0147】上述の機構は、パノラマシーンをレンダリ
ングするとき、1個以上のビットマップ・イメージを環
境マップに統合することを考慮している。環境マップ
は、上述したような円筒環境マップであってもよい。し
かし、この機構はこれには限定されず、いかなるタイプ
の環境マップとで使用してもよい。たとえば、環境マッ
プは、立方体の環境マップ、球形の環境マップまたは、
米国特許出願第60/022,428号に記載のような
多面形の環境マップであってもよい。
The mechanism described above allows for the integration of one or more bitmap images into an environment map when rendering a panoramic scene. The environment map may be a cylindrical environment map as described above. However, the mechanism is not so limited and may be used with any type of environment map. For example, an environment map can be a cubic environment map, a spherical environment map,
It may be a polyhedral environment map as described in US patent application Ser. No. 60 / 022,428.

【0148】特定の実施態様を参照しながら本発明を示
し、記載したが、当業者であれば、本発明の真髄および
範囲を逸することなく、形態および詳細において前記お
よびその他の変形、省略および追加を成しうることを理
解すべきである。
While the invention has been shown and described with reference to specific embodiments, those skilled in the art will recognize that and other modifications, omissions, and forms and details in detail and without departing from the spirit and scope of the invention. It should be understood that additions can be made.

【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)記載のプログラム記憶装置。
In summary, the following matters are disclosed regarding the configuration of the present invention. (1) A method for generating a view of a scene, comprising: storing in a memory a color value associated with an element of an environment map representing the scene; Storing the color values to be stored in a memory, and orienting the bitmap image with respect to a coordinate system of the environment map.
Projecting the environment map onto a view window that includes an array of pixels; and for at least one pixel of the view window covered by the bitmap image, corresponding to the pixel in the view window. Determining at least one element of the bitmap image;
Deriving a color value of the pixel based on a color value of the at least one element of the bitmap image, and storing the derived color value of the pixel for display. Features method. (2) A method for generating a view of a scene, comprising: storing in a memory a color value associated with an element of an environment map representing the scene; and an element of a bitmap image separate from the environment map. Storing associated color values in memory; storing depth values associated with elements of the bitmap image in memory; orienting the bitmap image with respect to a coordinate system of the environment map. Projecting the environment map onto a view window that includes an array of pixels; and for at least one pixel of the view window covered by the bitmap image, At least one of said bitmap images corresponding to pixels
Determining the number of elements and determining that the depth value associated with the pixel and the depth value associated with the at least one element are such that the at least one element is closer to a view point than the pixel. Deriving, if indicated, a color value of the pixel based on a color value of the at least one element of the bitmap image;
Storing the derived color values of the pixels for display. (3) for the at least one pixel of the view window covered by the bitmap image, the depth value associated with the pixel and the depth value associated with the at least one element are:
If the at least one element indicates that the pixel is further from the view point than the pixel, the color value of the pixel is determined based on the color value of at least one element of the environment map corresponding to the pixel. The method of claim 2, wherein the method further comprises deriving and storing the derived color values of the pixel for display. (4) The method of (3) above, wherein a depth value associated with the pixel of the view window is stored in a depth buffer. (5) for the at least one pixel of the view window covered by the bitmap image, the depth value associated with the pixel and the depth value associated with the at least one element are:
If the at least one element indicates that the pixel is closer to the view point than the pixel, then the view window is displayed according to the depth value associated with the at least one element of the bitmap image. Updating the depth value associated with the pixel (4)
The described method. (6) storing in a memory a depth value associated with the element of the environment map, wherein the depth value associated with the pixel of the view window corresponds to the pixel of the view window. The method of claim 2, wherein the method is derived from a depth value associated with at least one element of the environment map. (7) A machine-readable program storage embodying a program of machine-executable instructions for performing the method steps of generating a view of a scene, wherein the method steps comprise elements of an environment map representing the scene. Storing in memory a color value associated with
Storing color values associated with elements of the bitmap image that are separate from the environment map in a memory; orienting the bitmap image with respect to a coordinate system of the environment map; To a view window that includes an array of pixels; and for at least one pixel of the view window covered by the bitmap image, the bit corresponding to the pixel in the view window Determining at least one element of a map; deriving a color value of the pixel based on a color value of the at least one element of the bitmap image; Storing for display. Beam storage device. (8) A machine-readable program storage embodying a program of machine-executable instructions for performing the method steps of generating a view of a scene, wherein the method comprises: an element of an environment map representing the scene; Storing associated color values in memory; storing color values associated with elements of the bitmap image separate from the environment map in memory; and a depth associated with the elements of the bitmap image. Storing a value in a memory; and orienting the bitmap image with respect to a coordinate system of the environment map;
Projecting the environment map onto a view window that includes an array of pixels; and for at least one pixel of the view window covered by the bitmap image, corresponding to the pixel in the view window. Determining at least one element of the bitmap image;
A depth value associated with the pixel and the at least one
Based on the color value of the at least one element of the bitmap image if the depth value associated with the at least one element indicates that the at least one element is closer to the view point than the pixel. Deriving a color value of the pixel; and storing the derived color value of the pixel for display. (9) for the at least one pixel of the view window covered by the bitmap image, wherein the depth value associated with the pixel and the depth value associated with the at least one element are:
If the at least one element indicates that the pixel is further from the view point than the pixel, the color value of the pixel is determined based on the color value of at least one element of the environment map corresponding to the pixel. The program storage device according to (8), wherein the derived color value is derived and stored for display. (10) The program storage device according to (9), wherein a depth value associated with the pixel of the view window is stored in a depth buffer. (11) for the at least one pixel of the view window covered by the bitmap image, the depth value associated with the pixel and the depth value associated with the at least one element are: If the at least one element indicates that the pixel is closer to the view point than the pixel, then the view window is displayed according to the depth value associated with the at least one element of the bitmap image. The program storage device according to (10), wherein the depth value related to the pixel is updated. (12) storing in the memory a depth value associated with the element of the environment map;
The program storage of claim 8, wherein the depth value associated with the pixel of the window is derived from a depth value associated with at least one element of the environment map corresponding to the pixel of the view window. apparatus.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の好ましい実施態様に用いることができ
るコンピュータ処理システムの機能ブロック図である。
FIG. 1 is a functional block diagram of a computer processing system that can be used in a preferred embodiment of the present invention.

【図2】円筒環境マップの円筒、円筒軸、軸の原点、第
二の座標軸および第三の座標軸を示す図である。
FIG. 2 is a diagram illustrating a cylinder, a cylinder axis, an axis origin, a second coordinate axis, and a third coordinate axis of the cylinder environment map.

【図3】図2の円筒を矩形区域に分割した図である。FIG. 3 is a view obtained by dividing the cylinder of FIG. 2 into rectangular areas.

【図4】図3の円筒の原点(O)および矩形区域(ab
cd)によって画定される角錐形体積(OABCD)を
示す図である。
FIG. 4 shows the origin (O) and the rectangular area (ab) of the cylinder of FIG.
FIG. 4 shows a pyramidal volume (OABCD) defined by cd).

【図5】図2の円筒の一部(abcdef)を円筒軸に
平行な面(ABCDEF)に投影した図である。
FIG. 5 is a diagram in which a part (abcdef) of the cylinder of FIG. 2 is projected on a plane (ABCDEF) parallel to the cylinder axis.

【図6】図5の円筒および投影面を円筒軸の上から見た
図である。
6 is a view of the cylinder and the projection plane of FIG. 5 as viewed from above the cylinder axis.

【図7】図5の円筒および投影面を、円筒軸および投影
面の中心線(BE)を含む面に垂直な方向から見た図で
ある。
FIG. 7 is a view of the cylinder and the projection plane of FIG. 5 viewed from a direction perpendicular to a plane including a cylinder axis and a center line (BE) of the projection plane.

【図8】それぞれが90°の水平視野を有する4個のイ
メージを円筒環境マップの円筒にマッピングしたものを
円筒軸の上から見た図である。
FIG. 8 is a view of four images, each having a 90 ° horizontal field of view, mapped onto a cylinder of a cylinder environment map, as viewed from above the cylinder axis.

【図9】水平視野αを有する一つのイメージを円筒環境
マップの円筒にマッピングしたものを円筒軸の上から見
た図である。
FIG. 9 is a diagram in which one image having a horizontal field of view α is mapped onto a cylinder of a cylinder environment map as viewed from above a cylinder axis.

【図10】水平視野αを有するイメージを円筒にマッピ
ングしたものを、図9に示す円筒軸に垂直な面A−Aの
方向から見た側面図である。
10 is a side view of an image having a horizontal field of view α mapped onto a cylinder as viewed from a direction of a plane AA perpendicular to the cylinder axis shown in FIG. 9;

【図11】水平視野αを有するイメージを円筒にマッピ
ングしたものを、図9に示す円筒軸に垂直な面B−Bの
方向から見た側面図である。
11 is a side view of an image having a horizontal field of view α mapped onto a cylinder, viewed from a direction of a plane BB perpendicular to the cylinder axis shown in FIG. 9;

【図12】図8に示す円筒に対する4個のイメージのマ
ッピングから導出される、展開した円筒環境マップを示
す図である。
FIG. 12 shows an expanded cylinder environment map derived from the mapping of the four images to the cylinder shown in FIG.

【図13】本発明にしたがって円筒環境マップの円筒に
イメージをマッピングするのに使用される角度θ、
θ1 、αおよびδを示す図である。
FIG. 13 shows an angle θ used to map an image to a cylinder of a cylinder environment map according to the present invention;
FIG. 3 is a diagram showing θ 1 , α and δ.

【図14】イメージを円筒にマッピングするのに使用さ
れるPanRowとImgRowとの関係を示す図である。
FIG. 14 is a diagram illustrating the relationship between PanRow and ImgRow used to map an image onto a cylinder.

【図15】トップ・イメージ中の点に関するPanRowとRt
opとの関係を示す図である。
FIG. 15: PanRow and Rt for points in top image
FIG. 6 is a diagram illustrating a relationship with op.

【図16】トップ・イメージ中の点の位置を示す図であ
る。
FIG. 16 is a diagram showing positions of points in a top image.

【図17】視野と、その視野に入る円筒環境マップの部
分が投影されるところの、視野に対応するビュー面とを
示す図である。
FIG. 17 is a diagram illustrating a field of view and a view plane corresponding to the field of view where the portion of the cylindrical environment map that falls within the field of view is projected.

【図18】円筒環境マップの一部をビュー・ウィンドウ
に投影した側面図である。
FIG. 18 is a side view in which a part of the cylindrical environment map is projected on a view window.

【図19】円筒環境マップの一部をビュー・ウィンドウ
に投影した側面図である。
FIG. 19 is a side view in which a part of the cylindrical environment map is projected on a view window.

【図20】本発明にしたがってサイド・イメージをトッ
プ・イメージおよび/またはボトム・イメージとともに
円筒環境マップにマッピングする際のシステムの動作を
説明するフロー・チャートである。
FIG. 20 is a flow chart illustrating the operation of the system when mapping a side image along with a top image and / or a bottom image to a cylindrical environment map in accordance with the present invention.

【図21】行列に分割されたサイド・イメージおよびデ
ータを示す図である。
FIG. 21 is a diagram showing a side image and data divided into a matrix.

【図22】図21のサイド・イメージのピクセルごとに
記憶されるデータを示す図である。
FIG. 22 is a diagram showing data stored for each pixel of the side image of FIG. 21;

【図23】行列に分割されたトップ・イメージを示す図
である。
FIG. 23 is a diagram showing a top image divided into a matrix.

【図24】図23のトップ・イメージのピクセルごとに
記憶されるデータを示す図である。
FIG. 24 is a diagram showing data stored for each pixel of the top image of FIG. 23;

【図25】サイド・イメージ、トップ・イメージまたは
ボトム・イメージ中の対応するピクセルの内部の円筒の
列のピクセルを満たす際のシステムの動作を説明するフ
ロー・チャートである。
FIG. 25 is a flow chart illustrating the operation of the system in filling the pixels of a column of cylinders inside corresponding pixels in a side, top or bottom image.

【図26】円筒の列中の所与のピクセルに対応するトッ
プ・イメージまたはボトム・イメージ中のピクセルを決
定する際のシステムの動作を説明するフロー・チャート
である。
FIG. 26 is a flow chart illustrating the operation of the system in determining the pixel in the top or bottom image corresponding to a given pixel in a column of cylinders.

【図27】円筒環境マップにマッピングされたパノラマ
イメージのビューを生成する際のシステムの動作を説明
するフロー・チャートである。
FIG. 27 is a flowchart illustrating the operation of the system when generating a view of a panoramic image mapped to a cylindrical environment map.

【図28】本発明にしたがってビュー・ウィンドウの選
択された列のピクセルをレンダリングする際のシステム
の動作を説明するフロー・チャートである。
FIG. 28 is a flow chart illustrating the operation of the system in rendering pixels in a selected column of a view window in accordance with the present invention.

【図29】サーバに記憶された、解像度が漸進的に高ま
る複数の環境マップを操作する際のクライアントおよび
サーバの動作を示す図である。
FIG. 29 is a diagram showing operations of the client and the server when operating a plurality of environment maps stored in the server and having progressively higher resolutions.

【図30】サーバに記憶された、解像度が漸進的に高ま
る複数の環境マップを操作する際のクライアントおよび
サーバの動作を示す図である。
FIG. 30 is a diagram illustrating operations of a client and a server when operating a plurality of environment maps stored in the server and having progressively higher resolutions.

【図31】サーバに記憶された、解像度が漸進的に高ま
る複数の環境マップを操作する際のクライアントおよび
サーバの動作を示す図である。
FIG. 31 is a diagram illustrating operations of a client and a server when operating a plurality of environment maps whose resolution is gradually increased and stored in the server.

【図32】本発明にしたがってビットマップ・イメージ
および環境マップをレンダリングするためのシステムの
動作を説明するフロー・チャートである。
FIG. 32 is a flow chart illustrating the operation of a system for rendering bitmap images and environment maps according to the present invention.

【図33】ビットマップ・イメージと円筒環境マップと
の空間的関係を示す図である。
FIG. 33 is a diagram showing a spatial relationship between a bitmap image and a cylindrical environment map.

【図34】ビットマップ・イメージに特徴的な方位角を
示す、円筒軸を上から見た円筒環境マップの平面図であ
る。
FIG. 34 is a plan view of a cylinder environment map showing the azimuth characteristic of the bitmap image, with the cylinder axis viewed from above.

【図35】ビットマップ・イメージに特徴的な仰角を示
す、円筒の第二および第三の軸の面から見た円筒環境マ
ップの図である。
FIG. 35 is an illustration of a cylinder environment map viewed from the plane of the cylinder's second and third axes, showing the elevation angles characteristic of the bitmap image.

【符号の説明】[Explanation of symbols]

101 メモリ 103 CPU 104 フレームバッファ 105 表示装置 107 入力装置 108 不揮発性記憶装置 109 通信リンク 101 memory 103 CPU 104 frame buffer 105 display device 107 input device 108 non-volatile storage device 109 communication link

フロントページの続き (72)発明者 ウィリアム・ルイス・ルケン アメリカ合衆国10598、 ニューヨーク 州 ヨークタウン ハイツ ファーム ウォーク ロード 2924 (72)発明者 ジャイ・ピー・メノン アメリカ合衆国105666、 ニューヨーク 州 ピークスキル キャンパス ロード 55 (56)参考文献 実開 平3−100892(JP,U) 米国特許5396583(US,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/00 - 17/50 Continuing on the front page (72) Inventor William Louis Luken United States 10598, Yorktown Heights Farm Walk Road, New York 2924 (72) Inventor JIP Menon United States 105666, Peakskill Campus Road, New York 55 (56) Reference Reference Japanese Utility Model 3-100892 (JP, U) US Patent 5,396,583 (US, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06T 15/00-17/50

Claims (12)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】シーンのビューを生成する方法であって、 前記シーンを表し、イメージを計算する範囲を示すデー
タを含む環境マップの要素と関連する色値を列順にメモ
リに記憶するステップと、 前記環境マップとは別にあるビットマップ・イメージの
要素と関連する色値をメモリに記憶するステップと、 前記環境マップの座標系に対して前記ビットマップ・イ
メージを向き付けするステップと、 前記環境マップを、ピクセルの配列を含むビュー・ウィ
ンドウに投影するステップと、 前記ビットマップ・イメージによってカバーされる前記
ビュー・ウィンドウの少なくとも1個のピクセルについ
て、 前記ビュー・ウィンドゥの前記ピクセルに対応する、前
記ビットマップ・イメージの少なくとも1個の要素を決
定するステップと、 前記ビットマップ・イメージの前記少なくとも1個の要
素の色値に基づき、前記ピクセルの色値を導出するステ
ップと、前記環境マップのイメージを計算する範囲を示すデータ
に基づいて、前記環境マップを超える範囲のピクセルの
色値を導出するステップと、 前記ピクセルの導出した色値を表示のために記憶するス
テップと、 を含むことを特徴とする方法。
1. A method of generating a view of the scene, data indicating a range of the scene table, calculates the image
Storing color values associated with elements of an environment map including data in a column order, and storing color values associated with elements of a bitmap image that are separate from the environment map in a memory. Orienting the bitmap image with respect to the coordinate system of the environment map; projecting the environment map onto a view window containing an array of pixels; covering with the bitmap image Determining, for at least one pixel of the view window, at least one element of the bitmap image corresponding to the pixel of the view window; Deriving the color value of the pixel based on the color value of one element Data indicating a range for calculating an image of the environment map
Based on the range of pixels beyond the environment map
Deriving a color value, and storing the derived color value of the pixel for display.
【請求項2】シーンのビューを生成する方法であって、 前記シーンを表し、イメージを計算する範囲を示すデー
タを含む環境マップの要素と関連する色値を列順にメモ
リに記憶するステップと、 前記環境マップとは別にあるビットマップ・イメージの
要素と関連する色値をメモリに記憶するステップと、 前記ビットマップ・イメージの要素と関連する深さ値を
メモリに記憶するステップと、 前記環境マップの座標系に対して前記ビットマップ・イ
メージを向き付けするステップと、 前記環境マップを、ピクセルの配列を含むビュー・ウィ
ンドウに投影するステップと、 前記ビットマップ・イメージによってカバーされる前記
ビュー・ウィンドウの少なくとも1個のピクセルについ
て、 前記ビュー・ウィンドゥの前記ピクセルに対応する、前
記ビットマップ・イメージの少なくとも1個の要素を決
定するステップと、 前記ピクセルと関連する深さ値および前記少なくとも1
個の要素と関連する深さ値が、前記少なくとも1個の要
素が前記ピクセルよりもビュー・ポイントに近いことを
示すならば、 前記ビットマップ・イメージの前記少なくとも1個の要
素の色値に基づき、前記ピクセルの色値を導出するステ
ップと、前記環境マップのイメージを計算する範囲を示すデータ
に基づいて、前記環境マップを超える範囲のピクセルの
色値を導出するステップと、 前記ピクセルの導出した色値を表示のために記憶するス
テップと、 を含むことを特徴とする方法。
2. A method of generating a view of the scene, data indicating a range of the scene table, calculates the image
Storing color values associated with elements of an environment map including data in a column order, and storing color values associated with elements of a bitmap image that are separate from the environment map in a memory. Storing depth values associated with elements of the bitmap image in a memory; orienting the bitmap image with respect to a coordinate system of the environment map; Projecting onto a view window that includes an array of pixels; and for at least one pixel of the view window covered by the bitmap image, the bitmap image corresponding to the pixel in the view window. Determining at least one element of the image; and a depth associated with the pixel. And said at least one
If the depth value associated with the at least one element indicates that the at least one element is closer to the view point than the pixel, based on the color value of the at least one element of the bitmap image Deriving a color value of the pixel; and data indicating a range for calculating an image of the environment map.
Based on the range of pixels beyond the environment map
Deriving a color value, and storing the derived color value of the pixel for display.
【請求項3】前記ビットマップ・イメージによってカバ
ーされる前記ビュー・ウィンドウの前記少なくとも1個
のピクセルについて、 前記ピクセルと関連する前記深さ値および前記少なくと
も1個の要素と関連する前記深さ値が、前記少なくとも
1個の要素が前記ピクセルよりも前記ビュー・ポイント
から遠いことを示すならば、 前記ピクセルに対応する、前記環境マップの少なくとも
1個の要素の色値に基づき、前記ピクセルの色値を導出
し、 前記ピクセルの導出した色値を表示のために記憶する請
求項2記載の方法。
3. The depth value associated with the pixel and the depth value associated with the at least one element for the at least one pixel of the view window covered by the bitmap image. Indicates that the at least one element is further from the view point than the pixel, the color of the pixel based on a color value of at least one element of the environment map corresponding to the pixel 3. The method of claim 2, wherein a value is derived and the derived color value of the pixel is stored for display.
【請求項4】前記ビュー・ウィンドウの前記ピクセルと
関連する深さ値を深さバッファに記憶する請求項3記載
の方法。
4. The method of claim 3, wherein a depth value associated with said pixel of said view window is stored in a depth buffer.
【請求項5】前記ビットマップ・イメージによってカバ
ーされる前記ビュー・ウィンドウの前記少なくとも1個
のピクセルについて、 前記ピクセルと関連する前記深さ値および前記少なくと
も1個の要素と関連する前記深さ値が、前記少なくとも
1個の要素が前記ピクセルよりも前記ビュー・ポイント
に近いことを示すならば、 前記ビットマップ・イメージの前記少なくとも1個の要
素と関連する前記深さ値にしたがって、前記ビュー・ウ
ィンドウの前記ピクセルと関連する前記深さ値を更新す
る請求項4記載の方法。
5. The depth value associated with the pixel and the depth value associated with the at least one element for the at least one pixel of the view window covered by the bitmap image. Indicates that the at least one element is closer to the view point than the pixel, according to the depth value associated with the at least one element of the bitmap image. The method of claim 4, wherein the depth value associated with the pixel of a window is updated.
【請求項6】前記環境マップの前記要素と関連する深さ
値をメモリに記憶するステップをさらに含み、前記ビュ
ー・ウィンドウの前記ピクセルと関連する前記深さ値
を、前記ビュー・ウィンドウの前記ピクセルに対応す
る、前記環境マップの少なくとも1個の要素と関連する
深さ値から導出する請求項2記載の方法。
6. The method of claim 1, further comprising the step of storing in a memory a depth value associated with said element of said environment map, wherein said depth value associated with said pixel of said view window is stored in said pixel of said view window. 3. The method according to claim 2, wherein the method derives from a depth value associated with at least one element of the environment map corresponding to.
【請求項7】シーンのビューを生成する方法ステップを
実行するために機械によって実行可能な命令のプログラ
ムを具現化する機械読み出し可能なプログラム記憶装置
において、前記方法ステップが、 前記シーンを表し、イメージを計算する範囲を示すデー
タを含む環境マップの要素と関連する色値を列順にメモ
リに記憶するステップと、 前記環境マップとは別にあるビットマップ・イメージの
要素と関連する色値をメモリに記憶するステップと、 前記環境マップの座標系に対して前記ビットマップ・イ
メージを向き付けするステップと、 前記環境マップを、ピクセルの配列を含むビュー・ウィ
ンドウに投影するステップと、 前記ビットマップ・イメージによってカバーされる前記
ビュー・ウィンドウの少なくとも1個のピクセルについ
て、 前記ビュー・ウィンドゥの前記ピクセルに対応する、前
記ビットマップの少なくとも1個の要素を決定するステ
ップと、 前記ビットマップ・イメージの前記少なくとも1個の要
素の色値に基づき、前記ピクセルの色値を導出するステ
ップと、前記環境マップのイメージを計算する範囲を示すデータ
に基づいて、前記環境マップを超える範囲のピクセルの
色値を導出するステップと、 前記ピクセルの導出した色値を表示のために記憶するス
テップと、 を含むことを特徴とするプログラム記憶装置。
7. A machine-readable program storage device embodying a program of instructions executable by the machine to perform method steps for generating a view of the scene, said method steps, and tables the scene, Data indicating the range over which to calculate the image
Storing color values associated with elements of an environment map including data in a column order, and storing color values associated with elements of a bitmap image that are separate from the environment map in a memory. Orienting the bitmap image with respect to the coordinate system of the environment map; projecting the environment map onto a view window containing an array of pixels; covering with the bitmap image Determining, for at least one pixel of the view window, at least one element of the bitmap corresponding to the pixel of the view window; and at least one element of the bitmap image. a step based on the color values, to derive the color values of the pixels of the element, said ring Data indicating the range to calculate the image of the map
Based on the range of pixels beyond the environment map
A program storage device , comprising: deriving a color value; and storing the derived color value of the pixel for display.
【請求項8】シーンのビューを生成する方法ステップを
実行するために機械によって実行可能な命令のプログラ
ムを具現化する機械読み出し可能なプログラム記憶装置
において、前記方法が、 前記シーンを表し、イメージを計算する範囲を示すデー
タを含む環境マップの要素と関連する色値を列順にメモ
リに記憶するステップと、 前記環境マップとは別にあるビットマップ・イメージの
要素と関連する色値をメモリに記憶するステップと、 前記ビットマップ・イメージの要素と関連する深さ値を
メモリに記憶するステップと、 前記環境マップの座標系に対して前記ビットマップ・イ
メージを向き付けするステップと、 前記環境マップを、ピクセルの配列を含むビュー・ウィ
ンドウに投影するステップと、 前記ビットマップ・イメージによってカバーされる前記
ビュー・ウィンドウの少なくとも1個のピクセルについ
て、 前記ビュー・ウィンドゥの前記ピクセルに対応する、前
記ビットマップ・イメージの少なくとも1個の要素を決
定するステップと、 前記ピクセルと関連する深さ値および前記少なくとも1
個の要素と関連する深さ値が、前記少なくとも1個の要
素が前記ピクセルよりもビュー・ポイントに近いことを
示すならば、 前記ビットマップ・イメージの前記少なくとも1個の要
素の色値に基づき、前記ピクセルの色値を導出するステ
ップと、前記環境マップのイメージを計算する範囲を示すデータ
に基づいて、前記環境マップを超える範囲のピクセルの
色値を導出するステップと、 前記ピクセルの導出した色値を表示のために記憶するス
テップと、 を含むことを特徴とするプログラム記憶装置。
8. A machine-readable program storage device embodying a program of instructions executable by the machine to perform method steps for generating a view of the scene, the method comprising Represents the scene, image Data indicating the range for calculating
Storing color values associated with elements of an environment map including data in a column order, and storing color values associated with elements of a bitmap image that are separate from the environment map in a memory. Storing depth values associated with elements of the bitmap image in a memory; orienting the bitmap image with respect to a coordinate system of the environment map; Projecting onto a view window that includes an array of pixels; and for at least one pixel of the view window covered by the bitmap image, the bitmap image corresponding to the pixel in the view window. Determining at least one element of the image; and a depth associated with the pixel. And said at least one
If the depth value associated with the at least one element indicates that the at least one element is closer to the view point than the pixel, based on the color value of the at least one element of the bitmap image Deriving a color value of the pixel; and data indicating a range for calculating an image of the environment map.
Based on the range of pixels beyond the environment map
A program storage device , comprising: deriving a color value; and storing the derived color value of the pixel for display.
【請求項9】前記ビットマップ・イメージによってカバ
ーされる前記ビュー・ウィンドウの前記少なくとも1個
のピクセルについて、 前記ピクセルと関連する前記深さ値および前記少なくと
も1個の要素と関連する前記深さ値が、前記少なくとも
1個の要素が前記ピクセルよりも前記ビュー・ポイント
から遠いことを示すならば、 前記ピクセルに対応する、前記環境マップの少なくとも
1個の要素の色値に基づき、前記ピクセルの色値を導出
し、 前記ピクセルの導出した色値を表示のために記憶する請
求項8記載のプログラム記憶装置。
9. The depth value associated with the pixel and the depth value associated with the at least one element for the at least one pixel of the view window covered by the bitmap image. Indicates that the at least one element is further from the view point than the pixel, the color of the pixel based on a color value of at least one element of the environment map corresponding to the pixel 9. The program storage device according to claim 8, wherein a value is derived, and the derived color value of the pixel is stored for display.
【請求項10】前記ビュー・ウィンドウの前記ピクセル
と関連する深さ値を深さバッファに記憶する請求項9記
載のプログラム記憶装置。
10. The program storage device according to claim 9, wherein a depth value associated with said pixel of said view window is stored in a depth buffer.
【請求項11】前記ビットマップ・イメージによってカ
バーされる前記ビュー・ウィンドウの前記少なくとも1
個のピクセルについて、 前記ピクセルと関連する前記深さ値および前記少なくと
も1個の要素と関連する前記深さ値が、前記少なくとも
1個の要素が前記ピクセルよりも前記ビュー・ポイント
に近いことを示すならば、 前記ビットマップ・イメージの前記少なくとも1個の要
素と関連する前記深さ値にしたがって、前記ビュー・ウ
ィンドウの前記ピクセルと関連する前記深さ値を更新す
る請求項10記載のプログラム記憶装置。
11. The at least one of the view windows covered by the bitmap image.
For pixels, the depth value associated with the pixel and the depth value associated with the at least one element indicate that the at least one element is closer to the view point than the pixel. 11. The program storage device of claim 10, further comprising: updating the depth value associated with the pixel of the view window according to the depth value associated with the at least one element of the bitmap image. .
【請求項12】前記環境マップの前記要素と関連する深
さ値をメモリに記憶するステップをさらに含み、前記ビ
ュー・ウィンドウの前記ピクセルと関連する前記深さ値
を、前記ビュー・ウィンドウの前記ピクセルに対応す
る、前記環境マップの少なくとも1個の要素と関連する
深さ値から導出する請求項8記載のプログラム記憶装
置。
12. The method of claim 11, further comprising the step of storing in a memory a depth value associated with said element of said environment map, wherein said depth value associated with said pixel of said view window is stored in said pixel of said view window. The program storage device according to claim 8, wherein the program storage device is derived from a depth value associated with at least one element of the environment map, which corresponds to the following.
JP19952297A 1996-08-05 1997-07-25 Method and apparatus for overlaying a bitmap image on an environment map Expired - Fee Related JP3149389B2 (en)

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 (en) 1998-04-14
JP3149389B2 true JP3149389B2 (en) 2001-03-26

Family

ID=26696782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19952297A Expired - Fee Related JP3149389B2 (en) 1996-08-05 1997-07-25 Method and apparatus for overlaying a bitmap image on an environment map

Country Status (1)

Country Link
JP (1) JP3149389B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001149639A (en) * 1999-11-25 2001-06-05 Sony Computer Entertainment Inc Picture image processing device, picture image formation method, and storage medium
JP3472273B2 (en) 2001-03-07 2003-12-02 キヤノン株式会社 Image reproducing apparatus, image processing apparatus and method
JP2003085586A (en) * 2001-06-27 2003-03-20 Namco Ltd Image display, image displaying method, information storage medium, and image displaying program
JP2003009039A (en) * 2001-06-27 2003-01-10 Namco Ltd Image display device, image display method, information storage medium, and image display program

Also Published As

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

Similar Documents

Publication Publication Date Title
US6031541A (en) Method and apparatus for viewing panoramic three dimensional scenes
KR100259424B1 (en) Method and apparatus for overlaying a bitmap image on an environment map
EP1008112B1 (en) Techniques for creating and modifying 3d models and correlating such models with 2d pictures
RU2215326C2 (en) Image-based hierarchic presentation of motionless and animated three-dimensional object, method and device for using this presentation to visualize the object
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
JP4981135B2 (en) How to create a diagonal mosaic image
US20020113865A1 (en) Image processing method and apparatus
US20110050685A1 (en) Image processing apparatus, image processing method, and program
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 (en) Method and apparatus for overlaying a bitmap image on an environment map
KR100490885B1 (en) Image-based rendering method using orthogonal cross cylinder
Borshukov New algorithms for modeling and rendering architecture from photographs
KR100264486B1 (en) Method and apparatus for viewing panoramic three dimensional scenes
JP2000057377A (en) Image processor, image processing method and medium
Brosz et al. Shape defined panoramas
KR100270140B1 (en) Method and apparatus for generating and displaying hotlinks in a panoramic three dimensional scene
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