JP2002520748A - リアルタイム・ボリューム処理およびユニバーサル3dレンダリングのための装置および方法 - Google Patents
リアルタイム・ボリューム処理およびユニバーサル3dレンダリングのための装置および方法Info
- Publication number
- JP2002520748A JP2002520748A JP2000560548A JP2000560548A JP2002520748A JP 2002520748 A JP2002520748 A JP 2002520748A JP 2000560548 A JP2000560548 A JP 2000560548A JP 2000560548 A JP2000560548 A JP 2000560548A JP 2002520748 A JP2002520748 A JP 2002520748A
- Authority
- JP
- Japan
- Prior art keywords
- volume
- rendering
- image
- slice
- geometry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
リアルタイム・ボリューム処理およびユニバーサル三次元レンダリング(10)のための装置および方法である。この装置は、複数の三次元メモリ・ユニットと、大域水平方向連絡を与える少なくとも1つのピクセル・バスと、複数のレンダリング・パイプラインと、少なくとも1つのジオメトリ・バスと、制御ユニットとを包含する。複数のレンダリング・パイプラインは、各々、好ましくは、補間、シェーディング、FIFOバッファリング、連絡およびルックアップ表のためのハードウェアを含む。本発明の装置は、表面、画像およびボリュームを単一の画像に混合するためのジオメトリ・パイプライン(18)に接続してあってもよい。3Dボリュームのボリュメトリック・レイ・キャスティングを実施する方法は、所定の視点から主要投影軸線に沿って距離を計算する段階と、ボリュームを指数的に増大する境界を有する複数の連続領域に分割する段階と、ボリュームを通して視点から複数のレイをキャスティングする段階と、領域境界で2つまたはそれ以上のレイを合併するか、1つまたはそれ以上のレイを分割する段階と、ボリューム全体が処理されてしまうまでレイ・キャスティング、合併/分割の段階を繰り返す段階とを包含する。本発明の装置および方法は、テクスチャ・マッピングおよび画像ベース・レンダリングを含めて、一回の画像操作で高解像度ボリューム・レンダリング、表面、ボリューム混合を行える真のリアルタイム性能を達成する。
Description
【0001】 (政府権利声明) 本発明は、全米科学財団によって与えられた認可MIP9527694の下で、そして、
海軍研究局によって与えられた認可N000149710402の下で政府支援により発明さ
れたものである。政府は、この発明について一定の権利を有する。
海軍研究局によって与えられた認可N000149710402の下で政府支援により発明さ
れたものである。政府は、この発明について一定の権利を有する。
【0002】 (発明の背景) 本出願は、1998年7月16日に出願された合衆国暫定特許出願番号第60
/092,977号に対する優先権を主張する。
/092,977号に対する優先権を主張する。
【0003】 (発明の分野) 本発明は、全般的に、三次元(3D)グラフィックスおよびボリューム視覚化
に関する。一層詳しくは、本発明は、リアルタイム・ボリューム処理およびユニ
バーサル三次元レンダリングのための装置および方法に関する。
に関する。一層詳しくは、本発明は、リアルタイム・ボリューム処理およびユニ
バーサル三次元レンダリングのための装置および方法に関する。
【0004】 (従来技術の説明) コンピュータ・レンダリングとは、情報の保全性および精度を維持しながら人
間の思考にとって理解できるフォーマットに複雑な情報を変換するプロセスであ
る。三次元現象に関する情報からなるボリュメトリック・データは、改良した画
像レンダリング技術から利益を得ることができる複雑な情報の1種である。所与
の視点からの、ボリュメトリック・データを提示するプロセスは、普通、ボリュ
ーム・レンダリングと呼ばれる。
間の思考にとって理解できるフォーマットに複雑な情報を変換するプロセスであ
る。三次元現象に関する情報からなるボリュメトリック・データは、改良した画
像レンダリング技術から利益を得ることができる複雑な情報の1種である。所与
の視点からの、ボリュメトリック・データを提示するプロセスは、普通、ボリュ
ーム・レンダリングと呼ばれる。
【0005】 ボリューム視覚化とは、スーパーコンピュータ・シミュレーションによって、
あるいは、ボリューム・グラフィックス技術を使用してジオメトリ模型を合成す
ることによって、入力装置(たとえば、生医学的スキャナ)で生成した大量のボ
リュメトリック・データを解釈する際に不可欠な技術である。ボリュメトリック
・オブジェクトの操作、表示にとって特に重要なのは、映像及びレンダリング・
パラメータの対話的な変更、リアルタイムの表示速度、そして多くの場合、発展
しつつある統合入力視覚化システムにおけるような、四次元(4D)視覚化(す
なわち、時空的視覚化)と呼ばれる動的なデータセットの経時的変化を見ること
が可能なことである。
あるいは、ボリューム・グラフィックス技術を使用してジオメトリ模型を合成す
ることによって、入力装置(たとえば、生医学的スキャナ)で生成した大量のボ
リュメトリック・データを解釈する際に不可欠な技術である。ボリュメトリック
・オブジェクトの操作、表示にとって特に重要なのは、映像及びレンダリング・
パラメータの対話的な変更、リアルタイムの表示速度、そして多くの場合、発展
しつつある統合入力視覚化システムにおけるような、四次元(4D)視覚化(す
なわち、時空的視覚化)と呼ばれる動的なデータセットの経時的変化を見ること
が可能なことである。
【0006】 ボリュメトリック・データセットは、普通、ボリューム要素(ボクセル)の3
Dグリッドとして表され、しばしば、ボクセルのフル3Dラスタ(すなわちボリ
ューム・バッファ)として記憶される。ボリューム・レンダリングは、ボリュー
ム・データセットのグリッド・ポイントでボクセルによって表される連続的なオ
ブジェクトや現象の3Dスカラー場を視覚化するための、最も普通の技術の一つ
であって、2つの主要な方法、すなわち、オブジェクト・オーダー(object-ord
er)法および画像・オーダー(image order)法を使用して達成することができ
る。オブジェクト・オーダー法を使用すると、スクリーン・ピクセルに対する各
ボクセルの寄与率が算出され、これらの寄与率を結合して最終的な画像が生成さ
れる。画像・オーダー法を使用すると、サイト・レイ(sight ray)が、ボリュ
ーム・データセットを通してスクリーン・ピクセルからキャスティングされ、こ
れらのサイト・レイに沿ったボクセルの寄与率を用いて対応するピクセル値を評
価する。
Dグリッドとして表され、しばしば、ボクセルのフル3Dラスタ(すなわちボリ
ューム・バッファ)として記憶される。ボリューム・レンダリングは、ボリュー
ム・データセットのグリッド・ポイントでボクセルによって表される連続的なオ
ブジェクトや現象の3Dスカラー場を視覚化するための、最も普通の技術の一つ
であって、2つの主要な方法、すなわち、オブジェクト・オーダー(object-ord
er)法および画像・オーダー(image order)法を使用して達成することができ
る。オブジェクト・オーダー法を使用すると、スクリーン・ピクセルに対する各
ボクセルの寄与率が算出され、これらの寄与率を結合して最終的な画像が生成さ
れる。画像・オーダー法を使用すると、サイト・レイ(sight ray)が、ボリュ
ーム・データセットを通してスクリーン・ピクセルからキャスティングされ、こ
れらのサイト・レイに沿ったボクセルの寄与率を用いて対応するピクセル値を評
価する。
【0007】 過去30年にわたって、グラフィックス・システムは、倍々で発展してきた。
初期の二次元(2D)から3D、4D(空間と時間)に発展し、ベクトル・グラ
フィックスからラスタ・グラフィックスへと発展し、ラスタ・グラフィックスで
は、基本的グラフィックス・プリミティブとして、ベクトルがポリゴンに置き換
えられた。このことは、毎秒数百万個の三角形を表示するのに適合化されたポリ
ゴン・ベースのジオメトリエンジンの普及につながった。しかしながら、このよ
うなシステムでは、三角形のファセットでオブジェクトの形状を近似させている
だけである。3Dポリゴン・ベースのグラフィックス市場は、いまでにブームで
あり続け、パソコン(PC)業界の最も熱い競争の舞台の一つになっている。
初期の二次元(2D)から3D、4D(空間と時間)に発展し、ベクトル・グラ
フィックスからラスタ・グラフィックスへと発展し、ラスタ・グラフィックスで
は、基本的グラフィックス・プリミティブとして、ベクトルがポリゴンに置き換
えられた。このことは、毎秒数百万個の三角形を表示するのに適合化されたポリ
ゴン・ベースのジオメトリエンジンの普及につながった。しかしながら、このよ
うなシステムでは、三角形のファセットでオブジェクトの形状を近似させている
だけである。3Dポリゴン・ベースのグラフィックス市場は、いまでにブームで
あり続け、パソコン(PC)業界の最も熱い競争の舞台の一つになっている。
【0008】 伝統的なグラフィックス・システムに対する需要が急増しているのに応え、ジ
オメトリモデルの視覚的な現実感を向上させると共に、オブジェクト形状、構造
を向上あるいは交換するために、不連続な画像を処理し表示するための種々の技
術が考案されてきた。これら技術としては、2Dテクスチャ・フォト・マッピン
グ、環境マッピング、画像ベース・レンダリング用のレンジ画像、2Dミップ・
マッピング、ビデオストリーム、3Dボリューム、3Dミップ・マッピング、4
D明視野・ルミグラフおよび五次元(5D)プレンオプチック(plenoptic)機
能がある。これらすべての技術は、或る種の、不連続なピクセル、テクセル、ボ
クセルまたはnオクセル間の次元ベース補間(バイリニア、トリリニア、クワッ
ドリニア等)を必要とする。
オメトリモデルの視覚的な現実感を向上させると共に、オブジェクト形状、構造
を向上あるいは交換するために、不連続な画像を処理し表示するための種々の技
術が考案されてきた。これら技術としては、2Dテクスチャ・フォト・マッピン
グ、環境マッピング、画像ベース・レンダリング用のレンジ画像、2Dミップ・
マッピング、ビデオストリーム、3Dボリューム、3Dミップ・マッピング、4
D明視野・ルミグラフおよび五次元(5D)プレンオプチック(plenoptic)機
能がある。これらすべての技術は、或る種の、不連続なピクセル、テクセル、ボ
クセルまたはnオクセル間の次元ベース補間(バイリニア、トリリニア、クワッ
ドリニア等)を必要とする。
【0009】 ボリューム視覚化のための特殊な目的のコンピュータ・アーキテクチャおよび
方法がこの技術分野では公知である。伝統的なボリューム視覚化方法は、代表的
には、オブジェクトの正確な表現を提供するために逐次にボリューム・データセ
ットを走査することによって作動する。たとえば、Dr. Arie Kaufman, Ingmar B
itter and Dr. Hanspeter Pfister(このうちの何人かは本願における発明者と
して名を連ねている)によって開発されたアーキテクチャ、Cube−4がある
。Cube−4は、スライス・パラレル・レイキャスティングに基づく特殊目的
スケーラブル・ボリューム・レンダリング・アーキテクチャである。Cube−
4は、高解像度データセットの真のリアルタイム・レイキャスティング(たとえ
ば、30ヘルツのフレーム速度で10243の16ビット・ボクセル)をデリバ
ーすることができる。しかしながら、Cube−4は、透視投影についてはこの
ようなリアルタイム性能をデリバーすることはできない。現在のところ、公知の
従来技術レンダリング・システムにおいては、透視投影を使用しても、レンダリ
ング時間を増やすか、あるいは、投影画質を低下させるかのいずれかである。さ
らに、従来のアーキテクチャは、ボリュームおよびジオメトリを単一の画像に結
合する能力を与えない。
方法がこの技術分野では公知である。伝統的なボリューム視覚化方法は、代表的
には、オブジェクトの正確な表現を提供するために逐次にボリューム・データセ
ットを走査することによって作動する。たとえば、Dr. Arie Kaufman, Ingmar B
itter and Dr. Hanspeter Pfister(このうちの何人かは本願における発明者と
して名を連ねている)によって開発されたアーキテクチャ、Cube−4がある
。Cube−4は、スライス・パラレル・レイキャスティングに基づく特殊目的
スケーラブル・ボリューム・レンダリング・アーキテクチャである。Cube−
4は、高解像度データセットの真のリアルタイム・レイキャスティング(たとえ
ば、30ヘルツのフレーム速度で10243の16ビット・ボクセル)をデリバ
ーすることができる。しかしながら、Cube−4は、透視投影についてはこの
ようなリアルタイム性能をデリバーすることはできない。現在のところ、公知の
従来技術レンダリング・システムにおいては、透視投影を使用しても、レンダリ
ング時間を増やすか、あるいは、投影画質を低下させるかのいずれかである。さ
らに、従来のアーキテクチャは、ボリュームおよびジオメトリを単一の画像に結
合する能力を与えない。
【0010】 次に図1を参照して、ここには、普通のボリューム視覚化システム1が示して
ある。図1に示すように、ボリューム・データは、ディスク2に記憶されており
、レンダリング前にメモリ4にロードされる。次に、中央処理ユニット(CPU
)6が、メモリ4内に存在しているデータからボリューム描写画像を計算する。
最終的な画像は、フレーム・バッファ8に書き込まれる。このフレーム・バッフ
ァは、代表的には、モニタ9または類似のディスプレイ装置上に表示するために
、グラフィックス・カードに埋め込まれている。
ある。図1に示すように、ボリューム・データは、ディスク2に記憶されており
、レンダリング前にメモリ4にロードされる。次に、中央処理ユニット(CPU
)6が、メモリ4内に存在しているデータからボリューム描写画像を計算する。
最終的な画像は、フレーム・バッファ8に書き込まれる。このフレーム・バッフ
ァは、代表的には、モニタ9または類似のディスプレイ装置上に表示するために
、グラフィックス・カードに埋め込まれている。
【0011】 したがって、本発明は、画像データ処理の新世代と考えられ得る程度まで、公
知の方法および装置の能力をかなり向上させる方法および装置を提供することを
目的とする。
知の方法および装置の能力をかなり向上させる方法および装置を提供することを
目的とする。
【0012】 他のおよび更なる目的は、本開示の結果として技術者の知るところであり、開
示した発明の結果として実現されるすべての目的を含むことを意図している。
示した発明の結果として実現されるすべての目的を含むことを意図している。
【0013】 (発明の概要) 本発明は、網羅する新しい特性の故に、従来技術からの新発展に等しい。本発
明によれば、リアルタイム・ボリューム処理およびユニバーサル三次元(3D)
レンダリングのための装置は、1つまたはそれ以上の三次元(3D)メモリ・ユ
ニットと、少なくとも1つの第1ピクセル・バスと、1つまたはそれ以上のレン
ダリング・パイプラインと、1つまたはそれ以上のジオメトリ・バスと、制御ユ
ニットとを包含する。この装置は、視点を定める視野・処理パラメータに応答し
、視点から3Dボリューム投影画像を生成する。投影画像は、複数のピクセルを
包含する。
明によれば、リアルタイム・ボリューム処理およびユニバーサル三次元(3D)
レンダリングのための装置は、1つまたはそれ以上の三次元(3D)メモリ・ユ
ニットと、少なくとも1つの第1ピクセル・バスと、1つまたはそれ以上のレン
ダリング・パイプラインと、1つまたはそれ以上のジオメトリ・バスと、制御ユ
ニットとを包含する。この装置は、視点を定める視野・処理パラメータに応答し
、視点から3Dボリューム投影画像を生成する。投影画像は、複数のピクセルを
包含する。
【0014】 3Dメモリ・ユニットは、複数の個別のボクセルを記憶する。各ボクセルは、
それと組み合わせた場所およびボクセル・データを有する。ボクセルは、一緒に
なって、ボリューム・データセットを形成する。そして、視野・処理パラメータ
は、ボリューム・データセットのベースプレーンとしてのボリューム・データセ
ットの少なくとも1つの面と、ボリューム・データセットの最初と最後の処理ス
ライスとを定める。制御ユニットは、最初、サンプル・ポイントの現スライスと
して最初の処理スライスを示し、最後の処理スライスに達するまで現スライスと
してボリューム・データセットの引き続くスライスを通しての走査を制御する。
それと組み合わせた場所およびボクセル・データを有する。ボクセルは、一緒に
なって、ボリューム・データセットを形成する。そして、視野・処理パラメータ
は、ボリューム・データセットのベースプレーンとしてのボリューム・データセ
ットの少なくとも1つの面と、ボリューム・データセットの最初と最後の処理ス
ライスとを定める。制御ユニットは、最初、サンプル・ポイントの現スライスと
して最初の処理スライスを示し、最後の処理スライスに達するまで現スライスと
してボリューム・データセットの引き続くスライスを通しての走査を制御する。
【0015】 レンダリング・パイプラインの各々は、垂直方向において、3Dメモリ・ユニ
ットの対応する1つと少なくとも第1ピクセル・バスの両方に接続し、レンダリ
ング・パイプラインの各々は、好ましくはせいぜい2つの最も近い隣接パイプラ
インとの大域的水平方向連絡を有する。レンダリング・パイプラインは、対応す
る3Dメモリ・ユニットからボクセル・データを受け取り、ボリューム・データ
セットの面と整合する二次元(2D)ベースプレーン画像を生成する。ジオメト
リI/Oバスが、複数のレンダリング・パイプラインとジオメトリ・エンジンの
間の大域的水平方向連絡を提供し、ジオメトリI/Oバスが、単一の画像におけ
るジオメトリック、ボリュメトリックのオブジェクトのレンダリングを可能にす
る。
ットの対応する1つと少なくとも第1ピクセル・バスの両方に接続し、レンダリ
ング・パイプラインの各々は、好ましくはせいぜい2つの最も近い隣接パイプラ
インとの大域的水平方向連絡を有する。レンダリング・パイプラインは、対応す
る3Dメモリ・ユニットからボクセル・データを受け取り、ボリューム・データ
セットの面と整合する二次元(2D)ベースプレーン画像を生成する。ジオメト
リI/Oバスが、複数のレンダリング・パイプラインとジオメトリ・エンジンの
間の大域的水平方向連絡を提供し、ジオメトリI/Oバスが、単一の画像におけ
るジオメトリック、ボリュメトリックのオブジェクトのレンダリングを可能にす
る。
【0016】 本発明の装置および方法は、性能、画像レンダリング品質、融通性および単純
性の向上のみならず、単一の画像におけるボリューム、表面(特に半透明性)を
結合する能力に関しても、既存の3Dボリューム視覚化アーキテクチャおよび方
法に勝る。本発明は、任意視野方向からの融通が利き、高品質な真のリアルタイ
ム・レンダリングおよび高解像度データベースの内部、表面構造を視覚化する機
構を提供する。そして、さらに、正確な透視投影、マルチ解像度ボリューム、多
段オーバーラップ・ボリューム、クリッピング、勾配算出の向上、デプス・キュ
ーイング、ヘーズ、スーパーサンプリング、大きなボリュームの異方性データセ
ットおよびレンダリングを含む様々なボリューム・レンダリング強化を支援する
。
性の向上のみならず、単一の画像におけるボリューム、表面(特に半透明性)を
結合する能力に関しても、既存の3Dボリューム視覚化アーキテクチャおよび方
法に勝る。本発明は、任意視野方向からの融通が利き、高品質な真のリアルタイ
ム・レンダリングおよび高解像度データベースの内部、表面構造を視覚化する機
構を提供する。そして、さらに、正確な透視投影、マルチ解像度ボリューム、多
段オーバーラップ・ボリューム、クリッピング、勾配算出の向上、デプス・キュ
ーイング、ヘーズ、スーパーサンプリング、大きなボリュームの異方性データセ
ットおよびレンダリングを含む様々なボリューム・レンダリング強化を支援する
。
【0017】 本発明は、単なるボリューム・レンダリング・マシンを超えたもの以上のもの
であり、高性能補間エンジンであり、たとえば、2D、3Dテクスチャ・マッピ
ング(ミップ・マッピング)および画像ベース・レンダリングを含む補間にかな
り依存している個別の画像形成作業の高解像度ボリューム・レンダリングおよび
加速のためのハードウェア・サポートを提供する。さらに、本発明の、ジオメト
リ・エンジンと接続された装置および方法は、ボリュメトリック、ジオメトリッ
クの方法を結合し、ユーザが、伝統的なジオメトリック・プリミティブ(たとえ
ば、ポリゴンのファセット)、画像および単一の画像(ユニバーサル3Dレンダ
リングとして定義される)における画像、ボリュームを一緒に含む複雑なシーン
を効果的に模型化し、レンダリングすることができる。
であり、高性能補間エンジンであり、たとえば、2D、3Dテクスチャ・マッピ
ング(ミップ・マッピング)および画像ベース・レンダリングを含む補間にかな
り依存している個別の画像形成作業の高解像度ボリューム・レンダリングおよび
加速のためのハードウェア・サポートを提供する。さらに、本発明の、ジオメト
リ・エンジンと接続された装置および方法は、ボリュメトリック、ジオメトリッ
クの方法を結合し、ユーザが、伝統的なジオメトリック・プリミティブ(たとえ
ば、ポリゴンのファセット)、画像および単一の画像(ユニバーサル3Dレンダ
リングとして定義される)における画像、ボリュームを一緒に含む複雑なシーン
を効果的に模型化し、レンダリングすることができる。
【0018】 本発明の装置は、それに加えて、種々の大域的、局所的なフィードバック・コ
ネクションを含むことによってシステム融通性を向上させ、これが、画像形成ワ
ーピングおよび多解像度ボリューム処理のような進歩した画像形成作業を実施す
るようにパイプライン・ステージを再構成する能力を加える。さらに、本発明は
、経済的な方法でこれらの目的を達成する。
ネクションを含むことによってシステム融通性を向上させ、これが、画像形成ワ
ーピングおよび多解像度ボリューム処理のような進歩した画像形成作業を実施す
るようにパイプライン・ステージを再構成する能力を加える。さらに、本発明は
、経済的な方法でこれらの目的を達成する。
【0019】 本発明の利点は、ジオメトリ・エンジンに接続したとき、単一画像において一
緒にジオメトリおよびボリュームの混合を可能にする方法および装置を提供する
ことにある。
緒にジオメトリおよびボリュームの混合を可能にする方法および装置を提供する
ことにある。
【0020】 本発明の別の利点は、オーバーラップしているボリュメトリック・オブジェク
トを効果的にレンダリングする方法および装置を提供することにある。
トを効果的にレンダリングする方法および装置を提供することにある。
【0021】 本発明のまた別の利点は、高度なボリューム・レンダリング機能を実施するた
めに選択的なパイプライン・ステージを再構築する能力を有する装置を提供する
ことにある。
めに選択的なパイプライン・ステージを再構築する能力を有する装置を提供する
ことにある。
【0022】 本発明の更なる利点は、補間にかなり依存する強化像形成作業を支援する方法
および装置を提供することにある。
および装置を提供することにある。
【0023】 本発明のまた更なる利点は、大きいボリューム・データセットの処理を加速す
る方法および装置を提供することにある。
る方法および装置を提供することにある。
【0024】 本発明の別の利点は、既存の特殊目的ハードウェア・ボリューム視覚化システ
ムよりも高い品質または迅速な透視投影を提供することにある。
ムよりも高い品質または迅速な透視投影を提供することにある。
【0025】 本発明のさらに別の利点は、勾配評価、補間ユニットに対する強化と共に、画
像の品質を容易に向上させることができる方法および装置を提供することにある
。
像の品質を容易に向上させることができる方法および装置を提供することにある
。
【0026】 本発明のまた別の利点は、ハードウェアで画像ワーピングを実施することので
きる装置を提供することにある。
きる装置を提供することにある。
【0027】 本発明のまた更なる利点は、公知のボリューム視覚化システムに固有の欠点を
克服する方法および装置を提供することにある。
克服する方法および装置を提供することにある。
【0028】 本発明のこれらおよび他の特徴および効果は、添付図面に関連して読むべき実
施例の以下の詳細な説明から明らかになろう。
施例の以下の詳細な説明から明らかになろう。
【0029】 (好ましい実施例の詳細な説明) 本発明の装置および方法は、データを処理し、高解像度ボクセル・ベース・デ
ータセットのリアルタイム視覚化を支援することができる。本発明は、ジオメト
リ(たとえば、ポリゴン)で画像(たとえば、ボリューム、テクスチャおよび画
像)の統合に加えて強化されたボリューム・レンダリングをデリバーするユニバ
ーサル三次元(3D)レンダリング・システムである。この装置および方法は、
本願でも発明者として名を連ねているDr. Arie Kaufmanの発行済みの特許および
係属中の出願、たとえば、米国特許第5,038,302号として1991年8
月6日に発行された「Method of Converting Continuous Three-Dimensional Ge
ometrical Representations Into Discrete Three-Dimensional Voxel-Based R
epresentations Within a Three-Dimensional Voxel-Based System」、米国特
許第4,987,554号として1991年1月22日に発行された「Method o
f Converting Continuous Three-Dimensional Geometrical Representations of
Polygonal Objects Into Discrete Three-Dimensional Voxel-Based Represe
ntations Thereof Within a ThreeDimensional Voxel-Based System」、米国
特許第4,985,856号として1991年1月15日に発行された「Method
and Apparatus for Storing, Accessing, and Processing Voxel-Based Data
」、'593出願の継続出願として1993年3月15日に出願された合衆国出
願通し番号08/031、599号によって放棄された合衆国出願通し番号07
/347、593号として1989年5月4日に出願された「Method of Conver
ting Continuous Three-Dimensional Geometrical Representations of Quadrat
ic Objects Into Discrete Three-Dimensional Voxel-Based Representations T
hereof Within a Three-Dimensional Voxel-Based System」、米国特許第5,
101,475号として1992年3月31日に発行された「Method and Appar
atus for Generating Arbitrary Projections of Three-Dimensional Voxel-Ba
sed Data」、合衆国出願通し番号08/097、637号として1993年7月
26日に出願された「Method and Apparatus for Real-Time Volume Rendering
From An Arbitrary Viewing Direction」、合衆国出願通し番号07/8552
23番として1992年3月20日に出願された「Method and Apparatus For G
enerating Realistic Images Using a Discrete Representation」および合衆国
出願通し番号08/910、575号として1997年8月1日に出願された「
Apparatus and Method for Parallel and Perspective Real-Time Volume Visua
lization」に記載されているようなボクセル・ベース・システムとして使用で
きるように設計してある。これらの引用文献の全開示内容は、参考資料としてこ
こに援用する。
ータセットのリアルタイム視覚化を支援することができる。本発明は、ジオメト
リ(たとえば、ポリゴン)で画像(たとえば、ボリューム、テクスチャおよび画
像)の統合に加えて強化されたボリューム・レンダリングをデリバーするユニバ
ーサル三次元(3D)レンダリング・システムである。この装置および方法は、
本願でも発明者として名を連ねているDr. Arie Kaufmanの発行済みの特許および
係属中の出願、たとえば、米国特許第5,038,302号として1991年8
月6日に発行された「Method of Converting Continuous Three-Dimensional Ge
ometrical Representations Into Discrete Three-Dimensional Voxel-Based R
epresentations Within a Three-Dimensional Voxel-Based System」、米国特
許第4,987,554号として1991年1月22日に発行された「Method o
f Converting Continuous Three-Dimensional Geometrical Representations of
Polygonal Objects Into Discrete Three-Dimensional Voxel-Based Represe
ntations Thereof Within a ThreeDimensional Voxel-Based System」、米国
特許第4,985,856号として1991年1月15日に発行された「Method
and Apparatus for Storing, Accessing, and Processing Voxel-Based Data
」、'593出願の継続出願として1993年3月15日に出願された合衆国出
願通し番号08/031、599号によって放棄された合衆国出願通し番号07
/347、593号として1989年5月4日に出願された「Method of Conver
ting Continuous Three-Dimensional Geometrical Representations of Quadrat
ic Objects Into Discrete Three-Dimensional Voxel-Based Representations T
hereof Within a Three-Dimensional Voxel-Based System」、米国特許第5,
101,475号として1992年3月31日に発行された「Method and Appar
atus for Generating Arbitrary Projections of Three-Dimensional Voxel-Ba
sed Data」、合衆国出願通し番号08/097、637号として1993年7月
26日に出願された「Method and Apparatus for Real-Time Volume Rendering
From An Arbitrary Viewing Direction」、合衆国出願通し番号07/8552
23番として1992年3月20日に出願された「Method and Apparatus For G
enerating Realistic Images Using a Discrete Representation」および合衆国
出願通し番号08/910、575号として1997年8月1日に出願された「
Apparatus and Method for Parallel and Perspective Real-Time Volume Visua
lization」に記載されているようなボクセル・ベース・システムとして使用で
きるように設計してある。これらの引用文献の全開示内容は、参考資料としてこ
こに援用する。
【0030】 図2は、本発明の一実施例に従って形成したユニバーサル3Dレンダリング・
システム10の概念図を示す。レンダリング可能なオブジェクトの集合体を表示
するアプリケーション12は、アプリケーション・プログラム・インタフェース
(API)14によって適切な画像およびジオメトリ表現に分割されると好まし
い。これらの表現は、それぞれ、引き続いて、画像ユニット16およびジオメト
リ・ユニット18によって処理される。これらのユニットは、機能ブロックとし
て全体的に図示してある。画像ユニット16は、好ましくは、複数の画像パイプ
ライン(図示せず)を包含し、ジオメトリ・ユニット18は、好ましくは、それ
ぞれ、画像およびジオメトリ表現をレンダリングするための複数のジオメトリ・
パイプラインを包含する。画像ユニット16およびジオメトリ・ユニット18の
描写出力は、ブレンディング・ユニット20において結合され、単一のベースプ
レーン画像を生成する。このベースプレーン画像は、好ましくは、表示のために
ワープ単位22によって最終的な投影プレーンに変換されるとよい。
システム10の概念図を示す。レンダリング可能なオブジェクトの集合体を表示
するアプリケーション12は、アプリケーション・プログラム・インタフェース
(API)14によって適切な画像およびジオメトリ表現に分割されると好まし
い。これらの表現は、それぞれ、引き続いて、画像ユニット16およびジオメト
リ・ユニット18によって処理される。これらのユニットは、機能ブロックとし
て全体的に図示してある。画像ユニット16は、好ましくは、複数の画像パイプ
ライン(図示せず)を包含し、ジオメトリ・ユニット18は、好ましくは、それ
ぞれ、画像およびジオメトリ表現をレンダリングするための複数のジオメトリ・
パイプラインを包含する。画像ユニット16およびジオメトリ・ユニット18の
描写出力は、ブレンディング・ユニット20において結合され、単一のベースプ
レーン画像を生成する。このベースプレーン画像は、好ましくは、表示のために
ワープ単位22によって最終的な投影プレーンに変換されるとよい。
【0031】 図3は、本発明のCube−5ボリューム視覚化システムの1つの実施例を示
す。図3に示すように、このシステムは、好ましくは、1つまたはそれ以上の三
次元メモリ・ユニット24を包含し、各3Dメモリ・ユニット24が、入力バス
26および対応するCube−5チップ28に垂直方向に接続される。複数のC
ube−5チップ28が、フレーム・バッファ・ピクセル・バス34に接続した
状態で示してある。さらに、本発明のシステム10は、好ましくは、少なくとも
1つの普通のジオメトリ・エンジン30とホストコンピュータ32に接続してお
り、これらは、共に、本発明のCube−5装置と連絡するために入力バス26
とフレーム・バッファ・ピクセル・バス34との間に作動可能に接続されている
。
す。図3に示すように、このシステムは、好ましくは、1つまたはそれ以上の三
次元メモリ・ユニット24を包含し、各3Dメモリ・ユニット24が、入力バス
26および対応するCube−5チップ28に垂直方向に接続される。複数のC
ube−5チップ28が、フレーム・バッファ・ピクセル・バス34に接続した
状態で示してある。さらに、本発明のシステム10は、好ましくは、少なくとも
1つの普通のジオメトリ・エンジン30とホストコンピュータ32に接続してお
り、これらは、共に、本発明のCube−5装置と連絡するために入力バス26
とフレーム・バッファ・ピクセル・バス34との間に作動可能に接続されている
。
【0032】 次に図4を参照して、本発明の装置10は、画像入力バス26に好ましくは接
続した複数の3Dメモリ・ユニット24を包含しており、3Dメモリ・ユニット
24間の大域水平方向連絡を行うようになっている。ボリューム・データセット
は、普通、フル3Dラスタ(すなわち、ボリューム・バッファ)としてしばしば
記憶されるボリューム要素すなわちボクセルの正規グリッドとして表される。こ
のボリューム・データセットは、好ましくは、3Dメモリ・ユニット24を横切
って分散されると好ましい。スキュード分布の場合、本発明は、主要軸線の内の
任意の軸線に対して平行してボクセルの完全なビーム(すなわち、列)への競合
なしアクセスを可能にする。図4に示すように、システム10を通してビデオま
たは4次元(4D)ボリューム・データをストリーミングするために、各3Dメ
モリ・ユニット24は、好ましくは、専用のリアルタイム入力部36に接続され
る。リアルタイム入力ソースに専用の接続を行うことによって、メモリ・プロセ
ッサ・バンド幅によるボトルネックがさらに軽減される。
続した複数の3Dメモリ・ユニット24を包含しており、3Dメモリ・ユニット
24間の大域水平方向連絡を行うようになっている。ボリューム・データセット
は、普通、フル3Dラスタ(すなわち、ボリューム・バッファ)としてしばしば
記憶されるボリューム要素すなわちボクセルの正規グリッドとして表される。こ
のボリューム・データセットは、好ましくは、3Dメモリ・ユニット24を横切
って分散されると好ましい。スキュード分布の場合、本発明は、主要軸線の内の
任意の軸線に対して平行してボクセルの完全なビーム(すなわち、列)への競合
なしアクセスを可能にする。図4に示すように、システム10を通してビデオま
たは4次元(4D)ボリューム・データをストリーミングするために、各3Dメ
モリ・ユニット24は、好ましくは、専用のリアルタイム入力部36に接続され
る。リアルタイム入力ソースに専用の接続を行うことによって、メモリ・プロセ
ッサ・バンド幅によるボトルネックがさらに軽減される。
【0033】 本発明のユニバーサル3Dレンダリング・システム10は、さらに、複数のレ
ンダリング・パイプラインを包含する。これらは、図4においてCube−5ユ
ニット38の機能ブロックとして示してある。各レンダリング・パイプライン3
8は、対応する3Dメモリ・ユニット24に接続してあり、好ましくは、少なく
とも好ましくはその2つの最も近い隣接3Dメモリ・ユニットと水平方向に連絡
する。Cube−5ユニット38は、それらの専用の3Dメモリ・ユニット24
から読み出し、二次元(2D)ベースプレーン画像を生成する。このベースプレ
ーン画像(Cube−5ユニット38によって生成した複数の合成ピクセルを含
む)は、複数の二次元(2D)メモリ・ユニット40を横切って分散されると好
ましい。2Dメモリ・ユニット40の各々は、好ましくは、2Dメモリ・ユニッ
ト40間の大域水平方向連絡を提供する対応するCube−5パイプライン・ユ
ニット38およびベースプレーン・ピクセル・バス42に接続している。
ンダリング・パイプラインを包含する。これらは、図4においてCube−5ユ
ニット38の機能ブロックとして示してある。各レンダリング・パイプライン3
8は、対応する3Dメモリ・ユニット24に接続してあり、好ましくは、少なく
とも好ましくはその2つの最も近い隣接3Dメモリ・ユニットと水平方向に連絡
する。Cube−5ユニット38は、それらの専用の3Dメモリ・ユニット24
から読み出し、二次元(2D)ベースプレーン画像を生成する。このベースプレ
ーン画像(Cube−5ユニット38によって生成した複数の合成ピクセルを含
む)は、複数の二次元(2D)メモリ・ユニット40を横切って分散されると好
ましい。2Dメモリ・ユニット40の各々は、好ましくは、2Dメモリ・ユニッ
ト40間の大域水平方向連絡を提供する対応するCube−5パイプライン・ユ
ニット38およびベースプレーン・ピクセル・バス42に接続している。
【0034】 好ましくは、本発明は、ベースプレーン・ピクセル・バス42に接続された複
数のワープ単位44を包含する。ワープ単位44は、複数の2Dメモリ・ユニッ
ト40に記憶されたベースプレーン画像を組み立て、ユーザ定義画像プレーン上
へ変換する(すなわちワープする)。本発明は単一のワープ単位44を使用する
こと(たとえば、ハードウェアのコストまたはオーバーヘッドを低減するために
)を意図しているが、複数のワープ単位44が画像変換を加速すると望ましい。
数のワープ単位44を包含する。ワープ単位44は、複数の2Dメモリ・ユニッ
ト40に記憶されたベースプレーン画像を組み立て、ユーザ定義画像プレーン上
へ変換する(すなわちワープする)。本発明は単一のワープ単位44を使用する
こと(たとえば、ハードウェアのコストまたはオーバーヘッドを低減するために
)を意図しているが、複数のワープ単位44が画像変換を加速すると望ましい。
【0035】 各ワープ単位44の出力部は、好ましくは、フレーム・バッファ・ピクセル・
バス34に接続してあり、ワープ単位44間の大域水平方向連絡を行う。ベース
プレーン・ピクセル・バス42を通してソース・ピクセルを読み込むことと、フ
レーム・バッファ・ピクセル・バス34を通して最終的な画像ピクセルを書き込
むことは、同時に生じ、より大きいシステム・スループットを可能にすると好ま
しい。好ましいアーキテクチャではないが、本発明は、また、ワープ単位44に
よる逐次的読み書きも意図している。こうすれば、この1つのピクセル・バスが
、フル・スクリーン画像のためのリアルタイム画像転送にとって充分なバンド幅
を提供すると仮定してのことだが、ピクセル・バスがたった1つでもよい。
バス34に接続してあり、ワープ単位44間の大域水平方向連絡を行う。ベース
プレーン・ピクセル・バス42を通してソース・ピクセルを読み込むことと、フ
レーム・バッファ・ピクセル・バス34を通して最終的な画像ピクセルを書き込
むことは、同時に生じ、より大きいシステム・スループットを可能にすると好ま
しい。好ましいアーキテクチャではないが、本発明は、また、ワープ単位44に
よる逐次的読み書きも意図している。こうすれば、この1つのピクセル・バスが
、フル・スクリーン画像のためのリアルタイム画像転送にとって充分なバンド幅
を提供すると仮定してのことだが、ピクセル・バスがたった1つでもよい。
【0036】 図4を続けて参照して、本発明は、好ましくは、ジオメトリ入力バス46とジ
オメトリ出力バス48とを包含するが、2つのバスを、リアルタイム像形成にと
って充分なバンド幅の単一のジオメトリ入出力バスにまとめることも考えられる
。ジオメトリ入力、出力バス46、48は、それぞれ、Cube−5ユニット3
8の入力部、出力部に接続してあり、少なくとも1つのジオメトリ・パイプライ
ンまたはエンジン(図示せず)を本システム10に独特な方法で接続すると好ま
しい。本発明のアーキテクチャ(ジオメトリ・バス46、48を経てジオメトリ
・エンジンに接続している)は、画像(たとえば、ボリュームおよびテクスチャ
)のジオメトリ(たとえば、ポリゴンおよび表面)との統合をサポートする。ジ
オメトリ・でえたのボリュウメトリック・オブジェクトとのこの混合は、本発明
に特有の強力な特徴である。
オメトリ出力バス48とを包含するが、2つのバスを、リアルタイム像形成にと
って充分なバンド幅の単一のジオメトリ入出力バスにまとめることも考えられる
。ジオメトリ入力、出力バス46、48は、それぞれ、Cube−5ユニット3
8の入力部、出力部に接続してあり、少なくとも1つのジオメトリ・パイプライ
ンまたはエンジン(図示せず)を本システム10に独特な方法で接続すると好ま
しい。本発明のアーキテクチャ(ジオメトリ・バス46、48を経てジオメトリ
・エンジンに接続している)は、画像(たとえば、ボリュームおよびテクスチャ
)のジオメトリ(たとえば、ポリゴンおよび表面)との統合をサポートする。ジ
オメトリ・でえたのボリュウメトリック・オブジェクトとのこの混合は、本発明
に特有の強力な特徴である。
【0037】 次に図5を参照して、ここには、本発明の一実施例に従って形成された複数の
Cube−5レンダリング・パイプライン(図4の参照コード38)のうちの1
つの機能ステージを表すブロック図が示してある。図5に示すように、各レンダ
リング・パイプライン52は、好ましくは、4種類の処理ユニットを包含する。
すなわち、トリリニア補間ユニット(TriLin)54、勾配評価ユニット(Gradie
nt)56、シェーディング・ユニット(Shader)58および合成ユニット(Comp
os)60である。これらレンダリング・パイプライン・ステージの各々は、従来
の立方体ボリューム視覚化アーキテクチャ(先に延べた)に関するArie Kaufman
の先に発行された特許および係属中の出願に詳しく記載されており、したがって
、ここでは簡単に以下に説明する。
Cube−5レンダリング・パイプライン(図4の参照コード38)のうちの1
つの機能ステージを表すブロック図が示してある。図5に示すように、各レンダ
リング・パイプライン52は、好ましくは、4種類の処理ユニットを包含する。
すなわち、トリリニア補間ユニット(TriLin)54、勾配評価ユニット(Gradie
nt)56、シェーディング・ユニット(Shader)58および合成ユニット(Comp
os)60である。これらレンダリング・パイプライン・ステージの各々は、従来
の立方体ボリューム視覚化アーキテクチャ(先に延べた)に関するArie Kaufman
の先に発行された特許および係属中の出願に詳しく記載されており、したがって
、ここでは簡単に以下に説明する。
【0038】 3Dメモリ・ユニット24に関して上述したように、ボリューム・データセッ
トは、対応する3Dメモリ・ユニット24(図4参照)に接続した各Cube−
5ユニット38と共に、3Dメモリ・ユニット24を横切ってスキューした状態
で分散したボクセルの正規グリッドとして記憶される。同じスキューしたビーム
のボクセルは、好ましくは、並列に取り込まれて処理され、すべてのCube−
5ユニット38を横切って分散させられる。予め定めたベースプレーンに対して
平行な(すなわち、所定の視野方向に対して最も垂直であるボリューム・データ
セットの面と平行な)ボリューム・データセットの連続したスライスは、好まし
くは、スキャンライン・オーダーにおいてトラバースされる。再び図5を参照し
て、アドレス生成・制御ユニット62が、好ましくは、3Dメモリ・ユニット2
4内へアクセスするためのアドレスを生成する。さらに、アドレス生成・制御ユ
ニット62は、現処理スライスとして最初の処理スライスを指示し、最終的なス
ライスが処理されてしまうまでボリューム・データセットの引き続くスライスを
通しての走査を制御する。
トは、対応する3Dメモリ・ユニット24(図4参照)に接続した各Cube−
5ユニット38と共に、3Dメモリ・ユニット24を横切ってスキューした状態
で分散したボクセルの正規グリッドとして記憶される。同じスキューしたビーム
のボクセルは、好ましくは、並列に取り込まれて処理され、すべてのCube−
5ユニット38を横切って分散させられる。予め定めたベースプレーンに対して
平行な(すなわち、所定の視野方向に対して最も垂直であるボリューム・データ
セットの面と平行な)ボリューム・データセットの連続したスライスは、好まし
くは、スキャンライン・オーダーにおいてトラバースされる。再び図5を参照し
て、アドレス生成・制御ユニット62が、好ましくは、3Dメモリ・ユニット2
4内へアクセスするためのアドレスを生成する。さらに、アドレス生成・制御ユ
ニット62は、現処理スライスとして最初の処理スライスを指示し、最終的なス
ライスが処理されてしまうまでボリューム・データセットの引き続くスライスを
通しての走査を制御する。
【0039】 トリリニア補間ユニット54は、2つの処理スライス間の補間サンプル値の新
しいスライスを計算する。あるいは、トリリニア補間機能を一連のリニアまたは
バイリニア補間として実施することも考えられる。
しいスライスを計算する。あるいは、トリリニア補間機能を一連のリニアまたは
バイリニア補間として実施することも考えられる。
【0040】 勾配評価ユニット56は、好ましくは、ボリューム・データセットの複数のス
ライスからのボリューム・データを使用して中央差分勾配を計算する。勾配評価
ユニット56によって生成した中央差分勾配を利用して、引き続き、現処理スラ
イスのサンプル・ポイントにシェーディング・ユニット58が陰影を付ける。シ
ェーディング・ユニット58は、好ましくは、1つまたはそれ以上のルックアッ
プ表(LUT)(好ましくは、材料カラーおよび強度情報を記憶している各シェ
ーディング・ユニット58に存在するもの)へのインデックスとしてサンプルお
よび勾配を使用する。材料カラー表は、データセット・タイプ依存であり、カラ
ー強度表は、当業者には公知のように、局所的照明模型に基づいている。簡単に
言えば、カラーおよび強度の乗算が、各サンプルについてのピクセル・カラーを
生成し、これが、合成ユニット60において使用され、このカラーを各サイト・
レイに沿った先に蓄積されていたピクセルと合成する。
ライスからのボリューム・データを使用して中央差分勾配を計算する。勾配評価
ユニット56によって生成した中央差分勾配を利用して、引き続き、現処理スラ
イスのサンプル・ポイントにシェーディング・ユニット58が陰影を付ける。シ
ェーディング・ユニット58は、好ましくは、1つまたはそれ以上のルックアッ
プ表(LUT)(好ましくは、材料カラーおよび強度情報を記憶している各シェ
ーディング・ユニット58に存在するもの)へのインデックスとしてサンプルお
よび勾配を使用する。材料カラー表は、データセット・タイプ依存であり、カラ
ー強度表は、当業者には公知のように、局所的照明模型に基づいている。簡単に
言えば、カラーおよび強度の乗算が、各サンプルについてのピクセル・カラーを
生成し、これが、合成ユニット60において使用され、このカラーを各サイト・
レイに沿った先に蓄積されていたピクセルと合成する。
【0041】 再び図4を参照して、連続するサイト・レイに沿った次のサンプルを計算する
ためのデータは、隣接したCube−5ユニット38上に存在する可能性がある
。この場合、Cube−5ユニット38間の最も近い隣接のコネクションが、好
ましくは、必要なデータを適切なCube−5ユニット38に送るのに用いられ
、このCube−5ユニット38が、この特定のサイト・レイを処理し続けるこ
とになる。合成が完了したとき、合成されたピクセル(すなわち、ベースプレー
ン・ピクセル)は、好ましくは、Cube−5ユニット・パイプライン38に接
続した対応する2Dメモリ・ユニット40に記憶される。ベースプレーン・ピク
セル(ベースプレーン画像を形成している)が、その後、ベースプレーン・ピク
セル・バス42を経て2Dメモリ・ユニット40から読み込まれ、ワープ単位4
4によって組み立てられる。ワープ単位44は、それに加えて、最終的な投影プ
レーン画像にベースプレーン画像を変換する。
ためのデータは、隣接したCube−5ユニット38上に存在する可能性がある
。この場合、Cube−5ユニット38間の最も近い隣接のコネクションが、好
ましくは、必要なデータを適切なCube−5ユニット38に送るのに用いられ
、このCube−5ユニット38が、この特定のサイト・レイを処理し続けるこ
とになる。合成が完了したとき、合成されたピクセル(すなわち、ベースプレー
ン・ピクセル)は、好ましくは、Cube−5ユニット・パイプライン38に接
続した対応する2Dメモリ・ユニット40に記憶される。ベースプレーン・ピク
セル(ベースプレーン画像を形成している)が、その後、ベースプレーン・ピク
セル・バス42を経て2Dメモリ・ユニット40から読み込まれ、ワープ単位4
4によって組み立てられる。ワープ単位44は、それに加えて、最終的な投影プ
レーン画像にベースプレーン画像を変換する。
【0042】 図5を参照して、トリリニア補間ユニット54および勾配評価ユニット56に
とって必要なデータ遅延は、好ましくは、トリリニア補間54および勾配評価ユ
ニット56によって処理される前に1つまたはそれ以上の先入れ先出し(FIF
O)ユニット64をパイプライン・データ経路に挿入することによって達成され
る。FIFOユニット(単数または複数)64は、たとえば、ランダム・アクセ
ス・メモリRAM(好ましくは、Cube−5チップに埋め込まれている)とし
て実装してもよい。ボリューム・データセットの複数のスライスのビームを同時
に処理するとき、したがって、スライス間により長い計算時間が必要なときには
、所定遅延の導入は特に重要である。
とって必要なデータ遅延は、好ましくは、トリリニア補間54および勾配評価ユ
ニット56によって処理される前に1つまたはそれ以上の先入れ先出し(FIF
O)ユニット64をパイプライン・データ経路に挿入することによって達成され
る。FIFOユニット(単数または複数)64は、たとえば、ランダム・アクセ
ス・メモリRAM(好ましくは、Cube−5チップに埋め込まれている)とし
て実装してもよい。ボリューム・データセットの複数のスライスのビームを同時
に処理するとき、したがって、スライス間により長い計算時間が必要なときには
、所定遅延の導入は特に重要である。
【0043】 バイリニア補間ユニット(BiLin)72に作動可能に接続した合成バッファ(C
ompos Buffer)74が、本質的に、1つのスライスFIFOを提供する。バイリ
ニア補間ユニット72は、好ましくは、テクスチャ・マッピングのために必要に
応じてボクセル間の値を得るように補間する。ボリューム・レンダリングのため
に、BiLin72は、好ましくは、ボリューム・データセットのコーナー・ボクセ
ルの1つを選ぶ(Select xおよびSelect yによって決定される)0.0または
1.0の重みだけを使用する。レイがパイプラインと交差する場合、レイ・デー
タだけを移動させる。xおよびyについてのmux[?]だけで、ボリューム・レ
ンダリングについては充分であるが、テクスチャ・マッピングにとってはバイリ
ニア補間が好ましい。
ompos Buffer)74が、本質的に、1つのスライスFIFOを提供する。バイリ
ニア補間ユニット72は、好ましくは、テクスチャ・マッピングのために必要に
応じてボクセル間の値を得るように補間する。ボリューム・レンダリングのため
に、BiLin72は、好ましくは、ボリューム・データセットのコーナー・ボクセ
ルの1つを選ぶ(Select xおよびSelect yによって決定される)0.0または
1.0の重みだけを使用する。レイがパイプラインと交差する場合、レイ・デー
タだけを移動させる。xおよびyについてのmux[?]だけで、ボリューム・レ
ンダリングについては充分であるが、テクスチャ・マッピングにとってはバイリ
ニア補間が好ましい。
【0044】 Cube−5アーキテクチャは、好ましくは、パイプライン・ステージの再順
序付けおよびマルチパス・レンダリング、処理動作の数をサポートする。この場
合、Cube−5レンダリング・パイプライン52および3Dメモリ・ユニット
24の種々のステージ間にフィードバック・コネクションが必要となる。たとえ
ば、オーバーラップしているボリュメトリック・オブジェクトの正しいレンダリ
ングには、好ましくは、Cube−5パイプライン52を通る少なくとも2回の
パスが必要であり、このとき、一回目のパスでボリュメトリック・オブジェクト
を再サンプリングして互いに整合させ、二回目のパスでインタリーブ・オーダー
式にボリュメトリック・オブジェクトをレンダリングする。図5に示すように、
多ボリューム・フィードバック経路66を設けると好ましく、これが合成ユニッ
ト60の出力部を対応する3Dメモリ・ユニット24に作動可能に接続する。こ
れにより、再サンプリング・ボリュームを、再サンプリング、分類、シェーディ
ング後に3Dメモリ・ユニット24に書き戻すことができる。最終的なレンダリ
ング・パスは、RGBαボリュームについて作動する。
序付けおよびマルチパス・レンダリング、処理動作の数をサポートする。この場
合、Cube−5レンダリング・パイプライン52および3Dメモリ・ユニット
24の種々のステージ間にフィードバック・コネクションが必要となる。たとえ
ば、オーバーラップしているボリュメトリック・オブジェクトの正しいレンダリ
ングには、好ましくは、Cube−5パイプライン52を通る少なくとも2回の
パスが必要であり、このとき、一回目のパスでボリュメトリック・オブジェクト
を再サンプリングして互いに整合させ、二回目のパスでインタリーブ・オーダー
式にボリュメトリック・オブジェクトをレンダリングする。図5に示すように、
多ボリューム・フィードバック経路66を設けると好ましく、これが合成ユニッ
ト60の出力部を対応する3Dメモリ・ユニット24に作動可能に接続する。こ
れにより、再サンプリング・ボリュームを、再サンプリング、分類、シェーディ
ング後に3Dメモリ・ユニット24に書き戻すことができる。最終的なレンダリ
ング・パスは、RGBαボリュームについて作動する。
【0045】 同様に、各Cube−5レンダリング・パイプライン52は、好ましくは、ワ
ープ単位44と3Dメモリ・ユニット24の間に接続した画像ベースのレンダリ
ング・フィードバック経路68を包含する。画像ベースのレンダリング・フィー
ドバック・ライン68は、好ましくは、中間ワープド画像を3Dメモリ・ユニッ
ト24に書き込むためのフィードバック経路を提供する。これは、特に、複数の
ワープ・パスを必要とする或る種の画像ベース・レンダリング作業を加速するた
めに有用であるかも知れない。本発明のアーキテクチャは、さらに、3Dメモリ
・ユニット24と他の種々のCube−5レンダリング・パイプライン・ステー
ジとの間、または、個々のパイプライン・ステージそれ自体の間のフィードバッ
ク・コネクションも意図している。画像レンダリング速度は、フィードバック経
路を含むことによってかなり速くなり、これは、Cube−5レンダリング・パ
イプライン52全体を通して移動するように結果を待つことなく、個々のパイプ
ライン・ステージの計算結果への直接的で即時のアクセスを提供する。
ープ単位44と3Dメモリ・ユニット24の間に接続した画像ベースのレンダリ
ング・フィードバック経路68を包含する。画像ベースのレンダリング・フィー
ドバック・ライン68は、好ましくは、中間ワープド画像を3Dメモリ・ユニッ
ト24に書き込むためのフィードバック経路を提供する。これは、特に、複数の
ワープ・パスを必要とする或る種の画像ベース・レンダリング作業を加速するた
めに有用であるかも知れない。本発明のアーキテクチャは、さらに、3Dメモリ
・ユニット24と他の種々のCube−5レンダリング・パイプライン・ステー
ジとの間、または、個々のパイプライン・ステージそれ自体の間のフィードバッ
ク・コネクションも意図している。画像レンダリング速度は、フィードバック経
路を含むことによってかなり速くなり、これは、Cube−5レンダリング・パ
イプライン52全体を通して移動するように結果を待つことなく、個々のパイプ
ライン・ステージの計算結果への直接的で即時のアクセスを提供する。
【0046】 本発明の好ましい実施例においては、Cube−5システムは、レンダリング
・パイプラインの選択的なステージを迂回するコネクションを包含する。これは
、たとえば、或る種の像形成作業にとっては不要であるかも知れない。これらの
未使用のパイプライン・ステージを迂回することによって、このような像形成作
業が加速される可能性はある。図5に示すように、テクスチャ・マップ・バイパ
ス70は、好ましくは、各Cube−5レンダリング・パイプライン52に含ま
れる。このテクスチャ・マップ・バイパス・コネクション70は、実質的にミッ
プ・マッピングの速度を上げる。このミップ・マッピングは、たとえば、シェー
ディング・ユニット58および合成ユニット60を迂回し、トリリニア補間ユニ
ット54および勾配評価ユニット56からの結果をバイリニア補間ユニット72
に直接与えることによって処理されるべき画像の複数のディテール・レベル(L
OD)を記憶することからなる。このような方法において、本発明のアーキテク
チャは、好ましくは、ボリューム・レンダリングを実施するためのパイプライン
・アレイとしてばかりでなく、様々な像形成作業を実施するように選択的に構成
し得るハードウェア・リソースの集まりとしても考えることができる。たとえば
、本発明のCube−5システムがボリューム・レンダリングを実施していると
き、本質的に、ハードウェア・リソースのすべてが必要であるのに対し、テクス
チャ・マッピングは、一般的に、メモリ、或る種のバッファリングおよび補間ユ
ニットだけしか必要としない。
・パイプラインの選択的なステージを迂回するコネクションを包含する。これは
、たとえば、或る種の像形成作業にとっては不要であるかも知れない。これらの
未使用のパイプライン・ステージを迂回することによって、このような像形成作
業が加速される可能性はある。図5に示すように、テクスチャ・マップ・バイパ
ス70は、好ましくは、各Cube−5レンダリング・パイプライン52に含ま
れる。このテクスチャ・マップ・バイパス・コネクション70は、実質的にミッ
プ・マッピングの速度を上げる。このミップ・マッピングは、たとえば、シェー
ディング・ユニット58および合成ユニット60を迂回し、トリリニア補間ユニ
ット54および勾配評価ユニット56からの結果をバイリニア補間ユニット72
に直接与えることによって処理されるべき画像の複数のディテール・レベル(L
OD)を記憶することからなる。このような方法において、本発明のアーキテク
チャは、好ましくは、ボリューム・レンダリングを実施するためのパイプライン
・アレイとしてばかりでなく、様々な像形成作業を実施するように選択的に構成
し得るハードウェア・リソースの集まりとしても考えることができる。たとえば
、本発明のCube−5システムがボリューム・レンダリングを実施していると
き、本質的に、ハードウェア・リソースのすべてが必要であるのに対し、テクス
チャ・マッピングは、一般的に、メモリ、或る種のバッファリングおよび補間ユ
ニットだけしか必要としない。
【0047】 以下に説明する本発明の別のユニークで重要な局面は、Cube−5アーキテ
クチャが少なくとも1つの普通のジオメトリ・エンジン76とインタフェース接
続していて、単一画像におけるジオメトリック・データとボリュメトリック・オ
ブジェクトとの混合をサポートすることができるということにある。これは、好
ましくは、上述したように、少なくとも1つのジオメトリ・バスを設けてジオメ
トリ・エンジン76とインタフェース接続させることによって達成される。
クチャが少なくとも1つの普通のジオメトリ・エンジン76とインタフェース接
続していて、単一画像におけるジオメトリック・データとボリュメトリック・オ
ブジェクトとの混合をサポートすることができるということにある。これは、好
ましくは、上述したように、少なくとも1つのジオメトリ・バスを設けてジオメ
トリ・エンジン76とインタフェース接続させることによって達成される。
【0048】 好ましくは、本発明のCube−5アーキテクチャは、可能なときにはいつで
も、パイプライン構成要素(たとえば、補間ユニット等)を再利用し、複数の構
成、特に、複数のボリュメトリック・オブジェクト、ポリゴン・オブジェクトの
シーンのレンダリング、テクスチャ・マッピングおよび画像ベース・レンダリン
グを使用して様々なレンダリング・アルゴリズムを加速するようになっている。
他の重要な利点としては、パイプライン構成要素を再利用することで、ハードウ
ェア・コストを低減できるということがある。Cube−5アーキテクチャは、
また、ボリューム・レンダリングを向上させ、他の像形成作業を加速させるため
の種々のユニークな方法およびアルゴリズムをサポートする。これらの方法およ
びアルゴリズムのうちのいくつかを、以下に個別にさらに詳しく説明する。
も、パイプライン構成要素(たとえば、補間ユニット等)を再利用し、複数の構
成、特に、複数のボリュメトリック・オブジェクト、ポリゴン・オブジェクトの
シーンのレンダリング、テクスチャ・マッピングおよび画像ベース・レンダリン
グを使用して様々なレンダリング・アルゴリズムを加速するようになっている。
他の重要な利点としては、パイプライン構成要素を再利用することで、ハードウ
ェア・コストを低減できるということがある。Cube−5アーキテクチャは、
また、ボリューム・レンダリングを向上させ、他の像形成作業を加速させるため
の種々のユニークな方法およびアルゴリズムをサポートする。これらの方法およ
びアルゴリズムのうちのいくつかを、以下に個別にさらに詳しく説明する。
【0049】 本発明に従って形成した、Cube−5システムの好ましい実施例においては
、ボリューム・データセットはブロックとして記憶され、それによって、空間的
場所についての利点を得ている。リニア・ブロッキング(たとえば、ボクセレー
タAPI)の代わりに、階層的なブロックを使用している。これは、好ましくは
、複数の3Dメモリ・ユニットを横切って分散された配置で記憶され、スキュー
させられる。たとえば、現三菱電機16ビット、125メガヘルツ同期ダイナミ
ック・ランダム・アクセス・メモリ(SDRAM)を使用して3Dメモリを実装
した場合、各ブロックは、1024バイトを必要とする8316ビット・ボクセ
ルまたは2つのSDRAMページを収容し得る。
、ボリューム・データセットはブロックとして記憶され、それによって、空間的
場所についての利点を得ている。リニア・ブロッキング(たとえば、ボクセレー
タAPI)の代わりに、階層的なブロックを使用している。これは、好ましくは
、複数の3Dメモリ・ユニットを横切って分散された配置で記憶され、スキュー
させられる。たとえば、現三菱電機16ビット、125メガヘルツ同期ダイナミ
ック・ランダム・アクセス・メモリ(SDRAM)を使用して3Dメモリを実装
した場合、各ブロックは、1024バイトを必要とする8316ビット・ボクセ
ルまたは2つのSDRAMページを収容し得る。
【0050】 各ブロックは、好ましくは、同じ3Dメモリ・ユニットに存在している23ボ
クセル・ミニブロックとして構成される。SDRAM内部のバンクは、好ましく
は、パイプライン式にアクセスされ、現バースト転送がほぼ完全に以降のバース
ト転写のセットアップを隠すようにすることができる。ミニブロック内のボクセ
ルのビュー依存処理オーダーがそれらの記憶オーダーと一致しない場合には、8
つのミニブロック・ボクセルをCube−5チップで再オーダーすると好ましい
。それ故、SDRAM上のボリューム・データセットのコピーは、たった1つで
充分である。したがって、階層的なブロッキングにより、ほぼフル・バースト・
モード速度、ほぼフル(100%)バンド幅利用、ビュー独立データ記憶および
バランスの取れた作業負荷で、ミニブロックにランダム・アクセスすることが可
能になる。
クセル・ミニブロックとして構成される。SDRAM内部のバンクは、好ましく
は、パイプライン式にアクセスされ、現バースト転送がほぼ完全に以降のバース
ト転写のセットアップを隠すようにすることができる。ミニブロック内のボクセ
ルのビュー依存処理オーダーがそれらの記憶オーダーと一致しない場合には、8
つのミニブロック・ボクセルをCube−5チップで再オーダーすると好ましい
。それ故、SDRAM上のボリューム・データセットのコピーは、たった1つで
充分である。したがって、階層的なブロッキングにより、ほぼフル・バースト・
モード速度、ほぼフル(100%)バンド幅利用、ビュー独立データ記憶および
バランスの取れた作業負荷で、ミニブロックにランダム・アクセスすることが可
能になる。
【0051】 ブロッキングは、メモリ・インタフェースを最適化するだけではなく、チップ
間連絡バンド幅(すなわち、Cube−5ハードウェア・ユニット間の)を縮小
するという付加的な利点も有する。これは、ブロック周辺部にあるボクセルだけ
が隣接したチップス処理隣接ブロックとの間で交換される必要があるからである
。O(b3)時にb3ボクセル・ブロックを処理しながら、ブロック境界上のO(
b2)ボクセルはチップス処理隣接ブロック間で連絡する必要があるだけである
。ここで、bはブロック・エッジのサイズであり、各ブロックは、b×b×b(
すなわち、b3)のボクセルを有する。したがって、チップ間連絡は、ノンブロ
ッキング解の場合よりもO(1/b)小さいバンド幅でよい。ブロック・エッジ
のサイズbは、約4=b=64の範囲にあってもよいが、8のブロック・エッジ・
サイズが好ましい。
間連絡バンド幅(すなわち、Cube−5ハードウェア・ユニット間の)を縮小
するという付加的な利点も有する。これは、ブロック周辺部にあるボクセルだけ
が隣接したチップス処理隣接ブロックとの間で交換される必要があるからである
。O(b3)時にb3ボクセル・ブロックを処理しながら、ブロック境界上のO(
b2)ボクセルはチップス処理隣接ブロック間で連絡する必要があるだけである
。ここで、bはブロック・エッジのサイズであり、各ブロックは、b×b×b(
すなわち、b3)のボクセルを有する。したがって、チップ間連絡は、ノンブロ
ッキング解の場合よりもO(1/b)小さいバンド幅でよい。ブロック・エッジ
のサイズbは、約4=b=64の範囲にあってもよいが、8のブロック・エッジ・
サイズが好ましい。
【0052】 ブロック・ルックアップ表(LUT)は、現ボリュームを含むすべてのブロッ
クへポインタを記憶するのに利用されると好ましい。この方法は、大きいボリュ
ームの当該選択領域にズーミングしながら能動ボリュームを制限する簡単な方法
を提供する。また、任意に形付けしたサブボリューム(ブロック・サイズの細分
性で)のレンダリングも可能にする。その上、多くの小さいボリュームを収容し
ているシーンは、非常に効率よくレンダリングされ得る。それは、すべてのボリ
ュームが3Dメモリ・ユニットの中のどこにでも存在できるし、3Dメモリ・ユ
ニットよりもむしろ、ルックアップ表だけを各ボリュームについて再ロードすれ
ば良いからである。
クへポインタを記憶するのに利用されると好ましい。この方法は、大きいボリュ
ームの当該選択領域にズーミングしながら能動ボリュームを制限する簡単な方法
を提供する。また、任意に形付けしたサブボリューム(ブロック・サイズの細分
性で)のレンダリングも可能にする。その上、多くの小さいボリュームを収容し
ているシーンは、非常に効率よくレンダリングされ得る。それは、すべてのボリ
ュームが3Dメモリ・ユニットの中のどこにでも存在できるし、3Dメモリ・ユ
ニットよりもむしろ、ルックアップ表だけを各ボリュームについて再ロードすれ
ば良いからである。
【0053】 透視投影および/またはディテール・レベル(LOD)を実施する1つ方法は
、x、y方向における2倍スーパーサンプリングに依存する。したがって、トリ
リニア補間用の補間ユニットならびに勾配計算用の勾配評価ユニットの4倍の複
製を使用すると好ましい。その結果、SDRAM、Cube−5パイプライン間
のデータパスはほぼ不変である。しかしながら、Cube−5パイプライン間の
バンド幅は、オンチップ・スループットおよびバッファと同様に、4倍になる。
その主たる理由は、ノーマル・モードの各サンプルが最高4つのサンプルと交換
されるからである(すなわち、x方向において倍速、y方向において倍速)。
、x、y方向における2倍スーパーサンプリングに依存する。したがって、トリ
リニア補間用の補間ユニットならびに勾配計算用の勾配評価ユニットの4倍の複
製を使用すると好ましい。その結果、SDRAM、Cube−5パイプライン間
のデータパスはほぼ不変である。しかしながら、Cube−5パイプライン間の
バンド幅は、オンチップ・スループットおよびバッファと同様に、4倍になる。
その主たる理由は、ノーマル・モードの各サンプルが最高4つのサンプルと交換
されるからである(すなわち、x方向において倍速、y方向において倍速)。
【0054】 好ましくは、異方性データセットの取り扱いおよびスーパーサンプリングには
、不透明度αの修正を行うとよい。結合された機能は、α′=1−α)d/k、こ
こで、スーパーサンプリング・ファクタkは、1ボクセル・セル当たりのサンプ
ルの数を表しており、dは、各ボクセル・セルを通してサイト・レイが移動する
距離(すなわち、サイト・レイの経路長)を表している。好ましくは、レンダリ
ング中に、α′の急速ルックアップのために、ルックアップ表(LUT)を使用
する。
、不透明度αの修正を行うとよい。結合された機能は、α′=1−α)d/k、こ
こで、スーパーサンプリング・ファクタkは、1ボクセル・セル当たりのサンプ
ルの数を表しており、dは、各ボクセル・セルを通してサイト・レイが移動する
距離(すなわち、サイト・レイの経路長)を表している。好ましくは、レンダリ
ング中に、α′の急速ルックアップのために、ルックアップ表(LUT)を使用
する。
【0055】 図5を続けて参照して、下層のボリューム・データセットの均一なサンプリン
グで終わるボリュメトリック・データの透視レンダリングでは、レベル間でフィ
ルタリングを行いながら合成バッファ74の再スケーリングが必要である。ディ
テール・レベル(LOD)透視レンダリングでは、レベル間での合成バッファ7
4の再アラインメントが必要である。これらのプロセス(パイプライン52で利
用できない大域的連絡を取り入れている)は、共に、好ましくは、ワープ単位(
単数または複数)44によって実施される。合成バッファ74は既にワープ単位
44にアクセス可能となっているが、フィードバック・ライン43を用いて合成
バッファ74へ濾過された値を書き戻すと好ましい。
グで終わるボリュメトリック・データの透視レンダリングでは、レベル間でフィ
ルタリングを行いながら合成バッファ74の再スケーリングが必要である。ディ
テール・レベル(LOD)透視レンダリングでは、レベル間での合成バッファ7
4の再アラインメントが必要である。これらのプロセス(パイプライン52で利
用できない大域的連絡を取り入れている)は、共に、好ましくは、ワープ単位(
単数または複数)44によって実施される。合成バッファ74は既にワープ単位
44にアクセス可能となっているが、フィードバック・ライン43を用いて合成
バッファ74へ濾過された値を書き戻すと好ましい。
【0056】 リアルタイム(すなわち、30ヘルツのフレーム率)で最終的なフル・スクリ
ーン画像を得るのにハードウェア・ワープ単位が必要である。図5に示すように
、ベースプレーン画像(Cube−5レンダリング・パイプライン52の合成ユ
ニット60によって生成した画像)は、2Dメモリ・ユニット40においてバッ
ファされると好ましい。2Dメモリ・ユニット40からワープ単位44までのメ
モリ・バンド幅を下げるために、ベースプレーン画像の各ピクセルは、一度だけ
アクセスされると好ましい。現および前のスキャンラインのサンプル間のリニア
補間を実施するために、前のスキャンライン・サンプルを記憶するには、少なく
とも1つのスキャンラインを保持するようなサイズとした別のFIFOユニット
が必要である。各グリッド・ピクセルについての補間重みは、ホスト・マシンで
事前計算すると好ましい。
ーン画像を得るのにハードウェア・ワープ単位が必要である。図5に示すように
、ベースプレーン画像(Cube−5レンダリング・パイプライン52の合成ユ
ニット60によって生成した画像)は、2Dメモリ・ユニット40においてバッ
ファされると好ましい。2Dメモリ・ユニット40からワープ単位44までのメ
モリ・バンド幅を下げるために、ベースプレーン画像の各ピクセルは、一度だけ
アクセスされると好ましい。現および前のスキャンラインのサンプル間のリニア
補間を実施するために、前のスキャンライン・サンプルを記憶するには、少なく
とも1つのスキャンラインを保持するようなサイズとした別のFIFOユニット
が必要である。各グリッド・ピクセルについての補間重みは、ホスト・マシンで
事前計算すると好ましい。
【0057】 不透明なジオメトリック・オブジェクトについてボリュームおよびジオメトリ
を正確に混ぜるために、Zバッファ画像は、合成バッファ60に書き込まれると
好ましい。合成ユニット60は、各新しいサンプルを混合する前にz比較を実施
しなければならない。その上、半透明のジオメトリック・スライスについては、
ジオメトリ・エンジン76は、好ましくは、本発明のジオメトリ入力バス(図4
の参照コード46)を利用して、RGBα値の各スラブをデータ流に挿入し、そ
の結果、各スラブがボリュメトリック・データ・スライスでインタリーブされる
。
を正確に混ぜるために、Zバッファ画像は、合成バッファ60に書き込まれると
好ましい。合成ユニット60は、各新しいサンプルを混合する前にz比較を実施
しなければならない。その上、半透明のジオメトリック・スライスについては、
ジオメトリ・エンジン76は、好ましくは、本発明のジオメトリ入力バス(図4
の参照コード46)を利用して、RGBα値の各スラブをデータ流に挿入し、そ
の結果、各スラブがボリュメトリック・データ・スライスでインタリーブされる
。
【0058】 テクスチャ・マッピングについて、たとえば、図6が、本発明に従って、32
ビットのテクセル・データを3Dメモリ・ユニットの16ビット・ボクセルのミ
ニブロックにおける2×2近辺にどのように記憶させられるかを示している。し
たがって、32ビット・テクセルの4テクセル近辺が、各メモリ・バースト読み
込み中に読み込まれると好ましい。データ重複がない場合、いくつかのテクスチ
ャ座標が記憶済みのミニブロック間に位置し得るので、平均2.25データ・バ
ースト読み取りで、適切なテクセル近辺にアクセスするようにCube−5シス
テムが実施すると好ましい。
ビットのテクセル・データを3Dメモリ・ユニットの16ビット・ボクセルのミ
ニブロックにおける2×2近辺にどのように記憶させられるかを示している。し
たがって、32ビット・テクセルの4テクセル近辺が、各メモリ・バースト読み
込み中に読み込まれると好ましい。データ重複がない場合、いくつかのテクスチ
ャ座標が記憶済みのミニブロック間に位置し得るので、平均2.25データ・バ
ースト読み取りで、適切なテクセル近辺にアクセスするようにCube−5シス
テムが実施すると好ましい。
【0059】 再び図5を参照して、本発明の1つの形態に従って、ハードウェアで画像ベー
スのレンダリングを実施する1つ方法では、メモリ制御機構78を利用する。こ
の機構は、各Cube−5パイプライン52に内蔵され、各パイプラインについ
ての寄与領域に基づいて適切なソース・ピクセルを読み込むと好ましい。このパ
イプライン52における補間ユニット(たとえば、54、72)が、次に、明視
野レンダリングまたはルミグラフにとって必要とされる4次元(4D)補間を実
施すると好ましい。別の実施例として、ワープ単位44を利用してこの機能を実
施してもよい。現視野に寄与しているソース・ピクセルが、好ましくはコネクシ
ョン・ライン41を通して2Dメモリ・ユニット40に読み込まれ、組み立てら
れ、その後、ワープ変換が行われる。好ましくは、4つの組み立てられたソース
画像は、4つの連続したワープ・パスにおいて処理される。4つの中間ワープド
画像の最終的な組み合わせは、Cube−5パイプライン52で実施される。先
に説明したように、画像ベースのレンダリング・フィードバック・ライン68は
、中間ワープド画像を3Dメモリ24に書き込むためのフィードバックを提供す
る。いずれの方法についても、3Dメモリ・ユニット24は、大きい画像データ
ベースのための局所的記憶装置を提供する。
スのレンダリングを実施する1つ方法では、メモリ制御機構78を利用する。こ
の機構は、各Cube−5パイプライン52に内蔵され、各パイプラインについ
ての寄与領域に基づいて適切なソース・ピクセルを読み込むと好ましい。このパ
イプライン52における補間ユニット(たとえば、54、72)が、次に、明視
野レンダリングまたはルミグラフにとって必要とされる4次元(4D)補間を実
施すると好ましい。別の実施例として、ワープ単位44を利用してこの機能を実
施してもよい。現視野に寄与しているソース・ピクセルが、好ましくはコネクシ
ョン・ライン41を通して2Dメモリ・ユニット40に読み込まれ、組み立てら
れ、その後、ワープ変換が行われる。好ましくは、4つの組み立てられたソース
画像は、4つの連続したワープ・パスにおいて処理される。4つの中間ワープド
画像の最終的な組み合わせは、Cube−5パイプライン52で実施される。先
に説明したように、画像ベースのレンダリング・フィードバック・ライン68は
、中間ワープド画像を3Dメモリ24に書き込むためのフィードバックを提供す
る。いずれの方法についても、3Dメモリ・ユニット24は、大きい画像データ
ベースのための局所的記憶装置を提供する。
【0060】 ここで、上記の(Cube−5と呼ぶ)本発明の装置は、既に説明したユニバ
ーサル・レンダリング以上に、普通のボリューム処理方法をかなり加速すること
ができることは了解されたい。その上、本発明の装置は、性能を強化するために
構成される多くのユニークなアルゴリズムと連動して使われてもよいCube−
5および/またはリアルタイム・ボリューム処理の性能を強化するおよび/また
はリアルタイム・ボリューム処理のための強化した特徴を提供するようになって
おり、したがって、Cube−5システム全体を既存のボリューム・レンダリン
グ・アーキテクチャ、たとえば、Cube−4より優れたものとすることができ
る多数のユニークなアルゴリズムと関連して使用することができる。画像ワーピ
ング、三次元変換、透視投影、大ボリューム処理、高品質レンダリング、クリッ
ピング、デプス・キューイング、スーパーサンプリングおよび異方性データセッ
トを実施するためのものを含むこれらユニークなアルゴリズムのいくつかを以下
に詳しく説明する。
ーサル・レンダリング以上に、普通のボリューム処理方法をかなり加速すること
ができることは了解されたい。その上、本発明の装置は、性能を強化するために
構成される多くのユニークなアルゴリズムと連動して使われてもよいCube−
5および/またはリアルタイム・ボリューム処理の性能を強化するおよび/また
はリアルタイム・ボリューム処理のための強化した特徴を提供するようになって
おり、したがって、Cube−5システム全体を既存のボリューム・レンダリン
グ・アーキテクチャ、たとえば、Cube−4より優れたものとすることができ
る多数のユニークなアルゴリズムと関連して使用することができる。画像ワーピ
ング、三次元変換、透視投影、大ボリューム処理、高品質レンダリング、クリッ
ピング、デプス・キューイング、スーパーサンプリングおよび異方性データセッ
トを実施するためのものを含むこれらユニークなアルゴリズムのいくつかを以下
に詳しく説明する。
【0061】 本発明の1つの形態によれば、画像ワーピングを実施する方法が提供される。
この方法は、他の利点のうちでも、透視ワーピングの速度を上げ、向上する画質
を提供する。画像ワーピングは、好ましくは、Cube−5ボリューム・レンダ
リング・パイプラインの最終ステージである。簡単に言えば、画像ワーピングは
、主として、2つの画像、すなわち、ソース画像と目標画像の間のジオメトリッ
ク変換に関する。ジオメトリック変換は、ソース・ピクセルと目標ピクセルとの
関係を定める。効率および高品質は、このような用途で等しく重要な問題である
。本発明の装置においては、ワープ単位は、好ましくは、画像変換機能を実施す
る。その結果、ワープ単位を使用する用途は、本発明の画像ワーピング方法から
利益を得る。
この方法は、他の利点のうちでも、透視ワーピングの速度を上げ、向上する画質
を提供する。画像ワーピングは、好ましくは、Cube−5ボリューム・レンダ
リング・パイプラインの最終ステージである。簡単に言えば、画像ワーピングは
、主として、2つの画像、すなわち、ソース画像と目標画像の間のジオメトリッ
ク変換に関する。ジオメトリック変換は、ソース・ピクセルと目標ピクセルとの
関係を定める。効率および高品質は、このような用途で等しく重要な問題である
。本発明の装置においては、ワープ単位は、好ましくは、画像変換機能を実施す
る。その結果、ワープ単位を使用する用途は、本発明の画像ワーピング方法から
利益を得る。
【0062】 変換のデータフローによって区別すれば、画像ワーピング方法は、一般に、順
方向ワーピングあるいは逆方向ワーピングのいずれかとして分類される。順方向
ワーピングにおいては、ソース・ピクセルがスキャンライン・オーダーで処理さ
れ、結果が目標画像上へ投影される。逆方向ワーピングにおいては、ラスタ・オ
ーダーにおける目標ピクセルが、逆にソース画像にマッピングされ、したがって
、サンプリングされる。大部分の公知従来技術ワーピング・アルゴリズムは、逆
方向ワーピングを使用する。
方向ワーピングあるいは逆方向ワーピングのいずれかとして分類される。順方向
ワーピングにおいては、ソース・ピクセルがスキャンライン・オーダーで処理さ
れ、結果が目標画像上へ投影される。逆方向ワーピングにおいては、ラスタ・オ
ーダーにおける目標ピクセルが、逆にソース画像にマッピングされ、したがって
、サンプリングされる。大部分の公知従来技術ワーピング・アルゴリズムは、逆
方向ワーピングを使用する。
【0063】 アフィン変換(すなわち、並進、回転、スケーリング、シャーリング等)と比
較した場合、透視変換は、より高価で挑戦するに値すると考えられる。透視投影
の場合、投影プレーンにおける1つのピクセルについてベースプレーン画像にお
けるサンプル場所を計算するときに、高価な除算が必要である。CPUによって
実施するときには、普通の透視ワーピングは、代表的には、平行ワーピングより
も少なくとも三倍遅くなる。したがって、いくつかの従来技術方法は、透視変換
を複数のパスを必要とするいくつかの単純な変換に分解していた。しかしながら
、マルチパス変換アルゴリズムに固有の1つの主要な問題は、2つ一次元の(1
D)フィルタリング作業の組み合わせが、真の二次元(2D)フィルタリングほ
ぼ融通性がないということである。さらに、普通のマルチパス方法は、画質を劣
化させる付加的なフィルタリング作業を行う。
較した場合、透視変換は、より高価で挑戦するに値すると考えられる。透視投影
の場合、投影プレーンにおける1つのピクセルについてベースプレーン画像にお
けるサンプル場所を計算するときに、高価な除算が必要である。CPUによって
実施するときには、普通の透視ワーピングは、代表的には、平行ワーピングより
も少なくとも三倍遅くなる。したがって、いくつかの従来技術方法は、透視変換
を複数のパスを必要とするいくつかの単純な変換に分解していた。しかしながら
、マルチパス変換アルゴリズムに固有の1つの主要な問題は、2つ一次元の(1
D)フィルタリング作業の組み合わせが、真の二次元(2D)フィルタリングほ
ぼ融通性がないということである。さらに、普通のマルチパス方法は、画質を劣
化させる付加的なフィルタリング作業を行う。
【0064】 本発明は、好ましくは、実質的にアフィン変換と同じ効率で実施することがで
きるユニークな単パス順方向ワーピング方法を使用する。すべてのピクセルに対
して伝統劇に実施されてきた高価な除算は、本発明によれば、1スキャンライン
当たりたったの二回に減らされる。したがって、除算作業の数を減らすことによ
って、本発明は、たとえば、少なくとも速度および効果的なハードウェア実施に
関して従来公知の技術による方法よりも優れた、代わりとなり得る透視ワーピン
グ方法を提供する。本発明による、透視ワーピングのための好ましい方法を以下
に説明する。
きるユニークな単パス順方向ワーピング方法を使用する。すべてのピクセルに対
して伝統劇に実施されてきた高価な除算は、本発明によれば、1スキャンライン
当たりたったの二回に減らされる。したがって、除算作業の数を減らすことによ
って、本発明は、たとえば、少なくとも速度および効果的なハードウェア実施に
関して従来公知の技術による方法よりも優れた、代わりとなり得る透視ワーピン
グ方法を提供する。本発明による、透視ワーピングのための好ましい方法を以下
に説明する。
【0065】 好ましくは、本発明は、透視ワーピングを実施するのにスキャンライン方法を
使用する。しかしながら、ノーマル・ラスタ・スキャンライン・オーダーにおい
て走査するよりもむしろ、本発明のアルゴリズムは、ソース画像における特殊な
スキャンライン方向において処理される。図7、8に示すように、この特殊なス
キャンライン方向92(図8)は、好ましくは、ソース画像80の平行スキャン
ライン84が、目標画像82における平行スキャンライン86として現れるとい
う特性を有する。そして、ソース・スキャンライン84に沿った等距離サンプル
・ポイント88が、目標スキャンライン86においても等距離サンプル・ポイン
ト90として残るという特性を有する。このユニークな方法のいくつかの利点と
しては、透視・補正画像ワーピングの複雑さの低減(すなわち、1ピクセルあた
りの除算をなくし、1スキャンラインあたり2回の除算に代えることによる)、
異方性フィルタリングを取り入れることによる正確なアンチエイリアシング、バ
イリニア補間によって生じたグーロー・シェーディングにおける欠点の訂正およ
び各ソース・ピクセルを正確に一度だけ読み込むことによるメモリ・バンド幅の
最適化がある。
使用する。しかしながら、ノーマル・ラスタ・スキャンライン・オーダーにおい
て走査するよりもむしろ、本発明のアルゴリズムは、ソース画像における特殊な
スキャンライン方向において処理される。図7、8に示すように、この特殊なス
キャンライン方向92(図8)は、好ましくは、ソース画像80の平行スキャン
ライン84が、目標画像82における平行スキャンライン86として現れるとい
う特性を有する。そして、ソース・スキャンライン84に沿った等距離サンプル
・ポイント88が、目標スキャンライン86においても等距離サンプル・ポイン
ト90として残るという特性を有する。このユニークな方法のいくつかの利点と
しては、透視・補正画像ワーピングの複雑さの低減(すなわち、1ピクセルあた
りの除算をなくし、1スキャンラインあたり2回の除算に代えることによる)、
異方性フィルタリングを取り入れることによる正確なアンチエイリアシング、バ
イリニア補間によって生じたグーロー・シェーディングにおける欠点の訂正およ
び各ソース・ピクセルを正確に一度だけ読み込むことによるメモリ・バンド幅の
最適化がある。
【0066】 図8に示すように、この特殊なスキャンライン方向の直観は、投影ジオメトリ
に由来する。図8を参照して、ソース画像80は、好ましくは、三次元(3D)
表面に置かれ、そして、目標画像82は、スクリーン上に置かれる。代表的なテ
クスチャ・マッピングと同様に、スクリーン上にピクセルを得るために、サイト
・レイ(単数または複数)94が、視点(またはアイ・ポイント)から3Dスペ
ースにキャスティングされ、スクリーン82および3D表面80と交差させられ
る。交差ポイントが、サンプル・ポイント98である。スクリーン・スペースに
おける走査方向92が3D平面と平行であるとき、両方の画像のスキャンライン
は互いに平行である。そして、スキャンラインに沿った等距離のサンプル・ポイ
ント98は3D表面プレーンにおいても等距離のままである。この平行・保存(
PP)スキャンライン方向が、所与の透視変換のために存在し、ユニークである
。平行投影の場合、任意の走査方向が、両方の画像上にこの平行性を保存し、そ
の簡略性によりラスタ・スキャンライン方向を使用するのが好ましいかも知れな
いことは了解されたい。
に由来する。図8を参照して、ソース画像80は、好ましくは、三次元(3D)
表面に置かれ、そして、目標画像82は、スクリーン上に置かれる。代表的なテ
クスチャ・マッピングと同様に、スクリーン上にピクセルを得るために、サイト
・レイ(単数または複数)94が、視点(またはアイ・ポイント)から3Dスペ
ースにキャスティングされ、スクリーン82および3D表面80と交差させられ
る。交差ポイントが、サンプル・ポイント98である。スクリーン・スペースに
おける走査方向92が3D平面と平行であるとき、両方の画像のスキャンライン
は互いに平行である。そして、スキャンラインに沿った等距離のサンプル・ポイ
ント98は3D表面プレーンにおいても等距離のままである。この平行・保存(
PP)スキャンライン方向が、所与の透視変換のために存在し、ユニークである
。平行投影の場合、任意の走査方向が、両方の画像上にこの平行性を保存し、そ
の簡略性によりラスタ・スキャンライン方向を使用するのが好ましいかも知れな
いことは了解されたい。
【0067】 再び図7を参照して、平行・保存(PP)スキャンライン84、86は、それ
ぞれ、ソース画像80、目標画像82の両方において示してある。ひとたび平行
性を正しく達成したならば、ピクセル・アクセスは正規となり、そして、空間干
渉性を両方の画像において利用することができる。その上、PPスキャンライン
は、ソース・サンプル88の投影を算出するために各スキャンラインに対して除
算を行うことなく、純粋増分アルゴリズムの適用を可能にする。しかしながら、
非リニア投影によるすべてのスキャンラインの2つのエンドポイントのために、
なお一回の除算は必要である。
ぞれ、ソース画像80、目標画像82の両方において示してある。ひとたび平行
性を正しく達成したならば、ピクセル・アクセスは正規となり、そして、空間干
渉性を両方の画像において利用することができる。その上、PPスキャンライン
は、ソース・サンプル88の投影を算出するために各スキャンラインに対して除
算を行うことなく、純粋増分アルゴリズムの適用を可能にする。しかしながら、
非リニア投影によるすべてのスキャンラインの2つのエンドポイントのために、
なお一回の除算は必要である。
【0068】 図7を続けて参照して、ソース画像80を、ラスタ方向よりもむしろPPスキ
ャンライン方向において走査したとき、目標スキャンライン86上のサンプル・
ポイント90は、必ずしも目標ピクセル91と一致する必要はない。しかしなが
ら、サンプル・ポイント90は、目標画像82のxグリッドライン89上で整合
させることができ、したがって、サンプル・ポイント90は、yグリッド・ライ
ン87からのみ外れている(スキャンラインに沿って等距離である)。より効果
的ではあるが、品質が低い実施例の場合、半ピクセルが最大エラーであるから、
最も近い隣接の目標ピクセルにサンプル値を置くことが合理的近似である。しか
しながら、より高い品質が好ましい場合には、本発明は、以下に説明するピクセ
ル訂正および効果的アンチエイリアシングを実施することができる。
ャンライン方向において走査したとき、目標スキャンライン86上のサンプル・
ポイント90は、必ずしも目標ピクセル91と一致する必要はない。しかしなが
ら、サンプル・ポイント90は、目標画像82のxグリッドライン89上で整合
させることができ、したがって、サンプル・ポイント90は、yグリッド・ライ
ン87からのみ外れている(スキャンラインに沿って等距離である)。より効果
的ではあるが、品質が低い実施例の場合、半ピクセルが最大エラーであるから、
最も近い隣接の目標ピクセルにサンプル値を置くことが合理的近似である。しか
しながら、より高い品質が好ましい場合には、本発明は、以下に説明するピクセ
ル訂正および効果的アンチエイリアシングを実施することができる。
【0069】 一般に、O(n2)からO(n)への除算の回数の低減は、本発明のアルゴリズム
によって得られる(ここで、nは、リニア解像度である)。本アルゴリズムの場
合、好ましくは、各サンプル・ポイントを算出するためには2回だけの加算が必
要であるが、普通のラスタ・スキャンライン・アルゴリズムでは、一般に、1ピ
クセル当たり3回の加算、1回の除算および2回の乗算が必要である。本発明に
よる、順方向画像ワーピングを実施する好ましい方法を以下に詳しく説明する。
によって得られる(ここで、nは、リニア解像度である)。本アルゴリズムの場
合、好ましくは、各サンプル・ポイントを算出するためには2回だけの加算が必
要であるが、普通のラスタ・スキャンライン・アルゴリズムでは、一般に、1ピ
クセル当たり3回の加算、1回の除算および2回の乗算が必要である。本発明に
よる、順方向画像ワーピングを実施する好ましい方法を以下に詳しく説明する。
【0070】 本発明の順方向ワーピング・アルゴリズムは、好ましくは、2つのステージに
おいて実施される。すなわち、(1)特殊な平行・保存(PP)スキャンライン
方向を算出すること、そして、(2)各スキャンライン内で増分状態で、特殊な
PPスキャンラインに沿って目標画像にソース画像を順方向マッピングすること
である。
おいて実施される。すなわち、(1)特殊な平行・保存(PP)スキャンライン
方向を算出すること、そして、(2)各スキャンライン内で増分状態で、特殊な
PPスキャンラインに沿って目標画像にソース画像を順方向マッピングすること
である。
【0071】 簡単に上述したように、平行・保存(PP)スキャンラインは、三次元(3D
)平面とスクリーン(すなわち、目標画像)との間の交差ラインである。しかし
ながら、二次元(2D)問題においては、PPスキャンラインは、2Dマトリッ
クスに基づいて算出しなければならない。一般に、透視変換は、次のように表す
ことができる。
)平面とスクリーン(すなわち、目標画像)との間の交差ラインである。しかし
ながら、二次元(2D)問題においては、PPスキャンラインは、2Dマトリッ
クスに基づいて算出しなければならない。一般に、透視変換は、次のように表す
ことができる。
【0072】
【数1】 ここで、(u、v)は、ソース・ピクセルの座標であり、(x、y)は、目標ピク
セルの座標であり、Mは、透視変換マトリックスでる。(u、v)座標は(x、y
)によって次のように表現することができる。
セルの座標であり、Mは、透視変換マトリックスでる。(u、v)座標は(x、y
)によって次のように表現することができる。
【0073】
【数2】 ここで、
【0074】
【数3】 目標画像におけるラインは、y=kx+Bとして表現することができる。ここで
、勾配kはライン方向を示し、Bはライン切片を示している。PPスキャンライ
ンについての勾配kを算出するためには、好ましくは、0、1の同じ勾配kおよ
び切片Bを有する2つの平行ラインを定義する。これらは、それぞれ、(0,0
)、(1,k)、(0,1)、(1,k+1)のポイント・ペアによって表され
る。ソース画像におけるこれらのポイントの座標を次に算出する。透視変換が直
線を保存するので、これら2つのラインは、ソース画像における直線として残り
、それらの勾配は、2つのポイント・ペアから算出することができる。ここで、
2のマッピングされたラインの勾配がほぼ同等であると仮定するならば、kにお
ける式が好ましくは得られる。kについてのこの式を解いた結果、
、勾配kはライン方向を示し、Bはライン切片を示している。PPスキャンライ
ンについての勾配kを算出するためには、好ましくは、0、1の同じ勾配kおよ
び切片Bを有する2つの平行ラインを定義する。これらは、それぞれ、(0,0
)、(1,k)、(0,1)、(1,k+1)のポイント・ペアによって表され
る。ソース画像におけるこれらのポイントの座標を次に算出する。透視変換が直
線を保存するので、これら2つのラインは、ソース画像における直線として残り
、それらの勾配は、2つのポイント・ペアから算出することができる。ここで、
2のマッピングされたラインの勾配がほぼ同等であると仮定するならば、kにお
ける式が好ましくは得られる。kについてのこの式を解いた結果、
【0075】
【数4】 となる。ソース画像における対応する勾配k′は、次の通りである。
【0076】
【数5】 上記の式からわかるように、k′=−c/fのとき、同種座標の分母は、Bf+
1の一定値となる。ここで、Bは、y=kx+Bにおける切片である。
1の一定値となる。ここで、Bは、y=kx+Bにおける切片である。
【0077】 本発明の好ましい順方向ワーピング方法の第2ステージでは、スキャンライン
処理を行う。これは、図9、10に例示してある。次に図9を参照して、好まし
いアルゴリズムは、ソース画像80を通してスキャンライン84(たとえば、ス
キャンラインS1〜S4)を走査する。上記のように、スキャンライン84は勾
配k′を有する。各スキャンライン84に沿ったサンプル88は、好ましくは、
増分算出される。各スキャンライン84について、まず、目標画像からソース画
像上へエンドポイントの投影を算出する。次いで、スキャンライン上のサンプル
・ポイントの数に基づいて、x、y両方向における増分を算出する。
処理を行う。これは、図9、10に例示してある。次に図9を参照して、好まし
いアルゴリズムは、ソース画像80を通してスキャンライン84(たとえば、ス
キャンラインS1〜S4)を走査する。上記のように、スキャンライン84は勾
配k′を有する。各スキャンライン84に沿ったサンプル88は、好ましくは、
増分算出される。各スキャンライン84について、まず、目標画像からソース画
像上へエンドポイントの投影を算出する。次いで、スキャンライン上のサンプル
・ポイントの数に基づいて、x、y両方向における増分を算出する。
【0078】 ソース画像におけるサンプルの伝統的なバイリニア補間を考慮した場合、あら
ゆるサンプルは、本質的に、4つの周囲ソース・ピクセルの寄与を必要とする。
ピクセルがすべてのサンプルについて毎回読み込まれる場合、各ピクセルは4回
読み込まれるべきである。これは、目標画像サイズの4倍であるメモリ・バンド
幅に通じる。しかしながら、すべてのスキャンラインが平行であるから、隣接し
たスキャンライン上のサンプルは、通常、寄与しているソース・ピクセルを共有
する。したがって、本発明の方法によれば、先に読み込まれていたピクセルは、
好ましくは、共通ピクセルがソース画像自体からよりもむしろバッファから読み
込まれるようにバッファされる。
ゆるサンプルは、本質的に、4つの周囲ソース・ピクセルの寄与を必要とする。
ピクセルがすべてのサンプルについて毎回読み込まれる場合、各ピクセルは4回
読み込まれるべきである。これは、目標画像サイズの4倍であるメモリ・バンド
幅に通じる。しかしながら、すべてのスキャンラインが平行であるから、隣接し
たスキャンライン上のサンプルは、通常、寄与しているソース・ピクセルを共有
する。したがって、本発明の方法によれば、先に読み込まれていたピクセルは、
好ましくは、共通ピクセルがソース画像自体からよりもむしろバッファから読み
込まれるようにバッファされる。
【0079】 図7を参照して、ピクセルは、好ましくは、ピクセル読み込みテンプレート1
00と呼ばれる固定パターンにおいて読み込まれ、Bresenhamライン・アルゴリ
ズム(当業者によって公知である)に基づいて算出される。図7の底に示してい
る二進数は、読み込みテンプレート100をコード化する1つ方法を表している
。しかしながら、当業者によって明らかなように、本発明は、他のコード化方式
も意図している。図7に示すように、このコードは、正のv方向において増加を
示し、「0」は増加を表さず、「1」は1単位ずつの増加を示している。一方、
uは、常に1単位ずつの増加を示している。図7の例の場合、u軸線は、好まし
くは、主要処理軸線と呼ぶとよいかも知れない。テンプレート100が常に最も
左のピクセルから出発し、垂直方向(すなわち、増加するv方向)に移動し、す
べてのピクセルが、サンプリングにおける引き続く使用のためにバッファに読み
込まれ、そこに置かれると好ましい。2つの点線間の任意のスキャンライン上で
のサンプリングのためのピクセルを得るために、たとえ1つの特定のスキャンラ
インについても4つのピクセル・テンプレートが必要であるが、3つのピクセル
・テンプレートだけでも充分であるかも知れない(たとえば、現スキャンライン
S2を処理するのにテンプレート2、3、4のみが必要であるということ)とい
うことは図7からわかるであろう。したがって、バッファ・サイズは、好ましく
は、4本のスキャンラインである。
00と呼ばれる固定パターンにおいて読み込まれ、Bresenhamライン・アルゴリ
ズム(当業者によって公知である)に基づいて算出される。図7の底に示してい
る二進数は、読み込みテンプレート100をコード化する1つ方法を表している
。しかしながら、当業者によって明らかなように、本発明は、他のコード化方式
も意図している。図7に示すように、このコードは、正のv方向において増加を
示し、「0」は増加を表さず、「1」は1単位ずつの増加を示している。一方、
uは、常に1単位ずつの増加を示している。図7の例の場合、u軸線は、好まし
くは、主要処理軸線と呼ぶとよいかも知れない。テンプレート100が常に最も
左のピクセルから出発し、垂直方向(すなわち、増加するv方向)に移動し、す
べてのピクセルが、サンプリングにおける引き続く使用のためにバッファに読み
込まれ、そこに置かれると好ましい。2つの点線間の任意のスキャンライン上で
のサンプリングのためのピクセルを得るために、たとえ1つの特定のスキャンラ
インについても4つのピクセル・テンプレートが必要であるが、3つのピクセル
・テンプレートだけでも充分であるかも知れない(たとえば、現スキャンライン
S2を処理するのにテンプレート2、3、4のみが必要であるということ)とい
うことは図7からわかるであろう。したがって、バッファ・サイズは、好ましく
は、4本のスキャンラインである。
【0080】 次に図10Aを参照して、ここには、バッファにおけるサンプルのアドレス指
定が示してある。テンプレート・コード値が1であるときはいつでも、サンプル
はv方向において1単位ずつ減少する。太いジグザクのライン104は、バッフ
ァにおける出力スキャンラインを表している。サンプルが陰影領域106内に入
ると(この場合、バッファ内のピクセルがシャーされる)、サンプリングについ
ての正しいピクセルを読み込むことに注意しなければならない。図10Bは、こ
の領域におけるサンプルsの1つをバイリニア的に補間するための好ましい手順
を示している。
定が示してある。テンプレート・コード値が1であるときはいつでも、サンプル
はv方向において1単位ずつ減少する。太いジグザクのライン104は、バッフ
ァにおける出力スキャンラインを表している。サンプルが陰影領域106内に入
ると(この場合、バッファ内のピクセルがシャーされる)、サンプリングについ
ての正しいピクセルを読み込むことに注意しなければならない。図10Bは、こ
の領域におけるサンプルsの1つをバイリニア的に補間するための好ましい手順
を示している。
【0081】 バッファの内容は、好ましくは、スキャンライン位置に基づいて更新される。
たとえば、図9を参照して、スキャンラインS1を処理するとき、テンプレート
1、2、3、4がバッファ内にあることが好ましい。スキャンラインS2につい
ては、バッファは、好ましくは、同じままである。スキャンラインS3について
は、テンプレート5は、好ましくは、バッファ内に読み込まれ、テンプレート1
は廃棄される。スキャンラインS4については、テンプレート6は、好ましくは
、テンプレート2を交替する。これ以降は同じである。
たとえば、図9を参照して、スキャンラインS1を処理するとき、テンプレート
1、2、3、4がバッファ内にあることが好ましい。スキャンラインS2につい
ては、バッファは、好ましくは、同じままである。スキャンラインS3について
は、テンプレート5は、好ましくは、バッファ内に読み込まれ、テンプレート1
は廃棄される。スキャンラインS4については、テンプレート6は、好ましくは
、テンプレート2を交替する。これ以降は同じである。
【0082】 上述したように、本発明のユニークな順方向画像ワーピング方法における特徴
の1つは、グーロー・シェーディングにおける欠点の訂正である。グーロー・シ
ェーディングは、ジオメトリック・オブジェクトの表面に陰影を付けるために用
いられるポピュラーな強度補間アルゴリズムである。頂点のところにのみカラー
を与えた場合、グーロー・シェーディングは、ラスタ・スキャンライン・オーダ
ーでジオメトリの全ラスタライゼーションのために強度をバイリニア的に補間す
る。グーロー・シェーディング方法における欠陥は、この技術分野において周知
であり、たとえば、Digital Image Warping, by G. Wolberg, IEEE Computer S
ociety Press, 1990のような論文の主題となっている。
の1つは、グーロー・シェーディングにおける欠点の訂正である。グーロー・シ
ェーディングは、ジオメトリック・オブジェクトの表面に陰影を付けるために用
いられるポピュラーな強度補間アルゴリズムである。頂点のところにのみカラー
を与えた場合、グーロー・シェーディングは、ラスタ・スキャンライン・オーダ
ーでジオメトリの全ラスタライゼーションのために強度をバイリニア的に補間す
る。グーロー・シェーディング方法における欠陥は、この技術分野において周知
であり、たとえば、Digital Image Warping, by G. Wolberg, IEEE Computer S
ociety Press, 1990のような論文の主題となっている。
【0083】 グーロー方法と関連した問題の1つは、斜めのライン(一例として)が透視投
影のためにリニアにマッピングされないということである。斜めのラインが3D
スクリーン・スペース上へ透視投影されたとき、グーロー・シェーディングは、
この斜めのラインを曲線に変換し、この曲線が、透視変換におけるラインを保存
する特性を損なうということである。
影のためにリニアにマッピングされないということである。斜めのラインが3D
スクリーン・スペース上へ透視投影されたとき、グーロー・シェーディングは、
この斜めのラインを曲線に変換し、この曲線が、透視変換におけるラインを保存
する特性を損なうということである。
【0084】 本発明の画像ワーピング方法は、グーロー・シェーディングにおける透視ゆが
みを補正するのである。スクリーン・スペースにおけるラスタに沿ったリニア補
間が、ジオメトリック座標に変換されたときに、一般的に非リニアとなるために
、透視ゆがみが存在する。しかしながら、本発明の特殊な走査方向を使用した場
合、直線性はマッピングすることによって保存される。したがって、画像スペー
スおよびジオメトリック・スペースの両方において補間がリニアとなり、それに
よって、グーロー・シェーディングのゆがみを固定する。ここで、エッジに沿っ
た補間がなお非リニアであり、したがって、スキャンライン・エンドポイントが
正しい補間についてジオメトリック・スペースに変換されなければならないとい
うことは明らかであろう。
みを補正するのである。スクリーン・スペースにおけるラスタに沿ったリニア補
間が、ジオメトリック座標に変換されたときに、一般的に非リニアとなるために
、透視ゆがみが存在する。しかしながら、本発明の特殊な走査方向を使用した場
合、直線性はマッピングすることによって保存される。したがって、画像スペー
スおよびジオメトリック・スペースの両方において補間がリニアとなり、それに
よって、グーロー・シェーディングのゆがみを固定する。ここで、エッジに沿っ
た補間がなお非リニアであり、したがって、スキャンライン・エンドポイントが
正しい補間についてジオメトリック・スペースに変換されなければならないとい
うことは明らかであろう。
【0085】 本発明の順方向マッピング・アルゴリズムは、最も近い隣接の近似をもって、
伝統的な方法を使用して生成した画像からほぼ見分けがつかない目標画像を生成
するという点で好ましい。しかしながら、より高い画質が望まれる場合には、本
発明の方法は、好ましくは、正確なグリッド・ポイントでピクセル値を算出する
ことができる。単純な目標ピクセル訂正方式は、好ましくは、この訂正を実施す
るように導入するとよい。
伝統的な方法を使用して生成した画像からほぼ見分けがつかない目標画像を生成
するという点で好ましい。しかしながら、より高い画質が望まれる場合には、本
発明の方法は、好ましくは、正確なグリッド・ポイントでピクセル値を算出する
ことができる。単純な目標ピクセル訂正方式は、好ましくは、この訂正を実施す
るように導入するとよい。
【0086】 次に図11を参照して、目標画像82におけるサンプル・ポイント90が整数
のx座標上で整合していると仮定した場合、正確なピクセル・グリッド場所91
でピクセル値を得るためには、各ピクセルの直ぐ上、下の2つのサンプルのリニ
ア補間が実施されると好ましい。このリニア補間を単に二回目のパスとして実施
すると、サンプルを再度読み込まれなければならないので、コストが増大する可
能性がある。その代わりに、各サンプルが生成される毎に、本発明の好ましい方
法は、中間バッファリングをまったく行うことなく、各サンプルの、対応する上
下のピクセルへの寄与率を拡張する。
のx座標上で整合していると仮定した場合、正確なピクセル・グリッド場所91
でピクセル値を得るためには、各ピクセルの直ぐ上、下の2つのサンプルのリニ
ア補間が実施されると好ましい。このリニア補間を単に二回目のパスとして実施
すると、サンプルを再度読み込まれなければならないので、コストが増大する可
能性がある。その代わりに、各サンプルが生成される毎に、本発明の好ましい方
法は、中間バッファリングをまったく行うことなく、各サンプルの、対応する上
下のピクセルへの寄与率を拡張する。
【0087】 図11の例で示すように、より太い傾斜したスキャンライン108上に位置す
るサンプル112は、それらに隣接する陰影付きのピクセルに寄与する(スキャ
ンライン上方ではより明るいシェーディングを、スキャンライン下方ではより暗
いシェーディングを行う)。矢印は、各サンプル112が、好ましくは、2つの
ピクセルに寄与することを示している。両方の寄与率が集められるまで、ピクセ
ルが書き出されないことが好ましい。したがって、1つのスキャンライン・バッ
ファは、好ましくは、中間ピクセル値を記憶するために内蔵される。
るサンプル112は、それらに隣接する陰影付きのピクセルに寄与する(スキャ
ンライン上方ではより明るいシェーディングを、スキャンライン下方ではより暗
いシェーディングを行う)。矢印は、各サンプル112が、好ましくは、2つの
ピクセルに寄与することを示している。両方の寄与率が集められるまで、ピクセ
ルが書き出されないことが好ましい。したがって、1つのスキャンライン・バッ
ファは、好ましくは、中間ピクセル値を記憶するために内蔵される。
【0088】 正しくかつ能率的にピクセルを書き出すために、ピクセル書き込みパターン(
ピクセル書き込みテンプレート110と呼ばれる)は、好ましくは、事前計算さ
れる。ピクセル読み込みテンプレート(たとえば、図9の参照コード100)と
異なり、ピクセル書き込みテンプレート110は、好ましくは、1つのスキャン
ラインに沿ってサンプル値のy座標値を切り捨てることによって、算出される。
テンプレート110は、一連の整数yステップおよび真のスキャンライン86か
らの部分的な距離dyとしてコード化されると好ましい。最終的なリニア補間の
ために使用される重みは、それぞれ、上下のピクセルについてdyおよび1−d
yである。すべてのスキャンラインが垂直方向(すなわちy方向)において1単
位離れていると好ましいので、テンプレートは1投影当たりたった一度だけ算出
される。
ピクセル書き込みテンプレート110と呼ばれる)は、好ましくは、事前計算さ
れる。ピクセル読み込みテンプレート(たとえば、図9の参照コード100)と
異なり、ピクセル書き込みテンプレート110は、好ましくは、1つのスキャン
ラインに沿ってサンプル値のy座標値を切り捨てることによって、算出される。
テンプレート110は、一連の整数yステップおよび真のスキャンライン86か
らの部分的な距離dyとしてコード化されると好ましい。最終的なリニア補間の
ために使用される重みは、それぞれ、上下のピクセルについてdyおよび1−d
yである。すべてのスキャンラインが垂直方向(すなわちy方向)において1単
位離れていると好ましいので、テンプレートは1投影当たりたった一度だけ算出
される。
【0089】 本発明の順方向ワーピング方法は、アンチエイリアシングによって画質をさら
に向上させることができる。平行・保存(PP)スキャンラインを使用すること
で、より高い品質でより安価なアンチエイリアシング方法を達成することができ
る。
に向上させることができる。平行・保存(PP)スキャンラインを使用すること
で、より高い品質でより安価なアンチエイリアシング方法を達成することができ
る。
【0090】 再び図7を参照して、ソース画像の上方スキャンライン上にあるサンプル・ポ
イントは、下方スキャンライン上にあるよりもまばらであり、アンダーサンプリ
ングからノーマルサンプリングへの移行部を生じている。したがって、適切な再
サンプリング・フィルタを使用して上方スキャンラインについてのエイリアシン
グを避けることができる。等方性フィルタリングは、明らかに、不正確でぼんや
りした画像を生じさせる。異方性フィルタの必要性は、Survey of Texture Map
ping, by P. S. Heckbert, IEEE Computer Graphics and Applications, 6(11
): 56-67, November 1986のような論文、もっと近いところでは、Texram: Smar
t Memory for Texturing, by A. Schilling, et al., IEEE Computer Graphics
and Applications, l6(3):32-41, May 1996に示されている。
イントは、下方スキャンライン上にあるよりもまばらであり、アンダーサンプリ
ングからノーマルサンプリングへの移行部を生じている。したがって、適切な再
サンプリング・フィルタを使用して上方スキャンラインについてのエイリアシン
グを避けることができる。等方性フィルタリングは、明らかに、不正確でぼんや
りした画像を生じさせる。異方性フィルタの必要性は、Survey of Texture Map
ping, by P. S. Heckbert, IEEE Computer Graphics and Applications, 6(11
): 56-67, November 1986のような論文、もっと近いところでは、Texram: Smar
t Memory for Texturing, by A. Schilling, et al., IEEE Computer Graphics
and Applications, l6(3):32-41, May 1996に示されている。
【0091】 各フィルタがそのフットプリントおよびプロファイルによって定められること
は、当業者にとって公知である。目標サンプルを1つの円として仮定すると、ソ
ース画像におけるその投影画像はそのフットプリントである。図12に示すよう
に、このフットプリント114は、一般に、円形(すなわち、等方性)であって
はならないし、正方形(すなわち、ミップ・マッピングと同様の形)であっては
ならず、円錐形でなければならない。フィルタのプロファイルは、フットプリン
ト内の寄与しているピクセルの重みを決定する。sincフィルタが最適である
が、ガウス・フィルタは実施するのがより容易であり、その有限のフットプリン
トおよび良好なローパス特性のために好ましい。本発明の透視ワーピング・アル
ゴリズムは、異方性フットプリントを算出する際により高い精度を与え、より低
いコストでより高い画質を生じさせる。
は、当業者にとって公知である。目標サンプルを1つの円として仮定すると、ソ
ース画像におけるその投影画像はそのフットプリントである。図12に示すよう
に、このフットプリント114は、一般に、円形(すなわち、等方性)であって
はならないし、正方形(すなわち、ミップ・マッピングと同様の形)であっては
ならず、円錐形でなければならない。フィルタのプロファイルは、フットプリン
ト内の寄与しているピクセルの重みを決定する。sincフィルタが最適である
が、ガウス・フィルタは実施するのがより容易であり、その有限のフットプリン
トおよび良好なローパス特性のために好ましい。本発明の透視ワーピング・アル
ゴリズムは、異方性フットプリントを算出する際により高い精度を与え、より低
いコストでより高い画質を生じさせる。
【0092】 異方性フットプリントを算出する普通の方法を使用する場合、楕円の主軸を、
すべてのピクセルについて算出しなければならない。近似値が提案されたけれど
も、これは高価な計算を残し、公知の増分方法を利用できないのである。これら
の従来技術方法を使用して楕円の主軸を得るためには、ヤコビ行列式を計算しな
ければならない。しかしながら、本発明の画像ワーピング方法を使用すると、ヤ
コビ行列式の計算は除いてもよい。
すべてのピクセルについて算出しなければならない。近似値が提案されたけれど
も、これは高価な計算を残し、公知の増分方法を利用できないのである。これら
の従来技術方法を使用して楕円の主軸を得るためには、ヤコビ行列式を計算しな
ければならない。しかしながら、本発明の画像ワーピング方法を使用すると、ヤ
コビ行列式の計算は除いてもよい。
【0093】 本発明に従って異方性フットプリントを計算する好ましい方法に対する洞察を
獲得するために、ヤコビ行列式の特性を、まず、分析する。xy目標画像からu
vソース画像への一般化した逆方向マッピングは、以下のように先に定義した。
獲得するために、ヤコビ行列式の特性を、まず、分析する。xy目標画像からu
vソース画像への一般化した逆方向マッピングは、以下のように先に定義した。
【0094】
【数6】 ここで、
【0095】
【数7】 一般化変換のためのヤコビ行列式Jは、xおよびyの非リニア関数である。
【0096】
【数8】 普通のアンチエイリアシング方法では、ヤコビ行列式は、ソース画像における
各ピクセルのフットプリントを決定するのに使用され、異方性フィルタリングに
とって必要である。xyラスタ・スペースにおけるスクリーン・ピクセル間の差
は、[1,0]、[0,1]方向において方向性導関数を計算することによって
ソース画像に投影される。ソース画像スペースにおけるこれらの導関数は、r1
、r2と呼ばれ、次のように定義される。
各ピクセルのフットプリントを決定するのに使用され、異方性フィルタリングに
とって必要である。xyラスタ・スペースにおけるスクリーン・ピクセル間の差
は、[1,0]、[0,1]方向において方向性導関数を計算することによって
ソース画像に投影される。ソース画像スペースにおけるこれらの導関数は、r1
、r2と呼ばれ、次のように定義される。
【0097】
【数9】 および
【0098】
【数10】 これらのベクトル、r1およびr2、は、フットプリント114を近似する楕円
の境界ボックスを定める。代表的には、これらのベクトル116、118は、普
通の異方性フィルタリング方法(たとえば、楕円加重平均(EWA)、フットプリ
ント組立体)のために、必要に応じて、すべてのピクセルについて算出される。
これは、Cを計算するために1ピクセル当たりもう一回の除算を必要とする。本
発明によれば、以下に説明するように、フットプリントを決定するためのより正
確な方法が与えられる。
の境界ボックスを定める。代表的には、これらのベクトル116、118は、普
通の異方性フィルタリング方法(たとえば、楕円加重平均(EWA)、フットプリ
ント組立体)のために、必要に応じて、すべてのピクセルについて算出される。
これは、Cを計算するために1ピクセル当たりもう一回の除算を必要とする。本
発明によれば、以下に説明するように、フットプリントを決定するためのより正
確な方法が与えられる。
【0099】 ヤコビ行列式が非リニア・マッピングのリニア近似であるから、それはより正
確であり、したがって、ソース画像スペースにおける隣接したサンプルまでの距
離を取り出すことによってフットプリントを計算するのに好ましい。隣接したサ
ンプルの投影が既に計算されているので、本発明のこの方法は、付加的な除算を
なんら必要としない。
確であり、したがって、ソース画像スペースにおける隣接したサンプルまでの距
離を取り出すことによってフットプリントを計算するのに好ましい。隣接したサ
ンプルの投影が既に計算されているので、本発明のこの方法は、付加的な除算を
なんら必要としない。
【0100】 平行・保存(PP)走査方向は、ヤコビ行列式を計算するのに、より大きい干
渉性に備え、除算を与えない。PP走査オーダーにおける各ピクセルについて、
フットプリントは、好ましくは、r1′、r2′によって定義される。PPスキャ
ンラインに沿った方向[1,k]における方向性導関数r1′は、
渉性に備え、除算を与えない。PP走査オーダーにおける各ピクセルについて、
フットプリントは、好ましくは、r1′、r2′によって定義される。PPスキャ
ンラインに沿った方向[1,k]における方向性導関数r1′は、
【0101】
【数11】 であり、そして、y=kx+Bであるから、すべてのPPスキャンラインについて
C=1/(Bf+1)は一定であり、したがって、r1′もすべてのPPスキャ
ンラインについて一定である。本発明の方法は、この事実を利用して、好ましく
は、除算なしで、ソース画像座標を1つのスキャンラインに沿って増分させる。
y方向[0,1]における方向性導関数r2′の値は、
C=1/(Bf+1)は一定であり、したがって、r1′もすべてのPPスキャ
ンラインについて一定である。本発明の方法は、この事実を利用して、好ましく
は、除算なしで、ソース画像座標を1つのスキャンラインに沿って増分させる。
y方向[0,1]における方向性導関数r2′の値は、
【0102】
【数12】 である。ここで、xの関数であり、したがって、スキャンラインに沿って増分さ
せることができるので、r2′がスキャンラインに沿って線形に変化することは
明らかである。この特殊な走査方向は、ソース画像座標およびピクセル・フット
プリントを簡単かつ能率的に計算するのを可能にする。
せることができるので、r2′がスキャンラインに沿って線形に変化することは
明らかである。この特殊な走査方向は、ソース画像座標およびピクセル・フット
プリントを簡単かつ能率的に計算するのを可能にする。
【0103】 すべてのフットプリントおよびソース・ピクセル座標情報を能率的に計算した
後、正しい異方性フィルタリングを、当業者にとって公知の標準方法、たとえば
、GreeneおよびHeckbertの楕円加重平均(EWA)またはシリング等のフットプ
リント組立体を使用して実施することができる。これらの普通のアルゴリズムは
、たとえば、テキストCreating Raster Omnimax Images from Multiple Perspec
tive Views Using the Elliptical Weighted Average Filter, by N. Greene a
nd P. S. Heckbert, IEEE Computer Graphics and Applications, 6(6):21-27
, June 1986に記載されている。しかしながら、先に指摘したように、楕円フッ
トプリント近似値でさえ不正確であるから、これらの普通のフィルタリング方法
は好ましくない。さらに、このような従来技術方法は、冗長なサンプリングを行
う(すなわち、複数回、各ソース・ピクセルにアクセスする)ことになる。たと
えば、1.0ソース・ピクセルのフットプリント半径を持つ円形フィルタ領域の
場合、各ソース・ピクセルは、平均π回サンプリングされる。本発明の順方向マ
ッピング技術を使用することによって、冗長なメモリ・アクセスが本質的に除去
され、したがって、πの因数だけメモリ・バンド幅を下げることができる。好ま
しくは、本発明は、すべてのソース・ピクセルが、ピクセル読み込みテンプレー
ト・オーダーで一度読み込まれ、次いで、フィルタ・カーネルで目標画像上へス
プラットされる順方向マッピング技術を提供する。
後、正しい異方性フィルタリングを、当業者にとって公知の標準方法、たとえば
、GreeneおよびHeckbertの楕円加重平均(EWA)またはシリング等のフットプ
リント組立体を使用して実施することができる。これらの普通のアルゴリズムは
、たとえば、テキストCreating Raster Omnimax Images from Multiple Perspec
tive Views Using the Elliptical Weighted Average Filter, by N. Greene a
nd P. S. Heckbert, IEEE Computer Graphics and Applications, 6(6):21-27
, June 1986に記載されている。しかしながら、先に指摘したように、楕円フッ
トプリント近似値でさえ不正確であるから、これらの普通のフィルタリング方法
は好ましくない。さらに、このような従来技術方法は、冗長なサンプリングを行
う(すなわち、複数回、各ソース・ピクセルにアクセスする)ことになる。たと
えば、1.0ソース・ピクセルのフットプリント半径を持つ円形フィルタ領域の
場合、各ソース・ピクセルは、平均π回サンプリングされる。本発明の順方向マ
ッピング技術を使用することによって、冗長なメモリ・アクセスが本質的に除去
され、したがって、πの因数だけメモリ・バンド幅を下げることができる。好ま
しくは、本発明は、すべてのソース・ピクセルが、ピクセル読み込みテンプレー
ト・オーダーで一度読み込まれ、次いで、フィルタ・カーネルで目標画像上へス
プラットされる順方向マッピング技術を提供する。
【0104】 図13に示すように、各ソース・ピクセル124は、その最も近い隣接の目標
サンプル126の各々に対するΔx120およびΔy122を有する。Δxは、
好ましくは、スキャンラインに沿ったすべてのサンプルが等距離であるので、増
分計算され得る。特殊な走査方向は、各スキャンラインに沿ってΔyが一定とな
ることをほぼ保証する。ラスタ・グリッド場所は真のスキャンライン128から
ずれているが、実際の距離は、ピクセル読み込みテンプレート130内に記憶さ
れ得る小訂正を加えることによって推定可能であり、好ましくはスキャンライン
の中で均一である。フィルタ・カーネルは、好ましくは、一度事前計算され、ル
ックアップ表(LUT)に記憶される。その後、各ソース・ピクセル124の寄
与率が、4つ(またはそれより多くの)最も近い隣接の目標サンプル126につ
いてルックアップ表(LUT)にそのΔx、Δyによって割り出されると好まし
い。目標サンプル126の数は、使用するフィルタのフットプリントに依存する
。そして、好ましくは、4から16のサンプルまで変化してもよい。この方法を
使用することで、各ソース・ピクセル124は、好ましくは、メモリから一度正
確に呼び出され、次いで、4回(またはそれ以上)、ルックアップ表・エントリ
によって変調され、目標ピクセルに蓄積される。このようにして、最終的なピク
セル値は、すぐ近くのソース・ピクセル124の加重平均となる。この加重平均
は、各最終ピクセル強度を標準化するためにフィルタ重みの合計での除算を必要
とする。
サンプル126の各々に対するΔx120およびΔy122を有する。Δxは、
好ましくは、スキャンラインに沿ったすべてのサンプルが等距離であるので、増
分計算され得る。特殊な走査方向は、各スキャンラインに沿ってΔyが一定とな
ることをほぼ保証する。ラスタ・グリッド場所は真のスキャンライン128から
ずれているが、実際の距離は、ピクセル読み込みテンプレート130内に記憶さ
れ得る小訂正を加えることによって推定可能であり、好ましくはスキャンライン
の中で均一である。フィルタ・カーネルは、好ましくは、一度事前計算され、ル
ックアップ表(LUT)に記憶される。その後、各ソース・ピクセル124の寄
与率が、4つ(またはそれより多くの)最も近い隣接の目標サンプル126につ
いてルックアップ表(LUT)にそのΔx、Δyによって割り出されると好まし
い。目標サンプル126の数は、使用するフィルタのフットプリントに依存する
。そして、好ましくは、4から16のサンプルまで変化してもよい。この方法を
使用することで、各ソース・ピクセル124は、好ましくは、メモリから一度正
確に呼び出され、次いで、4回(またはそれ以上)、ルックアップ表・エントリ
によって変調され、目標ピクセルに蓄積される。このようにして、最終的なピク
セル値は、すぐ近くのソース・ピクセル124の加重平均となる。この加重平均
は、各最終ピクセル強度を標準化するためにフィルタ重みの合計での除算を必要
とする。
【0105】 画像ワーピング(広義には2つの画像(たとえば、ソース画像および目標画像
)間にジオメトリック変換として定義され得る)に加えて、三次元(3D)ボリ
ューム変換は、ボリューム・レンダリング、ボリューム・モデリングおよび複数
のボリュームの整合で重要な役割を演ずる。すべてのアフィン変換の中で、回転
は、一般的に、最も多くの計算時間を費やし、最も複雑と考えられる。したがっ
て、本発明に従ってユニバーサル3Dレンダリング・アーキテクチャを提供する
際に、以下に詳しく説明するように、任意の3Dボリューム回転を実施するいく
つかのユニークな方法が提起される。本発明のユニバーサル3Dレンダリング・
ハードウェアはここに記載した3Dボリューム回転方法なしで使用され得るが、
これらの方法またはアルゴリズムは、好ましくは、速度および特徴を向上させる
ために本発明の装置と一緒に実施され、本発明の装置を最も能率的に利用するよ
うになっている。
)間にジオメトリック変換として定義され得る)に加えて、三次元(3D)ボリ
ューム変換は、ボリューム・レンダリング、ボリューム・モデリングおよび複数
のボリュームの整合で重要な役割を演ずる。すべてのアフィン変換の中で、回転
は、一般的に、最も多くの計算時間を費やし、最も複雑と考えられる。したがっ
て、本発明に従ってユニバーサル3Dレンダリング・アーキテクチャを提供する
際に、以下に詳しく説明するように、任意の3Dボリューム回転を実施するいく
つかのユニークな方法が提起される。本発明のユニバーサル3Dレンダリング・
ハードウェアはここに記載した3Dボリューム回転方法なしで使用され得るが、
これらの方法またはアルゴリズムは、好ましくは、速度および特徴を向上させる
ために本発明の装置と一緒に実施され、本発明の装置を最も能率的に利用するよ
うになっている。
【0106】 3Dボリューム回転を実施するユニークな方法を説明する前に、最初に使用す
る用語のいくつかの基本的な定義を与えることが重要である。当業者によって明
らかなように、画像の行、列に対して、ボリューム内のビームとは、1つの主要
座標軸線に沿ったボクセルの行と定義することができる(たとえば、xビームは
、x方向におけるボクセルの行である)。ボリュームのスライスとは、主要軸線
に対して垂直であるボクセルのプレーンである(たとえば、xスライスは、x軸
線に対して垂直なプレーンとして定義される)。
る用語のいくつかの基本的な定義を与えることが重要である。当業者によって明
らかなように、画像の行、列に対して、ボリューム内のビームとは、1つの主要
座標軸線に沿ったボクセルの行と定義することができる(たとえば、xビームは
、x方向におけるボクセルの行である)。ボリュームのスライスとは、主要軸線
に対して垂直であるボクセルのプレーンである(たとえば、xスライスは、x軸
線に対して垂直なプレーンとして定義される)。
【0107】 ボリューム変換を実施する従来技術方法は、代表的には、多パス・アルゴリズ
ムを利用する。これらのアルゴリズムは、通常、画像変換のために使用される複
数パス・アルゴリズムの直接的延長である。3D回転を実施する種々の方法が、
提案されており、一般的に、複数の二次元(2D)変換あるいは一次元(1D)
変換に3D変換を分解することを伴う。これらの従来技術方法は、Volume Rende
ring, by R. A. Drebin et al., Computer Graphics (SIGGRAPH '88 Proceedi
ngs), Vol. 22, pp 65-74, August 1988、Three-Pass Affine Transformations
for Volume Rendering, by P. Hanrahan, Computer Graphics (San Diego Wo
rkshop on Volume Visualization), Vol. 24, pp 7 1-78, November 1990およ
びFast Rotation of Volume Data on Parallel Architectures, by P. Schrode
r and J. B. Salem, Visualization '91, pp. 50-57, 1991を含む論文の主題と
なっている。これらの論文は、すべて、参考資料としてここに援用する。しかし
ながら、これらの公知の3D変換方法は、代表的には、回転品質が低くおよび/
または処理速度が遅くなる。
ムを利用する。これらのアルゴリズムは、通常、画像変換のために使用される複
数パス・アルゴリズムの直接的延長である。3D回転を実施する種々の方法が、
提案されており、一般的に、複数の二次元(2D)変換あるいは一次元(1D)
変換に3D変換を分解することを伴う。これらの従来技術方法は、Volume Rende
ring, by R. A. Drebin et al., Computer Graphics (SIGGRAPH '88 Proceedi
ngs), Vol. 22, pp 65-74, August 1988、Three-Pass Affine Transformations
for Volume Rendering, by P. Hanrahan, Computer Graphics (San Diego Wo
rkshop on Volume Visualization), Vol. 24, pp 7 1-78, November 1990およ
びFast Rotation of Volume Data on Parallel Architectures, by P. Schrode
r and J. B. Salem, Visualization '91, pp. 50-57, 1991を含む論文の主題と
なっている。これらの論文は、すべて、参考資料としてここに援用する。しかし
ながら、これらの公知の3D変換方法は、代表的には、回転品質が低くおよび/
または処理速度が遅くなる。
【0108】 三次元(3D)回転を難しくしている特性の1つは、3D回転が、本来、大域
的連絡を必要としており、分散したメモリ・モジュールへデータを書き戻しなが
らメモリ・コンテンションを生じさせることにある。しかしながら、シャー変換
が最も近い隣接コネクションを利用するので、本発明のユニークなアーキテクチ
ャによって提供されるように、シャー変換それ自体は、極めて実行可能なマルチ
・パイプライン式ハードウェア実装に役立つ。本発明は、さらに、任意の3D回
転を実施する新規な方法、特に、3D回転を異なったタイプのシャー変換のシー
ケンスに分解することによる方法を提供する。
的連絡を必要としており、分散したメモリ・モジュールへデータを書き戻しなが
らメモリ・コンテンションを生じさせることにある。しかしながら、シャー変換
が最も近い隣接コネクションを利用するので、本発明のユニークなアーキテクチ
ャによって提供されるように、シャー変換それ自体は、極めて実行可能なマルチ
・パイプライン式ハードウェア実装に役立つ。本発明は、さらに、任意の3D回
転を実施する新規な方法、特に、3D回転を異なったタイプのシャー変換のシー
ケンスに分解することによる方法を提供する。
【0109】 普通の分解方法を用いる場合、2D回転を3つの一次元(1D)シャーに分解
することができるので、3D回転に対する直接的な拡張では、9つの1Dシャー
を必要とする。しかしながら、本発明によれば、以下に詳しく説明するように、
任意の3Dボリューム回転についての好ましいシャー分解方法が4つ提供される
。これらの方法とは、4パス2Dスライス・シャー、4パス2Dビーム・シャー
、3パス・ビーム・スライス・シャーおよび2パス3Dビーム・シャー分解であ
る。スケール作業を導入しないことによって、本発明のアルゴリズムは、サンプ
リング、フィルタリングおよびそれに伴う画像劣化における複雑化を避けること
ができる。
することができるので、3D回転に対する直接的な拡張では、9つの1Dシャー
を必要とする。しかしながら、本発明によれば、以下に詳しく説明するように、
任意の3Dボリューム回転についての好ましいシャー分解方法が4つ提供される
。これらの方法とは、4パス2Dスライス・シャー、4パス2Dビーム・シャー
、3パス・ビーム・スライス・シャーおよび2パス3Dビーム・シャー分解であ
る。スケール作業を導入しないことによって、本発明のアルゴリズムは、サンプ
リング、フィルタリングおよびそれに伴う画像劣化における複雑化を避けること
ができる。
【0110】 ここで、当業者であれば、3D回転マトリックスを3つの主要軸線回転、Rx(
φ)、Ry(θ)、Rz(α)の連結として表すことができることは明らかであろう
。ここで、
φ)、Ry(θ)、Rz(α)の連結として表すことができることは明らかであろう
。ここで、
【0111】
【数13】 である。この連結を実施するオーダーは、異なる3D回転マトリックスを生じさ
せる。全体で3D回転マトリックスの6つの順列がある。たとえば、下層の3D
回転マトリックスは、R3D=Rx(φ)Ry(θ)Rz(α)として選択された。個々
で、
せる。全体で3D回転マトリックスの6つの順列がある。たとえば、下層の3D
回転マトリックスは、R3D=Rx(φ)Ry(θ)Rz(α)として選択された。個々
で、
【0112】
【数14】 後に続くすべての分解のために、上記の3D回転マトリックス(R3D)が使
用される。本発明のユニークな方法と他の普通の方法との間の主要な差の1つは
、本発明においては、シャー・シーケンスを得るために、分解を、複数の2D回
転シーケンスよりもむしろ、3D回転マトリックスに直接適用するということで
ある。ここで、本発明に従って実施されるシャー操作の任意のものについて、好
ましいハードウェア手段としてバレル・シフタを使用できるが、他の任意の手段
(たとえば、対数シフタ等)も同様に考えられることは明らかであろう。
用される。本発明のユニークな方法と他の普通の方法との間の主要な差の1つは
、本発明においては、シャー・シーケンスを得るために、分解を、複数の2D回
転シーケンスよりもむしろ、3D回転マトリックスに直接適用するということで
ある。ここで、本発明に従って実施されるシャー操作の任意のものについて、好
ましいハードウェア手段としてバレル・シフタを使用できるが、他の任意の手段
(たとえば、対数シフタ等)も同様に考えられることは明らかであろう。
【0113】 図14に示すように、本発明の一実施例による、二次元(2D)スライス・シ
ャー回転を実施する方法は、好ましくは、3D回転を一連の2Dスライス・シャ
ーに分解することを含む。2Dスライス・シャーにおいては、ボリューム・スラ
イス(すなわち、主投影軸線に沿った、任意2つの軸線に対して平行なボクセル
のプレーン)は、単にそのプレーン内で変位されるだけである。スライスは、任
意に任意の主要投影軸線に沿って採用することができる。たとえば、図14はy
スライス・シャーを示している。2Dyスライス・シャーは、好ましくは、次の
ように表現される。
ャー回転を実施する方法は、好ましくは、3D回転を一連の2Dスライス・シャ
ーに分解することを含む。2Dスライス・シャーにおいては、ボリューム・スラ
イス(すなわち、主投影軸線に沿った、任意2つの軸線に対して平行なボクセル
のプレーン)は、単にそのプレーン内で変位されるだけである。スライスは、任
意に任意の主要投影軸線に沿って採用することができる。たとえば、図14はy
スライス・シャーを示している。2Dyスライス・シャーは、好ましくは、次の
ように表現される。
【0114】
【数15】 2Dyスライス・シャーは、好ましくは、S(xz、y、(a、b))として
書くことができる。これは、x方向における量a132だけ、そして、z方向に
おける量b134だけy軸線に沿ったシャーと解釈される。a、bは好ましくは
共に定数であるが、a、bが関数も表すことも考えられる。2Dxスライス・シ
ャー、S(yz、x、(c、d))と、2Dzスライス・シャー、S(xy、z、
(e、f)も同様に定義される。図14を参照して、実線136で表されるボリ
ュームは、点線138によって定義されたボリュームのシャー結果である。
書くことができる。これは、x方向における量a132だけ、そして、z方向に
おける量b134だけy軸線に沿ったシャーと解釈される。a、bは好ましくは
共に定数であるが、a、bが関数も表すことも考えられる。2Dxスライス・シ
ャー、S(yz、x、(c、d))と、2Dzスライス・シャー、S(xy、z、
(e、f)も同様に定義される。図14を参照して、実線136で表されるボリ
ュームは、点線138によって定義されたボリュームのシャー結果である。
【0115】 直観的に、同じ軸線に沿った連続的なシャーは、整合シャーを生成する。たと
えば、
えば、
【0116】
【数16】 一般的な3Dマトリックスを2Dシャー・マトリックスから作り上げるために
、シャー・プロダクトは、異なったシャーのプロダクト、すなわち、S(xz、
x、(c、d))、S(xz、y、(a、b))、S(xy、z、(e、f))
に制限することができる。しかしながら、これら3つのシャー・マトリックスの
プロダクト・マトリックスは、現在のマトリックスにおける定数1により、なお
一般的な形態となることはない。したがって、別のシャー・マトリックスは、好
ましくは、連結される。ここで、この最終的なシャーは、第1のシャーと同じス
ライス・シャーである。これは、以下の6つのシャー・シーケンス順列を生じさ
せる。
、シャー・プロダクトは、異なったシャーのプロダクト、すなわち、S(xz、
x、(c、d))、S(xz、y、(a、b))、S(xy、z、(e、f))
に制限することができる。しかしながら、これら3つのシャー・マトリックスの
プロダクト・マトリックスは、現在のマトリックスにおける定数1により、なお
一般的な形態となることはない。したがって、別のシャー・マトリックスは、好
ましくは、連結される。ここで、この最終的なシャーは、第1のシャーと同じス
ライス・シャーである。これは、以下の6つのシャー・シーケンス順列を生じさ
せる。
【0117】
【数17】 シャー・シーケンスの各々について、連続的シャー・マトリックスのプロダク
ト・マトリックスが、好ましくは、計算され、下層の3D回転マトリックスに等
しくなるように設定される。たとえば、第1のシャー・シーケンスについては、
上記のように、すなわち、S(xz,y,(a,b))・S(xy,z,(e,f))・S(yz,x,(c,d))・S(x
z,y,(g,h))とする。
ト・マトリックスが、好ましくは、計算され、下層の3D回転マトリックスに等
しくなるように設定される。たとえば、第1のシャー・シーケンスについては、
上記のように、すなわち、S(xz,y,(a,b))・S(xy,z,(e,f))・S(yz,x,(c,d))・S(x
z,y,(g,h))とする。
【0118】
【数18】 上記のマトリックス式は、8つの変数、すなわち、a、b、c、d、e、f、
g、hを持つ9つの三角法の式を意味する。8つの変数a〜hについてこれら9
つの式を解くと、次のような結果が得られる。
g、hを持つ9つの三角法の式を意味する。8つの変数a〜hについてこれら9
つの式を解くと、次のような結果が得られる。
【0119】
【数19】 同様にして、上記の残っている5つのスライス・シャー・シーケンスについて
のシャー・マトリックスを得ることができる。実際、上記の解を持つスライス・
シャー・シーケンスは、最も単純な表現を有し、好ましくは、基本シーケンスと
呼ぶ。
のシャー・マトリックスを得ることができる。実際、上記の解を持つスライス・
シャー・シーケンスは、最も単純な表現を有し、好ましくは、基本シーケンスと
呼ぶ。
【0120】 次に図15を参照して、二次元(2D)ビーム・シャー分解による三次元(3
D)回転を実施する方法を以下に説明する。まず、或るビーム・シャーを、他の
2つの座標をなんら変化させることなく、主方向において変位されただけである
ビームと定義する。たとえば、2Dxビーム・シャーは、好ましくは、
D)回転を実施する方法を以下に説明する。まず、或るビーム・シャーを、他の
2つの座標をなんら変化させることなく、主方向において変位されただけである
ビームと定義する。たとえば、2Dxビーム・シャーは、好ましくは、
【0121】
【数20】 と表現する。
【0122】 2Dxビーム・シャーは、好ましくは、S(x、yz、(c、d))と書くこと
ができ、これは、x方向における量aおよびz方向における量bだけx軸線に沿
ったシャーと解釈される。2Dyビーム・シャー、S(y、xz、(a、b))、
そして、2Dzビーム・シャー、S(z、xy、(e、f))も同様に定義する。
図15は、xビーム・シャーを示しており、そこにおいて、点線146で表され
るボリュームは、実線144によって表されるボリューム位置にシャーされる。
ができ、これは、x方向における量aおよびz方向における量bだけx軸線に沿
ったシャーと解釈される。2Dyビーム・シャー、S(y、xz、(a、b))、
そして、2Dzビーム・シャー、S(z、xy、(e、f))も同様に定義する。
図15は、xビーム・シャーを示しており、そこにおいて、点線146で表され
るボリュームは、実線144によって表されるボリューム位置にシャーされる。
【0123】 二次元(2D)ビーム・シャーは、2Dスライス・シャー以上に有利であり、
したがって、好ましい。これは、1つのビームが他の2つの座標を変えずに変位
されるからである。したがって、2Dビーム・シャー方法の各パスについて再サ
ンプリングがより簡単になる。これは、リニア補間のみが必要高等である。対照
的に、2Dスライス・シャー方法は、より複雑であるバイリニア補間を必要とす
る。
したがって、好ましい。これは、1つのビームが他の2つの座標を変えずに変位
されるからである。したがって、2Dビーム・シャー方法の各パスについて再サ
ンプリングがより簡単になる。これは、リニア補間のみが必要高等である。対照
的に、2Dスライス・シャー方法は、より複雑であるバイリニア補間を必要とす
る。
【0124】 2Dビーム・シャー・マトリックス分解と同様に、一般的な3Dマトリックス
を2Dビーム・シャー・マトリックス分解から作り上げるために、シャー・プロ
ダクトは、異なるシャーのプロダクト、すなわち、S(x、yz、(c、d))、S
(y、xz、(a、b))、S(z、xy、(e、f))に制限することができ
る。しかしながら、これらの3つのシャー・マトリックスのプロダクト・マトリ
ックスは、マトリックスにおける定数1により、なお一般的に形態とならない。
したがって、スライス・シャー方法と同様に、好ましくは、別のシャー・マトリ
ックスを連結する。ここで、この最終的なシャーは、第1シャーと同じビーム・
シャーである。これは、以下の6つのシャー・シーケンス順列を生じさせる。
を2Dビーム・シャー・マトリックス分解から作り上げるために、シャー・プロ
ダクトは、異なるシャーのプロダクト、すなわち、S(x、yz、(c、d))、S
(y、xz、(a、b))、S(z、xy、(e、f))に制限することができ
る。しかしながら、これらの3つのシャー・マトリックスのプロダクト・マトリ
ックスは、マトリックスにおける定数1により、なお一般的に形態とならない。
したがって、スライス・シャー方法と同様に、好ましくは、別のシャー・マトリ
ックスを連結する。ここで、この最終的なシャーは、第1シャーと同じビーム・
シャーである。これは、以下の6つのシャー・シーケンス順列を生じさせる。
【0125】
【数21】 上記シャー・シーケンスの各々について、連続的シャー・マトリックスのプロ
ダクト・マトリックスが、好ましくは、計算され、下層の3D回転マトリックス
に等しくなるように設定される。たとえば、第1のシャー・シーケンスについて
は、上記のように、すなわち、S(y,xz,(a,b))・S(z,xy,(e,f))・S(x,yz,(c,d))
・S(y,xz,(g,h))とする。
ダクト・マトリックスが、好ましくは、計算され、下層の3D回転マトリックス
に等しくなるように設定される。たとえば、第1のシャー・シーケンスについて
は、上記のように、すなわち、S(y,xz,(a,b))・S(z,xy,(e,f))・S(x,yz,(c,d))
・S(y,xz,(g,h))とする。
【0126】
【数22】 上記のマトリックス式は、8つの変数、すなわち、a、b、c、d、e、f、
g、hを持つ9つの三角法の式を意味する。8つの変数a〜hについてこれら9
つの式を解くと、次のような結果が得られる。
g、hを持つ9つの三角法の式を意味する。8つの変数a〜hについてこれら9
つの式を解くと、次のような結果が得られる。
【0127】
【数23】 同様にして、上記の残りの5つのビーム・シャー・シーケンスについてのシャ
ー・マトリックスを得ることができる。上記の解を持つビーム・シャー・シーケ
ンスは、好ましくは、基本シーケンスと呼ぶ。
ー・マトリックスを得ることができる。上記の解を持つビーム・シャー・シーケ
ンスは、好ましくは、基本シーケンスと呼ぶ。
【0128】 次に図16を参照して、本発明による、二次元(2D)ビーム・スライス・シ
ャー分解による三次元(3D)回転を実施する方法を説明する。2Dビーム・ス
ライス・シャーは、好ましくは、1つのプレーン内で変位させられたビームと定
義することができる。たとえば、2Dxビームyスライス・シャーは、好ましく
は、
ャー分解による三次元(3D)回転を実施する方法を説明する。2Dビーム・ス
ライス・シャーは、好ましくは、1つのプレーン内で変位させられたビームと定
義することができる。たとえば、2Dxビームyスライス・シャーは、好ましく
は、
【0129】
【数24】 と表現される。
【0130】 2Dxビームyスライス・シャーは、好ましくは、S((x、yz、(a、g
))、(z、y、b))と書くことができ、これは、y方向において量a、z方
向において量gだけx軸線に沿ったシャーをy方向において量bだけz軸線に沿
ったシャーと組み合わせたものと解釈される。ここで、a、gおよびbは、好ま
しくは、定数である。本質的に、ビーム・スライス・シャーは、ビーム・シャー
とスライス・シャーの組み合わせである。図16は、xビームyスライス・シャ
ー、S((x、yz、(a、(g))、(z、y、b))を示しており、そこにお
いては、点線156で表されるボリュームは、実線154によって表されるボリ
ューム位置にシャーされる。
))、(z、y、b))と書くことができ、これは、y方向において量a、z方
向において量gだけx軸線に沿ったシャーをy方向において量bだけz軸線に沿
ったシャーと組み合わせたものと解釈される。ここで、a、gおよびbは、好ま
しくは、定数である。本質的に、ビーム・スライス・シャーは、ビーム・シャー
とスライス・シャーの組み合わせである。図16は、xビームyスライス・シャ
ー、S((x、yz、(a、(g))、(z、y、b))を示しており、そこにお
いては、点線156で表されるボリュームは、実線154によって表されるボリ
ューム位置にシャーされる。
【0131】 一般的な3Dマトリックスを2Dシャー・マトリックス分解から作り上げるた
めに、シャー・プロダクトは、異なったシャーのプロダクト、すなわち、yビー
ムxスライス・シャーS((y、xz、(c、h))、(z、x、d)、xビームy
スライス・シャーS((x、yz、(a、g))、(z、y、b)およびyビーム
・シャーS(y、xz、(I、f))に制限するとよい。スライス・シャー、ビ
ーム・シャー方法の場合と同様に、6つのビーム・スライス・シャー・シーケン
ス順列があることは了解されたい。
めに、シャー・プロダクトは、異なったシャーのプロダクト、すなわち、yビー
ムxスライス・シャーS((y、xz、(c、h))、(z、x、d)、xビームy
スライス・シャーS((x、yz、(a、g))、(z、y、b)およびyビーム
・シャーS(y、xz、(I、f))に制限するとよい。スライス・シャー、ビ
ーム・シャー方法の場合と同様に、6つのビーム・スライス・シャー・シーケン
ス順列があることは了解されたい。
【0132】 シャー・シーケンスの各々について、連続的シャー・マトリックスのプロダク
ト・マトリックスが、好ましくは、計算され、下層の3D回転マトリックスに等
しくなるように設定される。たとえば、上記の第1のシャー・シーケンスについ
ては、S((y,xz,(c,h)),(z,x,d)) S(x,yz,(a,g)),(z,y,b)S(y,xz,(I,f))とする。
ト・マトリックスが、好ましくは、計算され、下層の3D回転マトリックスに等
しくなるように設定される。たとえば、上記の第1のシャー・シーケンスについ
ては、S((y,xz,(c,h)),(z,x,d)) S(x,yz,(a,g)),(z,y,b)S(y,xz,(I,f))とする。
【0133】
【数25】 上記のマトリックス式は、8つの変数、すなわち、a、b、c、d、f、g、
h,Iを持つ9つの三角法の式を意味する。8つの変数についてこれら9つの式を
解くと、次のような結果が得られる。
h,Iを持つ9つの三角法の式を意味する。8つの変数についてこれら9つの式を
解くと、次のような結果が得られる。
【0134】
【数26】 残りの5つのビーム・シャー・シーケンスについてのシャー・マトリックスを
同様にして得ることができることは明らかである。
同様にして得ることができることは明らかである。
【0135】 図17は、本発明に従って、3Dビーム・シャー分解を使用して任意の三次元
(3D)回転を実施する第4の方法を示している。上記のビーム・スライス・シ
ャー分解方法で使用した連続的シャー・マトリックスのプロダクト・マトリック
ス(すなわち、S((y、xz、(c、h))、(z、x、d)・S((x、yz、
(a、g))、(z、y、b)・S(y、xz、(I、f)))をさらに点検する
ことによって、2Dシャーの最初のペア、最後のペアを合併することができる。
これは、各ペアには共通のビームがあるからである。たとえば、xビームは、第
1ペアのyスライス、zスライスのシャーの共通ビームである。したがって、シ
ャーの数は、3Dビーム・シャーの新定義を導入することによって2まで減らす
ことができる。
(3D)回転を実施する第4の方法を示している。上記のビーム・スライス・シ
ャー分解方法で使用した連続的シャー・マトリックスのプロダクト・マトリック
ス(すなわち、S((y、xz、(c、h))、(z、x、d)・S((x、yz、
(a、g))、(z、y、b)・S(y、xz、(I、f)))をさらに点検する
ことによって、2Dシャーの最初のペア、最後のペアを合併することができる。
これは、各ペアには共通のビームがあるからである。たとえば、xビームは、第
1ペアのyスライス、zスライスのシャーの共通ビームである。したがって、シ
ャーの数は、3Dビーム・シャーの新定義を導入することによって2まで減らす
ことができる。
【0136】 図17は、3Dxビーム・シャーを示している。これは、2つの連続した2D
スライス・シャーS(xz、y、(a、b))S(xy、z、(e、f))の連結に
等しい。ここで、他に2つの3Dビーム・シャーがある、すなわち、S(yz、
x、(c、d))S(xz、y、(a、b))と表される3Dzビーム・シャーと
、S(yz、x、(c、d))S(xy、z、(e、f))と表される3Dyビーム
・シャーとがあることは了解されたい。すべての3Dビーム・シャーは、好まし
くは、たった1つの主ビームだけを含む。図17を参照して、マークを付けたx
ビーム158(暗い陰影のビーム)は、好ましくは、矢印をたどる新しい3D場
所に並進させられる。明るい陰影を付けたビーム158′は、シャー分解を2つ
の連続的2Dスライス・シャーと解釈された場合の中間位置を示す。
スライス・シャーS(xz、y、(a、b))S(xy、z、(e、f))の連結に
等しい。ここで、他に2つの3Dビーム・シャーがある、すなわち、S(yz、
x、(c、d))S(xz、y、(a、b))と表される3Dzビーム・シャーと
、S(yz、x、(c、d))S(xy、z、(e、f))と表される3Dyビーム
・シャーとがあることは了解されたい。すべての3Dビーム・シャーは、好まし
くは、たった1つの主ビームだけを含む。図17を参照して、マークを付けたx
ビーム158(暗い陰影のビーム)は、好ましくは、矢印をたどる新しい3D場
所に並進させられる。明るい陰影を付けたビーム158′は、シャー分解を2つ
の連続的2Dスライス・シャーと解釈された場合の中間位置を示す。
【0137】 3つの3Dビーム・シャーは、好ましくは、SH3Dx、SH3DyおよびSH3Dzと示す
とよい。ここで、ここに記載した本発明の方法を用いた場合、任意の3D回転を
、ほんの2つの連続3Dビーム・シャーに分解できる。基本分解シーケンスは、
以下のように2Dスライス・シャー・シーケンスから直接得ることができる。
とよい。ここで、ここに記載した本発明の方法を用いた場合、任意の3D回転を
、ほんの2つの連続3Dビーム・シャーに分解できる。基本分解シーケンスは、
以下のように2Dスライス・シャー・シーケンスから直接得ることができる。
【0138】
【数27】 ここで、
【0139】
【数28】 ここに説明した本発明の3Dビーム・シャー分解方法を使用すると、任意の3
D回転は、好ましくは、2つの主要ビーム変換しか伴わないのに対して、普通の
分解方法は、3つ(たとえば、Hanrahanの分解)を必要とする。本発明の3Dビ
ーム・シャー方法によれば、第1のパスはxビームのみを含み、第2のパスはz
ビームのみを含む。第1のシャー・パスの終りまでに、ビームのすべてのボクセ
ルは、好ましくは、同じオフセットを有する。N3個のボリュームについてN2個の
ビームがあるので、異なったオフセット値はN2個だけある。したがって、N2個の
ビームについてのオフセット値は、第1パスの終りで記憶することができると共
に、最も近い隣接の一***置にボクセルを記憶することができる。
D回転は、好ましくは、2つの主要ビーム変換しか伴わないのに対して、普通の
分解方法は、3つ(たとえば、Hanrahanの分解)を必要とする。本発明の3Dビ
ーム・シャー方法によれば、第1のパスはxビームのみを含み、第2のパスはz
ビームのみを含む。第1のシャー・パスの終りまでに、ビームのすべてのボクセ
ルは、好ましくは、同じオフセットを有する。N3個のボリュームについてN2個の
ビームがあるので、異なったオフセット値はN2個だけある。したがって、N2個の
ビームについてのオフセット値は、第1パスの終りで記憶することができると共
に、最も近い隣接の一***置にボクセルを記憶することができる。
【0140】 多パス・アルゴリズムが使用されるとき、選ばれた再サンプリング技術は、高
品質を達成するのに重要である。直観的に、連続するシャー変換がグリッド・ポ
イントを離れるようにボクセルを移動させることができるので、再サンプリング
が各パスについて必要である。しかしながら、連続回転をボリュームに適用した
場合、多数回の再サンプリングに固有の問題の1つは、ボリューム品質の急速な
劣化にある。したがって、ボリュームを一度だけサンプリングすることが望まし
い。
品質を達成するのに重要である。直観的に、連続するシャー変換がグリッド・ポ
イントを離れるようにボクセルを移動させることができるので、再サンプリング
が各パスについて必要である。しかしながら、連続回転をボリュームに適用した
場合、多数回の再サンプリングに固有の問題の1つは、ボリューム品質の急速な
劣化にある。したがって、ボリュームを一度だけサンプリングすることが望まし
い。
【0141】 したがって、本発明の好ましい方法は、ボリュームの1パス式再サンプリング
を達成する。本質的に、本発明の方法は、サンプリングしたボリュームを事前計
算し、次に、各シャー・パスにおいてゼロ・オーダー(たとえば、最も近い隣接
の)補間を使用する。これは、大域的連絡を必要とする公知の従来技術方法(た
とえば、Wittenbrink、Somaniの順列ワーピング)と異なる。
を達成する。本質的に、本発明の方法は、サンプリングしたボリュームを事前計
算し、次に、各シャー・パスにおいてゼロ・オーダー(たとえば、最も近い隣接
の)補間を使用する。これは、大域的連絡を必要とする公知の従来技術方法(た
とえば、Wittenbrink、Somaniの順列ワーピング)と異なる。
【0142】 或るオリジナルのボリューム(ソース・ボリューム)と所望の回転したボリュ
ーム(目標ボリューム)とを与えた場合、本発明の方法は、好ましくは、まず、
ソース・ボクセルと目標ボクセルとの間の1対1の対応関係を構築する。この1
対1のマッピングは、各シャーがゼロ・オーダー補間を使用した1対1変換であ
るから、本発明のマルチパス・シャー分解によって保証される。一連の1対1マ
ッピングの連結は、1対1のままである。ひとたびこの1対1の対応関係が確立
されたならば、本発明の方法は、好ましくは、各ソース・ボクセルについて、そ
れに対応する目標ボクセルを計算し、それをソース・ボクセル位置に記憶する。
この手順中、大域的連絡はまったく不要である。すなわち、再サンプリングが、
局所的ボクセルについての補間によって実施される。各目標ボクセルのサンプリ
ング位置は、好ましくは、逆方向回転変換を使用して計算する。
ーム(目標ボリューム)とを与えた場合、本発明の方法は、好ましくは、まず、
ソース・ボクセルと目標ボクセルとの間の1対1の対応関係を構築する。この1
対1のマッピングは、各シャーがゼロ・オーダー補間を使用した1対1変換であ
るから、本発明のマルチパス・シャー分解によって保証される。一連の1対1マ
ッピングの連結は、1対1のままである。ひとたびこの1対1の対応関係が確立
されたならば、本発明の方法は、好ましくは、各ソース・ボクセルについて、そ
れに対応する目標ボクセルを計算し、それをソース・ボクセル位置に記憶する。
この手順中、大域的連絡はまったく不要である。すなわち、再サンプリングが、
局所的ボクセルについての補間によって実施される。各目標ボクセルのサンプリ
ング位置は、好ましくは、逆方向回転変換を使用して計算する。
【0143】 すべての目標ボクセルについて値を得た後、本発明の方法は、好ましくは、目
標ボリュームにおける宛先に目標ボクセルをシャッフルする。直観的に、これは
大域的連絡を含む。しかしながら、並列実行のために行うには大域的連絡は高価
である。したがって、本発明による方法は、好ましくは、最も近い隣接配置方式
と共に複数のシャーを使用し、このボクセル・シャッフリングを達成する。シャ
ーが規則的な非対立変換であるから、各パスは、大域的連絡を利用する場合より
も能率的に実施され得る。ここに説明した本発明の3Dビーム・シャー分解方法
を使用することで、実質的に大域的連絡と同じ効果を達成するのに、規則的な局
所的連絡のパスを最低2回行うだけでよい。
標ボリュームにおける宛先に目標ボクセルをシャッフルする。直観的に、これは
大域的連絡を含む。しかしながら、並列実行のために行うには大域的連絡は高価
である。したがって、本発明による方法は、好ましくは、最も近い隣接配置方式
と共に複数のシャーを使用し、このボクセル・シャッフリングを達成する。シャ
ーが規則的な非対立変換であるから、各パスは、大域的連絡を利用する場合より
も能率的に実施され得る。ここに説明した本発明の3Dビーム・シャー分解方法
を使用することで、実質的に大域的連絡と同じ効果を達成するのに、規則的な局
所的連絡のパスを最低2回行うだけでよい。
【0144】 ここで、3Dビーム・シャーにおけるビームのオーバーラップを避けることに
注意しなければならないことは明らかである。たとえば、ここで、上記の3Dx
ビーム・シャー式を考える。各xビームを保存するとき(すなわち、xビームが
3Dxビーム・シャーの後に剛性のままとなる)、いくつかのxビームが互いに
オーバーラップする可能性がある。必要な1対1マッピングを維持するために、
上述したように、3Dビーム・シャーが2つの2Dスライス・シャーの連結であ
ることを想起されたい。ゼロ・オーダー補間を使用するとき、2Dスライス・シ
ャーは1対1マッピングを維持する。したがって、解として、本発明の方法は、
好ましくは、2つの連続した2Dスライス・シャーのオーダーと同じオーダーを
用いて宛先座標を計算するが、連絡は一度だけ行われるのが好ましい。3Dxビ
ーム・シャーの場合、3Dシャー・マトリックス(上記)を用いてx座標を直接
的に算出しながら、各ビームのy、z座標を、次のように計算すると好ましい。
注意しなければならないことは明らかである。たとえば、ここで、上記の3Dx
ビーム・シャー式を考える。各xビームを保存するとき(すなわち、xビームが
3Dxビーム・シャーの後に剛性のままとなる)、いくつかのxビームが互いに
オーバーラップする可能性がある。必要な1対1マッピングを維持するために、
上述したように、3Dビーム・シャーが2つの2Dスライス・シャーの連結であ
ることを想起されたい。ゼロ・オーダー補間を使用するとき、2Dスライス・シ
ャーは1対1マッピングを維持する。したがって、解として、本発明の方法は、
好ましくは、2つの連続した2Dスライス・シャーのオーダーと同じオーダーを
用いて宛先座標を計算するが、連絡は一度だけ行われるのが好ましい。3Dxビ
ーム・シャーの場合、3Dシャー・マトリックス(上記)を用いてx座標を直接
的に算出しながら、各ビームのy、z座標を、次のように計算すると好ましい。
【0145】
【数29】 ここで、round(w)は、最も近い整数に対する丸め関数wである。座標(y′、
z′)は、最も近い隣接のストレージについてのビーム全体の一体座量を決定す
る。こうして、オーバーラップが生じることはない。
z′)は、最も近い隣接のストレージについてのビーム全体の一体座量を決定す
る。こうして、オーバーラップが生じることはない。
【0146】 本発明の別の形態によれば、強化ボリューム処理を実施するいくつかのユニー
クな方法を以下に詳しく説明する。
クな方法を以下に詳しく説明する。
【0147】 透視投影は、特にレイ・キャスティングを実行するときに、固有の問題を提起
する。平行投影の場合、ボリューム・データセットを通してキャスティングされ
るサイト・レイは、下層のボリューム・データについて一定のサンプリング・レ
ートを維持する。必要な品質の出力画像を創作するようにこのサンプリング・レ
ートをセットするのは簡単である。しかしながら、透視投影の場合、レイは、こ
のような連続して均一なサンプリング・レートを維持しない。その代わりに、レ
イは、前から後へボリュームを移動させるにつれて発散する。図18a、18b
に示すように、これは、下層のボリュームに不均一なサンプリングを創り出す。
する。平行投影の場合、ボリューム・データセットを通してキャスティングされ
るサイト・レイは、下層のボリューム・データについて一定のサンプリング・レ
ートを維持する。必要な品質の出力画像を創作するようにこのサンプリング・レ
ートをセットするのは簡単である。しかしながら、透視投影の場合、レイは、こ
のような連続して均一なサンプリング・レートを維持しない。その代わりに、レ
イは、前から後へボリュームを移動させるにつれて発散する。図18a、18b
に示すように、これは、下層のボリュームに不均一なサンプリングを創り出す。
【0148】 次に図18a、18bを参照して、普通のビーム・キャスティング・アルゴリ
ズムは、一般的に、2つの方法のうちの1つによって、透視投影からのレイ発散
を取り扱う。第1の方法は、アンダーサンプリング(図18A)であり、そこに
おいては、レイ160が所定の視点162からキャスティングされ、その結果、
ボリューム164のフロントでのサンプリング・レートが所望の画質に対して適
切なものとなる。しかしながら、透視レイ発散のために、下層のボリューム・デ
ータセットは、アンダーサンプリングされる。これは、ボクセルの領域がサンプ
リングされないままであるボリューム166のリアに「ホール」を創り出すこと
によって厳しいエイリアシングとなる可能性がある。第2の方法は、オーバーサ
ンプリングであり(図18B)。そこにおいて、レイ160が所定の視点162
からキャスティングされ、その結果、ボリューム・データセット166のリアで
のサンプリング・レートが、所望の画質にとって適切なものとなる。この方法で
は、第1の方法のエイリアシングを回避することができるが、ボリュームはフロ
ント164において急進的にオーバーサンプリングされる可能性がある。ボリュ
ーム164のフロントにおける効率の悪いオーバーサンプリングは、この方法の
ランタイムを劇的に増大させる。レイ160は、アンダーサンプリングとオーバ
ーサンプリングの間のサンプリング・レートでキャスティングされ得る。これは
、オーバーサンプリングの画質とアンダーサンプリングのレンダリング速度との
間のトレードオフとなる。
ズムは、一般的に、2つの方法のうちの1つによって、透視投影からのレイ発散
を取り扱う。第1の方法は、アンダーサンプリング(図18A)であり、そこに
おいては、レイ160が所定の視点162からキャスティングされ、その結果、
ボリューム164のフロントでのサンプリング・レートが所望の画質に対して適
切なものとなる。しかしながら、透視レイ発散のために、下層のボリューム・デ
ータセットは、アンダーサンプリングされる。これは、ボクセルの領域がサンプ
リングされないままであるボリューム166のリアに「ホール」を創り出すこと
によって厳しいエイリアシングとなる可能性がある。第2の方法は、オーバーサ
ンプリングであり(図18B)。そこにおいて、レイ160が所定の視点162
からキャスティングされ、その結果、ボリューム・データセット166のリアで
のサンプリング・レートが、所望の画質にとって適切なものとなる。この方法で
は、第1の方法のエイリアシングを回避することができるが、ボリュームはフロ
ント164において急進的にオーバーサンプリングされる可能性がある。ボリュ
ーム164のフロントにおける効率の悪いオーバーサンプリングは、この方法の
ランタイムを劇的に増大させる。レイ160は、アンダーサンプリングとオーバ
ーサンプリングの間のサンプリング・レートでキャスティングされ得る。これは
、オーバーサンプリングの画質とアンダーサンプリングのレンダリング速度との
間のトレードオフとなる。
【0149】 多くの従来の像形成アーキテクチャは、透視投影を実施しようという試みさえ
していない。他のアーキテクチャは、所定の視点からの発散サイト・レイをキャ
スティングすることによって、透視投影を処理していた。これは、一時的なエイ
リアシングで画像を生成し、真のリアルタイム・フレーム率(すなわち、30ヘ
ルツ)を達成せず、本発明のスライス・オーダー方法よりもかなり複雑である。
していない。他のアーキテクチャは、所定の視点からの発散サイト・レイをキャ
スティングすることによって、透視投影を処理していた。これは、一時的なエイ
リアシングで画像を生成し、真のリアルタイム・フレーム率(すなわち、30ヘ
ルツ)を達成せず、本発明のスライス・オーダー方法よりもかなり複雑である。
【0150】 レイ分割方法は、適応スーパーサンプリングの概念を適用し、均一なレイ密度
を維持する。この方法では、隣接したレイが或る種の所定閾値を越えて発散する
とき、レイを2つのチャイルド・レイに分割する。最近になって、視点からの距
離に基づいて視野切頭体を領域に分割する方法が提案された。その結果、各領域
のレイ密度が下層ボリューム解像度に近くなるのである。その後、この方法では
、サブ画像に各領域を投影し、テクスチャ・マッピング・ハードウェアを使用し
てフレーム・バッファにこれらのサブ画像を合成する。実際、この技術は、連続
的なレイを1つの領域を通してキャスティングし、次いで、指定境界のところで
、それらを新しいセットの連続レイに分割する。しかしながら、これは、領域間
の潜在的な、望ましくない不連続性を創り出す。
を維持する。この方法では、隣接したレイが或る種の所定閾値を越えて発散する
とき、レイを2つのチャイルド・レイに分割する。最近になって、視点からの距
離に基づいて視野切頭体を領域に分割する方法が提案された。その結果、各領域
のレイ密度が下層ボリューム解像度に近くなるのである。その後、この方法では
、サブ画像に各領域を投影し、テクスチャ・マッピング・ハードウェアを使用し
てフレーム・バッファにこれらのサブ画像を合成する。実際、この技術は、連続
的なレイを1つの領域を通してキャスティングし、次いで、指定境界のところで
、それらを新しいセットの連続レイに分割する。しかしながら、これは、領域間
の潜在的な、望ましくない不連続性を創り出す。
【0151】 本発明の一形態による、ER透視(指数的な領域透視)と呼ばれる、均一な規
則的データセットの透視投影を実施するための方法は、好ましくは、下層のボリ
ュームを適切にサンプリングし、それによって、普通のボリューム・レンダリン
グ・システム及び方法に固有の上記問題がほぼ除去される。ER透視アルゴリズ
ムは、アンダーサンプリング、オーバーサンプリングの両方の望ましい特性を組
み合わせ、アンダーサンプリング方法のオーダーについてのランタイムを与えな
がら、オーバーサンプリングと関連した極めて良好なアンチエイリアシング特性
を提供する。さらに、このアルゴリズムは、好ましくは、ボリューム・データセ
ットのすべての可視ボクセルについて少なくとも1つのサンプルを創り出す。E
R透視は、公知の透視投影方法と比較して同等あるいはそれより良好な画質を維
持しながらスライス・オーダー・ボクセル・アクセスを利用することによって従
来の技術より以上のランタイム利益を獲得する。
則的データセットの透視投影を実施するための方法は、好ましくは、下層のボリ
ュームを適切にサンプリングし、それによって、普通のボリューム・レンダリン
グ・システム及び方法に固有の上記問題がほぼ除去される。ER透視アルゴリズ
ムは、アンダーサンプリング、オーバーサンプリングの両方の望ましい特性を組
み合わせ、アンダーサンプリング方法のオーダーについてのランタイムを与えな
がら、オーバーサンプリングと関連した極めて良好なアンチエイリアシング特性
を提供する。さらに、このアルゴリズムは、好ましくは、ボリューム・データセ
ットのすべての可視ボクセルについて少なくとも1つのサンプルを創り出す。E
R透視は、公知の透視投影方法と比較して同等あるいはそれより良好な画質を維
持しながらスライス・オーダー・ボクセル・アクセスを利用することによって従
来の技術より以上のランタイム利益を獲得する。
【0152】 図19は、本発明によるER透視アルゴリズムの2D頂面図である。図19に
示すように、ER透視アルゴリズムは、好ましくは、所定の視点172からの主
要投影軸線(たとえば、z軸)に沿った指数的に増大する距離に基づいて視野切
頭体168を複数の領域に分割することによって機能する。好ましくは、連続し
たサイト・レイ174がボリューム・データセットを通して後から前(または前
から後)へ視点172からキャスティングされ、ひとたびレイ174が互いに接
近しすぎ(あるいは離れすぎた)ならば、これらのレイ174を合併(あるいは
、分割)する。ER透視アルゴリズムの動作が前から後へのレイ・キャスティン
グと比較して後から前に付いて類似しているので、ER透視アルゴリズムの残り
の説明は、合併を伴う後から前へのレイ・キャスティングのより直観的なケース
に限定する。これらの差異は、それらが意味を持つときに指摘する。
示すように、ER透視アルゴリズムは、好ましくは、所定の視点172からの主
要投影軸線(たとえば、z軸)に沿った指数的に増大する距離に基づいて視野切
頭体168を複数の領域に分割することによって機能する。好ましくは、連続し
たサイト・レイ174がボリューム・データセットを通して後から前(または前
から後)へ視点172からキャスティングされ、ひとたびレイ174が互いに接
近しすぎ(あるいは離れすぎた)ならば、これらのレイ174を合併(あるいは
、分割)する。ER透視アルゴリズムの動作が前から後へのレイ・キャスティン
グと比較して後から前に付いて類似しているので、ER透視アルゴリズムの残り
の説明は、合併を伴う後から前へのレイ・キャスティングのより直観的なケース
に限定する。これらの差異は、それらが意味を持つときに指摘する。
【0153】 ER透視アルゴリズムは、好ましくは、領域境界170を使用する。これは、
指数領域を定め、サイト・レイ174が好ましくは合併される場所にマークを付
ける。領域を定義して、境界170ですべてのレイ174を合併することによっ
て、このアルゴリズムは、局所的近傍状況よりもむしろ大域的ジオメトリに依存
する或る規則的なレイ合併パターンを提供する。図20Aは、特に、ベースプレ
ーン・ピクセルBに対する寄与率について領域境界170でサイト・レイを合併
することをより明瞭に示している。図20Aを参照して、奇数のレイ174が、
好ましくは、合併され、その結果、生じたレイ174′は、本質的に、先の中心
レイの正確な連続レイとなり、したがって、領域境界170に存在する潜在的な
不連続性を排除する。これは、公知従来方法以上の、本発明方法の重要な利点の
1つである。さらに、このアルゴリズムは、最適状態でボリュームをサンプリン
グするときに達成されるフィルタリングを特徴づけることによって限定され得る
。
指数領域を定め、サイト・レイ174が好ましくは合併される場所にマークを付
ける。領域を定義して、境界170ですべてのレイ174を合併することによっ
て、このアルゴリズムは、局所的近傍状況よりもむしろ大域的ジオメトリに依存
する或る規則的なレイ合併パターンを提供する。図20Aは、特に、ベースプレ
ーン・ピクセルBに対する寄与率について領域境界170でサイト・レイを合併
することをより明瞭に示している。図20Aを参照して、奇数のレイ174が、
好ましくは、合併され、その結果、生じたレイ174′は、本質的に、先の中心
レイの正確な連続レイとなり、したがって、領域境界170に存在する潜在的な
不連続性を排除する。これは、公知従来方法以上の、本発明方法の重要な利点の
1つである。さらに、このアルゴリズムは、最適状態でボリュームをサンプリン
グするときに達成されるフィルタリングを特徴づけることによって限定され得る
。
【0154】 好ましいフィルタ方式の一例が、図20Bに示してある。図20Bを参照して、
バートレット・ウィンドウ(すなわち、リニア補間、三角形フィルタ)を使用す
ると好ましい。各領域境界170で効率的な局所バートレット・ウィンドウをカ
スケーディングすることは、各ベースプレーン・ピクセル(図20A参照)につ
いての単一の大きなバートレット・フィルタでレイ174を再サンプリングする
こととほぼ同等である。好ましいフィルタ重み175のグラフ図が、ベースプレ
ーン・ピクセル(たとえば、ピクセルA、B、C)に対する寄与率について示して
ある。
バートレット・ウィンドウ(すなわち、リニア補間、三角形フィルタ)を使用す
ると好ましい。各領域境界170で効率的な局所バートレット・ウィンドウをカ
スケーディングすることは、各ベースプレーン・ピクセル(図20A参照)につ
いての単一の大きなバートレット・フィルタでレイ174を再サンプリングする
こととほぼ同等である。好ましいフィルタ重み175のグラフ図が、ベースプレ
ーン・ピクセル(たとえば、ピクセルA、B、C)に対する寄与率について示して
ある。
【0155】 このアルゴリズムの基本的なサンプリング・レートは、所望の画質に従って所
定の値にセットすることができる。基本サンプリング・レートは、下層のボリュ
ーム解像度と比較した最小限のビーム密度である。本発明のER透視方法は実質
的に任意のサンプリング・レートをサポートするけれども、1ボクセル当たり少
なくとも1つのレイのサンプリング・レートが好ましい。このアルゴリズムは、
基本サンプリング・レートの一倍と二倍の間にレイ密度を維持するという利点を
有する。このことは、ボクセルがボリューム・データセットの背後で失われるこ
とがないことを保証し、二倍のスーパーサンプリングで実行された総仕事量につ
いて上限を置く。
定の値にセットすることができる。基本サンプリング・レートは、下層のボリュ
ーム解像度と比較した最小限のビーム密度である。本発明のER透視方法は実質
的に任意のサンプリング・レートをサポートするけれども、1ボクセル当たり少
なくとも1つのレイのサンプリング・レートが好ましい。このアルゴリズムは、
基本サンプリング・レートの一倍と二倍の間にレイ密度を維持するという利点を
有する。このことは、ボクセルがボリューム・データセットの背後で失われるこ
とがないことを保証し、二倍のスーパーサンプリングで実行された総仕事量につ
いて上限を置く。
【0156】 本発明がスライス・オーダー処理を利用するので、ボリューム・データセット
は、視野方向に対して最も垂直であるボリュームのベースプレーン上へ投影され
る。次に、ベースプレーン画像は、普通の方法(たとえば、シャー・ワープある
いは従来のCube−4アーキテクチャと同じ方法)で最終的な画像プレーン上
へワープされる。
は、視野方向に対して最も垂直であるボリュームのベースプレーン上へ投影され
る。次に、ベースプレーン画像は、普通の方法(たとえば、シャー・ワープある
いは従来のCube−4アーキテクチャと同じ方法)で最終的な画像プレーン上
へワープされる。
【0157】 本発明のER透視方法は、上記のCube−5アーキテクチャで実施するのに
理想的である。具体的には、このアルゴリズムは、好ましくは、処理要素間の最
も近い隣接連絡を必要とするだけである。処理要素の一次元アレイ上のボクセル
行を処理しながら、このアルゴリズムは、処理要素がそれらの直ぐ左隣、右隣の
処理要素と連絡することを必要とするだけである。Cube−5レンダリング・
パイプラインは、同様に、最も近い隣接連絡をサポートする。
理想的である。具体的には、このアルゴリズムは、好ましくは、処理要素間の最
も近い隣接連絡を必要とするだけである。処理要素の一次元アレイ上のボクセル
行を処理しながら、このアルゴリズムは、処理要素がそれらの直ぐ左隣、右隣の
処理要素と連絡することを必要とするだけである。Cube−5レンダリング・
パイプラインは、同様に、最も近い隣接連絡をサポートする。
【0158】 本発明のER透視アルゴリズムは、好ましくは、3つの主要軸線の1つに沿っ
たスライス・オーダー処理を使用する。したがって、ER透視アルゴリズムにお
ける領域は、主要投影軸線に沿ったスライスのスラブとして定義される。本発明
のER透視方法の好ましい実施例においては、ボリューム・データセットは、z
軸に対して垂直なスライスに沿って投影される。z軸のみに沿った投影に本発明
の方法を限定するつもりはないが、座標系をフリップさせ、ジオメトリを回転さ
せ得ることは了解されたい。本アルゴリズムは、図7に示すように、視点86か
らボリューム・データセット80のフロントまでの、z軸に沿った距離を測定し
、決定する(ez)ことによって進行する。次いで、この距離と同程度の多くの
zスライスからなる第1の領域92が創り出される。第1領域92の後に続く各
領域は、好ましくは、その前の領域の二倍深い。
たスライス・オーダー処理を使用する。したがって、ER透視アルゴリズムにお
ける領域は、主要投影軸線に沿ったスライスのスラブとして定義される。本発明
のER透視方法の好ましい実施例においては、ボリューム・データセットは、z
軸に対して垂直なスライスに沿って投影される。z軸のみに沿った投影に本発明
の方法を限定するつもりはないが、座標系をフリップさせ、ジオメトリを回転さ
せ得ることは了解されたい。本アルゴリズムは、図7に示すように、視点86か
らボリューム・データセット80のフロントまでの、z軸に沿った距離を測定し
、決定する(ez)ことによって進行する。次いで、この距離と同程度の多くの
zスライスからなる第1の領域92が創り出される。第1領域92の後に続く各
領域は、好ましくは、その前の領域の二倍深い。
【0159】 高品質スーパーサンプリングと組み合わせたとき、第1領域は、最終画像の1
ピクセル当たり1つのレイを放射するとき、正確に、領域の終りで1ボクセル当
たり1つのレイを持つのに必要ほど大きい。したがって、二倍より高いスーパー
サンプリングが、高品質クローズアップ画面をレンダリングするのにボリューム
のフロントに必要となるかも知れない。
ピクセル当たり1つのレイを放射するとき、正確に、領域の終りで1ボクセル当
たり1つのレイを持つのに必要ほど大きい。したがって、二倍より高いスーパー
サンプリングが、高品質クローズアップ画面をレンダリングするのにボリューム
のフロントに必要となるかも知れない。
【0160】 図19に例示したように、視点172が、たとえば、ボリュームのフロント(
すなわち、z=3領域境界)から3つのボクセル単位である場合、第1領域17
6は、好ましくは、3ボクセル単位厚となり、次の領域は、6ボクセル単位厚、
以下同様となる。一般に、I番目の領域は、好ましくは、ez・2iスライス厚であ
る。ここで、ezは、視点172からボリュームのフロント(図19参照)までの
距離である。領域をこのように定義することで、領域の任意のものを通してキャ
スティングされた任意2つの透視レイ174が、前部境界(すなわち、z=3境
界)のところにあるときに二倍ほど後部境界(すなわち、z=24境界)で離れ
ているという所望の効果を生み出す。これは、2つのレイ174間の距離が、第
1領域176を横切って1単位から2単位まで成長し、次いで、4単位、最終的
に、最終領域のところで8単位まで成長するように、図19に示してある。さら
に、領域境界170が大域的ジオメトリに依存しているので、このレイ・キャス
ティング・アルゴリズムの効率は、各ディメンジョンでボリューム解像度の一倍
から二倍にレイ密度を保つための機構を設けることによって、最大となる。これ
は、また、透視レイがキャスティングされるときにデータのフィルタリングが制
御されるようにも規則的なトポロジを創り出す。
すなわち、z=3領域境界)から3つのボクセル単位である場合、第1領域17
6は、好ましくは、3ボクセル単位厚となり、次の領域は、6ボクセル単位厚、
以下同様となる。一般に、I番目の領域は、好ましくは、ez・2iスライス厚であ
る。ここで、ezは、視点172からボリュームのフロント(図19参照)までの
距離である。領域をこのように定義することで、領域の任意のものを通してキャ
スティングされた任意2つの透視レイ174が、前部境界(すなわち、z=3境
界)のところにあるときに二倍ほど後部境界(すなわち、z=24境界)で離れ
ているという所望の効果を生み出す。これは、2つのレイ174間の距離が、第
1領域176を横切って1単位から2単位まで成長し、次いで、4単位、最終的
に、最終領域のところで8単位まで成長するように、図19に示してある。さら
に、領域境界170が大域的ジオメトリに依存しているので、このレイ・キャス
ティング・アルゴリズムの効率は、各ディメンジョンでボリューム解像度の一倍
から二倍にレイ密度を保つための機構を設けることによって、最大となる。これ
は、また、透視レイがキャスティングされるときにデータのフィルタリングが制
御されるようにも規則的なトポロジを創り出す。
【0161】 指数的距離のところに境界を持つ領域を設けることで、領域のバックのところ
よりもフロントで二倍高いレイ密度を生み出す。したがって、領域境界と交差す
るときにレイ密度を調整する機構を設けると好ましい。各レイが領域のリアでボ
クセル座標について出発すると好ましいので、領域のフロントでは、各ディメン
ジョンにおけるすべての第2レイは、好ましくは、ボクセル座標と直接一致する
。残りのレイは、好ましくは、2つのボクセル位置間の途中で領域と交差する。
この決定的なレイ・パターンを持つレイ密度をダウンサンプリングするために、
二次元(2D)バートレット・フィルタ(テントまたは三角形フィルタとしても
知られている)を、各ディメンジョンで±1ボクセルの範囲で、使用すると好ま
しい。各領域のフロントでのレイ密度がボクセル密度の二倍なので、この3×3
ボクセル近傍は5×5レイと交差する。次に図21を参照して、エッジ178の
各々が、重みゼロであるから、3×3の隣接したレイ180のみを使用して、レ
イ密度をダウンサンプリングするのにフィルタを適用することができる。これは
、隣接したレイを効果的に合併する。バートレット・フィルタは、最終的な画像
で生み出す付加的な品質のための簡単なボックス・フィルタよりも好ましい。前
から後への処理の場合は、レイは合併するかわりに分割される。ここで、レイの
バイリニア補間が実施されて、他のレイ間で開始する新しいレイを生成する。こ
こで、±1のサイズのバートレット・フィルタが、バイリニア補間作業の逆のも
のであることは言っておかなければならない。
よりもフロントで二倍高いレイ密度を生み出す。したがって、領域境界と交差す
るときにレイ密度を調整する機構を設けると好ましい。各レイが領域のリアでボ
クセル座標について出発すると好ましいので、領域のフロントでは、各ディメン
ジョンにおけるすべての第2レイは、好ましくは、ボクセル座標と直接一致する
。残りのレイは、好ましくは、2つのボクセル位置間の途中で領域と交差する。
この決定的なレイ・パターンを持つレイ密度をダウンサンプリングするために、
二次元(2D)バートレット・フィルタ(テントまたは三角形フィルタとしても
知られている)を、各ディメンジョンで±1ボクセルの範囲で、使用すると好ま
しい。各領域のフロントでのレイ密度がボクセル密度の二倍なので、この3×3
ボクセル近傍は5×5レイと交差する。次に図21を参照して、エッジ178の
各々が、重みゼロであるから、3×3の隣接したレイ180のみを使用して、レ
イ密度をダウンサンプリングするのにフィルタを適用することができる。これは
、隣接したレイを効果的に合併する。バートレット・フィルタは、最終的な画像
で生み出す付加的な品質のための簡単なボックス・フィルタよりも好ましい。前
から後への処理の場合は、レイは合併するかわりに分割される。ここで、レイの
バイリニア補間が実施されて、他のレイ間で開始する新しいレイを生成する。こ
こで、±1のサイズのバートレット・フィルタが、バイリニア補間作業の逆のも
のであることは言っておかなければならない。
【0162】 図22は、視点196がボリュームのフロントで(すなわち、ベースプレーン
198から)3ボクセル単位であるとき、サイト・レイ186が73個のボリュ
ーム192を通ってどのように移動するかの2D例を示している。サンプリング
・レートが1スライス当たり7と14の間に留まっており、そして、レイ186
が領域を通って後から前に移動するにつれて増大するということに注意されたい
。N3ボリュームについてレイ密度再サンプリング・ステージの数は、それがN3ボ
リュームにおける最大領域数であるから、ので、のためのステージを再サンプリ
ングしているレイ密度の数は、log2Nによって制限される。最終的な画像ワープ
が生じたとき、ベースプレーン198に示される最終再サンプリング・ステップ
が実施されると好ましい。
198から)3ボクセル単位であるとき、サイト・レイ186が73個のボリュ
ーム192を通ってどのように移動するかの2D例を示している。サンプリング
・レートが1スライス当たり7と14の間に留まっており、そして、レイ186
が領域を通って後から前に移動するにつれて増大するということに注意されたい
。N3ボリュームについてレイ密度再サンプリング・ステージの数は、それがN3ボ
リュームにおける最大領域数であるから、ので、のためのステージを再サンプリ
ングしているレイ密度の数は、log2Nによって制限される。最終的な画像ワープ
が生じたとき、ベースプレーン198に示される最終再サンプリング・ステップ
が実施されると好ましい。
【0163】 図22に示すように、ボリューム・データセット182のリアは、必ずしも常
に領域境界184と一致するわけではない。しかしながら、レイ186が領域境
界184のすべてで正確なボクセル座標188上に存在することが好ましいので
、レイ186は、ボリューム・データセット192を囲む最終領域(陰影付き領
域)のリアにおいてグリッド座標190上で発祥するのが好ましい。したがって
、ボクセル座標およびレイ・サンプル場所194は、ボリューム182のリアに
適合してはならない。これは、前述の境界条件を提供するだけでなく、視点19
6がボクセル単位距離より小さく動かされるときに一時的なアンチエイリアシン
グを助けもする。それは、レイ186がボクセルに対して同じ位置から発祥し続
けるからである。
に領域境界184と一致するわけではない。しかしながら、レイ186が領域境
界184のすべてで正確なボクセル座標188上に存在することが好ましいので
、レイ186は、ボリューム・データセット192を囲む最終領域(陰影付き領
域)のリアにおいてグリッド座標190上で発祥するのが好ましい。したがって
、ボクセル座標およびレイ・サンプル場所194は、ボリューム182のリアに
適合してはならない。これは、前述の境界条件を提供するだけでなく、視点19
6がボクセル単位距離より小さく動かされるときに一時的なアンチエイリアシン
グを助けもする。それは、レイ186がボクセルに対して同じ位置から発祥し続
けるからである。
【0164】 図23は、本発明の一形態に従って、ボリュームの後から前へのER透視投影
を実施する好ましい方法を示しているが、このER透視方法の他の実施例も考え
られる。上記のように、まず、目または視点からベースプレーンまでの距離を、
好ましくは、決定する(ボクセル単位)。この視点位置を使用して、指数的領域
境界を創り出す。次に、好ましくは、充分な領域を確立し、ボリューム・データ
セットを完全に取り囲む。ボリューム・レンダリングを実施するために、アルゴ
リズムは、後から前へ各領域を通してループし、ノーマル・レイ・キャスティン
グを計算するが、スライス・オーダー様式では、合成バッファに部分的に計算さ
れたレイを記憶する。領域間(すなわち、領域境界)では、上記したように、合
成バッファのレイ密度再サンプリングが実施されると好ましい。次に、ベースプ
レーン画像を、ディスプレイのために最終的な画像プレーン上へワープさせる。
を実施する好ましい方法を示しているが、このER透視方法の他の実施例も考え
られる。上記のように、まず、目または視点からベースプレーンまでの距離を、
好ましくは、決定する(ボクセル単位)。この視点位置を使用して、指数的領域
境界を創り出す。次に、好ましくは、充分な領域を確立し、ボリューム・データ
セットを完全に取り囲む。ボリューム・レンダリングを実施するために、アルゴ
リズムは、後から前へ各領域を通してループし、ノーマル・レイ・キャスティン
グを計算するが、スライス・オーダー様式では、合成バッファに部分的に計算さ
れたレイを記憶する。領域間(すなわち、領域境界)では、上記したように、合
成バッファのレイ密度再サンプリングが実施されると好ましい。次に、ベースプ
レーン画像を、ディスプレイのために最終的な画像プレーン上へワープさせる。
【0165】 従来技術において知られている適応レイ密度透視方法の場合、一般的に、レイ
が不規則なパターンを使用して合併されるときに行われるフィルタ機能を決定す
ることは困難である。しかしながら、本発明のER透視方法は、好ましくは、フ
ィルタ動作のための規則的な境界を使用し、これらの境界内に正確にレイを配置
するので、局所的バートレット・フィルタのカスケーディングによって行われる
効果的フィルタを計算することはより容易である。これは、本発明のER透視ア
ルゴリズムの重要な利点である。さらに、本発明の境界およびフィルタは、好ま
しくは、個別のデータについての普通の連続したフィルタリングと通常関連する
低画質を克服するように選ばれている。
が不規則なパターンを使用して合併されるときに行われるフィルタ機能を決定す
ることは困難である。しかしながら、本発明のER透視方法は、好ましくは、フ
ィルタ動作のための規則的な境界を使用し、これらの境界内に正確にレイを配置
するので、局所的バートレット・フィルタのカスケーディングによって行われる
効果的フィルタを計算することはより容易である。これは、本発明のER透視ア
ルゴリズムの重要な利点である。さらに、本発明の境界およびフィルタは、好ま
しくは、個別のデータについての普通の連続したフィルタリングと通常関連する
低画質を克服するように選ばれている。
【0166】 たとえば、ここで、図24に示すように、ボリュームの前方2ボクセル単位に
ある視点と共に7スライス分深いボリュームの透視投影を考える。本発明のER-
透視方法を使用することで、領域を通してキャスティングされたレイ200は、
領域の後部のところで1ボクセル単位離れる。しかしながら、レイが領域境界2
02に達したとき、これらのレイは、好ましくは、局所的バートレット・フィル
タを使用して濾過される。バートレット・フィルタ(1次に単純化された)は、
サイズ2n+1のカーネルについて以下の重みを含み、出力が入力と同じスカラー範
囲を有するように標準化される。
ある視点と共に7スライス分深いボリュームの透視投影を考える。本発明のER-
透視方法を使用することで、領域を通してキャスティングされたレイ200は、
領域の後部のところで1ボクセル単位離れる。しかしながら、レイが領域境界2
02に達したとき、これらのレイは、好ましくは、局所的バートレット・フィル
タを使用して濾過される。バートレット・フィルタ(1次に単純化された)は、
サイズ2n+1のカーネルについて以下の重みを含み、出力が入力と同じスカラー範
囲を有するように標準化される。
【0167】
【数30】 領域境界での二次元画像の場合、本発明は、好ましくは、2つの主要方向に2つ
の一次元バートレット・フィルタを巻き込むことによって、二次元バートレット
・フィルタを使用する。ER透視アルゴリズムは、好ましくは、常にレイを再サ
ンプリングしてオリジナル密度の半分を有する。サイズ±2のフィルタを使用す
ることで、レイ(n=2)は、5×5のフィルタ・カーネルまたは一ディメンジョ
ンについて以下のたった5つ重みを創り出す。
の一次元バートレット・フィルタを巻き込むことによって、二次元バートレット
・フィルタを使用する。ER透視アルゴリズムは、好ましくは、常にレイを再サ
ンプリングしてオリジナル密度の半分を有する。サイズ±2のフィルタを使用す
ることで、レイ(n=2)は、5×5のフィルタ・カーネルまたは一ディメンジョ
ンについて以下のたった5つ重みを創り出す。
【0168】
【数31】 たとえば、図24に示すように、サンプルa、b、c、d、eの、場所oで領
域2から領域1へ変化する部分合成レイに対する寄与率を考える。
域2から領域1へ変化する部分合成レイに対する寄与率を考える。
【0169】
【数32】 同様に、場所pおよびqでの部分的なレイを次のように計算する。
【0170】
【数33】 ピクセルAについての最終フィルタにおける重みがゼロなので、部分レイn、r
についての式は省略されている。ER透視アルゴリズムを継続することで、再サ
ンプリングされた部分レイn、o、p、q、rは、好ましくは、領域1を通じて
キャスティングされ、そこにおいて、局所的バートレット・フィルタによって再
度濾過される。n、o、p、q、rの、ピクセルAに対する標準化寄与率は、
についての式は省略されている。ER透視アルゴリズムを継続することで、再サ
ンプリングされた部分レイn、o、p、q、rは、好ましくは、領域1を通じて
キャスティングされ、そこにおいて、局所的バートレット・フィルタによって再
度濾過される。n、o、p、q、rの、ピクセルAに対する標準化寄与率は、
【0171】
【数34】 o、p、qの値を代入して、
【0172】
【数35】 ここで、この式が、9つの値のカーネル・サイズ(n=4)を持つバートレット・
フィルタと同じ重み(すなわち、係数)を含むことは了解されたい。これは、同
じフィルタ重みを持つピクセルBについて繰り返すことができる。前から後への
処理の場合、同様の分析を利用して、アルゴリズムの性能およびバイリニア補間
の連続適用の結果を示すことができる。
フィルタと同じ重み(すなわち、係数)を含むことは了解されたい。これは、同
じフィルタ重みを持つピクセルBについて繰り返すことができる。前から後への
処理の場合、同様の分析を利用して、アルゴリズムの性能およびバイリニア補間
の連続適用の結果を示すことができる。
【0173】 スライスの各サンプルは、好ましくは、同じ領域にある他の任意のサンプルと
同じ量、最終画像に寄与する(カラー・マッピングおよび合成のようなサンプル
に対する他のすべての動作が等しいと仮定する)。たとえば、サンプルeの値は
、局所的バートレット・フィルタのカスケーディング後の1/4の効果的な重み
をもってピクセルAに寄与する。同様に、サンプルIは、1/4の有効重みでピ
クセルBに寄与する。サンプルfは、全体で1/4について3/16の重みでピ
クセルAに寄与し、そして、1/16の重みでピクセルBに寄与する。これは、
サンプルgおよびhについて繰り返すことができる。それぞれ、サンプルeの左
、サンプルIの右のサンプルは、それぞれ、ピクセルAの左のピクセル、ピクセ
ルBの右のピクセルに部分的に寄与し、最終画像に対するこれらの寄与率の合計
もまた1/4となる。実際、この領域にあるすべてのサンプルは、同じ重みを有
する。この領域がボリュームにおける第2の領域であるから、重みは1/4であ
る。ボリュームの第1領域について、あらゆるサンプルは、好ましくは、1/2
の重みを有する。これは、この領域の最終画像ピクセル当たり2つのレイがある
ことを実現することによって修正可能である。第2領域等における最終画像ピク
セル当たりのレイは4つである。したがって、最終画像に向かう各ピクセルの寄
与率を決定する重みは、(画像ピクセル)/(このスライス内のサンプル)とな
る。
同じ量、最終画像に寄与する(カラー・マッピングおよび合成のようなサンプル
に対する他のすべての動作が等しいと仮定する)。たとえば、サンプルeの値は
、局所的バートレット・フィルタのカスケーディング後の1/4の効果的な重み
をもってピクセルAに寄与する。同様に、サンプルIは、1/4の有効重みでピ
クセルBに寄与する。サンプルfは、全体で1/4について3/16の重みでピ
クセルAに寄与し、そして、1/16の重みでピクセルBに寄与する。これは、
サンプルgおよびhについて繰り返すことができる。それぞれ、サンプルeの左
、サンプルIの右のサンプルは、それぞれ、ピクセルAの左のピクセル、ピクセ
ルBの右のピクセルに部分的に寄与し、最終画像に対するこれらの寄与率の合計
もまた1/4となる。実際、この領域にあるすべてのサンプルは、同じ重みを有
する。この領域がボリュームにおける第2の領域であるから、重みは1/4であ
る。ボリュームの第1領域について、あらゆるサンプルは、好ましくは、1/2
の重みを有する。これは、この領域の最終画像ピクセル当たり2つのレイがある
ことを実現することによって修正可能である。第2領域等における最終画像ピク
セル当たりのレイは4つである。したがって、最終画像に向かう各ピクセルの寄
与率を決定する重みは、(画像ピクセル)/(このスライス内のサンプル)とな
る。
【0174】 本発明のER透視方法がスライス・オーダー処理を実施するので、全計算量は
、各スライスに実施される仕事量を算出することによって分析することができる
。各サンプルについて行われた仕事が同じものであると仮定するならば、処理さ
れるサンプルのカウント数を、作業負荷の比較として使うことができる。たとえ
ば、オーバーサンプリング方法(図18B参照)においては、領域境界上で正確
に終わっているボリュームのリアにあるサンプル数は、N2である。フロント・
スライスでは、サンプルのカウント数は、視点のジオメトリに依存する。特に、
類似した三角形を使用し、視点からボリュームのフロントまでの距離としてez
と定義するならば、取り出されるサンプルの数は、
、各スライスに実施される仕事量を算出することによって分析することができる
。各サンプルについて行われた仕事が同じものであると仮定するならば、処理さ
れるサンプルのカウント数を、作業負荷の比較として使うことができる。たとえ
ば、オーバーサンプリング方法(図18B参照)においては、領域境界上で正確
に終わっているボリュームのリアにあるサンプル数は、N2である。フロント・
スライスでは、サンプルのカウント数は、視点のジオメトリに依存する。特に、
類似した三角形を使用し、視点からボリュームのフロントまでの距離としてez
と定義するならば、取り出されるサンプルの数は、
【0175】
【数36】 これは、ボリューム・データセットを通して任意のスライスsについて
【0176】
【数37】 に一般化することができる。したがって、オーバーサンプリング方法によって処
理されるサンプルの総カウント数は、
理されるサンプルの総カウント数は、
【0177】
【数38】 となる。同様に、アンダーサンプリング方法(図18A参照)は、以下の仕事量
を実施するように示すことができる。
を実施するように示すことができる。
【0178】
【数39】 本発明のER透視アルゴリズムの場合、分析はより複雑となる。視野ジオメト
リに依存して、
リに依存して、
【0179】
【数40】 領域が創り出される。先に示したように、これらの領域の各々は、好ましくは、
ez・2iスライスを含む。ここで再び、類似三角形のジオメトリック原理を使用
するならば、本発明のER透視アルゴリズムは、以下の数のサンプルを処理する
。
ez・2iスライスを含む。ここで再び、類似三角形のジオメトリック原理を使用
するならば、本発明のER透視アルゴリズムは、以下の数のサンプルを処理する
。
【0180】
【数41】 この式は、以下の上限を有する。
【0181】
【数42】 そして、以下の下限を有する。
【0182】
【数43】 オーバーサンプリング方法(上記のもの)によって処理されるサンプルの総カ
ウント数についての式を点検すると、視点がボリュームに非常に近いとき、オー
バーサンプリング方法がフロント・スライスにO(N4)作業を実行することが
わかる。視点がボリュームのフロントにより接近するように移動するにつれて、
オーバーサンプリング・ランタイムが急速に成長する。上記のアンダーサンプリ
ング式を調べると、視点がボリュームのフロントに接近するにつれて、分子がゼ
ロに接近することがわかる。リア・スライスに実施される仕事量もゼロに接近す
る。アンダーサンプリング方法のランタイムは、視点がボリュームにより近くな
るにつれて、減少する。
ウント数についての式を点検すると、視点がボリュームに非常に近いとき、オー
バーサンプリング方法がフロント・スライスにO(N4)作業を実行することが
わかる。視点がボリュームのフロントにより接近するように移動するにつれて、
オーバーサンプリング・ランタイムが急速に成長する。上記のアンダーサンプリ
ング式を調べると、視点がボリュームのフロントに接近するにつれて、分子がゼ
ロに接近することがわかる。リア・スライスに実施される仕事量もゼロに接近す
る。アンダーサンプリング方法のランタイムは、視点がボリュームにより近くな
るにつれて、減少する。
【0183】 視点ジオメトリに関係なく、本発明のER透視アルゴリズムによって実施され
る仕事量は、1スライス当たりo(N2)およびω(4N2)だけ制限される。こ
の方法のいくつかの利点は、アルゴリズムのランタイムについての上限がボクセ
ルの数についてリニアであり、視野位置から独立しており、また、達成される画
質についての下限も視野位置とは無関係であるということである。したがって、
ユーザは、所望の画質について基本サンプリング・レートを設定することができ
、この所望の画質についてのボリュームの全体にわたってサンプリング・レート
が充分であることが確実になる。
る仕事量は、1スライス当たりo(N2)およびω(4N2)だけ制限される。こ
の方法のいくつかの利点は、アルゴリズムのランタイムについての上限がボクセ
ルの数についてリニアであり、視野位置から独立しており、また、達成される画
質についての下限も視野位置とは無関係であるということである。したがって、
ユーザは、所望の画質について基本サンプリング・レートを設定することができ
、この所望の画質についてのボリュームの全体にわたってサンプリング・レート
が充分であることが確実になる。
【0184】 それと対照的に、普通のオーバーサンプリング方法は、画質についての下限を
提供するが、アルゴリズムのランタイムは、本発明のER透視方法のランタイム
よりもかなり大きくなり得る。普通のアンダーサンプリング方法は、レンダリン
グのためのランタイムについての上限を提供するが、画質はER透視方法よりも
かなり悪くなる可能性がある。
提供するが、アルゴリズムのランタイムは、本発明のER透視方法のランタイム
よりもかなり大きくなり得る。普通のアンダーサンプリング方法は、レンダリン
グのためのランタイムについての上限を提供するが、画質はER透視方法よりも
かなり悪くなる可能性がある。
【0185】 図23を再び参照して、ここには、本発明による、好ましい後から前のER透
視なレイ・キャスティング・アルゴリズムが示してある。図23のアルゴリズム
は、擬似コード表現として示され、Z主要軸線投影を採る。本発明のER透視ア
ルゴリズムは、均一で規則的なグリッド上へ透視投影を実施するときに伝統的な
落し穴に苦しむことがない。このユニークな方法は、オーバーサンプリング方法
よりも急速に実行でき、アンダーサンプリング方法よりも良好な画質を与える。
レイを合併するためのバートレット・フィルタを使用することで、普通ボックス
・フィルタよりも画質を向上させることができる。ER透視アルゴリズムは、入
力データについての効果的フィルタリングを特徴づけることによって適格となる
。
視なレイ・キャスティング・アルゴリズムが示してある。図23のアルゴリズム
は、擬似コード表現として示され、Z主要軸線投影を採る。本発明のER透視ア
ルゴリズムは、均一で規則的なグリッド上へ透視投影を実施するときに伝統的な
落し穴に苦しむことがない。このユニークな方法は、オーバーサンプリング方法
よりも急速に実行でき、アンダーサンプリング方法よりも良好な画質を与える。
レイを合併するためのバートレット・フィルタを使用することで、普通ボックス
・フィルタよりも画質を向上させることができる。ER透視アルゴリズムは、入
力データについての効果的フィルタリングを特徴づけることによって適格となる
。
【0186】 本発明の別の形態によれば、大きなボリュームをレンダリングする方法が提供
される。この方法では、ボリューム・データセットが本発明のCube−5装置
の物理的なシングル・パス能力を超える。この好ましい方法は、ボリューム・デ
ータセットを複数の立方形レンガに細分する。所定のオーダーでレンガを移動さ
せることは、好ましくは、レンダリング前に先のレンガのベースプレーン画像で
Cube−5装置の合成バッファの初期化を可能にする。それによって、レイ・
パスおよび合成は、ボリューム全体を通じてロジック的に拡張される。レンガ間
の境界に関する情報は、好ましくは、正しいサンプリングを保証するために再読
み込みされる。この方法を使用して、最大ボリューム・サイズは、利用できる中
間ベースプレーン記憶量によってのみ制限される。
される。この方法では、ボリューム・データセットが本発明のCube−5装置
の物理的なシングル・パス能力を超える。この好ましい方法は、ボリューム・デ
ータセットを複数の立方形レンガに細分する。所定のオーダーでレンガを移動さ
せることは、好ましくは、レンダリング前に先のレンガのベースプレーン画像で
Cube−5装置の合成バッファの初期化を可能にする。それによって、レイ・
パスおよび合成は、ボリューム全体を通じてロジック的に拡張される。レンガ間
の境界に関する情報は、好ましくは、正しいサンプリングを保証するために再読
み込みされる。この方法を使用して、最大ボリューム・サイズは、利用できる中
間ベースプレーン記憶量によってのみ制限される。
【0187】 透視投影中に複数のボクセルが同じ画像ピクセルに寄与するデータセットの領
域においては、同等の品質の画像が、好ましくは、ディテール・レベル(LOD
)ツリーを使用してレンダリングされる。このツリーは、たとえば、事前処理段
階で増大する近傍サイズのボクセルを結合することによって生成してもよい。L
ODを利用して単一の大きいボリュームを透視レンダリングしている間、好まし
くは、視点にかなり近い、ボリュームの小さい部分だけが、最高精度で読み込ま
れなければならない。視点に関して、ボリュームのより遠い部分を、次に、デー
タのより低い解像度バージョンからレンダリングされ得る。したがって、フレー
ム率および/またはデータセット・サイズは、好ましくは、増大する。本発明の
透視アルゴリズムにおける各領域(先に述べた)は、今や異なったLODのとこ
ろにあるので、領域間でレイを濾過する必要はもはやなく、レイを再分布させる
ことだけが必要である。好ましくは、各LODツリー・レベルの1つの領域だけ
が処理され、したがって、これらの領域だけをメモリ内にページングしなければ
ならない。
域においては、同等の品質の画像が、好ましくは、ディテール・レベル(LOD
)ツリーを使用してレンダリングされる。このツリーは、たとえば、事前処理段
階で増大する近傍サイズのボクセルを結合することによって生成してもよい。L
ODを利用して単一の大きいボリュームを透視レンダリングしている間、好まし
くは、視点にかなり近い、ボリュームの小さい部分だけが、最高精度で読み込ま
れなければならない。視点に関して、ボリュームのより遠い部分を、次に、デー
タのより低い解像度バージョンからレンダリングされ得る。したがって、フレー
ム率および/またはデータセット・サイズは、好ましくは、増大する。本発明の
透視アルゴリズムにおける各領域(先に述べた)は、今や異なったLODのとこ
ろにあるので、領域間でレイを濾過する必要はもはやなく、レイを再分布させる
ことだけが必要である。好ましくは、各LODツリー・レベルの1つの領域だけ
が処理され、したがって、これらの領域だけをメモリ内にページングしなければ
ならない。
【0188】 本発明のディテール・レベル(LOD)方法は、また、、視点から異なった距
離で複数のオブジェクトからなるシーンをレンダリングするのにも使用できる。
このような場合、開始LODは、好ましくは、スクリーン・スペース画像とほぼ
同じサイズのベースプレーン画像をデリバーし、レンダリング時間を画像解像度
に関連付け、オブジェクト・サイズに関連付けない(すなわち、スケール独立性
)ように選ぶ。
離で複数のオブジェクトからなるシーンをレンダリングするのにも使用できる。
このような場合、開始LODは、好ましくは、スクリーン・スペース画像とほぼ
同じサイズのベースプレーン画像をデリバーし、レンダリング時間を画像解像度
に関連付け、オブジェクト・サイズに関連付けない(すなわち、スケール独立性
)ように選ぶ。
【0189】 後から前へのレンダリングも同様に本発明の意図したものであり、本発明の範
囲内に入っているが、ユニークなLOD方法は、ここでは、前から後へのレンダ
リング・コンテキストとして説明する。前から後にレンダリングすることで、レ
ンダリングしようとしているボリュームの最も詳細な表現のスラブで週発するこ
とが好ましい。本発明の好ましい方法においては、ボリューム・スラブの厚さは
、スラブのフロントおよびバックにおける投影ボクセル距離が、先に説明したよ
うな本発明の透視投影と同様に、2の因数だけ異なるように選ぶ。スラブをレン
ダリングした後、現合成バッファ画像をワープ単位で0.5の因数だけスケーリ
ングすると好ましい。これは、半解像度の次のスラブのレンダリングのために合
成バッファを初期化する。好ましくは、各LODのスラブは、1つだけ、実際に
レンダリング・パイプラインを通って流れる。したがって、大きいボリュームの
場合、これらのスラブだけが、オンボード3Dメモリ内にページングされなけれ
ばならない。
囲内に入っているが、ユニークなLOD方法は、ここでは、前から後へのレンダ
リング・コンテキストとして説明する。前から後にレンダリングすることで、レ
ンダリングしようとしているボリュームの最も詳細な表現のスラブで週発するこ
とが好ましい。本発明の好ましい方法においては、ボリューム・スラブの厚さは
、スラブのフロントおよびバックにおける投影ボクセル距離が、先に説明したよ
うな本発明の透視投影と同様に、2の因数だけ異なるように選ぶ。スラブをレン
ダリングした後、現合成バッファ画像をワープ単位で0.5の因数だけスケーリ
ングすると好ましい。これは、半解像度の次のスラブのレンダリングのために合
成バッファを初期化する。好ましくは、各LODのスラブは、1つだけ、実際に
レンダリング・パイプラインを通って流れる。したがって、大きいボリュームの
場合、これらのスラブだけが、オンボード3Dメモリ内にページングされなけれ
ばならない。
【0190】 ここで、本発明の装置がオフライン計算(たとえば、ディテール・レベル(L
OD)の生成やデータセットのフィルタリング)をスピードアップするのにも使
用できることは明らかである。LODを生成するためには、本発明のトリリニア
補間ユニット(Trilin)は、好ましくは、そのすべての重みを0.5にセットす
る。ひとたび新しいサンプルを利用できるようになったならば、これらのサンプ
ルを、好ましくは、サブサンプリングし、新しいボリュームにコンパクト化する
。これが、次のより粗いLODとなる。データセットを濾過するために、トリリ
ニア補間ユニットは、再び、0.5の重みだけを使用する。しかしながら、この
とき、データは圧縮なしにレンダリング・パイプラインの始めに戻される。各付
加的なパスは、すべての主要軸線方向にもう1つのボクセル範囲を有するフィル
タ・カーネルを備える新しい濾過済みのボリュームを創り出す。
OD)の生成やデータセットのフィルタリング)をスピードアップするのにも使
用できることは明らかである。LODを生成するためには、本発明のトリリニア
補間ユニット(Trilin)は、好ましくは、そのすべての重みを0.5にセットす
る。ひとたび新しいサンプルを利用できるようになったならば、これらのサンプ
ルを、好ましくは、サブサンプリングし、新しいボリュームにコンパクト化する
。これが、次のより粗いLODとなる。データセットを濾過するために、トリリ
ニア補間ユニットは、再び、0.5の重みだけを使用する。しかしながら、この
とき、データは圧縮なしにレンダリング・パイプラインの始めに戻される。各付
加的なパスは、すべての主要軸線方向にもう1つのボクセル範囲を有するフィル
タ・カーネルを備える新しい濾過済みのボリュームを創り出す。
【0191】 より高い品質の画像をレンダリングするために、本発明の装置および方法は、
好ましくは、所望のトレードオフに依存して、フル・ハードウェア手段、マルチ
パス・アルゴリズムおよび/またはこれら2つの組み合わせを利用する融通性を
提供する。フル・ハードウェア手段およびマルチパス方法は、好ましくは、2つ
の主要機能領域、すなわち、フィルタリングと補間におけるより正確な計算を提
供する。
好ましくは、所望のトレードオフに依存して、フル・ハードウェア手段、マルチ
パス・アルゴリズムおよび/またはこれら2つの組み合わせを利用する融通性を
提供する。フル・ハードウェア手段およびマルチパス方法は、好ましくは、2つ
の主要機能領域、すなわち、フィルタリングと補間におけるより正確な計算を提
供する。
【0192】 Cube−4アーキテクチャ、すなわち、本発明(Cube−5)の先行モデ
ルは、或る特定の場所でのx、y、z勾配の各々を評価するために2つだけのサ
ンプル・ポイントを持つ中央差分勾配フィルタを利用する。より大きい3Dフィ
ルタが、より正確な勾配評価をデリバーすることができる。たとえば、Sobe
lフィルタ(中心ポイントからのマンハッタン距離の逆数から誘導した重みを持
つ33フィルタ)である。しかしながら、33フィルタの直接的なハードウェア機
能は、27台の乗算器と26台の加算器を必要とする。
ルは、或る特定の場所でのx、y、z勾配の各々を評価するために2つだけのサ
ンプル・ポイントを持つ中央差分勾配フィルタを利用する。より大きい3Dフィ
ルタが、より正確な勾配評価をデリバーすることができる。たとえば、Sobe
lフィルタ(中心ポイントからのマンハッタン距離の逆数から誘導した重みを持
つ33フィルタ)である。しかしながら、33フィルタの直接的なハードウェア機
能は、27台の乗算器と26台の加算器を必要とする。
【0193】 本発明の装置は、対称形回旋フィルタを使用することによってこの高価な従来
技術方法の代替案を提供する。この回旋フィルタは、3台の乗算器と6台の加算
器のみを能率的に備えることが可能であり、これはコスト節減にとって意味があ
ることである。1勾配成分当たりのハードウェアの複製は、好ましくは、代わり
に3パス・アルゴリズムを適用することによって避けることができる。たとえば
、図25は、Sobel勾配フィルタのx成分の対称形近似を示している。各ス
テージ内で、重みは、好ましくは、合計前に最も近い隣接体に適用される。図2
5を参照して、各ステージが生データの代わりに前のステージの出力に作動する
場合、図25に示した重みは、Sobel勾配フィルタの33対称形近似(図2
5の右側)を効果的に生成する。x重みを{1 w 1}に変えることで、その代わ
りに、ガウス・フィルタの近似を生成することになる。
技術方法の代替案を提供する。この回旋フィルタは、3台の乗算器と6台の加算
器のみを能率的に備えることが可能であり、これはコスト節減にとって意味があ
ることである。1勾配成分当たりのハードウェアの複製は、好ましくは、代わり
に3パス・アルゴリズムを適用することによって避けることができる。たとえば
、図25は、Sobel勾配フィルタのx成分の対称形近似を示している。各ス
テージ内で、重みは、好ましくは、合計前に最も近い隣接体に適用される。図2
5を参照して、各ステージが生データの代わりに前のステージの出力に作動する
場合、図25に示した重みは、Sobel勾配フィルタの33対称形近似(図2
5の右側)を効果的に生成する。x重みを{1 w 1}に変えることで、その代わ
りに、ガウス・フィルタの近似を生成することになる。
【0194】 本発明は、付加的なハードウェアを必要としないが、フレーム率を低下させる
より高い品質のレンダリング・モードを意図している。このような例の1つは、
ディテール・レベル(LOD)情報を利用することによって勾配評価へのより大
きい近傍寄与率を達成することである。中央差分勾配が次のより粗いLODのデ
ータについて計算される場合、6×4×2フィルタを同等に効果的に使用する。
この場合、6は、現勾配成分の方向における範囲にある。本発明の装置(すなわ
ち、Cube−5アーキテクチャ)は、データのミップ・マッピングしたLOD
表現を保持することができるので、このフィルタは、単純な中央差分解を越えて
、本質的にハードウェアの増加なしに、達成することができる。
より高い品質のレンダリング・モードを意図している。このような例の1つは、
ディテール・レベル(LOD)情報を利用することによって勾配評価へのより大
きい近傍寄与率を達成することである。中央差分勾配が次のより粗いLODのデ
ータについて計算される場合、6×4×2フィルタを同等に効果的に使用する。
この場合、6は、現勾配成分の方向における範囲にある。本発明の装置(すなわ
ち、Cube−5アーキテクチャ)は、データのミップ・マッピングしたLOD
表現を保持することができるので、このフィルタは、単純な中央差分解を越えて
、本質的にハードウェアの増加なしに、達成することができる。
【0195】 本発明によって提供される別のより高い品質のマルチパス・レンダリング・モ
ード(付加的なハードウェアは必要ない)は、医療分野やその他の分野で有利な
用途を有するトリキュービック補間の近似である。このモードは、より正確な再
サンプリングおよびイソポジション計算を可能にする。これのために、本発明は
、好ましくは、ピースワイズ43ボクセル・フィルタを一連のリニア補間および
外挿に分解する。これは、すべてのディメンジョンで対称的であり、中間結果の
効果的な再利用を可能にする。
ード(付加的なハードウェアは必要ない)は、医療分野やその他の分野で有利な
用途を有するトリキュービック補間の近似である。このモードは、より正確な再
サンプリングおよびイソポジション計算を可能にする。これのために、本発明は
、好ましくは、ピースワイズ43ボクセル・フィルタを一連のリニア補間および
外挿に分解する。これは、すべてのディメンジョンで対称的であり、中間結果の
効果的な再利用を可能にする。
【0196】 より高い品質のレンダリングを実施する際して、多パス・アルゴリズムを使用
するのとは逆に、Cube−5パイプライン内により正確で融通性のある勾配評
価を与えるための付加的なハードウェアを使用することには、或る種のトレード
オフがあることは了解されたい。一般に、多パス・アルゴリズムを使用すること
で、本発明のアドレス生成・制御ユニット(図5参照)を変えて計算目的のため
のパイプラインを一時的に停止させることが必要であり、それと共に、ハードウ
ェア方法が付加的な特定用途向け集積回路(ASIC)ロジックと、より大きい
近傍をサポートするための付加的なコネクションとが必要である。
するのとは逆に、Cube−5パイプライン内により正確で融通性のある勾配評
価を与えるための付加的なハードウェアを使用することには、或る種のトレード
オフがあることは了解されたい。一般に、多パス・アルゴリズムを使用すること
で、本発明のアドレス生成・制御ユニット(図5参照)を変えて計算目的のため
のパイプラインを一時的に停止させることが必要であり、それと共に、ハードウ
ェア方法が付加的な特定用途向け集積回路(ASIC)ロジックと、より大きい
近傍をサポートするための付加的なコネクションとが必要である。
【0197】 強化したボリューム・レンダリング能力に関して、本発明の好ましい実施例は
、任意のプレーンによるクリッピングをサポートする。各プレーンからの距離は
、好ましくは、1プレーン当たりレジスタと1つの加算器だけを使用して増分計
算することができる。目で見えるように正方向だけを定める普通のクリッピング
・プレーンに加えて、本発明の装置は、好ましくは、所定オフセットの外側に位
置するすべてのサンプルを無効にすることによって、斜めのマルチ平面再フォー
マット化(MPR)のためのデータセットから任意の厚いスライスを抽出するこ
とをサポートする。
、任意のプレーンによるクリッピングをサポートする。各プレーンからの距離は
、好ましくは、1プレーン当たりレジスタと1つの加算器だけを使用して増分計
算することができる。目で見えるように正方向だけを定める普通のクリッピング
・プレーンに加えて、本発明の装置は、好ましくは、所定オフセットの外側に位
置するすべてのサンプルを無効にすることによって、斜めのマルチ平面再フォー
マット化(MPR)のためのデータセットから任意の厚いスライスを抽出するこ
とをサポートする。
【0198】 軸線整合したカッティング・プレーンが、当該立方体に対して横方向にボリュ
ームを制限することによって、実施されると好ましい。あるいは、本発明は、ボ
リュームからの単純な立方体を排除するようにこの横断を制限すること(たとえ
ば、ボリュームのほとんどの八分円を視覚化すること)も意図している。
ームを制限することによって、実施されると好ましい。あるいは、本発明は、ボ
リュームからの単純な立方体を排除するようにこの横断を制限すること(たとえ
ば、ボリュームのほとんどの八分円を視覚化すること)も意図している。
【0199】 クリッピングに加えて、本発明は、さらに、オブジェクトのカラーを変調して
、たとえば、半透明の媒体を通る光の大気減衰をシミュレーションするデプス・
キューイングを意図している。当業者によって明らかなように、この現象は、媒
体も或る種のカラー(たとえば、白色または灰色)に寄与するとき、霧またはか
すみと呼ばれる。本発明に従ってこの特徴を実施するために、通常、転送機能を
修正することによって、はっきりした領域を半透明なカラーと共に置くと好まし
い(たとえば、デプス・キューイングの場合には黒、霧の場合には白)。各最終
ピクセルは、好ましくは、さらに、減衰され、視点からボリュームの表面までの
距離を勘案する。これは、ワーピングの一部として実施されると好ましい。
、たとえば、半透明の媒体を通る光の大気減衰をシミュレーションするデプス・
キューイングを意図している。当業者によって明らかなように、この現象は、媒
体も或る種のカラー(たとえば、白色または灰色)に寄与するとき、霧またはか
すみと呼ばれる。本発明に従ってこの特徴を実施するために、通常、転送機能を
修正することによって、はっきりした領域を半透明なカラーと共に置くと好まし
い(たとえば、デプス・キューイングの場合には黒、霧の場合には白)。各最終
ピクセルは、好ましくは、さらに、減衰され、視点からボリュームの表面までの
距離を勘案する。これは、ワーピングの一部として実施されると好ましい。
【0200】 本発明の装置は、さらに、x、y方向における2の好ましいデフォルト・スー
パーサンプリング・レートでスーパーサンプリングした画像のレンダリングをサ
ポートするが、他のサンプリング・レートも考えられる。画質をさらに向上させ
るために、各レイに沿ったサンプリング・レートを増大させてもよい。どちらの
方法も、3Dメモリからボクセルを再読み込みする必要がない。本発明の装置は
、好ましくは、ボリューム横断オーダーを変え、既にバッファ内に存在するボク
セルを繰り返し読み出すようにする。ボクセルを再利用されるたびに、新しい重
みが、好ましくは、新しい再サンプリング位置を反映するように本発明のトリリ
ニア補間ユニット(Trilin)で利用される。
パーサンプリング・レートでスーパーサンプリングした画像のレンダリングをサ
ポートするが、他のサンプリング・レートも考えられる。画質をさらに向上させ
るために、各レイに沿ったサンプリング・レートを増大させてもよい。どちらの
方法も、3Dメモリからボクセルを再読み込みする必要がない。本発明の装置は
、好ましくは、ボリューム横断オーダーを変え、既にバッファ内に存在するボク
セルを繰り返し読み出すようにする。ボクセルを再利用されるたびに、新しい重
みが、好ましくは、新しい再サンプリング位置を反映するように本発明のトリリ
ニア補間ユニット(Trilin)で利用される。
【0201】 本発明における好ましいスーパーサンプリング実施例においては、中央差分勾
配が、1距離単位隔たった隣接体間で計算され、充分な精度を保証する。これら
の勾配は、好ましくは、最初に差分を取り出し、その後補間することによるか、
または、最初に補間し、次いで、k個の位置隔たった(k×オーバーサンプリン
グと仮定する)隣接体間の差分、好ましくは中間隣接体のではない差分を採用す
ることによって計算される。新しいα′値を計算するとき、分類ステージは、新
しいサンプル間距離を考慮しなければならない。したがって、スーパーサンプリ
ング中、ボリュームは、好ましくは、各スライス内のインタリーブされたパター
ンにおいて横断させられることになる。これは、本質的に、半透明の材料(ゲル
)がサンプリング・レートから独立して蓄積された不透明度(RGBα値)を保
つことを保証する。したがって、たとえば、z方向におけるkのオーバーサンプ
リング因数の場合、修正済みのα′値が使用されると好ましい。ここで、α′=
1−(1−α)1/k。
配が、1距離単位隔たった隣接体間で計算され、充分な精度を保証する。これら
の勾配は、好ましくは、最初に差分を取り出し、その後補間することによるか、
または、最初に補間し、次いで、k個の位置隔たった(k×オーバーサンプリン
グと仮定する)隣接体間の差分、好ましくは中間隣接体のではない差分を採用す
ることによって計算される。新しいα′値を計算するとき、分類ステージは、新
しいサンプル間距離を考慮しなければならない。したがって、スーパーサンプリ
ング中、ボリュームは、好ましくは、各スライス内のインタリーブされたパター
ンにおいて横断させられることになる。これは、本質的に、半透明の材料(ゲル
)がサンプリング・レートから独立して蓄積された不透明度(RGBα値)を保
つことを保証する。したがって、たとえば、z方向におけるkのオーバーサンプ
リング因数の場合、修正済みのα′値が使用されると好ましい。ここで、α′=
1−(1−α)1/k。
【0202】 異方性データセットは、異なった軸線に沿ったサンプル間の異なった距離を有
する。したがって、勾配計算および最終的な二次元(2D)画像ワープは、好ま
しくは、軸線依存スケーリング因数を必要とする。それに加えて、サイト・レイ
がボリューム・データセットを通してキャスティングされつつある方向は、好ま
しくは、暗黙のボリューム・スケーリングを勘案するように調整を必要とする。
これは、等方性グリッドに異方性データを記憶するときに生じる。α′値は、好
ましくは、サイト・レイがボクセル・セルを通して移動する方向依存距離dに従
って、調整される。訂正されたα′は、α′=1−(1−α)dである。ここで
、方向依存距離dは、好ましくは、範囲
する。したがって、勾配計算および最終的な二次元(2D)画像ワープは、好ま
しくは、軸線依存スケーリング因数を必要とする。それに加えて、サイト・レイ
がボリューム・データセットを通してキャスティングされつつある方向は、好ま
しくは、暗黙のボリューム・スケーリングを勘案するように調整を必要とする。
これは、等方性グリッドに異方性データを記憶するときに生じる。α′値は、好
ましくは、サイト・レイがボクセル・セルを通して移動する方向依存距離dに従
って、調整される。訂正されたα′は、α′=1−(1−α)dである。ここで
、方向依存距離dは、好ましくは、範囲
【0203】
【数44】 内にある。
【0204】 上記のボリューム・レンダリング能力を強化する方法に加えて、本発明は、さ
らに、ポリゴンとボリュームの混合、ポリゴンのボクセル化、複数のオーバーラ
ップしているボリュームのレンダリング、テクスチャ・マッピングの実施および
画像ベース・レンダリングの加速を含むユニバーサル三次元(3D)レンダリン
グを行ういくつかのユニークな方法を提供する。これらの方法を、より詳しく以
下に説明する。
らに、ポリゴンとボリュームの混合、ポリゴンのボクセル化、複数のオーバーラ
ップしているボリュームのレンダリング、テクスチャ・マッピングの実施および
画像ベース・レンダリングの加速を含むユニバーサル三次元(3D)レンダリン
グを行ういくつかのユニークな方法を提供する。これらの方法を、より詳しく以
下に説明する。
【0205】 本発明の重要な局面は、単一の画像においてジオメトリック・オブジェクト(
すなわち、ポリゴン)およびボリュームを正しく混合するそのユニークな能力に
ある。本発明の装置(すなわち、Cube−5)は、好ましくは、普通のジオメ
トリ・ハードウェアに影響を及ぼして、Cube−5ボリューム・レンダリング
・パイプラインと共に不透明、半透明のポリゴンをレンダリングする。
すなわち、ポリゴン)およびボリュームを正しく混合するそのユニークな能力に
ある。本発明の装置(すなわち、Cube−5)は、好ましくは、普通のジオメ
トリ・ハードウェアに影響を及ぼして、Cube−5ボリューム・レンダリング
・パイプラインと共に不透明、半透明のポリゴンをレンダリングする。
【0206】 本発明の好ましい方法においては、ボリュームおよび不透明なポリゴンを含む
シーンをレンダリングするために、すべての不透明なポリゴンを、まず、Zバッ
ファ上に投影する。このZバッファは、所定のベースプレーンと一致し、ボリュ
ーム・サンプル距離と一致するに充分な解像度を有する。Zバッファを使用する
ことで、好ましくは、ボリュームのどのスライスがベースプレーン画像の各ピク
セルについてポリゴンのフロントにあるかついて判定がなされる。次に、好まし
くは、合成バッファをプリロードする(すなわち、初期化する)。このとき、こ
の投影されたRGBαZ(すなわち、Zバッファ)画像は、ポリゴンのカラーお
よびデプス画像を表している。その後、ボリュームを合成バッファにおいて可能
にされたz比較でレンダリングする。不透明なポリゴンのデプス値をチェックし
て、不透明なポリゴンで隠されたボリューム・サンプルを最終画像に寄与させ続
ける。最終的に、不透明なポリゴンは、背後にボリュームを隠し、フロントにあ
るボリュームがポリゴン上に正しく合成される。
シーンをレンダリングするために、すべての不透明なポリゴンを、まず、Zバッ
ファ上に投影する。このZバッファは、所定のベースプレーンと一致し、ボリュ
ーム・サンプル距離と一致するに充分な解像度を有する。Zバッファを使用する
ことで、好ましくは、ボリュームのどのスライスがベースプレーン画像の各ピク
セルについてポリゴンのフロントにあるかついて判定がなされる。次に、好まし
くは、合成バッファをプリロードする(すなわち、初期化する)。このとき、こ
の投影されたRGBαZ(すなわち、Zバッファ)画像は、ポリゴンのカラーお
よびデプス画像を表している。その後、ボリュームを合成バッファにおいて可能
にされたz比較でレンダリングする。不透明なポリゴンのデプス値をチェックし
て、不透明なポリゴンで隠されたボリューム・サンプルを最終画像に寄与させ続
ける。最終的に、不透明なポリゴンは、背後にボリュームを隠し、フロントにあ
るボリュームがポリゴン上に正しく合成される。
【0207】 換言すれば、本発明の好ましい方法によれば、合成バッファはzバッファ画像
{Cz、Zz}でプリロードされる。ここで、Czは、ジオメトリ・サンプルの値を表
しており、Zzは、所定視点からジオメトリ・サンプルのデプスを表している。後
から前への合成中、ボリューム・サンプルがジオメトリの後にあるとき(すなわ
ち、サンプルZsのデプスがジオメトリ・デプスZzより大きいとき)、合成バッ
ファCoutにおける生じた出力ピクセルは、好ましくは、ジオメトリ・サンプル
値Czに等しくなる。同様に、前から後への合成中、当業者には明らかなように、
サンプルは、好ましくは、Porter-Duff over operatorを使用して合成される。P
orter-Duffα合成ルールについての詳しい説明は、たとえば、テキストComposit
ing Digital Images, by T. Porter and T. Duff, Computer Graphics (SIGGR
APH84), vol. 18, no. 3, pp. 253-259, July 1984にある。この文献は、参考
資料としてここに援用する。したがって、合成バッファの結果生じた出力ピクセ
ルCoutは、好ましくは、ボリューム・サンプルがジオメトリのフロントにあると
き(すなわち、ボリューム・サンプルZsのデプスがジオメトリ・デプスZzより小
さいとき)、ジオメトリ・サンプル値Czを通じてボリューム・サンプル値Csに等
しくなる。
{Cz、Zz}でプリロードされる。ここで、Czは、ジオメトリ・サンプルの値を表
しており、Zzは、所定視点からジオメトリ・サンプルのデプスを表している。後
から前への合成中、ボリューム・サンプルがジオメトリの後にあるとき(すなわ
ち、サンプルZsのデプスがジオメトリ・デプスZzより大きいとき)、合成バッ
ファCoutにおける生じた出力ピクセルは、好ましくは、ジオメトリ・サンプル
値Czに等しくなる。同様に、前から後への合成中、当業者には明らかなように、
サンプルは、好ましくは、Porter-Duff over operatorを使用して合成される。P
orter-Duffα合成ルールについての詳しい説明は、たとえば、テキストComposit
ing Digital Images, by T. Porter and T. Duff, Computer Graphics (SIGGR
APH84), vol. 18, no. 3, pp. 253-259, July 1984にある。この文献は、参考
資料としてここに援用する。したがって、合成バッファの結果生じた出力ピクセ
ルCoutは、好ましくは、ボリューム・サンプルがジオメトリのフロントにあると
き(すなわち、ボリューム・サンプルZsのデプスがジオメトリ・デプスZzより小
さいとき)、ジオメトリ・サンプル値Czを通じてボリューム・サンプル値Csに等
しくなる。
【0208】 すべての断片(半透明のポリゴン・ピクセルおよびボリューム・サンプルの両
方)は位相的デプス・ソーテッド・オーダーで描かれなければならないので、半
透明ポリゴンは、より複雑な状況を採る。これは、over operatorを持つ合成半
透明断片は交換可能でないので、必要である。したがって、ポリゴンは、シーン
または視野ジオメトリが変わるときはいつでも、リデプス・ソートされなければ
ならない。さらに、ソーティングは、デプス・サイクルの取り扱いを含めて、位
相的に正しくなければならない。
方)は位相的デプス・ソーテッド・オーダーで描かれなければならないので、半
透明ポリゴンは、より複雑な状況を採る。これは、over operatorを持つ合成半
透明断片は交換可能でないので、必要である。したがって、ポリゴンは、シーン
または視野ジオメトリが変わるときはいつでも、リデプス・ソートされなければ
ならない。さらに、ソーティングは、デプス・サイクルの取り扱いを含めて、位
相的に正しくなければならない。
【0209】 或る種のハードウェア・ソーティング・サポートを与えるためにAバッファを
使用するアーキテクチャが提案されているが、ハードウェアにおいてAバッファ
を実装することで、一回だけのパスでほんの限られたデプス複雑性(すなわち、
1ピクセル当たりのオーバーラップしているポリゴンの数)を可能にするが、こ
れは高価である。たとえば、普通のAバッファ・アルゴリズムの説明は、たとえ
ば、テキストThe A-Buffer, an Antialiased Hidden Surface Method, by L. C
arpenter, Computer Graphics (SIG GRAPH 84), vol. 18, no. 3, pages 103-
108, July 1984に見出すことができる。
使用するアーキテクチャが提案されているが、ハードウェアにおいてAバッファ
を実装することで、一回だけのパスでほんの限られたデプス複雑性(すなわち、
1ピクセル当たりのオーバーラップしているポリゴンの数)を可能にするが、こ
れは高価である。たとえば、普通のAバッファ・アルゴリズムの説明は、たとえ
ば、テキストThe A-Buffer, an Antialiased Hidden Surface Method, by L. C
arpenter, Computer Graphics (SIG GRAPH 84), vol. 18, no. 3, pages 103-
108, July 1984に見出すことができる。
【0210】 好ましい方法において、本発明は、スライス・オーダー・レイ・キャスティン
グにポリゴン・レンダリングを適応させ、ポリゴン毎あるいはピクセル毎よりも
むしろ、ボリューム・スライス毎に全レンダリング・プロセスを同期化する。C
ube−5装置は、好ましくは、図26に示すように、ボリューム・サンプル2
12のスライス間にインタリーブされた、あるいは、ぴったり適合する薄いスラ
ブのジオメトリック・オブジェクトをレンダリングするのにジオメトリ・パイプ
ラインおよび普通のグラフィックス・ハードウェアを利用する。
グにポリゴン・レンダリングを適応させ、ポリゴン毎あるいはピクセル毎よりも
むしろ、ボリューム・スライス毎に全レンダリング・プロセスを同期化する。C
ube−5装置は、好ましくは、図26に示すように、ボリューム・サンプル2
12のスライス間にインタリーブされた、あるいは、ぴったり適合する薄いスラ
ブのジオメトリック・オブジェクトをレンダリングするのにジオメトリ・パイプ
ラインおよび普通のグラフィックス・ハードウェアを利用する。
【0211】 次いで図26を参照して、ボリュームの各スライスは、好ましくは、ボリュー
ム保存軸線に対して垂直なプレーンでサンプリングされる。これらのプレーンは
、目または視点214から最も遠いところから目に最も近いところまでデプス・
オーダーで(たとえば、遠近クリッピング・プレーンを使用することで)描写さ
れる。したがって、ボリュメトリック・データと半透明のポリゴンを混合するた
めに、ポリゴン210の薄いスラブは、好ましくは、ボリューム・サンプル21
2のスライス間にレンダリングされ、合成される。ここで、スラブ210がボリ
ューム・サンプル・プレーンの2つの連続したスライス間に位置する半透明オブ
ジェクトのすべてを表すことは明らかである。スラブの境界は、好ましくは、す
べてのレンダリングされたスラブ210の結合が任意の領域(たとえば、図26
に示すような、(], (], (])を失ったり、重複させたりすることがないように
定められる。ボリューム・スライスおよび半透明ポリゴン・スラブ210からの
データは、交互に相互にぴったりと適合させられる。こうして、すべての寄与し
ている実体の正しいデプス・オーダリングが保存され、それらを合成するのにov
er operatorを使用して最終画像ピクセルに正しいカラーを創り出す。
ム保存軸線に対して垂直なプレーンでサンプリングされる。これらのプレーンは
、目または視点214から最も遠いところから目に最も近いところまでデプス・
オーダーで(たとえば、遠近クリッピング・プレーンを使用することで)描写さ
れる。したがって、ボリュメトリック・データと半透明のポリゴンを混合するた
めに、ポリゴン210の薄いスラブは、好ましくは、ボリューム・サンプル21
2のスライス間にレンダリングされ、合成される。ここで、スラブ210がボリ
ューム・サンプル・プレーンの2つの連続したスライス間に位置する半透明オブ
ジェクトのすべてを表すことは明らかである。スラブの境界は、好ましくは、す
べてのレンダリングされたスラブ210の結合が任意の領域(たとえば、図26
に示すような、(], (], (])を失ったり、重複させたりすることがないように
定められる。ボリューム・スライスおよび半透明ポリゴン・スラブ210からの
データは、交互に相互にぴったりと適合させられる。こうして、すべての寄与し
ている実体の正しいデプス・オーダリングが保存され、それらを合成するのにov
er operatorを使用して最終画像ピクセルに正しいカラーを創り出す。
【0212】 本発明の好ましい方法によれば、不透明なポリゴンは、まず、Zバッファリン
グで描かれる。任意のボリューム・スライスを描く前に、ボリューム範囲の後に
位置する半透明のポリゴンが、好ましくは、任意普通の半透明ポリゴン・レンダ
リング・アルゴリズム(たとえば、ペインタ)を使用して不透明ポリゴン上に描
かれる。同様に、ボリュームのフロントに位置する半透明ポリゴンは、アルゴリ
ズムの混合部分の後に描かれると好ましい。ボリューム境界内にデプス方向に位
置するが、ボリュームのトップ/ボトム/サイドまでデプス方向に位置するポリ
ゴンは、好ましくは、ボリューム・スライスが半透明ポリゴンを無限にカッティ
ングするように延びるプレーンであったかのように、スライス・オーダーで描か
れる。
グで描かれる。任意のボリューム・スライスを描く前に、ボリューム範囲の後に
位置する半透明のポリゴンが、好ましくは、任意普通の半透明ポリゴン・レンダ
リング・アルゴリズム(たとえば、ペインタ)を使用して不透明ポリゴン上に描
かれる。同様に、ボリュームのフロントに位置する半透明ポリゴンは、アルゴリ
ズムの混合部分の後に描かれると好ましい。ボリューム境界内にデプス方向に位
置するが、ボリュームのトップ/ボトム/サイドまでデプス方向に位置するポリ
ゴンは、好ましくは、ボリューム・スライスが半透明ポリゴンを無限にカッティ
ングするように延びるプレーンであったかのように、スライス・オーダーで描か
れる。
【0213】 OpenGLを使用して、半透明ポリゴン・オブジェクトの薄いスラブを直接的にレ
ンダリングしてもよい。ポリゴンは、OpenGLに含まれるグーロー・シェーディン
グ模型を使用してシェーディングされると好ましい。素朴な方法としては、すべ
てのスラブについて半透明ポリゴンの完全セットをレンダリングし、データの現
行の薄いスラブを切るようにより高くてもっと遠くのクリッピング・プレーンを
セットすることである。しかしながら、n3ボリュームの場合、レンダリングしな
ければならないn個までの薄いスラブがあり得る。代表的なシーンが薄いスラブ
のすべてにわたる極めて少ないポリゴンを含んでいるので、本発明は、ポリゴン
をスラブ境界にクリッピングし、各スラブ内のポリゴン部分をレンダリングする
だけの代替方法も意図している。これは、実質的に、ポリゴン・パイプラインに
かかる処理負荷を減らす。しかしながら、各薄いスラブの2つのプレーンに対し
てすべてのポリゴンをクリッピングするアプリケーションが必要となる。
ンダリングしてもよい。ポリゴンは、OpenGLに含まれるグーロー・シェーディン
グ模型を使用してシェーディングされると好ましい。素朴な方法としては、すべ
てのスラブについて半透明ポリゴンの完全セットをレンダリングし、データの現
行の薄いスラブを切るようにより高くてもっと遠くのクリッピング・プレーンを
セットすることである。しかしながら、n3ボリュームの場合、レンダリングしな
ければならないn個までの薄いスラブがあり得る。代表的なシーンが薄いスラブ
のすべてにわたる極めて少ないポリゴンを含んでいるので、本発明は、ポリゴン
をスラブ境界にクリッピングし、各スラブ内のポリゴン部分をレンダリングする
だけの代替方法も意図している。これは、実質的に、ポリゴン・パイプラインに
かかる処理負荷を減らす。しかしながら、各薄いスラブの2つのプレーンに対し
てすべてのポリゴンをクリッピングするアプリケーションが必要となる。
【0214】 図27に示すように、本発明は、2つのクリッピング・プレーン216、21
8が平行であって、プレーン間に位置するポリゴン部分のみを保持するという事
実の利点を採用することを意図している。これは各プレーンに対して別個にクリ
ッピングするよりも少ないポリゴンを創り出すけれども、なお、劇的に三角形カ
ウントを増やすことができる。第1のケースは、三角形220が薄いスラブと交
差するが、頂点はスラブ境界216、218内にはまったくないときに生じる。
これが生じたとき、1つの頂点は、スラブの片側にあり、他の2つ頂点は、スラ
ブの反対側にあり、2つの三角形に分解される台形を創り出さなければならない
。次に、三角形の1つの頂点がスラブ内にあるときを考える。1つの状況におい
て、残りの2の頂点が現スラブの同じ側に位置するように、三角形222はスラ
ブと交差し、たった1つの三角形を作る。第2の状況において、残りの2つの頂
点が現スラブの反対側に位置するように、三角形224がスラブと交差する。こ
れは、五角形または3つの三角形を生じさせるので、最悪のケース状況である。
最終ケースは、2つの頂点が同じスラブ内に位置するように三角形226がスラ
ブと交差するときに生じ、ここでも再び、台形が創り出され、2つの三角形を生
じさせることになる。
8が平行であって、プレーン間に位置するポリゴン部分のみを保持するという事
実の利点を採用することを意図している。これは各プレーンに対して別個にクリ
ッピングするよりも少ないポリゴンを創り出すけれども、なお、劇的に三角形カ
ウントを増やすことができる。第1のケースは、三角形220が薄いスラブと交
差するが、頂点はスラブ境界216、218内にはまったくないときに生じる。
これが生じたとき、1つの頂点は、スラブの片側にあり、他の2つ頂点は、スラ
ブの反対側にあり、2つの三角形に分解される台形を創り出さなければならない
。次に、三角形の1つの頂点がスラブ内にあるときを考える。1つの状況におい
て、残りの2の頂点が現スラブの同じ側に位置するように、三角形222はスラ
ブと交差し、たった1つの三角形を作る。第2の状況において、残りの2つの頂
点が現スラブの反対側に位置するように、三角形224がスラブと交差する。こ
れは、五角形または3つの三角形を生じさせるので、最悪のケース状況である。
最終ケースは、2つの頂点が同じスラブ内に位置するように三角形226がスラ
ブと交差するときに生じ、ここでも再び、台形が創り出され、2つの三角形を生
じさせることになる。
【0215】 本発明の好ましい実施例において、半透明ポリゴンにバケット・ソーティング
方法が適用される。視野ジオメトリが変わるときはいつでも、ボリューム・サン
プルの配置がそれらのジオメトリに対する位置を変える。したがって、本発明は
、好ましくは、2つのボリューム・サンプル・プレーン間に各薄いスラブについ
てバケットを創り出す。シーンにおける半透明ポリゴンのすべては、好ましくは
、横断され、各ポリゴンが、それの交差するスラブの各々についてバケット内に
置かれる。たとえば、図28に示すように、三角形T1は、全部で6つのスラブ
S1〜S6をスパンしているので、全部で6つのバケット内に置かれる。三角形
T2は、スラブS2、S3に対応するバケット内に置かれ、残りの三角形につい
ても同様に行われる。図28に示す例の場合、4つの三角形T1〜T4をバケッ
トに入れることで、グラフィックス・パイプラインに送られる三角形が12個と
なる。それと比較して、三角形がスラブ境界にクリッピングされている場合、2
0個の三角形がグラフィックス・パイプラインに送られることになろう。
方法が適用される。視野ジオメトリが変わるときはいつでも、ボリューム・サン
プルの配置がそれらのジオメトリに対する位置を変える。したがって、本発明は
、好ましくは、2つのボリューム・サンプル・プレーン間に各薄いスラブについ
てバケットを創り出す。シーンにおける半透明ポリゴンのすべては、好ましくは
、横断され、各ポリゴンが、それの交差するスラブの各々についてバケット内に
置かれる。たとえば、図28に示すように、三角形T1は、全部で6つのスラブ
S1〜S6をスパンしているので、全部で6つのバケット内に置かれる。三角形
T2は、スラブS2、S3に対応するバケット内に置かれ、残りの三角形につい
ても同様に行われる。図28に示す例の場合、4つの三角形T1〜T4をバケッ
トに入れることで、グラフィックス・パイプラインに送られる三角形が12個と
なる。それと比較して、三角形がスラブ境界にクリッピングされている場合、2
0個の三角形がグラフィックス・パイプラインに送られることになろう。
【0216】 バケット法に代わる案は、走査変換ポリゴンで利用される能動エッジ・リスト
と同様の能動三角形リストを作ることである。三角形は、それらが交差する第1
のスライスのところで能動リスト内に置き、三角形がもはや任意のスライスと交
差しなくなったときにリストから外すことができる。各三角形が最初にどのスラ
イスに遭遇したかを示すデータ構造を事前計算すると好ましい。この前処理は、
本質的に、バケット法と同じであるが、バケット法では、各スライスについて三
角形除去をチェックしなくてもよい。
と同様の能動三角形リストを作ることである。三角形は、それらが交差する第1
のスライスのところで能動リスト内に置き、三角形がもはや任意のスライスと交
差しなくなったときにリストから外すことができる。各三角形が最初にどのスラ
イスに遭遇したかを示すデータ構造を事前計算すると好ましい。この前処理は、
本質的に、バケット法と同じであるが、バケット法では、各スライスについて三
角形除去をチェックしなくてもよい。
【0217】 本発明の方法の1つ利点は、所定フレーム率を維持するために画質をトレード
オフする方を選ぶ用途の場合、ボリュームについて描かれるスライスの数が減少
するにつれて描かれるポリゴンの数が減少するということである。ボリューム・
スライスの数が減少するにつれてインタースライス・サイズが増加するため、こ
れが生じる。達成されるレンダリング率は、描かれるポリゴンの数および描かれ
るボリューム・サンプルの数(これは、描かれるボリューム・スライスの数に比
例する)にほぼ比例する。このトレードオフから生じる画質劣化は、任意のボリ
ューム・レンダリング・アルゴリズムにおいてより少しのサンプルを取り出すこ
とと同様に、ボリューム・データにのみ影響を及ぼす。
オフする方を選ぶ用途の場合、ボリュームについて描かれるスライスの数が減少
するにつれて描かれるポリゴンの数が減少するということである。ボリューム・
スライスの数が減少するにつれてインタースライス・サイズが増加するため、こ
れが生じる。達成されるレンダリング率は、描かれるポリゴンの数および描かれ
るボリューム・サンプルの数(これは、描かれるボリューム・スライスの数に比
例する)にほぼ比例する。このトレードオフから生じる画質劣化は、任意のボリ
ューム・レンダリング・アルゴリズムにおいてより少しのサンプルを取り出すこ
とと同様に、ボリューム・データにのみ影響を及ぼす。
【0218】 半透明のジオメトリおよびボリュームを混合するとき、1つの薄いスラブ内の
同じピクセルに描かれつつある2つまたはそれ以上の半透明ポリゴンを取り扱う
ためオプションが少なくとも3つ存在する。第1のオプションにおいて、ポリゴ
ンは、over operatorをもって規則的な処理オーダーで描くことができる。この
方法は不正確なカラーを生成する可能性があるが、ポリゴンが薄いスラブ内にバ
ケッティングすることによってなおソートされるので、カラー・エラー量は制限
される。
同じピクセルに描かれつつある2つまたはそれ以上の半透明ポリゴンを取り扱う
ためオプションが少なくとも3つ存在する。第1のオプションにおいて、ポリゴ
ンは、over operatorをもって規則的な処理オーダーで描くことができる。この
方法は不正確なカラーを生成する可能性があるが、ポリゴンが薄いスラブ内にバ
ケッティングすることによってなおソートされるので、カラー・エラー量は制限
される。
【0219】 2つまたはそれ以上の半透明ポリゴンを取り扱う別の方法は、オンザフライ・
ボクセル化として2つのボリューム・サンプル・スライス間に半透明ポリゴンの
薄いスラブを描くことである。普通のボクセル化方法では、表面が3Dボリュー
ム・グリッドに変換された3D走査であるとき、グリッドの解像度は、普通、単
一のボクセルのサイズが、レンダリング時に人間の目によって識別され得る最も
小さい面積を表すように、選ばれる。X、Yディメンジョンにおいて、ポリゴン
は、スクリーン解像度まで描かれる。Zディメンジョンにおいては、各ボリュー
ム・サンプルが充分なスライスをもってレンダリングされ、各ボリューム・サン
プルもまた人間の目によって識別され得る最小面積を表すと仮定される。したが
って、Zディメンジョンにおける2つのボリューム・スライスによって境される
各ピクセルもこの小さい面積を表す。
ボクセル化として2つのボリューム・サンプル・スライス間に半透明ポリゴンの
薄いスラブを描くことである。普通のボクセル化方法では、表面が3Dボリュー
ム・グリッドに変換された3D走査であるとき、グリッドの解像度は、普通、単
一のボクセルのサイズが、レンダリング時に人間の目によって識別され得る最も
小さい面積を表すように、選ばれる。X、Yディメンジョンにおいて、ポリゴン
は、スクリーン解像度まで描かれる。Zディメンジョンにおいては、各ボリュー
ム・サンプルが充分なスライスをもってレンダリングされ、各ボリューム・サン
プルもまた人間の目によって識別され得る最小面積を表すと仮定される。したが
って、Zディメンジョンにおける2つのボリューム・スライスによって境される
各ピクセルもこの小さい面積を表す。
【0220】 前述のことに鑑みて、本発明の一実施例に従って実施される方法は、3Dグラ
フィックス・ハードウェアを利用することによってオンザフライ・ボクセル化を
計算するものと見ることができる。ボクセル化方法は、2つの好ましい方法のう
ちの一方を使用することによって、ポリゴンを単一のボクセルに結合する。第1
の方法は、各カラー・チャネルのmaxを取り出すことである。第2の方法は、
フィックス・ハードウェアを利用することによってオンザフライ・ボクセル化を
計算するものと見ることができる。ボクセル化方法は、2つの好ましい方法のう
ちの一方を使用することによって、ポリゴンを単一のボクセルに結合する。第1
の方法は、各カラー・チャネルのmaxを取り出すことである。第2の方法は、
【0221】
【数45】 として重み付きmaxを取り出すことである。ここで、Cp1は、第1ポリゴン(
ポリゴン1)のカラーであり、Dp1は、ポリゴン1の密度であり、Cvは、ボク
セルに割り当てられたカラーである。たとえば、多くのOpenGL手段は、maxを
glBlendEquationext(gl_max_ext)とブレンドするのを可能にする。密度がアル
ファ値(たとえば、ボリューム・レンダリングのためのリニア・ランプ転送機能
)に等しいと仮定するならば、カラーは、好ましくは、glBlendFunc(gl_src_alp
ha, gl_one)を用いることによってブレンド前にそれらのアルファ値で重み付け
することができる。しかしながら、OpenGLは、蓄積後にアルファ値の合計によっ
て割ることができないので、完全な先の式を計算することもできない。
ポリゴン1)のカラーであり、Dp1は、ポリゴン1の密度であり、Cvは、ボク
セルに割り当てられたカラーである。たとえば、多くのOpenGL手段は、maxを
glBlendEquationext(gl_max_ext)とブレンドするのを可能にする。密度がアル
ファ値(たとえば、ボリューム・レンダリングのためのリニア・ランプ転送機能
)に等しいと仮定するならば、カラーは、好ましくは、glBlendFunc(gl_src_alp
ha, gl_one)を用いることによってブレンド前にそれらのアルファ値で重み付け
することができる。しかしながら、OpenGLは、蓄積後にアルファ値の合計によっ
て割ることができないので、完全な先の式を計算することもできない。
【0222】 1つの薄いスラブ内の同じピクセルに2またはそれ以上の半透明ポリゴンを描
画する第3の方法は、最も正確な方法と考えることができる。デプス・ソーティ
ング(たとえば、BSPツリー)を実施するために本発明の先に述べた方法の1
つを利用することによって、各スラブ内のすべての半透明ポリゴンを適切にオー
ダーリングし続けることができる。デプス・サイクルは、好ましくは、区割りで
使用されるプレーンをスパンするポリゴンを分割することによってBSPアルゴ
リズムで取り扱われる。そして、結局、サイクル内のポリゴンの1つが区割りプ
レーンとして使用される。
画する第3の方法は、最も正確な方法と考えることができる。デプス・ソーティ
ング(たとえば、BSPツリー)を実施するために本発明の先に述べた方法の1
つを利用することによって、各スラブ内のすべての半透明ポリゴンを適切にオー
ダーリングし続けることができる。デプス・サイクルは、好ましくは、区割りで
使用されるプレーンをスパンするポリゴンを分割することによってBSPアルゴ
リズムで取り扱われる。そして、結局、サイクル内のポリゴンの1つが区割りプ
レーンとして使用される。
【0223】 前述のように、本発明のCube−5の重要な特徴は、少なくとも1つのジオ
メトリ・パイプラインまたはエンジンをCube−5システムに接続するユニー
クな能力である。本発明によれば、PCクラス・マシンについて請求項記載のC
ube−5システムに1つまたはそれ以上のジオメトリ・パイプラインを接続す
る2つの好ましい方法が、以下に説明するように、提供される。両方法は、不透
明および/または半透明ポリゴンをボリュメトリック・データと混合するユニー
クな方法である。
メトリ・パイプラインまたはエンジンをCube−5システムに接続するユニー
クな能力である。本発明によれば、PCクラス・マシンについて請求項記載のC
ube−5システムに1つまたはそれ以上のジオメトリ・パイプラインを接続す
る2つの好ましい方法が、以下に説明するように、提供される。両方法は、不透
明および/または半透明ポリゴンをボリュメトリック・データと混合するユニー
クな方法である。
【0224】 ここで、不透明なポリゴンが、好ましくは、ボリューム・データセットを通し
て投影した後、ワーピングが最終画像上に正しいフットプリントを創り出すとい
うことは明らかであろう。さらに、Zデプス値は、好ましくは、処理軸線に沿っ
て整合させられ、その結果、ボリューム・スライス・インデックスを・チェック
のために使用できる。
て投影した後、ワーピングが最終画像上に正しいフットプリントを創り出すとい
うことは明らかであろう。さらに、Zデプス値は、好ましくは、処理軸線に沿っ
て整合させられ、その結果、ボリューム・スライス・インデックスを・チェック
のために使用できる。
【0225】 本発明の一実施例によれば、好ましい方法は、現視野方向について主要視野軸
線を決定することによって開始する。図29に示すように、主要視野軸線230
が、たとえば、Z軸に沿うように、好ましくは、変換がジオメトリ228に適用
される。次に、視点またはアイ・ポイント232は、好ましくは、X軸まわりの
所定角度αとY軸まわりの角度βの分だけ、注視ポイント234とアイ・ポイン
ト232との間でベクトルを回転させることによってこの方向に沿うように移動
させられる。好ましくは、α、βは、常に、−45〜+45度の範囲にある。そ
うしないと、異なったベースプレーンが選ばれることになろう。XおよびYに沿
ったZスライス・シャー変換(「Xに従うX、Y」シャーとしても知られている
)は、好ましくは、その後に、次のように視野マトリックスに適用される。
線を決定することによって開始する。図29に示すように、主要視野軸線230
が、たとえば、Z軸に沿うように、好ましくは、変換がジオメトリ228に適用
される。次に、視点またはアイ・ポイント232は、好ましくは、X軸まわりの
所定角度αとY軸まわりの角度βの分だけ、注視ポイント234とアイ・ポイン
ト232との間でベクトルを回転させることによってこの方向に沿うように移動
させられる。好ましくは、α、βは、常に、−45〜+45度の範囲にある。そ
うしないと、異なったベースプレーンが選ばれることになろう。XおよびYに沿
ったZスライス・シャー変換(「Xに従うX、Y」シャーとしても知られている
)は、好ましくは、その後に、次のように視野マトリックスに適用される。
【0226】
【数46】 このジオメトリについて、不透明なポリゴンを描くとき、ポリゴン・フットプ
リントが「プレワープされる」。その結果、Cube−5レンダリングの終りで
ワーピング作業が最終的な画像に正しいポリゴンを創り出す。さらに、計算され
るZデプスは、好ましくは、処理軸線に沿って距離に比例する。(たとえば、す
べての不透明ジオメトリがボリューム範囲内に適合するならば)、ボリュームの
エッジにあちこちのクリッピング・プレーンをセットすることが可能となり、そ
して、デプス・バッファの精度が同じである場合、計算されたデプスは、デプス
・チェックについて正確にボリューム・スライス・インデックスとなる。さもな
ければ、計算されたデプスがボリューム・レンダリング・システムによって利用
されるとき、単純なスケーリングを適用しなければならない。しかしながら、こ
の方法を使用するとき、シャーリングは光を正しい場所に移動させることができ
ないので、光位置を考慮しなければならない。
リントが「プレワープされる」。その結果、Cube−5レンダリングの終りで
ワーピング作業が最終的な画像に正しいポリゴンを創り出す。さらに、計算され
るZデプスは、好ましくは、処理軸線に沿って距離に比例する。(たとえば、す
べての不透明ジオメトリがボリューム範囲内に適合するならば)、ボリュームの
エッジにあちこちのクリッピング・プレーンをセットすることが可能となり、そ
して、デプス・バッファの精度が同じである場合、計算されたデプスは、デプス
・チェックについて正確にボリューム・スライス・インデックスとなる。さもな
ければ、計算されたデプスがボリューム・レンダリング・システムによって利用
されるとき、単純なスケーリングを適用しなければならない。しかしながら、こ
の方法を使用するとき、シャーリングは光を正しい場所に移動させることができ
ないので、光位置を考慮しなければならない。
【0227】 半透明ポリゴンの薄いスライスは、好ましくは、スペース内のそれらの3D位
置とジオメトリック的に整合する。好ましくは、アイ・ポイントが、前述したよ
うに、最初に整合させられる。次に、オブジェクトが最終画像プレーンへ全面的
に投影するのを防ぐために、ジオメトリは、好ましくは、現在の薄いスラブの中
心がシャーリング前にZ=0となるように並進させられる。クリッピング・プレ
ーンによって、現在の薄いスラブだけをレンダリングすることができ、投影プレ
ーンは、たとえば、glOrtho(透視の場合、glFrustum)を持つ領域を境する2つ
のボリューム・スライス内にあるようにセットされる。
置とジオメトリック的に整合する。好ましくは、アイ・ポイントが、前述したよ
うに、最初に整合させられる。次に、オブジェクトが最終画像プレーンへ全面的
に投影するのを防ぐために、ジオメトリは、好ましくは、現在の薄いスラブの中
心がシャーリング前にZ=0となるように並進させられる。クリッピング・プレ
ーンによって、現在の薄いスラブだけをレンダリングすることができ、投影プレ
ーンは、たとえば、glOrtho(透視の場合、glFrustum)を持つ領域を境する2つ
のボリューム・スライス内にあるようにセットされる。
【0228】 本発明を理解するには、フレーム・バッファ設計およびコンポスティング・バ
ッファ設計の構成を理解することが重要である。図30に示すように、本発明の
Cube−5ボリューム・レンダリング・パイプライン236は、好ましくは、
コンポスティング・バッファと呼ばれる緊密に接続されたオンチップSDRAM
バッファ238を利用し、ボリュームがスライス・オーダーで処理されるときに
部分的に合成されたレイを保持する。このアーキテクチャは、スライス・オーダ
ー・レンダリングに固有の規則的な処理シーケンスを利用する。具体的には、ボ
リューム240の各スライスは、好ましくは、各行の先の最も左のボクセルから
最も右のボクセル、そして、各スライスの最も下の行から最も上の行一番上の列
(おそらく若干のスキューを持つ)と同じオーダーで処理される。こうして、S
DRAMコンポスティング・バッファ238は、スライスのサイズに等しい長さ
を有する単純なFIFO待ち行列になる。SDRAM待ち行列は、好ましくは、
32ビット長であり、8ビットの固定ポイントRGBα値(コクセルと呼ばれる
)を保持することができる。各パイプライン236は、好ましくは、待ち行列の
フロントからコクセルを読み込み、1つのコクセルをクロック・サイクル毎に待
ち行列のリアに書き込む。
ッファ設計の構成を理解することが重要である。図30に示すように、本発明の
Cube−5ボリューム・レンダリング・パイプライン236は、好ましくは、
コンポスティング・バッファと呼ばれる緊密に接続されたオンチップSDRAM
バッファ238を利用し、ボリュームがスライス・オーダーで処理されるときに
部分的に合成されたレイを保持する。このアーキテクチャは、スライス・オーダ
ー・レンダリングに固有の規則的な処理シーケンスを利用する。具体的には、ボ
リューム240の各スライスは、好ましくは、各行の先の最も左のボクセルから
最も右のボクセル、そして、各スライスの最も下の行から最も上の行一番上の列
(おそらく若干のスキューを持つ)と同じオーダーで処理される。こうして、S
DRAMコンポスティング・バッファ238は、スライスのサイズに等しい長さ
を有する単純なFIFO待ち行列になる。SDRAM待ち行列は、好ましくは、
32ビット長であり、8ビットの固定ポイントRGBα値(コクセルと呼ばれる
)を保持することができる。各パイプライン236は、好ましくは、待ち行列の
フロントからコクセルを読み込み、1つのコクセルをクロック・サイクル毎に待
ち行列のリアに書き込む。
【0229】 それと対照的に、次に図31を参照して、普通のPCクラス・ジオメトリ・パ
イプライン242は外部のDRAMフレーム・バッファ244を利用する。これ
は、各ピクセルについてRGBαカラー値およびZデプス値を記憶する。ポリゴ
ン・レンダリングがスライス・オーダー・ボリューム・レンダリングに固有の規
則的なアクセス・オーダーリングを好まないので、このフレーム・バッファ24
4は、ランダム・アクセスをサポートしなければならない。ノーマル・ポリゴン
レンダリングは、10〜50個のピクセル間で平均のスクリーン上に三角形を生
成する。したがって、DRAMメモリは、このサイズのスクリーンの面積へのア
クセスを最大にするように構成される。
イプライン242は外部のDRAMフレーム・バッファ244を利用する。これ
は、各ピクセルについてRGBαカラー値およびZデプス値を記憶する。ポリゴ
ン・レンダリングがスライス・オーダー・ボリューム・レンダリングに固有の規
則的なアクセス・オーダーリングを好まないので、このフレーム・バッファ24
4は、ランダム・アクセスをサポートしなければならない。ノーマル・ポリゴン
レンダリングは、10〜50個のピクセル間で平均のスクリーン上に三角形を生
成する。したがって、DRAMメモリは、このサイズのスクリーンの面積へのア
クセスを最大にするように構成される。
【0230】 図31に示すように、本発明の3Dテクスチャ・マッピング方法をジオメトリ
・パイプライン242に実施したとき、スクリーンに対して垂直なボリューム・
スライス246は、ボリュームを通してテクスチャ・マッピングされる。ボリュ
ーム・スライス246についてのペル頂点ジオメトリ計算は、任意レベルのグラ
フィックス・ハードウェアで容易に達成することができる。しかしながら、テク
スチャ・メモリ248およびフレーム・バッファ244の両方に対するランダム
・アクセスをサポートする要件は、DRAMフレーム・バッファで達成できる塗
り潰し率にこの方法の性能を限定する。
・パイプライン242に実施したとき、スクリーンに対して垂直なボリューム・
スライス246は、ボリュームを通してテクスチャ・マッピングされる。ボリュ
ーム・スライス246についてのペル頂点ジオメトリ計算は、任意レベルのグラ
フィックス・ハードウェアで容易に達成することができる。しかしながら、テク
スチャ・メモリ248およびフレーム・バッファ244の両方に対するランダム
・アクセスをサポートする要件は、DRAMフレーム・バッファで達成できる塗
り潰し率にこの方法の性能を限定する。
【0231】 非常に高い端面グラフィックス・システムは、代表的には、ポリゴン・パイプ
ラインの断片処理セクション250における大規模な平行度を利用する。これは
、非常に分散されたフレーム・バッファと相まって、塗り潰し率性能を向上させ
ることができる。
ラインの断片処理セクション250における大規模な平行度を利用する。これは
、非常に分散されたフレーム・バッファと相まって、塗り潰し率性能を向上させ
ることができる。
【0232】 図32には、本発明に従って、Cube−5ボリューム・レンダリング・シス
テム252にジオメトリ・パイプライン242を接続するための一実施例が示し
てある。図32に示すように、SDRAMコンポスティング・バッファは、好ま
しくは、Cube−5パイプライン252内部から除去され、その代わりに、外
部のDRAMフレーム・バッファ254を使用する。普通のポリゴン・エンジン
と同様にDRAMフレーム・バッファ254を構成するというよりもむしろ、本
発明のフレーム・バッファにおけるメモリは、好ましくは、それが特にボリュー
ム・レンダリングについて最適化されるように構成される。フレーム・バッファ
254は、また、好ましくは、3Dグラフィックス・パイプライン242からア
クセスでき、ボリュームとのポリゴン・データ256の混合を可能にする。
テム252にジオメトリ・パイプライン242を接続するための一実施例が示し
てある。図32に示すように、SDRAMコンポスティング・バッファは、好ま
しくは、Cube−5パイプライン252内部から除去され、その代わりに、外
部のDRAMフレーム・バッファ254を使用する。普通のポリゴン・エンジン
と同様にDRAMフレーム・バッファ254を構成するというよりもむしろ、本
発明のフレーム・バッファにおけるメモリは、好ましくは、それが特にボリュー
ム・レンダリングについて最適化されるように構成される。フレーム・バッファ
254は、また、好ましくは、3Dグラフィックス・パイプライン242からア
クセスでき、ボリュームとのポリゴン・データ256の混合を可能にする。
【0233】 図32を続いて参照して、二重用途フレーム・バッファ254は、好ましくは
、2つのパイプライン242、252を接続する。好ましい方法において、不透
明、半透明ポリゴンの両方およびボリューム・データを持つシーンをレンダリン
グするために、ジオメトリ・パイプライン242は、まず、Zデプスですべての
不透明なポリゴンをレンダリングする。ボリューム・メモリ258に記憶された
ボリューム・スライスおよび半透明ポリゴンの薄いスラブを、次に、交互に(た
とえば、ドブテイル式に)レンダリングする。すなわち、ボリューム・スライス
をCube−5パイプライン252で、半透明ポリゴンをグラフィックス・パイ
プライン242でレンダリングする(不透明ポリゴンも同じドブテイリング・ア
ルゴリズムでレンダリングできるが、グラフィック・パイプラインに対する需要
は増大する)。
、2つのパイプライン242、252を接続する。好ましい方法において、不透
明、半透明ポリゴンの両方およびボリューム・データを持つシーンをレンダリン
グするために、ジオメトリ・パイプライン242は、まず、Zデプスですべての
不透明なポリゴンをレンダリングする。ボリューム・メモリ258に記憶された
ボリューム・スライスおよび半透明ポリゴンの薄いスラブを、次に、交互に(た
とえば、ドブテイル式に)レンダリングする。すなわち、ボリューム・スライス
をCube−5パイプライン252で、半透明ポリゴンをグラフィックス・パイ
プライン242でレンダリングする(不透明ポリゴンも同じドブテイリング・ア
ルゴリズムでレンダリングできるが、グラフィック・パイプラインに対する需要
は増大する)。
【0234】 Zデプス・チェックは、好ましくは、隠れたオブジェクトを正しく除去するの
に利用され、ブレンディングが両パイプラインにセットされ、サンプルおよび断
片を正しく合成する。ジオメトリ・エンジン242は、好ましくは、本発明のC
ube−5システムの要求する最終的なベースプレーン・ワープを実施する。
に利用され、ブレンディングが両パイプラインにセットされ、サンプルおよび断
片を正しく合成する。ジオメトリ・エンジン242は、好ましくは、本発明のC
ube−5システムの要求する最終的なベースプレーン・ワープを実施する。
【0235】 DRAMバッファ254の設計は、たとえば、2563個のボリューム・デー
タセットの30Hzレンダリングのために必要な毎秒503,000,000個
のサンプルを得るのに重要である。したがって、まず、グラフィックス・パイプ
ラインにレンダリング・パイプラインを接続することを説明する前に、Cube
−5レンダリング・パイプラインそれ自体に対してDRAMバッファを創り出す
と役に立つ。本発明のボリューム・レンダリング・システムは、好ましくは、複
数のCube−5パイプラインからなる。各レンダリング・パイプラインにおい
て、クロック・サイクル毎に、コクセル(RGBαからなるコンポスティング・
バッファ要素)を、SDRAM合成バッファFIFOから読み込み、適切なコン
ポスティング方程式に従ってブレンドされる。次に、新しいコクセルは、FIF
Oのリアに置かれる。好ましい実施例においては、コクセルの構造は、32ビッ
トのカラー、8ビットの各RGBα、32ビットのZデプス情報、24+8ビッ
トのステンシルを含むように変更される。この構成は、コンポスティング・ステ
ージにおいてZデプス・チェックを取り扱うのに必要である。任意のボリューム
・レンダリングが開始する前に、不透明ポリゴン・レンダリングが完了したと仮
定すると、32ビットのZデプス/ステンシル情報を読み込むが、書き直しはし
ない。したがって、あらゆるクロック・サイクルについて、各Cube−5パイ
プラインは、8バイトのコクセル・データを読み込み、4バイトを書き戻す必要
がある。
タセットの30Hzレンダリングのために必要な毎秒503,000,000個
のサンプルを得るのに重要である。したがって、まず、グラフィックス・パイプ
ラインにレンダリング・パイプラインを接続することを説明する前に、Cube
−5レンダリング・パイプラインそれ自体に対してDRAMバッファを創り出す
と役に立つ。本発明のボリューム・レンダリング・システムは、好ましくは、複
数のCube−5パイプラインからなる。各レンダリング・パイプラインにおい
て、クロック・サイクル毎に、コクセル(RGBαからなるコンポスティング・
バッファ要素)を、SDRAM合成バッファFIFOから読み込み、適切なコン
ポスティング方程式に従ってブレンドされる。次に、新しいコクセルは、FIF
Oのリアに置かれる。好ましい実施例においては、コクセルの構造は、32ビッ
トのカラー、8ビットの各RGBα、32ビットのZデプス情報、24+8ビッ
トのステンシルを含むように変更される。この構成は、コンポスティング・ステ
ージにおいてZデプス・チェックを取り扱うのに必要である。任意のボリューム
・レンダリングが開始する前に、不透明ポリゴン・レンダリングが完了したと仮
定すると、32ビットのZデプス/ステンシル情報を読み込むが、書き直しはし
ない。したがって、あらゆるクロック・サイクルについて、各Cube−5パイ
プラインは、8バイトのコクセル・データを読み込み、4バイトを書き戻す必要
がある。
【0236】 好ましくは、本発明のレンダリング・パイプラインは、16ビットのワード・
サイズを持つメモリ・チップを利用する。この構成を使用することで、4つのワ
ードが、サイクル毎に各パイプラインによって読み出されなければならず、2つ
のワードを書き込まなければならない。これを行うためには、1パイプライン当
たり6つの16ビット・メモリ・インタフェースを必要とする。同期DRAM(
SDRAM)チップにおける新生の技術(本発明はそれ自体を利用することがで
きる)が、二重データ率(DDR)として知られており、これは、クロックの立
ち上がり、立ち下がりの両方でデータを読み書きする。DDR SDRAMを使用す
ることで、本発明は、1クロック当たり64ビットのデータを読み込むための2
つの16ビット・メモリ・インタフェースを、1クロック当たり32ビットを書
き込むために、1パイプライン当たり合計3つの16ビット・メモリ・インタフ
ェースのために1つの16ビット・メモリ・インタフェースを利用できる。
サイズを持つメモリ・チップを利用する。この構成を使用することで、4つのワ
ードが、サイクル毎に各パイプラインによって読み出されなければならず、2つ
のワードを書き込まなければならない。これを行うためには、1パイプライン当
たり6つの16ビット・メモリ・インタフェースを必要とする。同期DRAM(
SDRAM)チップにおける新生の技術(本発明はそれ自体を利用することがで
きる)が、二重データ率(DDR)として知られており、これは、クロックの立
ち上がり、立ち下がりの両方でデータを読み書きする。DDR SDRAMを使用す
ることで、本発明は、1クロック当たり64ビットのデータを読み込むための2
つの16ビット・メモリ・インタフェースを、1クロック当たり32ビットを書
き込むために、1パイプライン当たり合計3つの16ビット・メモリ・インタフ
ェースのために1つの16ビット・メモリ・インタフェースを利用できる。
【0237】 次に図33を参照して、クロック・サイクル毎に読み書きが実施されてパイプ
ラインをフルに保持するので、本発明は、好ましくは、1セットのフレーム・バ
ッファ・チップの1セット(たとえば、セットA)から読み出し、別のセット(
たとえば、セットB)262に書き込む。Cube−5システムは、ボリューム
の完全スライスについてセットA260から読み出し、セットB262に書き込
み、次のスライスについてスワッピングすることをいとしている。しかしながら
この方法では、各フレーム・バッファ・チップ・セットは、完全なフレーム・バ
ッファを保持するのに充分に大きくなければならない。さらに、ポリゴン・エン
ジンは、どのセットが現セットであるかについて指示されなければならない。し
たがって、好ましい実施例においては、本発明は、1つのフレーム内でセットA
260とセットB262の間で読み書きを交互に行い、読み込みセットが書き込
みセットとなるまで読み込みセットからの処理済みコクセルをバッファする。す
ることを交替させる260、そして、リードからの被処理コクセルがそれまでセ
ットしたフレームおよびバッファ内にセットB262はライトセットになる。あ
らゆるメモリ・アクセスはバーストでなければならないので、各バーストは、実
際には、4つのクロック・サイクルを持続させ、16ビットDDR DRAMチップ
で4つのコクセル(すなわち8個のワード)を読み書きする。Cube−5シス
テムは、好ましくは、全部で4つのバンクを通して循環し、新しいRBGα値を
書き込む前にメモリ・バンド幅を飽和状態に保持する。この理由のために、好ま
しくは、16コクセルFIFO待ち行列264(4つのバンクの各々について4
つのコクセル)に、コクセルの新しく合成されたRBGα部分が記憶される。
ラインをフルに保持するので、本発明は、好ましくは、1セットのフレーム・バ
ッファ・チップの1セット(たとえば、セットA)から読み出し、別のセット(
たとえば、セットB)262に書き込む。Cube−5システムは、ボリューム
の完全スライスについてセットA260から読み出し、セットB262に書き込
み、次のスライスについてスワッピングすることをいとしている。しかしながら
この方法では、各フレーム・バッファ・チップ・セットは、完全なフレーム・バ
ッファを保持するのに充分に大きくなければならない。さらに、ポリゴン・エン
ジンは、どのセットが現セットであるかについて指示されなければならない。し
たがって、好ましい実施例においては、本発明は、1つのフレーム内でセットA
260とセットB262の間で読み書きを交互に行い、読み込みセットが書き込
みセットとなるまで読み込みセットからの処理済みコクセルをバッファする。す
ることを交替させる260、そして、リードからの被処理コクセルがそれまでセ
ットしたフレームおよびバッファ内にセットB262はライトセットになる。あ
らゆるメモリ・アクセスはバーストでなければならないので、各バーストは、実
際には、4つのクロック・サイクルを持続させ、16ビットDDR DRAMチップ
で4つのコクセル(すなわち8個のワード)を読み書きする。Cube−5シス
テムは、好ましくは、全部で4つのバンクを通して循環し、新しいRBGα値を
書き込む前にメモリ・バンド幅を飽和状態に保持する。この理由のために、好ま
しくは、16コクセルFIFO待ち行列264(4つのバンクの各々について4
つのコクセル)に、コクセルの新しく合成されたRBGα部分が記憶される。
【0238】 本発明のCube−5ボリューム・レンダリング・システムにおけるパイプラ
イン等の数については多くの異なった構成の可能性がある。全部で12のメモリ
・インタフェースを創り出している4つの平行パイプラインの例を図33を参照
しながら以下に説明する。図33に示すように、各パイプラインは、フレーム・
バッファのZデプス/ステンシル部分268に対する1つの読み出しインタフェ
ース266と、フレーム・バッファのRGBα部分のセットA260、セットB
262それぞれをセットするための2つの読み込み/書き込みインタフェース2
70、272とを含む。30Hzで2563ボリュームをレンダリングするために
、4つのパイプラインは、毎秒125,000,000個のボクセルを処理する
。したがって、133MHzクロックが、チップおよびSDRAMについて利用さ
れる。メモリ・チップ上へフレーム・バッファ・ピクセルをマッピングすること
は、性能にとって重要である。それは、Cube−5パイプラインの処理オーダ
ーおよび実質的に同時の4つのパイプラインによる並列アクセスに正確に整合し
ていなければならない。説明をより容易にするために、ここで、Cube−5ア
ーキテクチャのスキュード・メモリ・アクセスが「非スキュー」にされ、ボリュ
ーム・サンプルが4つのグループにおける各スキャンラインを横切って左から右
のオーダーにあるようにすると仮定する。この設計はスキュード・メモリに拡張
できるが、ジオメトリ・パイプラインおよびスクリーン・リフレッシュ・システ
ムは付加的なスキューイングに気づかなければならない。
イン等の数については多くの異なった構成の可能性がある。全部で12のメモリ
・インタフェースを創り出している4つの平行パイプラインの例を図33を参照
しながら以下に説明する。図33に示すように、各パイプラインは、フレーム・
バッファのZデプス/ステンシル部分268に対する1つの読み出しインタフェ
ース266と、フレーム・バッファのRGBα部分のセットA260、セットB
262それぞれをセットするための2つの読み込み/書き込みインタフェース2
70、272とを含む。30Hzで2563ボリュームをレンダリングするために
、4つのパイプラインは、毎秒125,000,000個のボクセルを処理する
。したがって、133MHzクロックが、チップおよびSDRAMについて利用さ
れる。メモリ・チップ上へフレーム・バッファ・ピクセルをマッピングすること
は、性能にとって重要である。それは、Cube−5パイプラインの処理オーダ
ーおよび実質的に同時の4つのパイプラインによる並列アクセスに正確に整合し
ていなければならない。説明をより容易にするために、ここで、Cube−5ア
ーキテクチャのスキュード・メモリ・アクセスが「非スキュー」にされ、ボリュ
ーム・サンプルが4つのグループにおける各スキャンラインを横切って左から右
のオーダーにあるようにすると仮定する。この設計はスキュード・メモリに拡張
できるが、ジオメトリ・パイプラインおよびスクリーン・リフレッシュ・システ
ムは付加的なスキューイングに気づかなければならない。
【0239】 図34は、フレーム・バッファのコクセルのRGBα部分の好ましいレイアウ
トを示している。所与のスキャンライン274について、セットB278にある
ピクセル・グループの前にセットAに存在するピクセル・グループがある。これ
はスキャンライン274全体を横切って繰り返される。各セットの長さは、各セ
ットが各チップ内部の4つの異なったバンクから読み出されるピクセルを含まな
ければならないという事実により、64ピクセル分である。そして、各バンクは
、4つの平行チップ/パイプラインから読み出された4つのRGBα値からなる
。したがって、フレーム・バッファ内のピクセル・データは、8つのチップを横
切ってインタリーブされる。より詳しく言えば、それは、ほんの4つのチップを
横切って実際にインタリーブされる。このことは、毎秒、データの 4パイプライン×(1RGBαチップ+1デプス・チップ)×16ビット ×133MHz×2データ・レート=34Gbits=4.l5Gbytes を読み出すインタフェースを提供する。これは、必要な 2563×30Hz×8bytes=毎秒3.75Gbytes にまさる。ここで、8バイトは、4バイトのRGBα+4バイトZデプス/ステ
ンシルとして構成される。さらに、フレーム・バッファ・サブシステムは、 4パイプライン×1RGBαチップ×16ビット×133MHz ×2データ率=17Gbits=2.1Gbytes を書くことができる。
トを示している。所与のスキャンライン274について、セットB278にある
ピクセル・グループの前にセットAに存在するピクセル・グループがある。これ
はスキャンライン274全体を横切って繰り返される。各セットの長さは、各セ
ットが各チップ内部の4つの異なったバンクから読み出されるピクセルを含まな
ければならないという事実により、64ピクセル分である。そして、各バンクは
、4つの平行チップ/パイプラインから読み出された4つのRGBα値からなる
。したがって、フレーム・バッファ内のピクセル・データは、8つのチップを横
切ってインタリーブされる。より詳しく言えば、それは、ほんの4つのチップを
横切って実際にインタリーブされる。このことは、毎秒、データの 4パイプライン×(1RGBαチップ+1デプス・チップ)×16ビット ×133MHz×2データ・レート=34Gbits=4.l5Gbytes を読み出すインタフェースを提供する。これは、必要な 2563×30Hz×8bytes=毎秒3.75Gbytes にまさる。ここで、8バイトは、4バイトのRGBα+4バイトZデプス/ステ
ンシルとして構成される。さらに、フレーム・バッファ・サブシステムは、 4パイプライン×1RGBαチップ×16ビット×133MHz ×2データ率=17Gbits=2.1Gbytes を書くことができる。
【0240】 ここで再び、 2563×30Hz×4bytes=毎秒1.8Gbytes を取り扱う。これは2563ボリュームのリアルタイム30Hzレンダリングに
とって必要である。
とって必要である。
【0241】 この特別なバンド幅は、シッティング・アイドルではない。スクリーンは、フ
レーム・バッファにおけるデータからリフレッシュされなければならない。ここ
で、60Hzリフレッシュ率での1280×1024スクリーン解像度を仮定し
、全部で4つRGBαバイトがフレーム・バッファから読み出される(本発明の
バースト・モード・アクセスがどのようにでもそれらを検索するので)と仮定す
ると、 1280×1024×60Hz×4bytes=300Mbytes が毎秒フレーム・バッファから読み出される。フレーム・バッファのRGBα部
分だけがリフレッシュについて必要である。したがって、リフレッシュ・データ
は、8つのチップから読み出される。各チップについて10回のデータ・バース
ト読み出し/書き込み(セットAかセットBかに依存する)を行い、その後、リ
フレッシュのために1回データの読み出しを行えば充分である。メモリ・アクセ
スのこの分布により、データの一貫したストリーム(burstyではあるが)をリフ
レッシュ・ハードウェアに設けることができる。Cube−5パイプラインは、
また、小さいパーセンテージの余分なサイクルを含み、したがって、メモリ・サ
ブシステムが一時的にリフレッシュのために停止させられたときに、30Hz2
563レンダリングを達成する能力を失うことはない。
レーム・バッファにおけるデータからリフレッシュされなければならない。ここ
で、60Hzリフレッシュ率での1280×1024スクリーン解像度を仮定し
、全部で4つRGBαバイトがフレーム・バッファから読み出される(本発明の
バースト・モード・アクセスがどのようにでもそれらを検索するので)と仮定す
ると、 1280×1024×60Hz×4bytes=300Mbytes が毎秒フレーム・バッファから読み出される。フレーム・バッファのRGBα部
分だけがリフレッシュについて必要である。したがって、リフレッシュ・データ
は、8つのチップから読み出される。各チップについて10回のデータ・バース
ト読み出し/書き込み(セットAかセットBかに依存する)を行い、その後、リ
フレッシュのために1回データの読み出しを行えば充分である。メモリ・アクセ
スのこの分布により、データの一貫したストリーム(burstyではあるが)をリフ
レッシュ・ハードウェアに設けることができる。Cube−5パイプラインは、
また、小さいパーセンテージの余分なサイクルを含み、したがって、メモリ・サ
ブシステムが一時的にリフレッシュのために停止させられたときに、30Hz2
563レンダリングを達成する能力を失うことはない。
【0242】 以下、本発明の好ましい実施例に従って、Cube−5ボリューム・レンダリ
ング・パイプラインにグラフィックス・パイプラインを接続する代替方法を説明
する。この好ましいコネクション方法は、グラフィックス・パイプラインおよび
ボリューム・レンダリング・パイプラインの両方を常時作動状態に維持し、Cu
be−5チップ内のSDRAM合成バッファのデータを合併する。任意所与の時
点で、ボリューム・レンダリング・パイプラインは、コンポスティング・バッフ
ァを通して先の薄いポリゴン・データ・スラブで現ボリューム・スライスをコン
ポスティングし、グラフィックス・パイプラインが、次の半透明ポリゴンの薄い
スラブをレンダリングする。
ング・パイプラインにグラフィックス・パイプラインを接続する代替方法を説明
する。この好ましいコネクション方法は、グラフィックス・パイプラインおよび
ボリューム・レンダリング・パイプラインの両方を常時作動状態に維持し、Cu
be−5チップ内のSDRAM合成バッファのデータを合併する。任意所与の時
点で、ボリューム・レンダリング・パイプラインは、コンポスティング・バッフ
ァを通して先の薄いポリゴン・データ・スラブで現ボリューム・スライスをコン
ポスティングし、グラフィックス・パイプラインが、次の半透明ポリゴンの薄い
スラブをレンダリングする。
【0243】 ここに記載される方法は、なお、上記のように、ボリューム・スライスおよび
半透明ポリゴン・データの薄いスラブをドブテイルするユニークな方法を利用す
る。第1段階において、すべての不透明ポリゴンをベースプレーン(たとえば、
スクリーンに対して最も平行なボリューム面)と一致するZバッファ上へ投影す
る。次に、投影したRGBαZ画像をボリューム・レンダリング・パイプライン
のコンポスティング・バッファにロードする。その後、ボリュームをコンポステ
ィング・ステージにおいて可能にされたZ比較でレンダリングする。半透明ポリ
ゴンの薄いスラブは、好ましくは、ジオメトリ・パイプラインによってレンダリ
ングされ、そして、それらの対応するRGBαデータは、本発明のボリューム・
パイプラインに送られ、ボリューム・パイプライン内でSDRAMコンポスティ
ング・バッファにブレンドされる。
半透明ポリゴン・データの薄いスラブをドブテイルするユニークな方法を利用す
る。第1段階において、すべての不透明ポリゴンをベースプレーン(たとえば、
スクリーンに対して最も平行なボリューム面)と一致するZバッファ上へ投影す
る。次に、投影したRGBαZ画像をボリューム・レンダリング・パイプライン
のコンポスティング・バッファにロードする。その後、ボリュームをコンポステ
ィング・ステージにおいて可能にされたZ比較でレンダリングする。半透明ポリ
ゴンの薄いスラブは、好ましくは、ジオメトリ・パイプラインによってレンダリ
ングされ、そして、それらの対応するRGBαデータは、本発明のボリューム・
パイプラインに送られ、ボリューム・パイプライン内でSDRAMコンポスティ
ング・バッファにブレンドされる。
【0244】 好ましくは、ボリューム・レンダリング・アクセラレータのコンポスティング
・ステージは、1段階当たり2つの層(1つのボリュームと1つの半透明ポリゴ
ン)を合成し、したがって、ボリューム・レンダリング・プロセスを遅延させな
いように改造される。これは、或る種の余分なロジックの追加を必要とする。旧
コクセルcを通して半透明ピクセル断片p上にボリューム・サンプルvを二重合
成するための直接的な方程式は、5つのステージにおいて4つの加算と4つの乗
算を必要としよう。
・ステージは、1段階当たり2つの層(1つのボリュームと1つの半透明ポリゴ
ン)を合成し、したがって、ボリューム・レンダリング・プロセスを遅延させな
いように改造される。これは、或る種の余分なロジックの追加を必要とする。旧
コクセルcを通して半透明ピクセル断片p上にボリューム・サンプルvを二重合
成するための直接的な方程式は、5つのステージにおいて4つの加算と4つの乗
算を必要としよう。
【0245】
【数47】 しかしながら、単純な数学を使用することによって、二重合成を、以下の式(い
くつかの計算は再使用する)で、6つのステージにおいて4つの加算と2つの乗
算を用いて計算することができる。
くつかの計算は再使用する)で、6つのステージにおいて4つの加算と2つの乗
算を用いて計算することができる。
【0246】
【数48】 当業者には明らかなように、ハードウェア・デザイナは、所与の手段にとって望
ましいオプション(すなわち、より少ないロジックとより多いステージ、あるい
は、より少ないステージとより多いロジック)を選ぶことになる。
ましいオプション(すなわち、より少ないロジックとより多いステージ、あるい
は、より少ないステージとより多いロジック)を選ぶことになる。
【0247】 2563のボリュームについてのデータ転送量を考える。好ましくは、ボリュ
ームのフロントに255個のスラブ+1つのバッファがあり、ボリュームの背後
に1つのバッファがある。これら257個のスラブは、256KBのデータ(RG
Bαの2562ピクセル)を含む。これは、フレーム・バッファから読み込まれ
、フレーム毎に2つのサブシステム間で転送されている64MBと同等である。3
0Hzフレーム率を達成することは、毎秒1.9GBのバンド幅を必要とする。
この多くのデータが充分に広いチャネルで転送され得るが、それは、また、フレ
ーム・バッファから読み出されなければならない。現DRAMフレーム・バッフ
ァの構成を変えることのなくこの多いデータを読み出すことは実質的に不可能で
ある。さらに、フレーム・バッファは、1フレーム当たり257回をクリアしな
ければならない。
ームのフロントに255個のスラブ+1つのバッファがあり、ボリュームの背後
に1つのバッファがある。これら257個のスラブは、256KBのデータ(RG
Bαの2562ピクセル)を含む。これは、フレーム・バッファから読み込まれ
、フレーム毎に2つのサブシステム間で転送されている64MBと同等である。3
0Hzフレーム率を達成することは、毎秒1.9GBのバンド幅を必要とする。
この多くのデータが充分に広いチャネルで転送され得るが、それは、また、フレ
ーム・バッファから読み出されなければならない。現DRAMフレーム・バッフ
ァの構成を変えることのなくこの多いデータを読み出すことは実質的に不可能で
ある。さらに、フレーム・バッファは、1フレーム当たり257回をクリアしな
ければならない。
【0248】 このバンド幅問題を解決するために、本発明は、好ましくは、ブランク・ピク
セルの実行長コード化(RLE)を使用する。この方法では、各スキャンライン
は、個別にコード化される。そして、「run-of-zeros」が、実行長に続く4つの
ゼロ(RGBα)としてコード化される。代表的には、シーンにおけるほんの小
さいパーセンテージのポリゴンだけが半透明であるから、半透明ポリゴン・スラ
ブは比較的まばらである。これらの薄いスラブにおけるブランク・ピクセルだけ
実行長コード化することで、必要なバンド幅において99%以上の低減を行える
。好ましくは、本発明の方法は、バンド幅に節減するためにまばらな半透明ポリ
ゴンの2D画像上のRLEを利用する。
セルの実行長コード化(RLE)を使用する。この方法では、各スキャンライン
は、個別にコード化される。そして、「run-of-zeros」が、実行長に続く4つの
ゼロ(RGBα)としてコード化される。代表的には、シーンにおけるほんの小
さいパーセンテージのポリゴンだけが半透明であるから、半透明ポリゴン・スラ
ブは比較的まばらである。これらの薄いスラブにおけるブランク・ピクセルだけ
実行長コード化することで、必要なバンド幅において99%以上の低減を行える
。好ましくは、本発明の方法は、バンド幅に節減するためにまばらな半透明ポリ
ゴンの2D画像上のRLEを利用する。
【0249】 この好ましい方法を使用するで、本発明のCube−5システムにハードウェ
アを加えることが必要となる。具体的には、付加的なハードウェアは、RLE入
力ストリームを復号し、RGBα断片を創り出すことができるボリューム・レン
ダリング・パイプラインに含まれ得る。しかしながら、これらの断片が規則的な
オーダーでボリューム・パイプラインによって利用されるので、2つのパイプラ
インを同期化するのに二重バッファを使用して入力ストリームを復号すると好ま
しい。クロック・サイクル毎に、値は、復号ハードウェアから出力される。ボリ
ューム・レンダリング・マシンが複数のパイプラインを有する場合(現設計の大
部分がこれである)、復号ハードウェアは、好ましくは、ピクセル需要を維持す
ることができるように、各パイプラインについて複製される。
アを加えることが必要となる。具体的には、付加的なハードウェアは、RLE入
力ストリームを復号し、RGBα断片を創り出すことができるボリューム・レン
ダリング・パイプラインに含まれ得る。しかしながら、これらの断片が規則的な
オーダーでボリューム・パイプラインによって利用されるので、2つのパイプラ
インを同期化するのに二重バッファを使用して入力ストリームを復号すると好ま
しい。クロック・サイクル毎に、値は、復号ハードウェアから出力される。ボリ
ューム・レンダリング・マシンが複数のパイプラインを有する場合(現設計の大
部分がこれである)、復号ハードウェアは、好ましくは、ピクセル需要を維持す
ることができるように、各パイプラインについて複製される。
【0250】 同様に、ジオメトリ・パイプラインに接続される発祥端部でのRLEハードウ
ェアは、リアルタイムでデータをコード化してから、ボリューム・パイプライン
に送る。しかしながら、すべての半透明ポリゴンの薄いスラブを読み出し、1フ
レーム当たり257回フレーム・バッファをクリアするのに、フレーム・バッフ
ァへの毎秒1.9GBのアクセスは、なお、必要である。したがって、別々のフ
レーム・バッファを使用して、データをRLEフォーマットで直接記憶すると好
ましい。半透明データの薄いスラブが非常にまばらであるので、ラスタライジン
グで費やされるよりも多くの時間が、クリアリング、読み出しで費やされる。一
般的にラスタライゼーションにとって最適ではないが、RLEバッファは、デー
タのクリアリング、読み出しの両方にとって最適である。たとえば、RLEフレ
ーム・バッファをクリアするには、2562フレーム・バッファ全体に書き込み
する代わりに、スキャンライン毎に単一のrun of zeros(5バイト)を記憶する
だけでよい。
ェアは、リアルタイムでデータをコード化してから、ボリューム・パイプライン
に送る。しかしながら、すべての半透明ポリゴンの薄いスラブを読み出し、1フ
レーム当たり257回フレーム・バッファをクリアするのに、フレーム・バッフ
ァへの毎秒1.9GBのアクセスは、なお、必要である。したがって、別々のフ
レーム・バッファを使用して、データをRLEフォーマットで直接記憶すると好
ましい。半透明データの薄いスラブが非常にまばらであるので、ラスタライジン
グで費やされるよりも多くの時間が、クリアリング、読み出しで費やされる。一
般的にラスタライゼーションにとって最適ではないが、RLEバッファは、デー
タのクリアリング、読み出しの両方にとって最適である。たとえば、RLEフレ
ーム・バッファをクリアするには、2562フレーム・バッファ全体に書き込み
する代わりに、スキャンライン毎に単一のrun of zeros(5バイト)を記憶する
だけでよい。
【0251】 現ジオメトリ・パイプラインへのインパクトを最小限にするために、RLEフ
レーム・バッファは、好ましくは、DRAMを埋め込み、それをノーマル・フレ
ーム・バッファに並列で接続する新生技術を用いて実装される。これは、普通、
データが物理的なオーダーで与えられると仮定する普通のコード化・アルゴリズ
ムとは異なる。しかしながら、三角形ラスタライゼーションは、断片の任意のオ
ーダーリングを保証しない。したがって、本発明の装置は、RGBα値をデータ
のRLEスキャンラインにランダムに挿入できなければならない。
レーム・バッファは、好ましくは、DRAMを埋め込み、それをノーマル・フレ
ーム・バッファに並列で接続する新生技術を用いて実装される。これは、普通、
データが物理的なオーダーで与えられると仮定する普通のコード化・アルゴリズ
ムとは異なる。しかしながら、三角形ラスタライゼーションは、断片の任意のオ
ーダーリングを保証しない。したがって、本発明の装置は、RGBα値をデータ
のRLEスキャンラインにランダムに挿入できなければならない。
【0252】 図35は、本発明に従って形成されたRLEインサートのダイアグラムを示し
ている。各断片について、コード化されたスキャンラインは、バッファ毎にコピ
ーされ、新しいRGBα値を挿入する。ロック・サイクル毎に、単一のフリット
(すなわち、RGBαピクセルまたはrun-of-zeros)が処理される。スキャンラ
イン全体が、フリット毎に処理されると好ましい。図35を参照して、入力バッ
ファ(「in Buffer」)280が、現コード化スキャンラインを保持し、出力バ
ッファ(「out Buffer」)282が、挿入した新しいRGBα断片を持つ新しく
コード化したスキャンラインを保持する。各サイクルで挿入すべきものの選択は
、好ましくは、5バイトのマルチプレクサ284によって実施される。本発明の
装置は、好ましくは、ポインタ、すなわち、「inPtr」286および「outPtr」
288を包含する。これらのポインタは、それぞれ、in Buffer280、out Buf
fer282の両方の現フリットを指摘する。図35の右側にあるロジックは、ど
のくらい処理されたか(「Total」)290と制御点の2つ(「ctrl_l」および
「ctrl_3」)を計算する。他のmux制御点(「crtl_2」)は、RGBα値(ru
n-of-zerosについてのフラグ)のすべてを一緒に論理和演算することによって算
出される。「xPos」は、断片のx位置として定義される。好ましくは、現バッフ
ァがy値毎にメモリ内に位置する場所についてのルックアップ表が実装される。
したがって、新らしいピクセルを挿入しながらバッファを移動させることができ
、表を簡単に更新することができる。この好ましい方法が、図36のRLE_Add
Fragment擬似コード・ルーチンに示してある。図36を続けて参照して、RLE
_AddPixelToScanline機能は、図35に示す本発明のハードウェア実施例で生じ
る処理を示している。
ている。各断片について、コード化されたスキャンラインは、バッファ毎にコピ
ーされ、新しいRGBα値を挿入する。ロック・サイクル毎に、単一のフリット
(すなわち、RGBαピクセルまたはrun-of-zeros)が処理される。スキャンラ
イン全体が、フリット毎に処理されると好ましい。図35を参照して、入力バッ
ファ(「in Buffer」)280が、現コード化スキャンラインを保持し、出力バ
ッファ(「out Buffer」)282が、挿入した新しいRGBα断片を持つ新しく
コード化したスキャンラインを保持する。各サイクルで挿入すべきものの選択は
、好ましくは、5バイトのマルチプレクサ284によって実施される。本発明の
装置は、好ましくは、ポインタ、すなわち、「inPtr」286および「outPtr」
288を包含する。これらのポインタは、それぞれ、in Buffer280、out Buf
fer282の両方の現フリットを指摘する。図35の右側にあるロジックは、ど
のくらい処理されたか(「Total」)290と制御点の2つ(「ctrl_l」および
「ctrl_3」)を計算する。他のmux制御点(「crtl_2」)は、RGBα値(ru
n-of-zerosについてのフラグ)のすべてを一緒に論理和演算することによって算
出される。「xPos」は、断片のx位置として定義される。好ましくは、現バッフ
ァがy値毎にメモリ内に位置する場所についてのルックアップ表が実装される。
したがって、新らしいピクセルを挿入しながらバッファを移動させることができ
、表を簡単に更新することができる。この好ましい方法が、図36のRLE_Add
Fragment擬似コード・ルーチンに示してある。図36を続けて参照して、RLE
_AddPixelToScanline機能は、図35に示す本発明のハードウェア実施例で生じ
る処理を示している。
【0253】 埋め込み式DRAMを利用することによって、本発明は、処理がメモリ・チッ
プで生じるときに利用できる極めて高いバンド幅を利用する。この処理は、DR
AM製造プロセスで実施されるのに充分に単純である。たとえば、1280×1
024のフレーム・バッファの場合、必要な最大メモリ量は、50Mbitである。
これは、コード化ハードウェアについて3,000,000以上のゲートの余裕
をもって、eDRAMダイスに適合する。
プで生じるときに利用できる極めて高いバンド幅を利用する。この処理は、DR
AM製造プロセスで実施されるのに充分に単純である。たとえば、1280×1
024のフレーム・バッファの場合、必要な最大メモリ量は、50Mbitである。
これは、コード化ハードウェアについて3,000,000以上のゲートの余裕
をもって、eDRAMダイスに適合する。
【0254】 図37は、ポリゴン・パイプライン242およびボリューム・パイプライン2
52を、RLEフレーム・バッファ292を通していかに接続するかを示す好ま
しいブロック図である。RLEフレーム・バッファ292は、好ましくは、二重
バッファされ、データの伝送中にレンダリングをすることを可能にある。補助フ
レーム・バッファが、好ましくは、断片を単に複製することによって既存のもの
と同じ場所で接続され、したがって、ジオメトリ・パイプライン242の残りの
部分に影響を及ぼすことがない。ボリューム・パイプライン252は、また、好
ましくは、二重バッファリングを利用して先のスラブをブレンドしながらデータ
の受信を可能にする。ここで、本発明のシステムを用いることで、ボリューム・
レンダリングがポリゴンレンダリングと干渉しないことは明らかである。ボリュ
ーム・パイプライン252が常に反復可能なオーダー様式でメモリにアクセスす
るので、それが30Hzボリューム・レンダリングを達成するのに充分な率でフ
レーム・バッファ内へのサンプル塗り潰し率を達成する。本発明のシステムは、
グラフィックス・パイプライン242を利用してボリューム・メモリ258内に
記憶されたボリュームをレンダリングする前に不透明ポリゴンをレンダリングす
る。これは、通常、先のフレームについてボリュームのレンダリングと同時に達
成することができる。ポリゴン・エンジンがボリュームと混合した半透明ポリゴ
ンをレンダリングしなければならない場合であっても、通常、ノーマル・シーン
における少数の半透明ポリゴンによりボリュームが仕上がる前に不透明ポリゴン
をレンダリングするに充分な時間がある。
52を、RLEフレーム・バッファ292を通していかに接続するかを示す好ま
しいブロック図である。RLEフレーム・バッファ292は、好ましくは、二重
バッファされ、データの伝送中にレンダリングをすることを可能にある。補助フ
レーム・バッファが、好ましくは、断片を単に複製することによって既存のもの
と同じ場所で接続され、したがって、ジオメトリ・パイプライン242の残りの
部分に影響を及ぼすことがない。ボリューム・パイプライン252は、また、好
ましくは、二重バッファリングを利用して先のスラブをブレンドしながらデータ
の受信を可能にする。ここで、本発明のシステムを用いることで、ボリューム・
レンダリングがポリゴンレンダリングと干渉しないことは明らかである。ボリュ
ーム・パイプライン252が常に反復可能なオーダー様式でメモリにアクセスす
るので、それが30Hzボリューム・レンダリングを達成するのに充分な率でフ
レーム・バッファ内へのサンプル塗り潰し率を達成する。本発明のシステムは、
グラフィックス・パイプライン242を利用してボリューム・メモリ258内に
記憶されたボリュームをレンダリングする前に不透明ポリゴンをレンダリングす
る。これは、通常、先のフレームについてボリュームのレンダリングと同時に達
成することができる。ポリゴン・エンジンがボリュームと混合した半透明ポリゴ
ンをレンダリングしなければならない場合であっても、通常、ノーマル・シーン
における少数の半透明ポリゴンによりボリュームが仕上がる前に不透明ポリゴン
をレンダリングするに充分な時間がある。
【0255】 本発明の好ましい実施例によれば、プレフィルタリングでボリュメトリック・
データセットに三角形を増分ボクセル化し、それによって、正確な多価値ボクセ
ル化を生成する方法が提供される。多価値ボクセル化により、相互混合したジオ
メトリ、正確なマルチ解像度表現および効率的なアンチエイリアシングで直接的
にボリューム・レンダリングを行うことを可能にする。従来のボクセル化方法は
、いずれも、バイナリ・ボクセル化だけを計算していたか、あるいは、多価値ボ
クセル化を非効率的に計算していた。本発明によれば、この方法は、好ましくは
、各ボクセル値についてどのフィルタ機能を計算すべきかについて迅速に決定す
る増分式を生成する。この好ましい方法は、以下により詳しく説明するが、三角
形バウンディング・ボックスの1ボクセル当たり8回の加算を必要とする。
データセットに三角形を増分ボクセル化し、それによって、正確な多価値ボクセ
ル化を生成する方法が提供される。多価値ボクセル化により、相互混合したジオ
メトリ、正確なマルチ解像度表現および効率的なアンチエイリアシングで直接的
にボリューム・レンダリングを行うことを可能にする。従来のボクセル化方法は
、いずれも、バイナリ・ボクセル化だけを計算していたか、あるいは、多価値ボ
クセル化を非効率的に計算していた。本発明によれば、この方法は、好ましくは
、各ボクセル値についてどのフィルタ機能を計算すべきかについて迅速に決定す
る増分式を生成する。この好ましい方法は、以下により詳しく説明するが、三角
形バウンディング・ボックスの1ボクセル当たり8回の加算を必要とする。
【0256】 画像エイリアシングを避けるために、本発明は、好ましくは、スカラー値ボク
セルを使用してボクセルの空間占有パーセンテージを表すプレフィルタリングを
使用する。二次元ライン・アンチエイリアシング方法の拡張型が、従来公知であ
る(Filtering Edges for Grayscale Displays, by S. Gupta and R. F. Sprou
ll, Computer Graphics (SIGGRAPH81), vol. 15, no. 3, pp. 1-5, Aug. 1981
)。中央差分勾配評価のための最適なボリューム・サンプリング・フィルタが表
面に対して垂直な一次元向きボックス・フィルタであることも示されている。本
発明の方法は、好ましくは、三角形からの距離の単純な一次関数であるこのフィ
ルタを利用する。
セルを使用してボクセルの空間占有パーセンテージを表すプレフィルタリングを
使用する。二次元ライン・アンチエイリアシング方法の拡張型が、従来公知であ
る(Filtering Edges for Grayscale Displays, by S. Gupta and R. F. Sprou
ll, Computer Graphics (SIGGRAPH81), vol. 15, no. 3, pp. 1-5, Aug. 1981
)。中央差分勾配評価のための最適なボリューム・サンプリング・フィルタが表
面に対して垂直な一次元向きボックス・フィルタであることも示されている。本
発明の方法は、好ましくは、三角形からの距離の単純な一次関数であるこのフィ
ルタを利用する。
【0257】 普通のグラフィック・ハードウェアは、これらの基本的なプリミティブの組み
合わせとして表されるより高いオーダーのプリミティブで、ポイント、ラインお
よび三角形をラスタライズするだけである。したがって、他のすべてのプリミテ
ィブが三角形によって表され得るために、三角形のみをボクセル化することが好
ましい。ポリゴン・メッシュ、スプライン曲面、球、シリンダその他をボクセル
化のために三角形に細分することができる。ポイントおよびラインは、三角形の
特殊なケースであり、本発明のアルゴリズムによって同様にボクセル化すること
ができる。中実オブジェクトをボクセル化するためには、オブジェクトの境界を
一組の三角形としてボクセル化するのが好ましい。次に、オブジェクトの内部を
、ボリュメトリック・ファイリング手順を使用して塗りつぶす。
合わせとして表されるより高いオーダーのプリミティブで、ポイント、ラインお
よび三角形をラスタライズするだけである。したがって、他のすべてのプリミテ
ィブが三角形によって表され得るために、三角形のみをボクセル化することが好
ましい。ポリゴン・メッシュ、スプライン曲面、球、シリンダその他をボクセル
化のために三角形に細分することができる。ポイントおよびラインは、三角形の
特殊なケースであり、本発明のアルゴリズムによって同様にボクセル化すること
ができる。中実オブジェクトをボクセル化するためには、オブジェクトの境界を
一組の三角形としてボクセル化するのが好ましい。次に、オブジェクトの内部を
、ボリュメトリック・ファイリング手順を使用して塗りつぶす。
【0258】 当業者にとって明らかなように、エッジ関数は、効果的な増分算数によって、
エッジからの距離を維持するリニア表示である。本発明の方法は、この概念を3
次元へ敷衍し、ボリュメトリック三角形の走査変換中にアンチエイリアシングを
適用する。
エッジからの距離を維持するリニア表示である。本発明の方法は、この概念を3
次元へ敷衍し、ボリュメトリック三角形の走査変換中にアンチエイリアシングを
適用する。
【0259】 本質的に、本発明の三角形ボクセル化方法の一般的なアイデアは、ラスタ・オ
ーダーで三角形のバウンディング・ボックスを走査することによって三角形をボ
クセル化することにある。バウンディング・ボックス内の各ボクセルについて、
フィルタ方程式が、好ましくは、評価され、その結果がメモリに記憶される。式
の値は、三角形からの距離の一次関数である。その結果は、好ましくは、ファジ
ー代数ユニオン・オペレータ(すなわち、maxオペレータ)を使用して、記憶
される。
ーダーで三角形のバウンディング・ボックスを走査することによって三角形をボ
クセル化することにある。バウンディング・ボックス内の各ボクセルについて、
フィルタ方程式が、好ましくは、評価され、その結果がメモリに記憶される。式
の値は、三角形からの距離の一次関数である。その結果は、好ましくは、ファジ
ー代数ユニオン・オペレータ(すなわち、maxオペレータ)を使用して、記憶
される。
【0260】 次に図38を参照して、ここには、中実プリミティブ296の中心からライン
294に沿った方向付けボックス・フィルタの密度分布が示してある。フィルタ
の幅は、Wとして定義される。ファジー・セット内の1つのボクセルの包含物は
、ゼロと1の間で変化する。方向付けたボックス・フィルタの値によって決定さ
れることを含む。プリミティブ296の表面298は、0.5の密度アイソ・サ
ーフェイス上に位置すると仮定する。したがって、図38におけるように中実プ
リミティブ296をボクセル化するとき、密度分布はプリミティブ内部の1から
プリミティブ外部のゼロまで変化し、エッジのところで滑らかに変化する。表面
プリミティブについて、たとえば、図39に示す三角形300について、密度は
、好ましくは、表面で1であり、表面から距離Wのところでゼロまで線形に低下
する。本発明は、中実体のボクセル化を意図しているが、表面のボクセル化を以
下に説明する。
294に沿った方向付けボックス・フィルタの密度分布が示してある。フィルタ
の幅は、Wとして定義される。ファジー・セット内の1つのボクセルの包含物は
、ゼロと1の間で変化する。方向付けたボックス・フィルタの値によって決定さ
れることを含む。プリミティブ296の表面298は、0.5の密度アイソ・サ
ーフェイス上に位置すると仮定する。したがって、図38におけるように中実プ
リミティブ296をボクセル化するとき、密度分布はプリミティブ内部の1から
プリミティブ外部のゼロまで変化し、エッジのところで滑らかに変化する。表面
プリミティブについて、たとえば、図39に示す三角形300について、密度は
、好ましくは、表面で1であり、表面から距離Wのところでゼロまで線形に低下
する。本発明は、中実体のボクセル化を意図しているが、表面のボクセル化を以
下に説明する。
【0261】 図39を続いて参照して、フィルタ幅Wについての最適値が、 単位であることは決まっている(たとえば、Object Voxelization by Filter
ing, by M. Sramek and A. Kaufman, 1998 Volume Visualization Symposium
, pp. 111-118, IEEE, Oct. 1998参照)。シェーディングのために、垂線が、0
.5のアイソ・サーフェイスで中央差分勾配を計算することによって推定される
と好ましい。中央差分フィルタの全幅がせいぜい 単位であるため、正しい勾配は、0.5の密度アイソ・サーフェイス上に見出さ
れる。三角形300の厚さは、Tとして定義され得る。通常、Tは、厚い表面を
望まない限り、ゼロである可能性がある。0.5の密度での閾値決定によって、
6・トンネル・フリー・セットのボクセルが、W=1のときに、生成される。こ
の特性は、ボリュメトリック・フィリング(たとえば、中実オブジェクトを生成
するオーダーで)について有用である。
ing, by M. Sramek and A. Kaufman, 1998 Volume Visualization Symposium
, pp. 111-118, IEEE, Oct. 1998参照)。シェーディングのために、垂線が、0
.5のアイソ・サーフェイスで中央差分勾配を計算することによって推定される
と好ましい。中央差分フィルタの全幅がせいぜい 単位であるため、正しい勾配は、0.5の密度アイソ・サーフェイス上に見出さ
れる。三角形300の厚さは、Tとして定義され得る。通常、Tは、厚い表面を
望まない限り、ゼロである可能性がある。0.5の密度での閾値決定によって、
6・トンネル・フリー・セットのボクセルが、W=1のときに、生成される。こ
の特性は、ボリュメトリック・フィリング(たとえば、中実オブジェクトを生成
するオーダーで)について有用である。
【0262】 1つの三角形について非ゼロ値を持つすべてのボクセルは、好ましくは、バウ
ンディング・ボックス内にあり、このバウンディング・ボックスは、緊密なバウ
ンディング・ボックスよりも、すべての方向において大きいS=W+T/2ボクセル単
位である。したがって、本方法の第1段階は、好ましくは、三角形300につい
ての緊密なバウンドを決定し、次いで、それをすべての方向においてSボクセル
単位だけ膨らませ、最も近いボクセルまで外側に丸める。
ンディング・ボックス内にあり、このバウンディング・ボックスは、緊密なバウ
ンディング・ボックスよりも、すべての方向において大きいS=W+T/2ボクセル単
位である。したがって、本方法の第1段階は、好ましくは、三角形300につい
ての緊密なバウンドを決定し、次いで、それをすべての方向においてSボクセル
単位だけ膨らませ、最も近いボクセルまで外側に丸める。
【0263】 図40に示すように、頂点C1、C2、C3によって定義される三角形を取り囲
んでいる領域は、別々に処理しなければならない7つの領域(たとえば、R1〜
R7)に分割することができる。本発明の好ましい方法においては、各対象ボク
セルは、7つの領域内の包含物についてテストされ、次いで、各領域について異
なった式で濾過される。三角形の内部領域R1において、方向付けられたボック
ス・フィルタの値は、単に三角形のプレーンからの距離に比例している。三角形
のエッジに沿った領域R2、R3、R4において、フィルタの値は、好ましくは
、三角形のエッジからの距離に比例する。三角形の角隅R5、R6、R7の領域
においては、フィルタの値は、好ましくは、三角形の角隅からの距離に比例する
。
んでいる領域は、別々に処理しなければならない7つの領域(たとえば、R1〜
R7)に分割することができる。本発明の好ましい方法においては、各対象ボク
セルは、7つの領域内の包含物についてテストされ、次いで、各領域について異
なった式で濾過される。三角形の内部領域R1において、方向付けられたボック
ス・フィルタの値は、単に三角形のプレーンからの距離に比例している。三角形
のエッジに沿った領域R2、R3、R4において、フィルタの値は、好ましくは
、三角形のエッジからの距離に比例する。三角形の角隅R5、R6、R7の領域
においては、フィルタの値は、好ましくは、三角形の角隅からの距離に比例する
。
【0264】 図40を続けて参照して、領域R1〜R7は、好ましくは、7つのプレーンか
らの距離によって区別される。第1のプレーンaは、好ましくは、三角形および
ページから外側のノーマル・ベクトルaポイントと同一平面にある。次の3つの
プレーンb、c、dは、好ましくは、それぞれ、ノーマル・ベクトルb、c、d
を有し、それぞれ、三角形の角隅頂点C1、C2、C3を通過する。最後の3つの
プレーンe、f、gは、好ましくは、三角形に対して垂直であり、エッジに対し
て平行である。すなわち、それらのそれぞれのノーマル・ベクトルe、f、gは
、三角形のプレーン内に位置し、内向きとなっており、3つすべてのプレーンか
らの正の距離が領域R1を定めるようになっている。プレーン係数のすべては、
標準化され、その結果、ノーマルの長さが1となるが、ただし、ノーマル・ベク
トルb、c、dについてはそうではなくて、これらは、長さがそれぞれのエッジ
長の逆数に等しくなるように標準化される。こうして、プレーンからの計算され
た距離は、エッジの有効長さに沿ってゼロから1まで変化する。
らの距離によって区別される。第1のプレーンaは、好ましくは、三角形および
ページから外側のノーマル・ベクトルaポイントと同一平面にある。次の3つの
プレーンb、c、dは、好ましくは、それぞれ、ノーマル・ベクトルb、c、d
を有し、それぞれ、三角形の角隅頂点C1、C2、C3を通過する。最後の3つの
プレーンe、f、gは、好ましくは、三角形に対して垂直であり、エッジに対し
て平行である。すなわち、それらのそれぞれのノーマル・ベクトルe、f、gは
、三角形のプレーン内に位置し、内向きとなっており、3つすべてのプレーンか
らの正の距離が領域R1を定めるようになっている。プレーン係数のすべては、
標準化され、その結果、ノーマルの長さが1となるが、ただし、ノーマル・ベク
トルb、c、dについてはそうではなくて、これらは、長さがそれぞれのエッジ
長の逆数に等しくなるように標準化される。こうして、プレーンからの計算され
た距離は、エッジの有効長さに沿ってゼロから1まで変化する。
【0265】 任意の平らな表面について、表面からの任意のポイントの距離は、プレーン式
係数を使用して計算することができる。
係数を使用して計算することができる。
【0266】
【数49】 係数が事前標準化されているとき、これを簡略化すると、
【0267】
【数50】 となる。この計算は、増分で行われ得るので、任意のベクトルに沿って進むとき
に、距離は定数分だけ変化する。たとえば、1つのプレーンからの距離が位置[x
, y ,z]でDistである場合、X方向における1単位距離進めることは、距離を次
のように変える。
に、距離は定数分だけ変化する。たとえば、1つのプレーンからの距離が位置[x
, y ,z]でDistである場合、X方向における1単位距離進めることは、距離を次
のように変える。
【0268】
【数51】 一般的に、任意のベクトルr = [rx、ry、rz]に沿って進む場合、プレーンからの
距離は、
距離は、
【0269】
【数52】 ここで、
【0270】
【数53】 はドット・プロダクトを示す。三角形のバウンディング・ボックスを走査する間
、三角形のプレーンからの距離は、1ボクセル当たり一回だけの加算で増分計算
され得る。プレーンから距離を計算するために本発明に従って実施されるこの方
法は、図41に示す好ましい擬似コード・ルーチンによって示されている。
、三角形のプレーンからの距離は、1ボクセル当たり一回だけの加算で増分計算
され得る。プレーンから距離を計算するために本発明に従って実施されるこの方
法は、図41に示す好ましい擬似コード・ルーチンによって示されている。
【0271】 Y段階は、X段階よりも複雑である。それは、Y方向において1単位分進むば
かりでなく、X方向において複数単位で後に進むからである。類似点として、リ
ターンキーを一回押すと、紙の左マージンへ滑り戻り、行を進めるタイプライタ
の動作が考えられる。同様に、Z段階は、X、Y両方向において後に進むことと
、Z方向において1単位分前方に進むことを結合する。この単純な前処理段階は
、ボリューム全体にわたって効率的な進みを確実にする。数値的な近似問題が生
じる場合には、各内側ループの開始時に距離値を記憶し、終了時にそれを復元し
、それによって、内側ループ内の丸めエラーによる数値的なクリープを最小限に
抑えることができる。
かりでなく、X方向において複数単位で後に進むからである。類似点として、リ
ターンキーを一回押すと、紙の左マージンへ滑り戻り、行を進めるタイプライタ
の動作が考えられる。同様に、Z段階は、X、Y両方向において後に進むことと
、Z方向において1単位分前方に進むことを結合する。この単純な前処理段階は
、ボリューム全体にわたって効率的な進みを確実にする。数値的な近似問題が生
じる場合には、各内側ループの開始時に距離値を記憶し、終了時にそれを復元し
、それによって、内側ループ内の丸めエラーによる数値的なクリープを最小限に
抑えることができる。
【0272】 多価値ボクセル化の場合、7つのプレーン距離が必要である。したがって、プ
レーン距離を計算するのに1ボクセル当たり7回の加算が必要となる。1ボクセ
ル当たりの他の計算としては、ループ・インデックスを増分させること、適切な
領域を決定するための比較、および、必要に応じて、密度を決定する計算がある
。
レーン距離を計算するのに1ボクセル当たり7回の加算が必要となる。1ボクセ
ル当たりの他の計算としては、ループ・インデックスを増分させること、適切な
領域を決定するための比較、および、必要に応じて、密度を決定する計算がある
。
【0273】 再び図40を参照して、領域R1において、1つのボクセルの密度値は、好ま
しくは、プレーンaに垂直な向きとなっているボックス・フィルタで計算される
。プレーンからの距離DistAを与えた場合、密度値Vは、次の式を用いて計算さ
れる。
しくは、プレーンaに垂直な向きとなっているボックス・フィルタで計算される
。プレーンからの距離DistAを与えた場合、密度値Vは、次の式を用いて計算さ
れる。
【0274】
【数54】 領域R2において、密度は、好ましくは、プレーンa、bからの距離を使用して
計算される。
計算される。
【0275】
【数55】 同様に、領域R3は、プレーンa、cを使用し、領域R4、プレーンa、dを使
用する。領域R5は、角隅ポイントC1からピタゴラス距離を使用する。
用する。領域R5は、角隅ポイントC1からピタゴラス距離を使用する。
【0276】
【数56】 同様に、領域R6、R7は、それぞれ、角隅ポイントC2、C3を使用する。
【0277】 隣接した三角形の共有エッジのところで、不連続またはクラックを回避すると
好ましい。幸いにも、ボクセル化された表面のユニオンが正しく計算されたなら
ば、方向付けられたボックス・フィルタは、任意の多面体についてのエッジの正
確なフィルタリングを保証する。ユニオン演算子は、
好ましい。幸いにも、ボクセル化された表面のユニオンが正しく計算されたなら
ば、方向付けられたボックス・フィルタは、任意の多面体についてのエッジの正
確なフィルタリングを保証する。ユニオン演算子は、
【0278】
【数57】 での多価値密度値V(x)にわたって定義され得る。他のブール演算子も利用で
きる。しかしながら、max演算子は、共有エッジでの正しい向きのボックス・フ
ィルタ値を保存するので、好ましい。
きる。しかしながら、max演算子は、共有エッジでの正しい向きのボックス・フ
ィルタ値を保存するので、好ましい。
【0279】 本発明の方法においてmaxを使用することの含意は、現ボクセル値をメモリ
から読み出し、次いで、おそらくは、修正し、メモリに書き戻さなければならな
いということである。したがって、1ボクセル当たり最大2つのメモリ・サイク
ルが必要である。
から読み出し、次いで、おそらくは、修正し、メモリに書き戻さなければならな
いということである。したがって、1ボクセル当たり最大2つのメモリ・サイク
ルが必要である。
【0280】 本発明のアルゴリズムの効率は、不必要な計算量を制限することによってさら
に向上させることができる。これは、バウンディング・ボックスが、しばしば、
三角形によって影響を受けるよりも三角形によって影響されないボクセルをより
高いパーセンテージで含むからである。エッジ長が所定定数を上回るとき、バウ
ンディング・ボックスは、三角形を再帰的に細分することによってより緊密にさ
れ得る。
に向上させることができる。これは、バウンディング・ボックスが、しばしば、
三角形によって影響を受けるよりも三角形によって影響されないボクセルをより
高いパーセンテージで含むからである。エッジ長が所定定数を上回るとき、バウ
ンディング・ボックスは、三角形を再帰的に細分することによってより緊密にさ
れ得る。
【0281】 混在するポリゴンおよびボリュームを視覚化するために、ポリゴンは、好まし
くは、目標ボリュームにボクセル化され、単一のパスでレンダリングされる。ポ
リゴンがボリュームに関して移動する場合、ボクセル化は、データを壊さないよ
うにオリジナルのボリュームのコピーに生じなければならない。多価値ボクセル
化されたポリゴン・ボクセルは、ボリューム・データから区別するためにタグを
付けられてもよい。こうして、ポリゴンを着色し、他のデータから別個に陰影を
付けることができる。
くは、目標ボリュームにボクセル化され、単一のパスでレンダリングされる。ポ
リゴンがボリュームに関して移動する場合、ボクセル化は、データを壊さないよ
うにオリジナルのボリュームのコピーに生じなければならない。多価値ボクセル
化されたポリゴン・ボクセルは、ボリューム・データから区別するためにタグを
付けられてもよい。こうして、ポリゴンを着色し、他のデータから別個に陰影を
付けることができる。
【0282】 上記の好ましい三角形ボクセル化アルゴリズムは、本発明のCube−5ボリ
ューム・レンダリング・システムの分散パイプラインにおいて能率的に実施され
る。このアルゴリズムは、ほんの少量のハードウェアを既存のパイプラインに加
え、相互作用率で正確な多価値ボクセル化を実施する。請求項記載のCube−
5ボリューム・レンダリング・アルゴリズムの1つの重要な利点は、ボリューム
・データを決定論的オーダーで筋道正しくアクセスするということである。この
特徴は、このアルゴリズムについてバウンディング・ボックスの規則正しいスキ
ャニングを可能にする。
ューム・レンダリング・システムの分散パイプラインにおいて能率的に実施され
る。このアルゴリズムは、ほんの少量のハードウェアを既存のパイプラインに加
え、相互作用率で正確な多価値ボクセル化を実施する。請求項記載のCube−
5ボリューム・レンダリング・アルゴリズムの1つの重要な利点は、ボリューム
・データを決定論的オーダーで筋道正しくアクセスするということである。この
特徴は、このアルゴリズムについてバウンディング・ボックスの規則正しいスキ
ャニングを可能にする。
【0283】 図42において、ここには、本発明によるボクセル化パイプライン全体の好ま
しい実施例が示してある。オンザフライ・ボクセル化が重要であるならば、本発
明のシステムは、好ましくは、ボリューム・レンダリングおよびボクセル化のた
めの別々のパイプラインを含んでいてもよい。ボクセル化が別のパスで生じた場
合、これらのボリューム・レンダリングおよびボクセル化パイプラインを結合し
、ボクセル化パイプラインが、ボリューム・レンダリング・パイプラインからの
大部分のハードウェアを再使用してもよい。各三角形についてのセットアップは
、好ましくは、2Dラスタライゼーションのためにセットアップがホスト・シス
テム上で実施されると同様の方法で、ホスト・システムで行う。
しい実施例が示してある。オンザフライ・ボクセル化が重要であるならば、本発
明のシステムは、好ましくは、ボリューム・レンダリングおよびボクセル化のた
めの別々のパイプラインを含んでいてもよい。ボクセル化が別のパスで生じた場
合、これらのボリューム・レンダリングおよびボクセル化パイプラインを結合し
、ボクセル化パイプラインが、ボリューム・レンダリング・パイプラインからの
大部分のハードウェアを再使用してもよい。各三角形についてのセットアップは
、好ましくは、2Dラスタライゼーションのためにセットアップがホスト・シス
テム上で実施されると同様の方法で、ホスト・システムで行う。
【0284】 図42を参照して、パイプラインの第1ハードウェア・ステージ302におい
て、7つのプレーンからの距離が計算されると好ましい。7つの単純な距離単位
が、7つのプレーンの各々についての4つのレジスタに割り当てられる。好まし
くは、1つのレジスタが、プレーンからの現距離を保持し、他の3台のレジスタ
が、はX、Y、Zの段階についての増分を保持する。図43は、本発明の好まし
い実施例に従って形成された、7つのプレーンのうちの1つのための距離計算ユ
ニット310を示している。この距離計算ユニット310は、パイプラインの距
離計算ステージ302の一部として内蔵されてもよい(図42参照)。他の6つ
のユニットは、本質的に同じ設計であるが、異なる値を保持することができる。
ボクセル化の各クロック・サイクル中、パイプラインは、好ましくは、X、Y、
Zの方向のいずれかにおいて進み(すなわち、X段階312、Y段階314また
はZ段階316を実施し)、それによって、運動の方向に従って現距離を更新す
る。ボリュームを通してルーピングするためのハードウェアは、既にボリューム
・レンダリング・パイプラインに存在しており、したがって、三角形のバウンデ
ィング・ボックスを走査するためにここで再使用される。
て、7つのプレーンからの距離が計算されると好ましい。7つの単純な距離単位
が、7つのプレーンの各々についての4つのレジスタに割り当てられる。好まし
くは、1つのレジスタが、プレーンからの現距離を保持し、他の3台のレジスタ
が、はX、Y、Zの段階についての増分を保持する。図43は、本発明の好まし
い実施例に従って形成された、7つのプレーンのうちの1つのための距離計算ユ
ニット310を示している。この距離計算ユニット310は、パイプラインの距
離計算ステージ302の一部として内蔵されてもよい(図42参照)。他の6つ
のユニットは、本質的に同じ設計であるが、異なる値を保持することができる。
ボクセル化の各クロック・サイクル中、パイプラインは、好ましくは、X、Y、
Zの方向のいずれかにおいて進み(すなわち、X段階312、Y段階314また
はZ段階316を実施し)、それによって、運動の方向に従って現距離を更新す
る。ボリュームを通してルーピングするためのハードウェアは、既にボリューム
・レンダリング・パイプラインに存在しており、したがって、三角形のバウンデ
ィング・ボックスを走査するためにここで再使用される。
【0285】 7つのプレーン距離を計算した後、結果の値は、好ましくは、パイプラインを
流下する。図42に示すように、次のパイプライン・ステージ304が、好まし
くは、現ボクセルがどの領域に存在するかについて決定する。領域選択ステージ
304の好ましい実施例においては、いくつかのケースの交互禁制により、真理
値表の結果を決定するのに、7つだけのコンパレータが必要である。たとえば、
プレーンbの負側(下側)から見た図40において、プレーンeからの距離に応
じて、プレーンfまたはgからの距離をテストする必要はない。
流下する。図42に示すように、次のパイプライン・ステージ304が、好まし
くは、現ボクセルがどの領域に存在するかについて決定する。領域選択ステージ
304の好ましい実施例においては、いくつかのケースの交互禁制により、真理
値表の結果を決定するのに、7つだけのコンパレータが必要である。たとえば、
プレーンbの負側(下側)から見た図40において、プレーンeからの距離に応
じて、プレーンfまたはgからの距離をテストする必要はない。
【0286】 図42を続けて参照して、領域を決定した後、次のパイプライン・ステージ3
06がフィルタ機能を計算する。現ボクセルが三角形のSボクセル単位以内にあ
る場合、好ましくは、パイプラインのフィルタ計算ステージ306が起動される
だけである。さもなければ、現ボクセルは、本質的に三角形によって影響を受け
ず、異なった領域は、単純なリニア表示から複雑なピタゴラス距離評価までの範
囲で種々の計算を必要とする。ハードウェアが、理想的には、すべてのケースを
等しく取り扱わなければならないので、このようなハードウェアが、限定解像度
ルックアップ表(LUT)によって平方根近似を実施できると好まれしい。しか
しながら、入力、出力の範囲は小さく、したがって、必要なLUTのサイズは小
さくなる。さらに、本発明のCube−5ハードウェアは、ボクセル化のために
再使用され得るボリューム・レンダリングに利用できるいくつかのLUTを有す
る。表示
06がフィルタ機能を計算する。現ボクセルが三角形のSボクセル単位以内にあ
る場合、好ましくは、パイプラインのフィルタ計算ステージ306が起動される
だけである。さもなければ、現ボクセルは、本質的に三角形によって影響を受け
ず、異なった領域は、単純なリニア表示から複雑なピタゴラス距離評価までの範
囲で種々の計算を必要とする。ハードウェアが、理想的には、すべてのケースを
等しく取り扱わなければならないので、このようなハードウェアが、限定解像度
ルックアップ表(LUT)によって平方根近似を実施できると好まれしい。しか
しながら、入力、出力の範囲は小さく、したがって、必要なLUTのサイズは小
さくなる。さらに、本発明のCube−5ハードウェアは、ボクセル化のために
再使用され得るボリューム・レンダリングに利用できるいくつかのLUTを有す
る。表示
【0287】
【数58】 を計算するのに3つの別個のユニットを設ける代わりに、1つのLUTにすべて
の計算を任せるとより効率的である。この場合、入力は[0, 12]について定義さ
れたDist2であり、出力は、範囲[0, 1]における密度値Vである。
の計算を任せるとより効率的である。この場合、入力は[0, 12]について定義さ
れたDist2であり、出力は、範囲[0, 1]における密度値Vである。
【0288】 7つの領域の交互禁制により、最も複雑なフィルタ計算だけのハードウェアを
設けると充分である。図40を参照して、最も複雑な計算は、領域R5、R6、
R7の角隅距離計算であり、好ましい実施例では、この計算は、前述の平方根L
UTに加えて、5つの加算器と3つの乗算器を必要とする。領域R2、R3、R
4におけるライン距離計算はより単純であり、1つの加算器と2つの乗算器と平
方根LUTだけが必要である。領域R1は、LUTへの必要な入力である二乗距
離を得るのに一回の乗算を必要とするだけである。
設けると充分である。図40を参照して、最も複雑な計算は、領域R5、R6、
R7の角隅距離計算であり、好ましい実施例では、この計算は、前述の平方根L
UTに加えて、5つの加算器と3つの乗算器を必要とする。領域R2、R3、R
4におけるライン距離計算はより単純であり、1つの加算器と2つの乗算器と平
方根LUTだけが必要である。領域R1は、LUTへの必要な入力である二乗距
離を得るのに一回の乗算を必要とするだけである。
【0289】 再び図42を参照して、パイプラインの最終ステージ308は、好ましくは、
現ボクセル値および計算した密度評価を使用してmax演算を計算する。本発明
の好ましい実施例において、max演算子は、単にマルチプレクサに取り付けた
コンパレータであって、2つ値のうち大きい方の値を守りに書き戻すようになっ
ている。バウンディング・ボックス内の大部分のボクセルが三角形に影響を与え
るほど接近していないので、メモリ・バンド幅は、必要なボクセルを読み込むだ
けなので節減されることになる。さらなるバンド幅節減は、現ボクセル値を変え
るこれらのボクセルをメモリに書き戻すだけで達成できる。メモリにワードをリ
クエストすることとメモリからワードを受け取ることとの間に若干の待ち時間が
あるので、ボクセルは、好ましくは、パイプライン内にできるだけ早く取り込み
、結果を、メモリが受け取りまで待たせる。最終ステージ308は、書き戻しメ
モリであり、これは、依存性の心配なしにバッファされる。
現ボクセル値および計算した密度評価を使用してmax演算を計算する。本発明
の好ましい実施例において、max演算子は、単にマルチプレクサに取り付けた
コンパレータであって、2つ値のうち大きい方の値を守りに書き戻すようになっ
ている。バウンディング・ボックス内の大部分のボクセルが三角形に影響を与え
るほど接近していないので、メモリ・バンド幅は、必要なボクセルを読み込むだ
けなので節減されることになる。さらなるバンド幅節減は、現ボクセル値を変え
るこれらのボクセルをメモリに書き戻すだけで達成できる。メモリにワードをリ
クエストすることとメモリからワードを受け取ることとの間に若干の待ち時間が
あるので、ボクセルは、好ましくは、パイプライン内にできるだけ早く取り込み
、結果を、メモリが受け取りまで待たせる。最終ステージ308は、書き戻しメ
モリであり、これは、依存性の心配なしにバッファされる。
【0290】 横断を複雑にするスキューイングのコンテキスト外で本発明を説明してきた。
しかしながら、本発明は、Y段階、Z段階距離更新値にスキューイングを構築す
ることも意図している。スキューイングは、また、より多くの複雑さを本発明の
Cube−5ハードウェアに加える。具体的には、最も左のボクセルをY方向に
1単位移動させ、それをバウンディング・ボックスの外に置くとき、パイプライ
ンは、実際には、X方向においてp−1段階を行ってボクセルをバウンディング
・ボックス内に保持する。同様に、最も左のボクセルがZ方向において1段階移
動するとき、それは、また、負のX方向において1段階移動する。これは、前と
同じ方法で取り扱われる。したがって、本発明の装置は、好ましくは、パイプラ
インが現に最も左のボクセルを処理しているとき、それを決定するのに14より
多いレジスタと対応するロジックを加えることによってスキューイングを実施し
するようになっている。
しかしながら、本発明は、Y段階、Z段階距離更新値にスキューイングを構築す
ることも意図している。スキューイングは、また、より多くの複雑さを本発明の
Cube−5ハードウェアに加える。具体的には、最も左のボクセルをY方向に
1単位移動させ、それをバウンディング・ボックスの外に置くとき、パイプライ
ンは、実際には、X方向においてp−1段階を行ってボクセルをバウンディング
・ボックス内に保持する。同様に、最も左のボクセルがZ方向において1段階移
動するとき、それは、また、負のX方向において1段階移動する。これは、前と
同じ方法で取り扱われる。したがって、本発明の装置は、好ましくは、パイプラ
インが現に最も左のボクセルを処理しているとき、それを決定するのに14より
多いレジスタと対応するロジックを加えることによってスキューイングを実施し
するようになっている。
【0291】 プレフィルタリング(本発明のボクセル化方法と組み合わせて実施してもよい
)を用いて、一連の異なった解像度のボリュームを最適に生成することができる
。この技術は、異なったサイズの画像をレンダリングするのに有用である。ボリ
ュームのサイズは、好ましくは、最終的な画像のサイズと一致するように選ぶ。
こうして、エイリアシングが、すべての画像解像度で避けられ、画像スケールで
見えないシーンの部分をレンダリングするという不必要な仕事が実施されない。
)を用いて、一連の異なった解像度のボリュームを最適に生成することができる
。この技術は、異なったサイズの画像をレンダリングするのに有用である。ボリ
ュームのサイズは、好ましくは、最終的な画像のサイズと一致するように選ぶ。
こうして、エイリアシングが、すべての画像解像度で避けられ、画像スケールで
見えないシーンの部分をレンダリングするという不必要な仕事が実施されない。
【0292】 プレフィルタリングは、さらに、模型運動ぼけにも使うことができる。たとえ
ば、オブジェクトがカメラを通り過ぎるとき、シャッタが開いている間、複雑な
ボリュームを走査することなり、これが運動ぼけを生じさせる。運動ぼけを正確
にレンダリングするためには、普通のレンダリング技術は、複数の画像をレンダ
リングし、それを単一の画像にブレンドする。しかしながら、この方法は、非常
に遅い。プレフィルタリングによれば、本発明は、ボクセル化中に一度走査動作
を実施し、規則的なボリューム・レンダリングと同じ時間で運動ぼけをレンダリ
ングする。この方法は、特に運動が一定である場合(たとえば、同じ方向への移
動および/または回転)には良く作動する。たとえば、飛行中に安定した速度で
回転しているヘリコプタのブレードを考える。たとえば、30Hzのアニメーシ
ョン・フレーム率の場合に5Hzの率で回転しているブレードをボクセル化する
ためには、ブレードはフレーム毎に5/30×(2π)の弧を描いて走査する。
したがって、ブレードの外側エッジでは、密度値は非常に低くなり、ブレードは
中心におけるよりも透明に見える。ここで、より小さいボリュームを走査すると
、よりソリッドに見える。より低い密度値がより少ない不透明さを表し、より高
い密度値がより多い不透明さを表すように、ボリューム・レンダリング転送機能
をセットするとよい。
ば、オブジェクトがカメラを通り過ぎるとき、シャッタが開いている間、複雑な
ボリュームを走査することなり、これが運動ぼけを生じさせる。運動ぼけを正確
にレンダリングするためには、普通のレンダリング技術は、複数の画像をレンダ
リングし、それを単一の画像にブレンドする。しかしながら、この方法は、非常
に遅い。プレフィルタリングによれば、本発明は、ボクセル化中に一度走査動作
を実施し、規則的なボリューム・レンダリングと同じ時間で運動ぼけをレンダリ
ングする。この方法は、特に運動が一定である場合(たとえば、同じ方向への移
動および/または回転)には良く作動する。たとえば、飛行中に安定した速度で
回転しているヘリコプタのブレードを考える。たとえば、30Hzのアニメーシ
ョン・フレーム率の場合に5Hzの率で回転しているブレードをボクセル化する
ためには、ブレードはフレーム毎に5/30×(2π)の弧を描いて走査する。
したがって、ブレードの外側エッジでは、密度値は非常に低くなり、ブレードは
中心におけるよりも透明に見える。ここで、より小さいボリュームを走査すると
、よりソリッドに見える。より低い密度値がより少ない不透明さを表し、より高
い密度値がより多い不透明さを表すように、ボリューム・レンダリング転送機能
をセットするとよい。
【0293】 複数のボリュメトリック・オブジェクトがオーバーラップするとき、ボリュー
ムの投影画像は非常に複雑になる。たとえば、煙が雲から立ち昇るシーンを考え
られたい。明らかに、2つのボリュメトリック・オブジェクトは、最終フレーム
で結合された画像とは別個に、レンダリングすることはできない。したがって、
本発明の1つの形態によって実施される好ましい方法では、複数のオブジェクト
は、最終レンダリング・パスについて1つのオブジェクトに結合され、そこから
画像を創り出す。
ムの投影画像は非常に複雑になる。たとえば、煙が雲から立ち昇るシーンを考え
られたい。明らかに、2つのボリュメトリック・オブジェクトは、最終フレーム
で結合された画像とは別個に、レンダリングすることはできない。したがって、
本発明の1つの形態によって実施される好ましい方法では、複数のオブジェクト
は、最終レンダリング・パスについて1つのオブジェクトに結合され、そこから
画像を創り出す。
【0294】 2つまたはそれ以上のオブジェクトが同じスペースを占めるとき、各オブジェ
クトからのカラーは、投影サイト・レイに沿って各サンプル場所のところで一緒
に変調されると好ましい。したがって、各オブジェクトを分類、陰影付け仕手か
ら結合し、その後、カラー変調を行うことができると好ましい。あるいは、ボク
セル・データが最初に結合された場合には、可能性のある組み合わせ毎に新しい
転送機能が必要となろう。したがって、この後者の方法は好ましくない。
クトからのカラーは、投影サイト・レイに沿って各サンプル場所のところで一緒
に変調されると好ましい。したがって、各オブジェクトを分類、陰影付け仕手か
ら結合し、その後、カラー変調を行うことができると好ましい。あるいは、ボク
セル・データが最初に結合された場合には、可能性のある組み合わせ毎に新しい
転送機能が必要となろう。したがって、この後者の方法は好ましくない。
【0295】 本発明の1つの形態によれば、複数のオーバーラップしているボリュームを混
合する好ましい方法は、各オブジェクトのスライスがインタレースされるように
第1のオブジェクトのzディメンジョンにおいて第1オブジェクト以外のすべt
を再サンプリングする。これは、すべてのオブジェクトを整合させる分類、シェ
ーディング、変換を含む。オブジェクト変換は、並進、スケーリングを含み、こ
れらは、好ましくは、最も近い隣接のコネクションおよび回転を用いて本発明の
装置によって実施される。回転は、好ましくは、上述の本発明の回転方法を用い
て実施される。
合する好ましい方法は、各オブジェクトのスライスがインタレースされるように
第1のオブジェクトのzディメンジョンにおいて第1オブジェクト以外のすべt
を再サンプリングする。これは、すべてのオブジェクトを整合させる分類、シェ
ーディング、変換を含む。オブジェクト変換は、並進、スケーリングを含み、こ
れらは、好ましくは、最も近い隣接のコネクションおよび回転を用いて本発明の
装置によって実施される。回転は、好ましくは、上述の本発明の回転方法を用い
て実施される。
【0296】 互いに関して位置あるいは向きを変えることがないオブジェクトを含むシーン
の場合、本発明は、ハイレベル・シーン・グラフ・コンパイルのような最適化を
意図している。たとえば、静止オブジェクトは、一度結合してから、後のレンダ
リングのために保存されると好ましいが、非静止オブジェクトは、他のオブジェ
クトに関して移動する毎に再結合される。
の場合、本発明は、ハイレベル・シーン・グラフ・コンパイルのような最適化を
意図している。たとえば、静止オブジェクトは、一度結合してから、後のレンダ
リングのために保存されると好ましいが、非静止オブジェクトは、他のオブジェ
クトに関して移動する毎に再結合される。
【0297】 テクスチャ・マッピングが、高品質の画像効果(たとえば、表面ディテール、
均一照明、シャドウ)をシミュレーションする広範囲に使用されている技術であ
る。一般的に言えば、テクスチャ・マッピングは、三次元(3D)表面上へ二次
元(2D)画像をマッピングすることを含む。テクスチャ・マッピングが行われ
る間に、ジオメトリック・オブジェクトがスクリーン上へラスタライズされる。
(x、y)ピクセル座標は、好ましくは、(u、v)テクスチャ座標にマッピング
され、RGBα値がカラー値として返されてスクリーン上のピクセル使用する。
均一照明、シャドウ)をシミュレーションする広範囲に使用されている技術であ
る。一般的に言えば、テクスチャ・マッピングは、三次元(3D)表面上へ二次
元(2D)画像をマッピングすることを含む。テクスチャ・マッピングが行われ
る間に、ジオメトリック・オブジェクトがスクリーン上へラスタライズされる。
(x、y)ピクセル座標は、好ましくは、(u、v)テクスチャ座標にマッピング
され、RGBα値がカラー値として返されてスクリーン上のピクセル使用する。
【0298】 基本的には、テクスチャ・マッピングに関係しているプロセスは2つある。す
なわち、(x、y)座標から(u、v)座標へのマッピングと、どんなRGBαが
所与の(u、v)座標と一致するかについての画像へのルックアップである。(x
、y)座標から(u、v)座標へのマッピングは、好ましくは、当業者にとって明
らかなように、単純なマトリックス乗算を含む。しかしながら、RGBα値を返
すように(u、v)座標の画像へのルックアップは複雑である。テクスチャ・ルッ
クアップについての超大規模集積回路(VLSI)ハードウェア要件は、普通、かな
りのコストで、現今のグラフィックボードの大きい部分を要求する。これは、(
u、v)座標が、希に、個別の画像座標(テクセルと呼ばれる)に直接マッピング
するという事実により、本来のものである。したがって、隣接したRGBα値は
、好ましくは、線形に補間され、正確な(u、v)座標でRGBα値を生成する。
なわち、(x、y)座標から(u、v)座標へのマッピングと、どんなRGBαが
所与の(u、v)座標と一致するかについての画像へのルックアップである。(x
、y)座標から(u、v)座標へのマッピングは、好ましくは、当業者にとって明
らかなように、単純なマトリックス乗算を含む。しかしながら、RGBα値を返
すように(u、v)座標の画像へのルックアップは複雑である。テクスチャ・ルッ
クアップについての超大規模集積回路(VLSI)ハードウェア要件は、普通、かな
りのコストで、現今のグラフィックボードの大きい部分を要求する。これは、(
u、v)座標が、希に、個別の画像座標(テクセルと呼ばれる)に直接マッピング
するという事実により、本来のものである。したがって、隣接したRGBα値は
、好ましくは、線形に補間され、正確な(u、v)座標でRGBα値を生成する。
【0299】 二次元(2D)補間は、一般的に、ピクセルが2つ以上のテクセルをカバーし
ない場合、充分である。しかしながら、マッピングが1テクセルより大きいピク
セル範囲を生成する場合、アーティファクトが、2D補間方法を使用して画像内
に導入される。高価なテクセル結合作業を避けるために、ミップ・マッピングと
呼ばれる技術が、普通のグラフィックス・パイプラインによって利用され得る。
ミップ・マッピングは、基本的には、画像の複数のディテール・レベル(LOD
)を記憶することからなる。次いで、(x、y)ピクセルが、(u、v)テクセル
にマッピングされるとき、適切なMip−Mapレベル・テクセルは、ピクセル
がテクセルよりも小さくなるように選ばれる。より正確な方法は、ディテール・
テクセルの高いレベル、低いレベルの両方から4つの隣り合うテクセルをルック
アップし、全部で8つのテクセルにトリリニア補間を実施してピクセルについて
適切なRGBα値を計算することである。
ない場合、充分である。しかしながら、マッピングが1テクセルより大きいピク
セル範囲を生成する場合、アーティファクトが、2D補間方法を使用して画像内
に導入される。高価なテクセル結合作業を避けるために、ミップ・マッピングと
呼ばれる技術が、普通のグラフィックス・パイプラインによって利用され得る。
ミップ・マッピングは、基本的には、画像の複数のディテール・レベル(LOD
)を記憶することからなる。次いで、(x、y)ピクセルが、(u、v)テクセル
にマッピングされるとき、適切なMip−Mapレベル・テクセルは、ピクセル
がテクセルよりも小さくなるように選ばれる。より正確な方法は、ディテール・
テクセルの高いレベル、低いレベルの両方から4つの隣り合うテクセルをルック
アップし、全部で8つのテクセルにトリリニア補間を実施してピクセルについて
適切なRGBα値を計算することである。
【0300】 普通のグラフィックス・パイプラインからのテクスチャ・マッピング・ハード
ウェアは、ボリューム・レンダリングを加速するために用いられてきた。これは
、Reality Engine Graphics, by K. Akeley, Computer Graphics (SIGGRAPH93
), 27:109116, Aug. 1993およびAccelerated Volume Rendering and Tomograph
ic Reconstruction Using Texture Mapping Hardware, by B. Cabral, N. Cam a
nd J. Foran, Symposium on Volume Visualization, pp. 9 1-98, Oct. 1994の
ようなテキストの主題であった。しかしながら、この普通の方法は、コスト・パ
フォーマンスを達成もしなければ、本発明の種々の機能(たとえば、シェーディ
ング)をサポートもしない。さらに、公知の従来技術方法を用いる場合、テクス
チャ・マッピングは、データ複写なしにスケーリングすることができず、しばし
ば、三次元(3D)補間よりもむしろ二次元(2D)補間を使用し、データセッ
トのダウンロードが遅く、および/またはリアルタイム4次元(4D)入力をサ
ポートしていない。
ウェアは、ボリューム・レンダリングを加速するために用いられてきた。これは
、Reality Engine Graphics, by K. Akeley, Computer Graphics (SIGGRAPH93
), 27:109116, Aug. 1993およびAccelerated Volume Rendering and Tomograph
ic Reconstruction Using Texture Mapping Hardware, by B. Cabral, N. Cam a
nd J. Foran, Symposium on Volume Visualization, pp. 9 1-98, Oct. 1994の
ようなテキストの主題であった。しかしながら、この普通の方法は、コスト・パ
フォーマンスを達成もしなければ、本発明の種々の機能(たとえば、シェーディ
ング)をサポートもしない。さらに、公知の従来技術方法を用いる場合、テクス
チャ・マッピングは、データ複写なしにスケーリングすることができず、しばし
ば、三次元(3D)補間よりもむしろ二次元(2D)補間を使用し、データセッ
トのダウンロードが遅く、および/またはリアルタイム4次元(4D)入力をサ
ポートしていない。
【0301】 上記した本発明の好ましい形態によれば、Cube−5装置は、ジオメトリ入
出力バス46、48(図4参照)を経て普通のジオメトリ・エンジンと結合され
る。好ましくは、本発明のレンダリング・パイプライン(単数または複数)は、
テクスチャ・ルックアップ機能を実施するのに利用されると共に、ジオメトリ・
エンジンが、(u、v)テクスチャ座標に(x、y)ピクセル座標をマッピングす
るのに使用される。簡単に言えば、ひとたびCube−5装置と結合したならば
、ジオメトリ・エンジンの責任は、本質的に、三角形をラスタライズすることで
あり、一方、本発明の装置は、好ましくは、テクスチャ・マッピングのための高
性能補間エンジンを提供する。本発明の装置上でテクスチャ・ルックアップを実
施するためには、テクセル・データは、好ましくは、Cube−5ユニット(単
数または複数)内に含まれる3Dメモリにロードされる。図6A、6Bは、2×
2近傍についての32ビット・テクセル・データが、どのようにして、16ビッ
ト・ボクセルの23サブキューブに配置されるかの一例を示している。
出力バス46、48(図4参照)を経て普通のジオメトリ・エンジンと結合され
る。好ましくは、本発明のレンダリング・パイプライン(単数または複数)は、
テクスチャ・ルックアップ機能を実施するのに利用されると共に、ジオメトリ・
エンジンが、(u、v)テクスチャ座標に(x、y)ピクセル座標をマッピングす
るのに使用される。簡単に言えば、ひとたびCube−5装置と結合したならば
、ジオメトリ・エンジンの責任は、本質的に、三角形をラスタライズすることで
あり、一方、本発明の装置は、好ましくは、テクスチャ・マッピングのための高
性能補間エンジンを提供する。本発明の装置上でテクスチャ・ルックアップを実
施するためには、テクセル・データは、好ましくは、Cube−5ユニット(単
数または複数)内に含まれる3Dメモリにロードされる。図6A、6Bは、2×
2近傍についての32ビット・テクセル・データが、どのようにして、16ビッ
ト・ボクセルの23サブキューブに配置されるかの一例を示している。
【0302】 本発明の重要な別の利点は、画像ベースのレンダリングを強化する能力である
。一般に、画像ベースのレンダリング方法は、複雑なシーンを、このシーンの有
限の画像セットに基づいて任意の視点からレンダリングする。当業者には公知の
類似した画像ベース・レンダリング方法が2つあり、すなわち、明視野レンダリ
ングおよびルミグラフであり、これらの方法は、ソース画像のデプス情報を必要
とすることなく4次元(4D)補間を用いる。
。一般に、画像ベースのレンダリング方法は、複雑なシーンを、このシーンの有
限の画像セットに基づいて任意の視点からレンダリングする。当業者には公知の
類似した画像ベース・レンダリング方法が2つあり、すなわち、明視野レンダリ
ングおよびルミグラフであり、これらの方法は、ソース画像のデプス情報を必要
とすることなく4次元(4D)補間を用いる。
【0303】 図44は、明視野レンダリングにおいて、シーンがuv322およびst32
0プレーンによって模型化されることを示している。あらゆるuvグリッド・ポ
イントが、好ましくは,視点を定め、関連したst画像を有する。投影プレーン
324のあらゆるピクセルについて、サイト・レイ326が、好ましくは、uv
プレーン322にキャスティングされる。uvプレーンとサイト・レイとの交差
を取り囲んでいるuvグリッド・ポイントに対応する4st画像が、そのレイに
寄与する。この寄与は、好ましくは、各st画像にそのuvグリッド・ポイント
を通してサイト・レイをキャスティングすることによって計算される。これらの
レイは、st画像ピクセル間にヒットし、したがって、各st画像についてバイ
リニア補間を実施しなければならない。4つのレイ間の1回の最終バイリニア補
間で、最終投影プレーン・ピクセル・カラーを生成する。したがって、投影プレ
ーン324のあらゆるピクセルを得るには、stプレーン320における4回の
バイリニア補間と、uvプレーン322における1回のバイリニア補間とを必要
とする。その結果、全部で5回のバイリニア補間が必要である。これら5回のバ
イリニア補間は、実質的に、1つの4D補間または15のリニア補間に等しい。
0プレーンによって模型化されることを示している。あらゆるuvグリッド・ポ
イントが、好ましくは,視点を定め、関連したst画像を有する。投影プレーン
324のあらゆるピクセルについて、サイト・レイ326が、好ましくは、uv
プレーン322にキャスティングされる。uvプレーンとサイト・レイとの交差
を取り囲んでいるuvグリッド・ポイントに対応する4st画像が、そのレイに
寄与する。この寄与は、好ましくは、各st画像にそのuvグリッド・ポイント
を通してサイト・レイをキャスティングすることによって計算される。これらの
レイは、st画像ピクセル間にヒットし、したがって、各st画像についてバイ
リニア補間を実施しなければならない。4つのレイ間の1回の最終バイリニア補
間で、最終投影プレーン・ピクセル・カラーを生成する。したがって、投影プレ
ーン324のあらゆるピクセルを得るには、stプレーン320における4回の
バイリニア補間と、uvプレーン322における1回のバイリニア補間とを必要
とする。その結果、全部で5回のバイリニア補間が必要である。これら5回のバ
イリニア補間は、実質的に、1つの4D補間または15のリニア補間に等しい。
【0304】 各投影プレーン・レイについてルックアップを実施することは、通常、st画
像へのランダム・アクセスを生じさせる。したがって、本発明の好ましい方法に
よれば、st画像は、オブジェクト・オーダーでアクセスされる。このオブジェ
クト・オーダーは、Cube−5装置が一度だけ各st画像ピクセルの読み出し
を許すので、本発明の装置と共に用いるのにより適っている。図44を続けて参
照して、uvプレーンにおける各四辺形328(たとえば、abcd)について
、4つのstプレーンへの四辺形の投影像(たとえば、abcdに対応するプレ
ーン)は、好ましくは、4つのうちのどのタイル領域330が最終画像に寄与し
ているかを決定する。次に、すべてのstタイル領域330が、好ましくは、4
つの画像に組み立てられ、投影プレーン324上へ透視投影される。4つの投影
画像の中の最終画像は、続いて、バイリニア補間によって形成される。補間重み
は、好ましくは、オリジナル・レイおよびuvプレーン322の交差によって決
定される。
像へのランダム・アクセスを生じさせる。したがって、本発明の好ましい方法に
よれば、st画像は、オブジェクト・オーダーでアクセスされる。このオブジェ
クト・オーダーは、Cube−5装置が一度だけ各st画像ピクセルの読み出し
を許すので、本発明の装置と共に用いるのにより適っている。図44を続けて参
照して、uvプレーンにおける各四辺形328(たとえば、abcd)について
、4つのstプレーンへの四辺形の投影像(たとえば、abcdに対応するプレ
ーン)は、好ましくは、4つのうちのどのタイル領域330が最終画像に寄与し
ているかを決定する。次に、すべてのstタイル領域330が、好ましくは、4
つの画像に組み立てられ、投影プレーン324上へ透視投影される。4つの投影
画像の中の最終画像は、続いて、バイリニア補間によって形成される。補間重み
は、好ましくは、オリジナル・レイおよびuvプレーン322の交差によって決
定される。
【0305】 添付図面を参照しながら本発明の実施例を説明してきたが、本発明がこれらの
実施例そのものに限定されるものではなく、本発明の範囲または精神から逸脱す
ることなく種々の他の変形例、変更例が当業者によって実施可能であることは了
解されたい。
実施例そのものに限定されるものではなく、本発明の範囲または精神から逸脱す
ることなく種々の他の変形例、変更例が当業者によって実施可能であることは了
解されたい。
【図1】 普通のボリューム視覚化システムのブロック図である。
【図2】 本発明の一実施例に従って形成したユニバーサル三次元レンダ
リング・システムを示す概念ブロック図である。
リング・システムを示す概念ブロック図である。
【図3】 本発明の好ましい実施を示す図2のCube−5ユニットの簡
略ブロック図である。
略ブロック図である。
【図4】 本発明の一実施例に従って形成したユニバーサル三次元レンダ
リング・アーキテクチャの概要を表す機能的ブロック図である。
リング・アーキテクチャの概要を表す機能的ブロック図である。
【図5】 本発明の一実施例に従って形成したユニット・レンダリング・
パイプラインを示す機能的ブロック図である。
パイプラインを示す機能的ブロック図である。
【図6A】 本発明の好ましい方法に従って、32ビットのテクセル・デ
ータをどのようにして16ビット・ボクセルのミニブロックに2×2近辺につい
て記憶するかを示すグラフ図である。
ータをどのようにして16ビット・ボクセルのミニブロックに2×2近辺につい
て記憶するかを示すグラフ図である。
【図6B】 図6Aの例についてのボクセル記憶、テクセル記憶の比較表
である。
である。
【図7】 本発明の好ましい順方向画像ワーピング方法に従ってソース、
目標画像に特殊なパラレル保存スキャンラインを示している。
目標画像に特殊なパラレル保存スキャンラインを示している。
【図8】 本発明の好ましい順方向画像ワーピング方法に従ってパラレル
保存スキャンライン方向を決定する方法を示すグラフ図である。
保存スキャンライン方向を決定する方法を示すグラフ図である。
【図9】 本発明の好ましい順方向画像ワーピング方法に従ってスキャン
ライン処理を実施するためのソース画像におけるピクセル読み取りテンプレート
を示す例の二次元グラフ図である。
ライン処理を実施するためのソース画像におけるピクセル読み取りテンプレート
を示す例の二次元グラフ図である。
【図10】 本発明の好ましい順方向画像ワーピング方法に従って、スキ
ャンライン処理を実施するためのバイリニア・サンプル補間を示す、図9の例の
二次元グラフ図である。
ャンライン処理を実施するためのバイリニア・サンプル補間を示す、図9の例の
二次元グラフ図である。
【図11】 本発明の好ましい方法に従って、目標ピクセル訂正を実施す
るためのピクセル値を得るサンプルについてのリニア補間の二次元グラフ図であ
る。
るためのピクセル値を得るサンプルについてのリニア補間の二次元グラフ図であ
る。
【図12】 本発明の好ましい順方向画像ワーピング方法に従ってアンチ
エイリアシングを実施するための異方性フィルタ・フットプリントの計算を説明
するグラフ図である。
エイリアシングを実施するための異方性フィルタ・フットプリントの計算を説明
するグラフ図である。
【図13】 本発明の好ましい順方向画像ワーピング方法に従って、目標
サンプル上へソース・ピクセルをスプラッティングことを説明するグラフ図であ
る。
サンプル上へソース・ピクセルをスプラッティングことを説明するグラフ図であ
る。
【図14】 本発明の1つ方法に従って、二次元スライス・シャー分解に
よって三次元回転を実施するためのyスライス・シャーの例を示す。
よって三次元回転を実施するためのyスライス・シャーの例を示す。
【図15】 本発明の別の方法に従って、二次元ビーム・シャー分解によ
って三次元回転を実施するためのxビーム・シャーの例を示す。
って三次元回転を実施するためのxビーム・シャーの例を示す。
【図16】 本発明のさらに別の方法に従って、二次元スライス・ビーム
・シャー分解によって三次元回転を実施するためのxスライス−yビーム・シャ
ーの例を示す。
・シャー分解によって三次元回転を実施するためのxスライス−yビーム・シャ
ーの例を示す。
【図17】 本発明のまた別の方法に従って、三次元ビーム・シャー分解
によって三次元回転を実施するための三次元xビーム・シャーの例を示す。
によって三次元回転を実施するための三次元xビーム・シャーの例を示す。
【図18A】 透視投影を実施する普通のアンダーサンプリング方法を示
す。
す。
【図18B】 透視投影を実施する普通のオーバーサンプリング方法を示
す。
す。
【図19】 本発明の好ましい形態に従って、透視ボリュメトリック投影
を実施する適応透視レイ・キャスティング方法を示す図であり、ビュー切頭体を
、視点から指数的に増加する距離に基づく領域に分割することを示す図である。
を実施する適応透視レイ・キャスティング方法を示す図であり、ビュー切頭体を
、視点から指数的に増加する距離に基づく領域に分割することを示す図である。
【図20A】 本発明の好ましい適応透視レイ・キャスティング方法に従
って、指数領域境界でのレイの分割/結合を示すグラフ図である。
って、指数領域境界でのレイの分割/結合を示すグラフ図である。
【図20B】 図20Aの適応透視レイ・キャスティング方法のレイ・セ
グメントA、B、Cについての効果的フィルタ重みを示すグラフ図である。
グメントA、B、Cについての効果的フィルタ重みを示すグラフ図である。
【図21】 本発明の好ましい形態に従って、サイズ±2サンプルの二次
元フィルについての重みの例を示す。
元フィルについての重みの例を示す。
【図22】 本発明の適応透視レイ・キャスティング方法の例を示すグラ
フ図であり、73ボリュームが視点からの3つのボクセル単位であることを示す
図である。
フ図であり、73ボリュームが視点からの3つのボクセル単位であることを示す
図である。
【図23】 本発明の1つ形態に従って、指数領域透視後前投影を実施す
る好ましい方法の擬似コード表現である。
る好ましい方法の擬似コード表現である。
【図24】 2つの領域を横切っての、本発明の指数領域透視レイ・キャ
スティング方法の例を示す。
スティング方法の例を示す。
【図25】 本発明の一実施例に従って、Sobel勾配フィルタのx成
分の33の対称近似を実施するための好ましい重みの例を示す。
分の33の対称近似を実施するための好ましい重みの例を示す。
【図26】 本発明の一形態に従って単一画像においてジオメトリック・
オブジェクトおよびボリュームを混合する方法を示すグラフ図である。
オブジェクトおよびボリュームを混合する方法を示すグラフ図である。
【図27】 本発明の1つの形態に従って三角形を薄いスラブ境界にクリ
ップする方法のグラフ図である。
ップする方法のグラフ図である。
【図28】 本発明の好ましい形態に従って半透明のポリゴンをバケット
・ソートする方法のグラフ図である。
・ソートする方法のグラフ図である。
【図29】 本発明の1つの形態に従って、ポリゴン・フットプリントを
プレワープすることによってシャード視線ジオメトリを創作する方法のグラフ図
である。
プレワープすることによってシャード視線ジオメトリを創作する方法のグラフ図
である。
【図30】 本発明の1つの形態に従って形成したCube−5パイプラ
インのグラフ図であり、そこに内蔵されるSDRAM合成バッファを示す図であ
る。
インのグラフ図であり、そこに内蔵されるSDRAM合成バッファを示す図であ
る。
【図31】 テクスチャ・メモリ、フレーム・バッファおよびジオメトリ
・パイプライン間のインタフェースを概念的に示す、普通のグラフィックス・ア
クセラレータのグラフ図である。
・パイプライン間のインタフェースを概念的に示す、普通のグラフィックス・ア
クセラレータのグラフ図である。
【図32】 ジオメトリ・パイプラインを本発明のCube−5ボリュー
ム・レンダリング・パイプラインと接続する二重用途DRAMフレーム・バッフ
ァを使用している本発明の一実施例を示すグラフ図である。
ム・レンダリング・パイプラインと接続する二重用途DRAMフレーム・バッフ
ァを使用している本発明の一実施例を示すグラフ図である。
【図33】 本発明の1つの形態に従って、コクセルFIFO待ち行列を
含む各Cube−5パイプラインについてのメモリ・インタフェースを示すブロ
ック図である。
含む各Cube−5パイプラインについてのメモリ・インタフェースを示すブロ
ック図である。
【図34】 本発明の好ましい実施例に従って形成した、8ドラム・チッ
プ上のRGBαコクセル・レイアウトのグラフ図である。
プ上のRGBαコクセル・レイアウトのグラフ図である。
【図35】 本発明の一形態に従って形成した、実行長コード化(RLE
)フレーム・バッファ・ハードウェアの埋め込みDRAMチップの部分ブロック
図である。
)フレーム・バッファ・ハードウェアの埋め込みDRAMチップの部分ブロック
図である。
【図36】 本発明の1つの形態に従って、図35のRLEハードウェア
で生じる処理を示す擬似コード表現である。
で生じる処理を示す擬似コード表現である。
【図37】 Cube−5パイプラインに含まれるSDRAM合成バッフ
ァにジオメトリ・パイプラインを接続するRLEフレーム・バッファを示す本発
明の好ましい実施例のグラフ図である。
ァにジオメトリ・パイプラインを接続するRLEフレーム・バッファを示す本発
明の好ましい実施例のグラフ図である。
【図38】 本発明の1つの形態に従って、表面に対して垂直方向外方の
、ソリッド・プリミティブの中心からのラインに沿って採用した指向性ボックス
・フィルタの密度分布を示す。
、ソリッド・プリミティブの中心からのラインに沿って採用した指向性ボックス
・フィルタの密度分布を示す。
【図39】 本発明の別の形態に従って、三角形表面プリミティブに対し
て垂直なラインに沿って採用した指向性ボックス・フィルタの密度分布を示す。
て垂直なラインに沿って採用した指向性ボックス・フィルタの密度分布を示す。
【図40】 本発明の好ましい実施例に従って。三角形プリミティブのた
めの7つのボクセル化領域の二次元図である。
めの7つのボクセル化領域の二次元図である。
【図41】 本発明の1つの形態に従って、1つのプレーンからの距離を
計算する方法の擬似コード表現である。
計算する方法の擬似コード表現である。
【図42】 本発明の一実施例に従って形成した、ハードウェア・ボクセ
ル化パイプラインの概要を示すブロック図である。
ル化パイプラインの概要を示すブロック図である。
【図43】 本発明の一形態に従って、所望のプレーンからの現ボクセル
の距離を増分計算する距離ユニットを表すブロック図である。
の距離を増分計算する距離ユニットを表すブロック図である。
【図44】 本発明の1つの形態に従って画像ベースのレンダリングを実
施する好ましい方法を示す頂面グラフ図である。
施する好ましい方法を示す頂面グラフ図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,UZ,VN,YU,ZA,Z W (72)発明者 ビター インゲマー アメリカ合衆国 ニューヨーク州 11790 ストーニー ブルック ストーニー ブ ルック ロード 1456 (72)発明者 チェン ボーカン アメリカ合衆国 ニューヨーク州 11790 ストーニー ブルック チャピン コン プレックス 603 (72)発明者 ダシール フランク アメリカ合衆国 ニューヨーク州 11705 ベイポート テラス ロード 546 (72)発明者 クリーガー ケヴィン アメリカ合衆国 ニューヨーク州 11777 ポート ジェファーソン ランドール アベニュー 115 Fターム(参考) 5B057 CA01 CA08 CA12 CA16 CB01 CB08 CB13 CB16 CD20 CH05 CH14 5B080 AA17 CA04 CA05 DA07 FA03 FA08 FA17 GA04 GA22 【要約の続き】 が処理されてしまうまでレイ・キャスティング、合併/ 分割の段階を繰り返す段階とを包含する。本発明の装置 および方法は、テクスチャ・マッピングおよび画像ベー ス・レンダリングを含めて、一回の画像操作で高解像度 ボリューム・レンダリング、表面、ボリューム混合を行 える真のリアルタイム性能を達成する。
Claims (57)
- 【請求項1】 リアルタイム・ボリューム処理およびユニバーサル三次元
(3D)レンダリングのための装置であって、視点を定める視野・処理パラメー
タに応答するようになっており、また、前記視点から3Dボリューム投影画像ま
たは新しい修正ボリュームを生成し、この画像が複数のピクセルを含んでいる装
置において、 複数の個別のボクセルを記憶する複数の三次元(3D)メモリ・ユニットであ
り、前記ボクセルの各々が、それと組み合わせた場所およびボクセル・データを
有し、前記ボクセルが一緒になってボリューム・データセットを形成しており、
前記視野・処理パラメータが、前記ボリューム・データセットの少なくとも1つ
のベースプレーンおよび前記ボリューム・データセットの最初と最後の処理スラ
イスを定める三次元メモリ・ユニットと、 大域水平方向連絡を与える少なくとも第1のピクセル・バスと、 複数のレンダリング・パイプラインであって、各々が、前記複数の3Dメモリ
・ユニットのうちの対応するものと前記少なくとも第1のピクセルの両方に垂直
方向で接続されており、各々が、隣接のパイプラインとの水平方向連絡を有し、
前記対応するメモリ・ユニットから前記ボクセル・データを受け取り、前記ボリ
ューム・データセットの面と整合した二次元(2D)ベースプレーン画像を生成
するレンダリング・パイプラインと、 前記複数のレンダリング・パイプラインとジオメトリ・エンジンとの間の大域
水平方向連絡を与える少なくとも1つのジオメトリ・バスであり、単一画像にお
いてジオメトリック、ボリュメトリックのオブジェクトを一緒にレンダリングす
るのを可能にする少なくとも1つのジオメトリ・バスと、 前記第1処理スライスを最初にサンプル・ポイントの現スライスとして指定し
、前記最後の処理スライスに達するまで前記ボリューム・データセットの以降の
スライスを通して現スライスとして走査することを制御する制御ユニットと、 を包含することを特徴とする装置。 - 【請求項2】 請求項1の装置において、さらに、前記複数の3Dメモリ
・ユニットおよび前記複数のレンダリング・パイプラインに作動可能に接続した
フィードバック・バスを包含し、このフィードバック・バスが、前記レンダリン
グ・パイプラインの出力部と、前記複数のレンダリング・パイプラインの入力部
および前記複数の対応する3Dメモリ・ユニットのうちの少なくとも1つとの間
の連絡を行うことを特徴とする装置。 - 【請求項3】 請求項2の装置において、さらに、前記複数の3Dメモリ
・ユニットに作動可能に接続してあり、前記3Dメモリ・ユニット間の大域水平
方向連絡を与える画像入力バスを包含することを特徴とする装置。 - 【請求項4】 請求項3の装置において、さらに、前記二次元(2D)ベ
ースプレーン画像を記憶するための複数の二次元(2D)メモリ・ユニットを包
含し、これら2Dメモリ・ユニットの各々が、前記複数のレンダリング・パイプ
ラインの対応するものと前記少なくとも1つの第1ピクセル・バスの両方に接続
していることを特徴とする装置。 - 【請求項5】 請求項4の装置において、さらに、前記少なくとも第1ピ
クセル・バスに作動可能に接続した少なくとも1つのワープ単位を包含し、この
少なくとも1つのワープ単位が、所定の画像プレーン上へ前記ベースプレーン画
像を組み立て、変換することを特徴とする装置。 - 【請求項6】 請求項1の装置において、前記複数のレンダリング・パイ
プラインの各々が、前記対応する1つに作動可能に接続した入力部と1つの出力
部を有する少なくとも第1スライス・ユニットであり、前記3Dメモリ・ユニッ
トからボクセル値を受け取る少なくとも第1スライス・ユニットと、 前記少なくとも第1スライス・ユニットの前記出力部に作動可能に接続した入
力部と、前記少なくとも第1ピクセル・バスに作動可能に接続した1つの出力部
とを有する合成ユニットと、 前記合成ユニットに作動可能に接続した入力部と1つの出力部とを有し、複数
のピクセルを記憶し、これらのピクセルが、カラーおよびそれに組み合わせた不
透明度を有する合成バッファと、 を包含することを特徴とする装置。 - 【請求項7】 請求項6の装置において、さらに、少なくとも第2、第3
のスライス・ユニットを包含し、第1、第2、第3のスライス・ユニットが、前
記複数の3Dメモリ・ユニットから読み込んだ前記ボクセルを緩衝し、前記ボク
セルの引き続く再読み込みを前記スライス・ユニットから実施することを特徴と
する装置。 - 【請求項8】 請求項7の装置において、前記制御ユニットが、ブロック
制御・介在要領で前記処理スライスの1横断分を組織化し、それによって、時間
的に隣接したサンプル・ポイントが、主要投影軸線に沿った1つのユニット分異
なることを特徴とする装置。 - 【請求項9】 請求項6の装置において、前記レンダリング・パイプライ
ンの各々が、さらに、 前記合成バッファの前記出力部および前記合成ユニットに作動可能に接続した
バイリニア補間ユニットと、 前記少なくとも第1スライス・ユニットの前記出力部に作動可能に接続した入
力部と、1つの出力とを有するトリリニア補間ユニットと、 前記少なくとも第1スライス・ユニットの前記出力部に作動可能に接続した第
1入力部および前記トリリニア補間ユニットの前記出力部に作動可能に接続した
第2入力部を有し、そして、1つの出力部を有する勾配計算ユニットと、 この勾配計算ユニットの前記出力部に作動可能に接続した第1入力部および前
記トリリニア補間ユニットの前記出力部に作動可能に接続した第2入力部を有し
、また、前記合成ユニットの前記入力部に作動可能に接続した出力部を有するシ
ェーディング・ユニットと を包含することを特徴とする装置。 - 【請求項10】 請求項9の装置において、前記複数のレンダリング・パ
イプラインの各々が、さらに、前記トリリニア補間ユニットおよび前記勾配計算
ユニットを前記バイリニア補間ユニットに作動可能に接続するテクスチャ・マッ
プ・バイパス・バスを包含することを特徴とする装置。 - 【請求項11】 請求項9の装置において、前記複数のレンダリング・パ
イプラインの各々が、さらに、前記少なくとも1つのピクセル・バスと前記複数
の3Dメモリ・ユニットの前記対応する1つと間の少なくとも1つのフィードバ
ック・コネクションを包含し、前記フィードバック・コネクションが、前記少な
くとも1つのピクセル・バスから前記3Dメモリ・ユニットへのフィードバック
を行い、次いで、前記複数のレンダリング・パイプラインにおける任意の中間ス
テージまでフィードバックを行うように構成してあることを特徴とする装置。 - 【請求項12】 請求項9の装置において、前記勾配計算ユニットが、 乗算器と、 加算器とを包含し、 各主要投影軸線に沿って、3つの連続したサンプル・ポイントの加重平均を計
算し、前記レンダリング・パイプラインおよび前記対応する3Dメモリ・ユニッ
トに作動可能に接続したフィードバック・コネクションを通じて書き戻すことを
特徴とする装置。 - 【請求項13】 請求項1の装置において、前記制御ユニットが、前記ボ
リューム・データセットのビュー・フラスタムを、領域境界によって分離された
複数の領域へ分割し、前記領域が、前記視点に最も近い第1領域を包含し、各連
続した領域が、前記第1の領域で開始し、その前の隣接した領域のそれの2倍で
ある、主要投影軸線に沿ったデプスを有することを特徴とする装置。 - 【請求項14】 請求項13の装置において、複数の連続したサイト・レ
イが、前記視点から前記ボリューム・データセットを通してキャストされ、前記
複数のサイト・レイが、前記リューム・データセットを通過するときに互いに関
して発散し、前記制御ユニットが、 (i)前記サイト・レイのうちの少なくとも2つを結合すること、 (ii)前記サイト・レイの少なくとも1つを分割すること のうち一方を可能にすることを特徴とする装置。 - 【請求項15】 三次元(3D)ボリューム・データセットの透視ボリュ
メトリック・レイ・キャスティングを実施する方法であって、前記ボリューム・
データセットが、複数のボクセル・グリッド・ポイント場所を包含し、また、ビ
ュー方向に対してほとんど直角な前記ボリューム・データセットの面を構成する
ベースプレーンを有する方法において、複数の三次元(3D)メモリ・ユニット
に分散して記憶した個別のボクセルを利用し、前記ボクセルの各々が、それと組
み合わせた場所およびボクセル・データを包含し、さらに、 (a)前記視点からの前記ボリューム・データセットの前記ベースプレーンまで
の主要投影軸線に沿った距離を計算する段階と、 (b)前記ボリューム・データセットを領域境界によって分離された複数の連続
領域へ分割する段階であり、前記領域境界が、前記主要投影軸線に沿った前記視
点からの指数的に増加する距離のところに位置しており、前記複数の領域が、少
なくとも、ボリューム・データセットを含んでおり、前記第1領域後の各引き続
く領域が、先の隣接した領域のデプスの2倍である、前記主要投影軸線に沿った
デプスを有し、 (c)前記視点から前記ボリューム・データセットを通して延びる複数の連続し
たサイト・レイをキャスティングし、前記サイト・レイが、現サンプル領域を通
過する段階と、 (d)以下の1つを実施する段階であり、すなわち、 (i)前記サイト・レイのうちの少なくとも2つを結合すること、および、 (ii)前記サイト・レイのうち少なくとも1つを分割することのうち1つを実施
する段階と、 (e)前記最終処理スライスに到達するまで前記ボリューム・データセットの、
前記第1処理スライスで開始する引き続く領域を順次にサンプリングし、前記引
き続く領域の各々が、順次に、現サンプル領域となるように段階(c)、(d)
を繰り返す段階のうち1つを実施する段階とを包含することを特徴とする方法。 - 【請求項16】 請求項15の方法の透視レイ・キャスティング方法にお
いて、段階(c)において、前記複数のサイト・レイが、前記ボリューム・デー
タセットを通してキャストされ、前記サイト・レイの各々が、前記領域境界のと
ころで前記ボリューム・データセットにおける前記ボクセル・グリッド・ポイン
ト場所と一致することを特徴とする透視レイ・キャスティング方法。 - 【請求項17】 請求項15の透視レイ・キャスティング方法において、
段階(d)において、前記結合段階を、所定のフィルタ重みを有するフィルタで
実施し、前記分割を、リニア補間で実施することを特徴とする透視レイ・キャス
ティング方法。 - 【請求項18】 請求項17の透視レイ・キャスティング方法において、
前記フィルタが、バートレット・フィルタであることを特徴とする透視レイ・キ
ャスティング方法。 - 【請求項19】 請求項15の透視レイ・キャスティング方法において、
段階(d)において、複数の前記サイト・レイが、新しいサイト・レイを生成す
るように結合され、この新しいサイト・レイが、前記結合したサイト・レイの中
心サイト・レイの正確な連続体であることを特徴とする透視レイ・キャスティン
グ方法。 - 【請求項20】 ソース・ボリューム・データセットのディテール・レベ
ル(LOD)表現を生成する方法であって、前記ボリューム・データセットが、
複数の三次元(3D)メモリ・ユニットに分散して記憶された複数の個別のボク
セルを包含し、前記ボクセルの各々が、それと組み合わせた場所およびボクセル
・データを有する方法において、 (a)複数の新サンプルを生成するように前記ボリューム・データセットを再サ
ンプリングする段階と、 (b)前記複数の新サンプルのうち他のサンプルすべてを廃棄し、前記ソース・
ボリューム・データセットよりサイズがコンパクトである第2ボリューム・デー
タセットを形成する段階と、 (c)前記第2ボリューム・データセットのスライスを前記3Dメモリ・ユニッ
トに書き込み、それによって、前記ソース・ボリューム・データセットを前記第
2ボリューム・データセットに置き換える段階と、 (d)第2ボリューム・データセットが所定のサイズになるまで段階(a)〜(
c)を繰り返す段階とを包含することを特徴とする方法。 - 【請求項21】 請求項20の方法において、段階(a)の再サンプリン
グをリニア補間を使用して実施することを特徴とする方法。 - 【請求項22】 請求項20の方法において、段階(a)の再サンプリン
グを、x、yおよびz方向において0.5にセットした重みをもってトリリニア
補間によって実施することを特徴とする方法。 - 【請求項23】 ボリューム・データセットのディテール・レベル(LO
D)表現をレンダリングする方法であって、前記ボリューム・データセットが複
数の三次元(3D)メモリ・ユニットに分散して記憶された複数の個別のボクセ
ルを包含し、各ボクセルが、前記ボリューム・データセット内のグリッド・ポイ
ントに位置する場所を有し、また、それと組み合ったボクセル・データを有する
方法において、 (a)視点および出発ディテール・レベル(LOD)を定める視野・処理パラメ
ータを選択する段階であり、前記出発LODがスクリーン・スペース画像サイズ
にほぼ等しいベースプレーン画像を生成し、前記ベースプレーン画像が、視野方
向に対して最も垂直である前記ボリューム・データセットの面を定めている段階
と、 (b)前記ボリューム・データセットを複数のスラブに分割し、各スラブが、前
記視野方向に沿って、前記スラブの前後における投影ボクセル距離が2の因数だ
け異なるようにする厚さを有し、前記複数のスラブが、前記ボリューム・データ
セットの最も詳細な表現の出発スラブを含んでいる段階と、 (c)前記出発スラブを合成バッファ内にレンダリングし、この合成バッファが
、前記描写スラブを表している合成バッファ画像を記憶する段階と、 (d)前記合成バッファ画像を0.5の因数だけコンパクト化する段階と、 (e)前記縮尺した合成バッファ画像を前記合成バッファへ書き込む段階と、 (f)前記ボリューム・データセットのすべてのスラブが処理されてしまうまで
ボリューム・データセットの前記複数のスラブの各引き続くスラブを半解像度で
順次に読み込むことによって段階(c)、(d)を繰り返す段階と を包含することを特徴とする方法。 - 【請求項24】 請求項23の方法において、さらに、ワープ単位を用意
する段階を包含し、段階(d)を前記ワープ単位によって実施することを特徴と
する方法。 - 【請求項25】 複数のソース・ピクセルを包含しているソース画像およ
び複数の目標ピクセルを包含している目標画像との間でジオメトリック変換を実
施する順方向ワーピング方法であって、前記ソース画像を視点から生成する順方
向ワーピング方法において、 前記視点および複数のスキャンラインを定める視野・処理パラメータを選ぶ段
階と、 平行・保存スキャンライン方向を決定する檀家であり、前記ソース画像内の平
行なスキャンラインが前記目標画像において平行のままとなるようにする段階と
、 前記スキャンラインのすべてがマッピングされるまで前記ソース画像の引き続
くスキャンラインを通して増分で走査することによって前記平行・保存スキャン
ライン方向に沿って前記目標画像に前記ソース画像をマッピングする段階と を包含することを特徴とする順方向ワーピング方法。 - 【請求項26】 請求項25の順方向ワーピング方法において、前記平行
・保存スキャンライン方向が、透視変換マトリックスに由来することを特徴とす
る順方向ワーピング方法。 - 【請求項27】 請求項25の順方向ワーピング方法において、さらに、 前記ソース画像を通して前記スキャンラインを走査する段階であり、各スキャ
ンラインに沿ったサンプルを増分計算する段階と、 所定の読み込みテンプレートに従って固定パターンにおける前記ソース・ピク
セルを読み込む段階と、 所定の書き込みテンプレートに従って前記ソース・ピクセルのサンプル値を書
き込む段階と を包含することを特徴とする順方向ワーピング方法。 - 【請求項28】 請求項27の順方向ワーピング方法において、さらに、
前記ソース画像における隣接したサンプルまでの距離を算出することによってフ
ットプリントを計算する段階を包含し、前記平行・保存スキャンライン方向に沿
ったサンプルが等距離であり、各ソース・ピクセルの最も近い隣接目標ピクセル
までの距離を増分計算することを特徴とする順方向ワーピング方法。 - 【請求項29】 少なくとも1つのボリュームおよび複数のジオメトリを
含んでいるシーンをレンダリングし、画像を生成し、この画像を視点から生成す
る方法であって、 (a)複数のジオメトリ・プリミティブを用意し、前記ジオメトリ・プリミティ
ブの各々がそれと組み合った不透明度を有し、また、複数のボクセルを含むボリ
ューム・データセットを用意し、各ボクセルが、それと組み合った場所とボクセ
ル・データを有する段階と、 (b)前記視点、前記ボリューム・データセットの少なくとも1つのベースプレ
ーンであり、視野方向に対して最も垂直である前記ボリューム・データセットの
面を定めるベースプレーンおよび前記ボリューム・データセットの最初と最後の
処理スライスを定める視野・処理パラメータを選ぶ段階と、 (c)前記不透明度に従って、半透明ジオメトリ・プリミティブから不透明ジオ
メトリ・プリミティブを分離する段階と、 (d)前記不透明なジオメトリ・プリミティブをZバッファへレンダリングする
段階であり、前記Zバッファが、ボリューム・サンプル距離に一致するに充分な
解像度を有し、前記視点から前記視野方向に沿った距離を表しているZバッファ
画像および前記ジオメトリ・プリミティブの各々についての関連したサンプル値
を記憶し、前記Zバッファ画像が、前記ボリューム・データセットの前記第1処
理スライスと一致するプレーン上にある段階と、 (e)合成バッファを、前記不透明なジオメトリ・プリミティブの前記Zバッフ
ァ画像で初期化する段階と、 (f)複数のサイト・レイを前記ボリューム・データセットの前記第1処理スラ
イスを通してキャスティングする段階と、 (g)視野方向に沿って採った、前記ボリューム・データセットの現サンプルの
デプスが前記Zバッファ画像のデプスより大きいかどうかについて決定する段階
と、 (h)前記ボリューム・サンプルのデプスが前記不透明なジオメトリ・プリミテ
ィブのデプスより大きい場合に前記ボリューム・サンプル上に前記不透明なジオ
メトリ・プリミティブを合成する段階と、 (i)前記最後の処理スライスに達するまで前記ボリューム・データセットの引
き続くスライスを通して段階(f)〜(h)を繰り返す段階と を包含することを特徴とする方法。 - 【請求項30】 請求項29の方法において、さらに、前記半透明のジオ
メトリ・プリミティブを複数の薄いスラブにレンダリングし、各スラブが、すべ
てのスラブの合併が前記ボリューム・データセットの任意領域を失ったり、重複
したりしないように選んだ境界を有するようにする段階と、 前記最後の処理スライスに達するまで前記ボリューム・データセットの2つの
隣接したスライス間に前記半透明のジオメトリ・プリミティブの前記薄いスラブ
を合成する段階と を包含することを特徴とする方法。 - 【請求項31】 請求項30の方法において、前記ボリューム・スライス
および前記半透明のポリゴン・スラブからのデータを別の方法で相互にダブテー
ルすることを特徴とする方法。 - 【請求項32】請求項30の方法において、半透明のジオメトリ・プリミ
ティブをレンダリングする段階が、複数のバケットを創作し、各バケットが、前
記ボリューム・データセットの2つの隣接したスライス間の薄いスラブに対応す
るようにする段階と、シーン内ですべての半透明のジオメトリ・プリミティブを
移動させ、各半透明のジオメトリ・プリミティブを、前記半透明のジオメトリ・
プリミティブが交差する各スラブのためのバケットに内に置く段階とを包含する
ことを特徴とする方法。 - 【請求項33】 請求項30の方法において、半透明のジオメトリ・プリ
ミティブをレンダリングする段階が、事前描写した半透明のジオメトリ・プリミ
ティブの能動ディスプレイ・リストを維持する段階を包含し、それによって、半
透明のジオメトリ・プリミティブの各々が、半透明のジオメトリ・プリミティブ
が交差する前記ボリューム・データセットの第1スライスで前記能動リスト内に
置かれ、半透明のジオメトリ・プリミティブがもはやボリューム・データセット
の任意のスライスと交差しなくなったときに前記能動リストから除かれることを
特徴とする方法。 - 【請求項34】 所定の視点に関してボリューム・データセットの任意の
三次元回転を実施する方法であって、前記ボリューム・データセットが、複数の
三次元メモリ・ユニット内に分散して記憶された複数の個別のボクセルを包含し
、各ボクセルが、前記ボリューム・データセットのグリッド・ポイント上の場所
を有し、それと組み合ったボクセル・データを有する方法において、 前記視点に関して前記ボリューム・データセットの最終的な向きを定める目標
三次元回転マトリックスを受け取り、この回転マトリックスを、x、y、z軸線
に沿った軸線回転の連結として表す段階と、 前記回転マトリックスを前記ボリューム・データセットの連続的シャー変換の
うち少なくとも2つのパスからなるシーケンスに分解する段階と を包含することを特徴とする方法。 - 【請求項35】 請求項34の三次元回転方法において、分解段階が、以
下のシーケンスでの連続的二次元(2D)シャー変換の4つのパスを包含し、こ
のシーケンスが、 第1の主要方向軸線に沿ってボリューム・データセットの第1の2Dビーム・
シャー変換を実施すること、 第2の主要方向軸線に沿ってボリューム・データセットの第2の2Dビーム・
シャー変換を実施すること、 第3の主要方向軸線に沿ってボリューム・データセットの第3の2Dビーム・
シャー変換を実施すること、そして、 前記第1の主要方向軸線に沿ってボリューム・データセットの第4の2Dビー
ム・シャー変換を実施すること からなることを特徴とする三次元回転方法。 - 【請求項36】 請求項34の三次元回転方法において、分解段階が、以
下のシーケンスでの連続的二次元(2D)シャー変換の4つのパスを包含し、こ
のシーケンスが、 第1の主要方向軸線に沿ってボリューム・データセットの第1の2Dスライス
・シャー変換を実施すること、 第2の主要方向軸線に沿ってボリューム・データセットの第2の2Dスライス
・シャー変換を実施すること、 第3の主要方向軸線に沿ってボリューム・データセットの第3の2Dスライス
・シャー変換を実施すること、そして、 前記第1の主要方向軸線に沿ってボリューム・データセットの第4の2Dスラ
イス・シャー変換を実施すること からなることを特徴とする三次元回転方法。 - 【請求項37】 請求項36の三次元回転方法において、分解段階が、連
続的三次元(3D)ビーム・シャー変換の2つのパスを包含し、第1のパスが、
前記第1、第2の2Dスライス・シャー変換の連結であり、第2のパスが、前記
第3、第4の2Dスライス・シャー変換の連結であることを特徴とする三次元回
転方法。 - 【請求項38】 請求項34の三次元回転方法において、分解段階が、以
下のシーケンスでの連続的二次元(2D)シャー変換の3つのパスを包含し、こ
のシーケンスが、 ボリューム・データセットの第1の2Dビーム・スライス・シャー変換を実施
することを包含し、そこにおいて、前記シャー変換が、各々異なった腫瘍軸線方
向に沿った、1つのビーム・シャー変換と1つのスライス・シャー変換の積であ
り、また、 ボリューム・データセットの第2の2Dビーム・スライス・シャー積変換を実
施することを包含し、そこにおいて、前記シャー変換が、各々異なった主要軸線
に沿った、1つのビーム・シャー変換と1つのスライス・シャー変換の積であり
、さらにまた、 前記第1の2Dビーム・スライス・シャー変換のビーム・シャーと同じ主要軸
線方向に沿ってボリューム・データセットの2Dビーム・シャー変換を実施する
こと を包含することを特徴とする三次元回転方法。 - 【請求項39】 請求項34の三次元回転方法において、さらに、複数の
バレル・シフタを提供する段階を包含し、前記分解段階の前記シャー変換が前記
バレル・シフタによって実施されることを特徴とする三次元回転方法。 - 【請求項40】 請求項34の三次元回転方法において、さらに、複数の
対数シフタを提供する段階を包含し、前記分解段階の前記シャー変換が前記対数
シフタによって実施されることを特徴とする三次元回転方法。 - 【請求項41】 請求項34の三次元回転方法において、さらに、 (a)前記ソース・ボリューム・データセットのソース・ボクセルと目標ボリュ
ーム・データセットの目標ボクセルとの間に1対1の対応関係をセットアップす
る段階と、 (b)前記ソース・ボクセルの各々について、前記1対1の対応関係を使用して
前記対応する目標ボクセルを研鑽する段階と、 (c)再サンプリングによってソース・ボリューム・データセットにおける前記
ソース・ボクセル場所に前記目標ボクセルの各々を記憶する段階と、 (d)前記目標ボクセルを前記目標ボリューム・データセットにおける対応する
宛先へ変換する段階と を包含することを特徴とする三次元回転方法。 - 【請求項42】 請求項41の三次元回転方法において、 段階(c)における前記再サンプリングを、局所的ボクセルへの補間によって
実施し、前記目標ボクセルの各々のサンプリング位置を、前記回転マトリックス
の逆方向変換を使用して計算し、 段階(d)における前記変換を最も近い隣接の実装機構を用いて実施すること を特徴とする三次元回転方法。 - 【請求項43】 複数のボリュームを含むシーンをレンダリングし、そし
て、1つの画像を視点から生成する方法において、 (a)第1のボリューム・データセットと、この第1のボリューム・データセッ
トに対応する第1の変換マトリックスを用意する段階と、 (b)第2のボリューム・データセットと、この第2ボリューム・データセット
に対応する第2の変換マトリックスを用意する段階と、 (c)前記視点および前記第1、第2のボリューム・データセットの最初と最後
の処理スライスを定める視野・処理パラメータを選ぶ段階と、 (d)それぞれ、前記第1、第2変換マトリックスに従って前記第1、第2ボリ
ューム・データセットを変換する段階と、 (e)前記第1のボリューム・データセットの前記最初の処理スライスを通して
前記視点から視野方向に沿った複数のサイト・レイをキャスティングする段階と
、 (f)前記第2ボリューム・データセットの前記最初の処理スライスを通して前
記視点から前記視野方向に沿って複数のサイト・レイをキャスティングする段階
と、 (g)前記第1のボリュームの前記第1のスライスを合成バッファへ書き込む段
階と、 (h)前記第2ボリュームの前記最初のスライスを前記合成バッファ上に合成す
る段階と、 (i)前記第1、第2のボリューム・データセットの前記最後の処理スライスに
達するまで前記視野方向に沿って前記第1、第2のボリューム・データセットの
引き続くスライスを通して順次に走査することによって段階(e)〜(h)を繰
り返す段階と を包含することを特徴とする方法。 - 【請求項44】請求項43の方法において、段階(d)が、さらに、前記
第1、第2の変換マトリックス間の差を計算し、前記第1、第2のボリューム・
データセットの一方のみを前記差に従って変換する段階を包含することを特徴と
する方法。 - 【請求項45】 請求項44の方法において、段階(d)が、さらに、シ
ャー変換が前記ボリューム・データセットについて実施された場合に、前記ボリ
ューム・データセットを再サンプリングして補正ボリューム・データセットを形
成し、この補正ボリューム・データセットが、前記シャー変換により導入された
エラーをほぼ除去することを特徴とする方法。 - 【請求項46】 請求項45の方法において、前記再サンプリング段階を
、段階(e)、(f)のうち少なくとも一方での前記レイ・キャスティング中に
実施することを特徴とする方法。 - 【請求項47】 複数のボリュームを含むシーンをレンダリングし、視点
から1つの画像を生成する方法において、 (a)第1のボリューム・データセットおよび対応する第1の変換マトリックス
および第2ボリューム・データセットおよび対応する第2の変換マトリックスを
用意し、前記第1、第2のボリューム・データセットの各々が、複数の三次元メ
モリ・ユニットに分散して記憶された複数の個別のボクセルを包含しており、前
記ボクセルの各々が、前記ボリューム・データセットにおけるグリッド・ポイン
ト上に位置する場所を有し、それと組み合わせたボクセル・データを有する段階
と、 (b)前記視点および前記第1、第2のボリューム・データセットの最初と最後
の処理スライスを定める視点・処理パラメータを選択する段階と、 (c)前記第1、第2のボリューム・データセットの前記最初の処理スライスを
通して視野方向に沿って複数のサイト・レイをキャスティングする段階と、 (d)前記サイト・レイに沿った各サンプル・ポイントでの前記第1、第2のボ
リューム・データセットからボクセルの対応する値を新しい値に結合することに
よって新しいボリューム・データセットを創り出し、前記新しい値の各々が、変
調したカラー値を含む段階と、 (e)段階(c)を繰り返して、前記第1、第2のボリューム・データセットの
前記最後の処理スライスにたっするまで前記ボリューム・データセットの引き続
くスライスを通して走査することによって段階(c)、(d)を繰り返し、それ
によって、前記視点に対する単一のボリューム・データセットとして前記新しい
ボリューム・データセットをレンダリングする段階と を包含することを特徴とする方法。 - 【請求項48】 請求項47の方法において、段階(d)が、さらに、前
記対応するボクセル値の各々の最大値を前記第1、第2のボリューム・データセ
ットから計算する段階を包含し、ボクセルの結合を、前記最大値を、前記新しい
ボリューム・データセットにおける対応する新しい値として使用して合成するこ
とによって実施することを特徴とする方法。 - 【請求項49】 請求項47の方法において、段階(d)が、さらに、前
記第1、第2のボリューム・データセットからの前記対応するボクセル間の差値
を計算する段階を包含し、ボクセルの結合を、前記新しいボリューム・データセ
ットにおける対応する新しい値として前記差値を使用して合成することによって
実施することを特徴とする方法。 - 【請求項50】 請求項47の方法において、段階(d)が、さらに、前
記第1、第2のボリューム・データセットからの前記対応するボクセルの各々の
最小値を計算する段階を包含し、ボクセルの結合を、前記新しいボリューム・デ
ータセットにおける対応する新しい値として前記最小値を使用して合成すること
によって実施することを特徴とする方法。 - 【請求項51】 請求項47の方法において、段階(d)が、さらに、前
記第1、第2のボリューム・データセットの各ボクセルに所定のRGBα値を割
り当てることによって前記第1、第2のボリューム・データセットを分類し、シ
ェーディングする段階と、 対応するボクセルの前記RGBα値を変調してRGBαボリューム・データセ
ットを形成することによって前記第1、第2のボリューム・データセットの対応
するボクセルを結合する段階と を包含することを特徴とする方法。 - 【請求項52】 請求項51の方法において、段階(d)が、さらに、前
記新しいボリューム・データセットにおける前記ボクセルの各々に対応するイン
デックス・フィールドを創り出す段階を包含し、前記インデックス・フィールド
が、前記新しいボリューム・データセットの発祥形態における各ボクセルをボリ
ューム・データセット化することを示すデータを記憶することを特徴とする方法
。 - 【請求項53】 x勾配成分、y勾配成分およびz勾配成分のうち少なく
とも1つを演算する段階を包含する、画像の高品質レンダリングを実施する方法
において、 前記x勾配成分が、(i)重み−1、0、1をもってx方向に加重平均フィル
タを適用するサブ段階と、(ii)重み1、w、1をもってy方向に加重平均フィ
ルタを適用するサブ段階と、(iii)重み1、w、1をもってz方向に加重平均フ
ィルタを適用するサブ段階とを包含し、 前記y勾配成分が、(i)重み−1、0、1をもってx方向に加重平均フィル
タを適用する段階と、(ii)重み1、w、1をもってy方向に加重平均フィルタ
を適用する段階と、(iii)重み1、w、1をもってz方向に加重平均フィルタを
適用する段階とを包含し、 前記z勾配成分が、(i)重み−1、0、1をもってx方向に加重平均フィル
タを適用する段階と、(ii)重み1、w、1をもってy方向に加重平均フィルタ
を適用する段階と、(iii)重み1、w、1をもってz方向に加重平均フィルタを
適用する段階とを包含する ことを特徴とする方法。 - 【請求項54】 ジオメトリ・パイプラインに複数のCube−5レンダ
リング・パイプラインを接続する方法であって、 スクリーン・リフレッシュ・ユニットにデータを供給するに充分なバンド幅を
有する複数の外部記憶ユニットを設ける段階を包含し、 前記外部記憶ユニットがフレーム・バッファを形成し、このフレーム・バッフ
ァが、ボリューム・レンダリングおよびジオメトリ・レンダリングのうちの1つ
を実施するためのRGBα、デプスおよびステンシル値のうちの少なくとも1つ
を記憶し、前記フレーム・バッファが、前記複数の記憶ユニットを横切ってイン
タリーブされており、Cube−5ボリューム・レンダリング・パイプラインに
順番のアクセスで外部記憶ユニットのバンド幅の完全使用を可能にしており、さ
らに、 前記ジオメトリ・パイプラインが正しく前記フレーム・バッファにアクセスす
るように前記バッファ・インタリーブ構造の前記ジオメトリ・パイプラインに指
示を与える段階を包含することを特徴とする方法。 - 【請求項55】 ジオメトリ・パイプラインにCube−5ボリューム・
レンダリング・パイプラインを接続する方法であって、前記Cube−5レンダ
リング・パイプラインがフレーム・バッファを包含している方法において、 前記ジオメトリ・パイプラインから前記Cube−5パイプラインにジオメト
リ・データを伝達する段階であり、前記ジオメトリ・データがラスタライズされ
たジオメトリの画像を含んでいる段階と、 前記Cube−5パイプラインにおける前記ジオメトリ・データを結合する段
階と、 前記フレーム・バッファ内に前記結合されたジオメトリック・データを記憶す
る段階と を包含することを特徴とする方法。 - 【請求項56】 請求項55の方法において、さらに、実行長コード化(
RLE)フォーマットで前記ジオメトリ・データをコード化する段階を包含する
ことを特徴とする方法。 - 【請求項57】 請求項56の方法において、さらに、実行長コード化ラ
スタライゼーション・エンジンを設ける段階と、前記フレーム・バッファに前記
ラスタライゼーション・エンジンを接続する段階とを包含することを特徴とする
方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9297798P | 1998-07-16 | 1998-07-16 | |
US60/092,977 | 1998-07-16 | ||
PCT/US1999/016038 WO2000004505A1 (en) | 1998-07-16 | 1999-07-16 | Apparatus and method for real-time volume processing and universal 3d rendering |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002520748A true JP2002520748A (ja) | 2002-07-09 |
Family
ID=22236075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000560548A Pending JP2002520748A (ja) | 1998-07-16 | 1999-07-16 | リアルタイム・ボリューム処理およびユニバーサル3dレンダリングのための装置および方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1114400A4 (ja) |
JP (1) | JP2002520748A (ja) |
AU (1) | AU757621B2 (ja) |
CA (1) | CA2337530C (ja) |
WO (1) | WO2000004505A1 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006107518A (ja) * | 2004-10-08 | 2006-04-20 | Mitsubishi Electric Research Laboratories Inc | 複数のボクセルを含むボリュームデータセットをレンダリングする方法 |
JP2007517304A (ja) * | 2003-12-23 | 2007-06-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンピュータ・グラフィックス・プロセッサおよびイメージをレンダリングする方法 |
JP2007536668A (ja) * | 2004-05-03 | 2007-12-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | グラフィックスをレンダリングするためのグラフィックスパイプライン |
JP2008512766A (ja) * | 2004-09-09 | 2008-04-24 | シリコン オプティックス インコーポレイテッド | 異方性フィルタリングを用いたシングルパス画像ワーピングシステム及び方法 |
JP2010033209A (ja) * | 2008-07-28 | 2010-02-12 | Hitachi Ltd | 画像信号処理装置、表示装置、録画再生装置、画像信号処理方法 |
JP2010165344A (ja) * | 2008-12-20 | 2010-07-29 | Univ Of Tokyo | ボリュームデータの実時間レンダリング方法及び装置 |
JP2012138104A (ja) * | 2012-03-01 | 2012-07-19 | Qualcomm Inc | 異方性フィルタリングを用いたシングルパス画像ワーピングシステム及び方法 |
KR20130018533A (ko) * | 2011-08-01 | 2013-02-25 | 하만 베커 오토모티브 시스템즈 게엠베하 | 3d 빌딩과 지형에 대한 공간 에러 파라미터 |
JP6418344B1 (ja) * | 2018-02-23 | 2018-11-07 | 大日本印刷株式会社 | コンピュータプログラム、画像処理装置及び画像処理方法 |
KR20190025823A (ko) * | 2016-07-02 | 2019-03-12 | 인텔 코포레이션 | 고해상도 디스플레이 상에 다수의 스크린 영역들을 제공하기 위한 메커니즘 |
US10339704B2 (en) | 2017-12-04 | 2019-07-02 | Axell Corporation | Image data processing method in image processor and computer readable medium storing program therefor for rendering a texture based on a triangulation pattern |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6906732B1 (en) * | 1999-12-07 | 2005-06-14 | Nintendo Co., Ltd. | Texture morphing process provided by the preferred embodiment of the present invention |
GB2361396B (en) * | 2000-04-10 | 2002-04-03 | Voxar Ltd | Imaging volume data |
US7034828B1 (en) * | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
US7324116B2 (en) | 2002-06-20 | 2008-01-29 | Microsoft Corporation | Systems and methods for providing controllable texture sampling |
US7618948B2 (en) | 2002-11-26 | 2009-11-17 | Medtronic, Inc. | Devices, systems and methods for improving and/or cognitive function through brain delivery of siRNA |
WO2004072907A1 (en) * | 2003-02-13 | 2004-08-26 | Koninklijke Philips Electronics N.V. | Computer graphics system and method for rendering a computer graphic image |
JP2006523886A (ja) * | 2003-04-15 | 2006-10-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンピュータグラフィックプロセッサおよびコンピュータグラフィック画像を生成する方法 |
EP1825439B1 (en) * | 2004-12-03 | 2012-01-25 | Silicon Hive B.V. | Programmable processor |
SG10201502669RA (en) * | 2010-04-12 | 2015-05-28 | Fortem Solutions Inc | Camera projection meshes |
CN102903147A (zh) * | 2012-09-18 | 2013-01-30 | 深圳市旭东数字医学影像技术有限公司 | 三维数据的裁剪方法及*** |
KR102111626B1 (ko) * | 2013-09-10 | 2020-05-15 | 삼성전자주식회사 | 영상 처리 장치 및 영상 처리 방법 |
EP3432581A1 (en) * | 2017-07-21 | 2019-01-23 | Thomson Licensing | Methods, devices and stream for encoding and decoding volumetric video |
CN111369661B (zh) * | 2020-03-10 | 2023-03-17 | 四川大学 | 一种基于OpenCL的三维体数据可视化并行渲染方法 |
CN111445549B (zh) * | 2020-03-24 | 2023-05-23 | 浙江明峰智能医疗科技有限公司 | 用作gpu并行计算的静态和动态混合模体ct仿真方法 |
CN113516751B (zh) * | 2020-03-26 | 2023-06-30 | 网易(杭州)网络有限公司 | 游戏中云的显示方法、装置以及电子终端 |
CN113747060B (zh) * | 2021-08-12 | 2022-10-21 | 荣耀终端有限公司 | 图像处理的方法、设备、存储介质 |
CN115591240B (zh) * | 2022-12-01 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 三维游戏场景的特征提取方法、装置、设备及存储介质 |
CN117218042B (zh) * | 2023-11-09 | 2024-02-20 | 广东蛟龙电器有限公司 | 一种发质类型视觉分析检测方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU699764B2 (en) * | 1994-09-06 | 1998-12-17 | Research Foundation Of The State University Of New York, The | Apparatus and method for real-time volume visualization |
US5724493A (en) * | 1994-12-13 | 1998-03-03 | Nippon Telegraph & Telephone Corporation | Method and apparatus for extracting 3D information of feature points |
US5877779A (en) * | 1995-07-06 | 1999-03-02 | Sun Microsystems, Inc. | Method and apparatus for efficient rendering of three-dimensional scenes |
JPH09237354A (ja) * | 1996-02-29 | 1997-09-09 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | 3次元形状データ転送表示方法 |
-
1999
- 1999-07-16 AU AU49982/99A patent/AU757621B2/en not_active Ceased
- 1999-07-16 WO PCT/US1999/016038 patent/WO2000004505A1/en active IP Right Grant
- 1999-07-16 EP EP99934066A patent/EP1114400A4/en not_active Withdrawn
- 1999-07-16 JP JP2000560548A patent/JP2002520748A/ja active Pending
- 1999-07-16 CA CA002337530A patent/CA2337530C/en not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007517304A (ja) * | 2003-12-23 | 2007-06-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンピュータ・グラフィックス・プロセッサおよびイメージをレンダリングする方法 |
US8411099B2 (en) | 2003-12-23 | 2013-04-02 | Entropic Communications, Inc. | Computer graphics processor and method of rendering images |
JP2007536668A (ja) * | 2004-05-03 | 2007-12-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | グラフィックスをレンダリングするためのグラフィックスパイプライン |
US8059133B2 (en) | 2004-05-03 | 2011-11-15 | Trident Microsystems (Far East) Ltd. | Graphics pipeline for rendering graphics |
JP2008512766A (ja) * | 2004-09-09 | 2008-04-24 | シリコン オプティックス インコーポレイテッド | 異方性フィルタリングを用いたシングルパス画像ワーピングシステム及び方法 |
JP4732111B2 (ja) * | 2004-10-08 | 2011-07-27 | ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド | 複数のボクセルを含むボリュームデータセットをレンダリングする方法 |
JP2006107518A (ja) * | 2004-10-08 | 2006-04-20 | Mitsubishi Electric Research Laboratories Inc | 複数のボクセルを含むボリュームデータセットをレンダリングする方法 |
JP2010033209A (ja) * | 2008-07-28 | 2010-02-12 | Hitachi Ltd | 画像信号処理装置、表示装置、録画再生装置、画像信号処理方法 |
JP2010165344A (ja) * | 2008-12-20 | 2010-07-29 | Univ Of Tokyo | ボリュームデータの実時間レンダリング方法及び装置 |
KR101997011B1 (ko) | 2011-08-01 | 2019-07-05 | 하만 베커 오토모티브 시스템즈 게엠베하 | 3d 물체 및 3d 지형 중 적어도 하나를 시각화하는 방법 |
KR20130018533A (ko) * | 2011-08-01 | 2013-02-25 | 하만 베커 오토모티브 시스템즈 게엠베하 | 3d 빌딩과 지형에 대한 공간 에러 파라미터 |
JP2012138104A (ja) * | 2012-03-01 | 2012-07-19 | Qualcomm Inc | 異方性フィルタリングを用いたシングルパス画像ワーピングシステム及び方法 |
KR20190025823A (ko) * | 2016-07-02 | 2019-03-12 | 인텔 코포레이션 | 고해상도 디스플레이 상에 다수의 스크린 영역들을 제공하기 위한 메커니즘 |
KR102590889B1 (ko) | 2016-07-02 | 2023-10-19 | 인텔 코포레이션 | 고해상도 디스플레이 상에 다수의 스크린 영역들을 제공하기 위한 메커니즘 |
US10339704B2 (en) | 2017-12-04 | 2019-07-02 | Axell Corporation | Image data processing method in image processor and computer readable medium storing program therefor for rendering a texture based on a triangulation pattern |
JP6418344B1 (ja) * | 2018-02-23 | 2018-11-07 | 大日本印刷株式会社 | コンピュータプログラム、画像処理装置及び画像処理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1114400A1 (en) | 2001-07-11 |
EP1114400A4 (en) | 2006-06-14 |
AU757621B2 (en) | 2003-02-27 |
WO2000004505A1 (en) | 2000-01-27 |
CA2337530A1 (en) | 2000-01-27 |
CA2337530C (en) | 2007-11-20 |
AU4998299A (en) | 2000-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6674430B1 (en) | Apparatus and method for real-time volume processing and universal 3D rendering | |
JP2002520748A (ja) | リアルタイム・ボリューム処理およびユニバーサル3dレンダリングのための装置および方法 | |
Meißner et al. | Enabling classification and shading for 3 d texture mapping based volume rendering using opengl and extensions | |
US7471291B2 (en) | Apparatus and method for real-time volume processing and universal three-dimensional rendering | |
Pfister et al. | The volumepro real-time ray-casting system | |
JP4540753B2 (ja) | グラフィックオブジェクトを画像チャンクにレンダリングして、画像層を表示画像に組み合わせる方法及びシステム | |
Torborg et al. | Talisman: Commodity realtime 3D graphics for the PC | |
US6184891B1 (en) | Fog simulation for partially transparent objects | |
US6016150A (en) | Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers | |
US6232981B1 (en) | Method for improving texture locality for pixel quads by diagonal level-of-detail calculation | |
US9317960B2 (en) | Top-to bottom path rendering with opacity testing | |
US6064393A (en) | Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline | |
McReynolds et al. | Advanced graphics programming techniques using OpenGL | |
US5870097A (en) | Method and system for improving shadowing in a graphics rendering system | |
US20050231504A1 (en) | Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer | |
US7038678B2 (en) | Dependent texture shadow antialiasing | |
US20060044313A1 (en) | Subdividing geometry images in graphics hardware | |
Meißner et al. | Interactive lighting models and pre-integration for volume rendering on PC graphics accelerators | |
KR19990022627A (ko) | 텍스쳐 매핑을 위한 방법 및 장치 | |
McReynolds et al. | Programming with opengl: Advanced rendering | |
EP1890267A2 (en) | Apparatus and method for real-time volume processing and universal 3D rendering | |
Kreeger et al. | Hybrid volume and polygon rendering with cube hardware | |
US7385604B1 (en) | Fragment scattering | |
Olajos | Real-time rendering of volumetric clouds | |
KR100868396B1 (ko) | 기하 이미지 분할을 위한 그래픽 처리 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090706 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100107 |