JP2002183749A - グラフィックデータの勾配の補正方法 - Google Patents

グラフィックデータの勾配の補正方法

Info

Publication number
JP2002183749A
JP2002183749A JP2001305439A JP2001305439A JP2002183749A JP 2002183749 A JP2002183749 A JP 2002183749A JP 2001305439 A JP2001305439 A JP 2001305439A JP 2001305439 A JP2001305439 A JP 2001305439A JP 2002183749 A JP2002183749 A JP 2002183749A
Authority
JP
Japan
Prior art keywords
sample
voxel
image
volume
space
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
Application number
JP2001305439A
Other languages
English (en)
Inventor
Larry D Seiler
ラリー・ディー・シーラー
Yin Wu
ユィン・ウ
Hugh C Lauer
ヒュー・シー・ラウアー
Vishal C Bhatia
ヴィシャル・シー・バティア
Jeffrey Lussier
ジェフリー・ルシアー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TeraRecon Inc Japan Branch
Original Assignee
TeraRecon Inc Japan Branch
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/715,398 external-priority patent/US6680735B1/en
Application filed by TeraRecon Inc Japan Branch filed Critical TeraRecon Inc Japan Branch
Publication of JP2002183749A publication Critical patent/JP2002183749A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 (修正有) 【課題】画像としてグラフィックデータをレンダリング
する方法を提供する。 【解決手段】ボクセルから構成されるボリュームデータ
セットを画像平面の各ピクセルを通しレイを投射するこ
とによりピクセルから構成される該画像平面上にレンダ
リングする。ボリュームデータセットの一面を基底面と
して選択する。サンプル点が該基底面に平行な平面内に
存在するように該サンプル点を各レイに沿い定義する。
各サンプル点に隣接するボクセルをサンプリングして、
各サンプル点に対しサンプル値を求め、そして各レイの
サンプル値を合成して各ピクセルに対するピクセル値を
求める。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、コンピュータ・
グラフィックスの技術分野に係わり、特に、並列パイプ
ライン制御ハードウエア・レンダリング・エンジンを用
いてボリュームデータセット(体積もしくは三次元デー
タセット)をレンダリングすることに関する。
【0002】三次元データを可視化する必要があるコン
ピュータグラフィックス用アプリケーションにおいて
は、ボリュームレンダリング(三次元図形データを二次
元画像データにすること)がしばしば用いられている。
ボリュームデータ(三次元データ)は、物理学上または
医学上のオブジェクト或るいは大気、地球物理学その他
の科学的モデルをスキャン(走査)することにより得ら
れ、このデータによれば、データを可視化することによ
り、当該データによって表される実世界の内在構造も理
解が容易になる。
【0003】ボリュームレンダリングでは、物理的オブ
ジェクトの内部構造ならびに外部表面特徴が可視化され
る。ボクセル(三次元ピクセル)はボリュームレンダリ
ングにおいて通常用いられる基本的データ項目である。
すなわち、ボクセルとは、オブジェクト或るいはモデル
の特定の三次元部分を表すデータである。各ボクセルの
座標(xyz)で、ボクセルは、表示されるオブジェク
ト或るいはモデル内の位置に写像される。
【0004】1つのボクセルは、オブジェクト或るいは
モデルにおける特定の位置に関連する1つまたは複数の
値を表す。従来、所与のボリュームに対し、ボクセルに
含まれる値は、密度、組織のタイプ、弾力性或るいは速
度のような数多の異なったパラメータの内の特定の1つ
のパラメータであり得る。レンダリング中、ボクセル値
を、ボクセルの輝度値にしたがってカラーおよび不透明
度(RGBα)値に変換し、二次元画像平面に射影する
ことで観察することができる。
【0005】レンダリング中、しばしば用いられる技術
の1つにレイキャスティング(光線の投射)がある。こ
の方法によれば、仮想上のレイ群がボクセルを通して投
射される。レイは或る視点或るいは画像平面から発生さ
れる。ボクセルはレイ(光線)に沿う複数の点でサンプ
リング(標本化)される。なお、サンプリングした値を
ピクセル値に変換するための技術としては種々なものが
知られている。いずれにせよ、ボリュームの処理は、後
部から前部へ或るいは前部から後部に向かう順序で行う
ことができる。
【0006】ボリュームレンダリングのための1つの伝
統的なレイキャスティング技術として、Lecroute およ
び Levoy のシヤーワープアルゴリズム(shear-warp al
gorithm)に基づくものがある。これに関しては、Lecro
ute および Levoy の "Fast Lolume Rendering Using a
Shear-Warp Factorization of the Viewing Transform
ation"コンピュータグラフィックス、28(4)、451-458、
(1994年8月)を参照されたい。
【0007】上記の技術には、ボクセルが記憶された順
序に密接に関連する順序でボリュームデータセットを逓
進的に、すなわち、ステップ バイ ステップで取り扱え
るという利点がある。上記順序は、「オブジェクトオー
ダー」と称されている。このオブジェクトオーダー方法
には2つの利点がある。すなわち、ボリュームメモリを
最適な仕方でアクセスすることが可能であることおよび
サンプル値を決定するのに補間重みによる3回の乗算し
か要求されないという利点である。その結果として、ボ
リュームデータを、最大速度で読み出して処理すること
ができる。実時間で対話形のボリュームレンダリングを
最初に可能にしたのは、このレイキャスティング技術で
あった。
【0008】シヤーワープ(剪断変形-歪曲変形)技術
は、ボリュームデータセットの「基底面」上のボクセル
により定義される格子にしたがいレイ(光線)を投射す
ることによりそのパフォーマンスを実現する。ここで基
底面とは、画像平面に最近似的に平行であるボリューム
の表面に平行な面である。シヤーワープ技術において
は、ボリュームを通して投光されるレイは、ボリューム
自体における行および列に平行な行および列の格子上に
位置する。この順序立った行列配列がオブジェクトオー
ダーのレンダリングを、特にメモリアクセスおよびサン
プル値の補間に対して効果的にしている。
【0009】しかしながら、得られる画像は基底面に整
列されておって画像面には整列されていない。さらにま
た、特殊な事例を除き、得られる基底面整列画像は、ボ
リュームオブジェクトの所望の最終画像から歪んでい
る。したがって、シヤーワープ技術は実際には2段階法
であって、「シヤー(剪断変形)」段階と称する第1の
段階で画像は基底面にレンダリングされ、他方、第2の
段階、すなわち「ワープ歪曲変形」段階と称する段階で
は、基底面画像の歪みが除去されて画像面上に正しく位
置決めされる。
【0010】したがって、ワープ段階は、実効的に、画
像平面上に最終画像を生成するための基底面画像の再標
本化もしくはリサンプリングであると言える。この結
果、実際に実施する場合には、実現可能な画像品質に劣
化が生ずる。
【0011】ワープ段階は実施が困難ではなく、たとえ
ば、OpenGL(登録商標)のような慣用の3D多角
形グラフィックスのテクスチャマップ機能を使用して容
易に実現できる。しかしながら、すべてのアプリケーシ
ョン環境が、このようなグラフィックス機能もしくは能
力を備えているシステム用に設計されている訳ではな
い。したがってワープ段階を実行するためには、システ
ム設計に対し面倒な付加や所要のパフォーマンスを満足
する余分のソフトウエアモジュールが要求される。
【0012】別のレイキャスティング方法として、画像
オーダー法(image order)として知られている方法が
ある。この方法においては、ボリュームデータセットに
最終画像面上のピクセルからレイ(光線)を投射する。
これにより、歪みを伴うことなく且つワープ段階を経る
ことなく直接正しい画像を生成することができる。この
ようにして得られる画像は、一般に、シヤーワープ技術
で実現できる品質よりも高い品質を有する。このように
画像オーダーレンダリング方法で高品質の画像が生成さ
れる理由は、最終画像面上の各ピクセルが該ピクセルを
通る単一のレイから直接発生されることにある。これと
は対照的にオブジェクトオーダー法では、最終画像面に
おける各ピクセルは、基底面画像上の近接する多数のピ
クセルから合成される。したがって、オブジェクトオー
ダー方法の場合には、2回サンプリングが行われること
になり、それにより画像品質が劣化する。
【0013】しかしながら、画像オーダーレンダリング
方法にはデメリットがある。すなわち、ボリュームデー
タを、シヤーワープ技術の場合のようにメモリから効率
的に読み取ることができない。また、サンプル値の補間
には、オブジェクトオーダーの場合には3回の乗算で済
むのに対し、画像オーダー方法では、補間重みによる7
回の乗算が必要とされる。したがって画像オーダーレン
ダリング方法は、実時間対話形ボリュームレンダリング
が最小のボリュームデータセット以外には不可能である
という点で、オブジェクトオーダーレンダリング方法よ
りも非常に時間が掛かる。実際、従来の画像オーダー技
術では、不可能とは言わないまでも、たとえば実時間医
療撮像のような実際的な対話形アプリケーションは実施
が非常に困難であった。
【0014】レンダリングにおける別の問題点は、多角
形のオブジェクトおよび他のオブジェクトの埋込み画像
に関する問題である。画像オーダーレンダリング方法に
おいては、このようなオブジェクトおよび画像の埋込み
は直截的である。単に、オブジェクトを、従来より知ら
れている3Dグラフィックスシステムを用いて、画像平
面上に、最終ボリュームレンダ画像と同じピクセル解像
度で描けば良い。埋込まれた多角形或るいは画像の再標
本化、すなわちリサンプリングを行う必要はなく、した
がって、埋込みの結果画像品質の劣化が生ずることはな
い。
【0015】対照的にオブジェクトオーダーボリューム
レンダリング技術(シヤーワープ技術)では、基底面上
に歪んだ画像が発生するので、埋込みオブジェクトも基
底面上に等化の歪を以て描かれることになる。このよう
にして埋込まれた多角形を有するレンダリングされた画
像は次いで、ワープ段階で最終画像にワープされる。こ
のワープ段階では、特に埋込まれた幾何学的パターンが
鋭い縁もしくはエッジを有する場合に、描画された多角
形の画像品質に由々しい劣化が生ずる。
【0016】
【発明が解決しようとする課題】上の説明から明らかな
ように、オブジェクトオーダーレンダリングの優れたパ
フォーマンスを確保しつつ、画像オーダーボリュームレ
ンダリングの卓越した品質を実現することが望ましい。
【0017】
【課題を解決するための手段】この発明は、画像平面の
各ピクセルを通してレイ(光線)を投射することによ
り、ピクセルからなる画像平面上にボクセルからなるボ
リュームデータセットをレンダリングするためのシステ
ムおよび方法を提供するものである。ボリュームデータ
セットの表面を基底面として選択する。サンプル点を、
基底面に平行な平面内に位置するように各レイに沿って
定義する。パフォーマンスを高めるために、基底面に平
行なスライスにおいてボリュームメモリから読み込む。
各サンプル点に隣接するボクセルを補間して各サンプル
点毎にサンプル値を求め、各レイのサンプル値を合成し
て各ピクセル毎にピクセル値を決定する。
【0018】
【発明の実施の形態】この発明は、ボクセルからなるボ
リュームデータセットを画像平面におけるピクセルにレ
ンダリングするためのシステムおよび方法を提供するも
のである。この発明の実施に当たっては、画像平面の各
ピクセルを介してレイ(光線)を投射(casting)する
レイキャスティング技術が用いられる。ボリュームの1
つの表面を基底面として選択する。サンプル点が、選択
された基底面に対し平行な平面内に配列されるように、
該サンプル点を各レイに沿って定義する。各サンプル点
に隣接するボクセルを補間してサンプル値を求める。各
レイ(光線)のサンプル値を合成し、最終画像における
各ピクセルに対しピクセル値を決定する。なお、この発
明者等は、この方法を「xy−画像オーダーレンダリン
グ」と呼称することにした。
【0019】以下の説明においては、まず、この発明に
よるxy−画像オーダーボリュームレンダリングで用い
られるいくつかの一般的概念について説明し、次いで、
この発明によるパイプラインボリュームレンダリングシ
ステムによって用いられる種々な座標系および変換につ
いて説明し、最後に、この発明によるxy−画像オーダ
ーレンダリングを採用したレンダリングシステムを実現
するための好適なハードウエア構成について説明する。
【0020】序説 ボリュームレンダリングとは、コンピュータ端末、印刷
ページその他の二次元の視覚媒体(「画像平面」と総称
する)上にボリュームデータセットを表示もしくは可視
化することである。また、ボリュームデータセットと
は、三次元空間内の点と関連するデータ値の三次元アレ
イを言う。ボリュームデータセットにおける各データ値
は、体積素もしくはボクセル(三次元のピクセル)と称
する情報量である。多くの場合、ボリュームデータセッ
トは実世界における三次元のオブジェクトを表し、それ
に関連の座標系は、当該オブジェクトが占める三次元の
物理的空間を表す。しかしながら、ボリュームはまた、
仮想オブジェクトのモデルであっても良い。
【0021】各ボクセルの情報は、典型的に、オブジェ
クトの1つまたは複数の特性を表し、当該ボクセルの極
く近傍における小さい空間領域に対しこのような特性を
記述する。このような特性としては、たとえば、CTス
キャンで得られる人体組織の密度、流体動力学的モデル
における流体の速度或るいはその位置と関連するカラー
(色)等が挙げられる。一般に、ボクセルのデータはス
カラー量或るいはベクトル量であり得る。また、ボリュ
ームデータセットのシーケンスで、時間とともに変化も
しくは変動するオブジェクトを表すことができる。この
ようなシーケンスの各構成要素は、時間的に異なった時
点で見た場合のシーケンスに含まれる三次元ボリューム
データセットである。
【0022】ボクセルは、或る種の空間パターンにした
がって配列される。最も単純なボクセル配列は、直線形
データセット、すなわち、物理的空間において互いに直
角の軸を有する三次元格子である。このような直線形デ
ータセットの例として少数の例を挙げれば、3D(三次
元)再現医療データ、コンピュータでの流体動力学的シ
ミュレーションから得られるシミュレーションデータセ
ット或るいは計算有限要素モデル等がある。このような
ボリュームデータは、コンピュータメモリ内に三次元ア
レイとして表すことができ、オブジェクトにおける各ボ
クセルの位置は直截的に、メモリアレイにおける当該ボ
クセルの座標に対応する。
【0023】格子 等方性の格子においては、ボクセル間の間隔は物理的空
間の3つのすべての次元において同じである。異方性の
格子においては、ボクセル間の間隔は所与の次元におい
ては一定であるが次元毎に異なる。異方性データは、し
ばしば、縦軸方向におけるCTまたはMIRスキャンの
解像度を他の2つの方向における解像度とは独立して制
御することができる医療用途において往々に生ずるデー
タである。
【0024】シヤー格子(剪断変形格子)では、格子の
軸がオブジェクトの物理的世界において直角でない。こ
のような格子もまた医療分野においては一般で用いられ
ており、この分野では当該データセットはガントリー傾
斜ボリュームデータセットと称されている。このような
シヤー格子は、CTスキャナのセンサがたとえば、身体
の上側を縦軸線に対し直角ではない角度で通過する場合
に起こり得る。
【0025】好適な実施例においては、ボリュームデー
タは、8−ビット、16−ビットまたは32−ビットボ
クセルで各次元において2の16乗個までのボクセルを
有することができる。尤も、他のサイズのボリュームや
ボクセルも可能である。ボリュームデータセットのボク
セルは、多数の構成要素フィールドもしくはコンポーネ
ントフィールドを有し得る。この場合、各フィールドは
オブジェクトの異なった特性を表す。ボクセルのサイ
ズ、位置およびフォーマットは、ランタイムベースでボ
クセルフォーマット記述子により特定することができ
る。
【0026】当該技術分野においては、0.0〜1.0の
範囲内の数を表すのにnビット値を使用するのが一般で
ある。たとえば、8ビットのアルファ不透明度フィール
ドは、0〜255の範囲内の値を含み、0.0(完全透
明)から1.0(完全不透明)までの不透明度を表す。
本明細書において、これらの数は循環少数(repeatingf
rations)と称する。この名称は、2進小数点の右側に
nビット値を無限に繰り返す数を生成することによりn
ビット数を0.0〜1.0の範囲内の値に変換することが
可能であるという事実に由来する。
【0027】ボクセルの各フィールドは、たとえば、4
ビットの合成体とすることができ、4ビット境界でボク
セル内に整列することができる。外部的には、ボクセル
フィールドは、記号無しの2進整数、[0〜1.0]の
範囲内の記号無しの有理数、すなわち循環少数、或るい
は範囲[−1.0〜1.0]の記号付きの有理数、すなわ
ち範囲[0.0〜1.0]内の循環小数の大きさに記号ビ
ットを加えたもののいずれであっても良い。内部的に
は、各ボクセルフィールドは[0.0〜1.0]の範囲内
の記号無しの数に基準化され変換される。
【0028】ボリュームのレンダリングの結果として、
典型的には、1つまたは複数の画像が得られる。この発
明によるレンダリングエンジンでは、動的に変動する観
察条件下で実時間画像が生成される。各画像はピクセル
アレイ(ピクセル配列)として表示される。ここでピク
セル(画素)とは、二次元の画像平面内の関連の点を中
心とするグレイスケールまたはカラーの小さなパッチを
表すデータ構造である。各ピクセルの3つの成分(RG
B)は、当該ピクセルにおいて画像に貢献する原色
「赤」、「緑」および「青」の各々の量を表す。また、
第4の成分アルファ(α)は当該カラーパッチの不透明
度或るいは透明度を表す。
【0029】二次元の画像アレイすべてではないが、こ
れらの中には二次元深度アレイ(two-dimensional dept
h array)がある。このような深度アレイは対応の座標
に位置する画像アレイ内の各ピクセルに対し1つのエレ
メント(要素)を有する。深度アレイにおける各値は或
る基準平面からの距離を表す。深度アレイは、典型的に
は、三次元空間において対応のピクセルにより表される
画像の小さい部分の位置を表記するのに用いられる。ま
た、深度アレイは、任意のクリップ面を表すのに用いた
り或るいはボリュームとともに正しい位置に埋込みオブ
ジェクトを位置決めするのに用いることができる。
【0030】レイ(光線) レンダリングは、ボリュームデータセットにレイを投ず
ることにより行われる。すなわち、仮想レイ(便宜上、
光線とも称する)を画像平面の各ピクセル或るいは他の
或る平面上の特定の点を通過せしめる。各レイに沿うサ
ンプル点におけるカラーおよび不透明度値を累算し、累
算値を当該レイに関連するピクセルに記憶する。この発
明の実施の形態においては、ボリュームの選択された基
底面に平行な平面に配列されたサンプル点が用いられ
る。
【0031】レイに沿いカラーおよび不透明度を累算す
るために、5つの基本的な演算が行われる。すなわち、
勾配の推定、補間、分類、照明および合成である。以
下、これら動作もしくは演算についてさらに詳細に説明
する。
【0032】勾配 有らゆる処理に先行し、まずボクセルにおける、または
ボクセルと関連する勾配を推定する。ここで勾配とは、
ボクセルの或るフィールドまたはオブジェクトの或る性
質の空間的変化率を表すベクトルである。すなわち、勾
配とは、三次元の各次元における単位ステップ毎のフィ
ールド値または性質における変化の単位数である。
【0033】中心差分 図1の(a)に示すように、中心差分をとることにより
勾配を推定する。すなわち、ボクセルViにおける勾配
ベクトルの3つの成分を、3つの次元における隣接ボク
セルの各々の対応のフィールドを減算することにより推
定する。たとえば、ボクセル点V1102において、水
平方向における勾配成分に対し右側のボクセルフィール
ドを左側の同じボクセルフィールドから減算し、且つ垂
直方向における勾配成分に対しては、下側のボクセルの
フィールドを該ボクセルの上側のボクセルの同じフィー
ルドから減算することにより勾配G1101を推定す
る。第3次元における勾配成分も、後部のボクセルフィ
ールドから前部のボクセルフィールドを減算することに
より同様に得ることができる。なお、3つの勾配成分す
べてに対し同じボクセルフィールドを使用する必要はな
いことを注記しておく。
【0034】図1の(a)において、曲線103は、ボ
リュームデータセットによって表される2つの異なった
タイプのマテリアル間の「面」もしくは境界、たとえ
ば、骨と筋肉との間の界面或るいは皮膚と空気との間の
界面を表す。ボクセルV1はこの境界上に位置するの
で、勾配の大きさは大であり、勾配自体はこの面もしく
は境界に対する法線ベクトルに近似する。対照的に、ボ
クセルV2104およびV3105におけるボリューム内
のマテリアルは比較的均質であるので、これらボクセル
における勾配の大きさは非常に小さくランダムな方向に
指向している。なお、ボクセルにおける点ばかりではな
く面に沿う他の点における勾配、たとえば、サンプル点
4107における勾配G4106を求めるのも望ましい
ことは言うまでもない。
【0035】勾配の補正 図1の(b)に示すように、勾配推定機能では、異方性
を有するボリュームもしくはガントリー傾斜ボリューム
に対して歪んだ勾配が生成される。この場合、1つの方
向(垂直方向)におけるボクセル間の間隔は、他の方向
(水平方向)におけるボクセル間間隔よりも大きくな
る。したがって、垂直方向における中心差分は、水平方
向における中心差分の場合よりも、実世界においてさら
に大きく離間しているボクセルのフィールド間の差分と
なる。その効果として、勾配の垂直成分が水平成分に対
して最小化され、それにより、面或るいは境界に対して
実際に法線とはならないベクトルG6108が生成され
てしまう。容易に理解されるように、これは、互いに直
角の軸を有しないデータセット、または次元毎に変動す
るボクセル間間隔を有するデータセットに対し、システ
ム上の問題となる。
【0036】この問題に対処するために、この発明によ
れば勾配補正行列が提案される。この行列は、勾配の推
定後各勾配に適用することができる。この行列の適用
で、異方性およびシヤーの効果を反転する線形変換が行
われ、その結果として変換された勾配は推定点における
面に対して一層垂直な法線となる。
【0037】座標系 図2に示すように、この発明のシステムは多数の座標系
および変換を用いて動作する。これら座標系および変換
の中には、従来の3D多角形グラフィックスで用いられ
ているものに関連のものもあれば、また、この発明によ
るボリュームレンダリングに特殊なものもある。座標系
は「空間」を定義する。なお、以降、術語「空間」およ
び「座標系」は意味論的に互換性を有するものとする。
図2を参照するに、左側に示した座標系は当該コンピュ
ータグラフィックス分野において馴染み深いものであ
り、他方右側に示した座標系はこの発明による座標系で
ある。双方の座標系に対して、出発座標系(オブジェク
ト)、終了座標系(画像)は同じであることは言うまで
もない。
【0038】オブジェクト座標系 オブジェクト座標系201は、レンダリングされるオブ
ジェクト(ボリューム)のネイティブな(固有の)内部
内部座標系である。3D多角形グラフィックスにおいて
は、これはオブジェクトの面を内部原点および標準視点
に対して記述する座標のセット、すなわち集合である。
しかしながら、ボリュームグラフィックスにおいては、
オブジェクト座標はボクセルの三次元アレイと関連する
アレイインデックス(指標)である。
【0039】さらに詳細に述べると、この発明のシステ
ムにおいて、ボリュームオブジェクトのオブジェクト座
標系はボクセルが負でない整数座標に存在する三次元の
直角座標系である。等方性のボリュームデータセット
(集合)は、ボクセル値の三次元アレイとしてオブジェ
クト空間に表される。オブジェクト座標系の原点は、ア
レイ座標(0、0、0)により表されるボクセルの中心
である。u、vおよびwが負でない整数であるアレイ座
標(u、v、w)にけるボクセル値は、オブジェクト空
間にける当該座標に心出しされた或るいはその近傍の空
間領域におけるオブジェクトの1つもしくは複数の性質
を表す。たとえば、或るオブジェクトのCTスキャンの
場合、ボクセルは、該ボクセルに心出しされたガウスボ
リュームに亙るオブジェクトのマテリアルの密度または
濃度の積分を表す。
【0040】この発明においては、オブジェクト座標2
01を参照する場合、座標uvwおよびUVWを使用す
る。
【0041】物理座標 オブジェクト空間自体は線形座標系である。すなわち、
その軸は含意的に互いに直角であり、ボクセル間の間隔
はどの次元においても正確に1単位の距離(1単位距
離)である。これは必ずしもオブジェクト自体が存在す
る実世界に対応するものではない。特に、オブジェクト
を表すボクセルは(たとえば、ガントリー傾斜ボリュー
ムのように)互いに直角な座標にしたがって配列されて
いない場合があり得るし、また、ボクセル間の間隔は、
異方性のボリュームについて既に述べたように、三次元
の各々において同じである必要はない。
【0042】したがって、物理座標202と称する第2
の関連の座標系が導入される。これは、オブジェクトの
内部原点またはオブジェクト内の他の指定された点に対
しオブジェクトの実世界もしくは物理的世界における実
際の位置にボクセルが存在するデカルト座標系、すなわ
ち直角座標系である。特に、ボクセルはオブジェクト空
間においては整数座標に位置するが、物理空間において
は必ずしも整数座標に位置しない。また、厳密な意味に
おいては必要ではないが、物理空間の軸のうちの1つを
オブジェクト空間の対応の軸と同じにし、他方、他の2
つの軸はオブジェクト座標201の軸に対しずれをもた
らすなどして較正するのが便利である。
【0043】たとえば、人体のCTスキャンにおいて
は、身体の頭部から足部へと延びる縦軸を固定し、スラ
イスの間隔はスキャナのオペレータによって定める。他
の2つの軸の角度は、CTスキャナのガントリーの傾き
に依存し、これら2つの軸に沿うボクセルの間隔はスキ
ャナのX線トランスジューサにおける電子的設定に依存
する。
【0044】したがって、ボクセルは、オブジェクト座
標を用いた場合には整数位置にあるが、物理的座標系に
おいては、身体の縦軸に対する実世界の三次元デカルト
座標系における実際の非整数位置に置かれる。
【0045】図3は、CTスキャナのスキャナ台上に横
たわっている人間の頭部301のボクセル300の断面
図である。実線で示す軸はオブジェクト空間の軸を表
し、イタリック体で示した座標値はオブジェクト座標系
におけるボクセルの位置を示す。物理空間の縦軸303
は、オブジェクト空間の縦軸に重畳しており、したがっ
て別々には見えない。物理空間の「垂直」の軸304
は、室(ルーム)の垂直軸であり、縦軸に対し直角の点
描矢印で示してある。スキャナのガントリー305の軸
は斜めの矢印で示してある。また、ボールド書体の座標
値は物理空間におけるボクセルの位置を示す。
【0046】図2に示す補正変換(C)は、オブジェク
ト空間から物理空間への線形変換である。すなわち、こ
の変換(C)203では、オブジェクト空間201の整
数座標が、実世界におけるオブジェクト内の内部原点に
対するボクセルの位置を反映する非整数座標に変換され
る。変換(C)203は、オブジェクトの性質ならびに
ボリュームデータセットを発生するためにオブジェクト
をサンプリングした仕方に関係する。この変換は、オブ
ジェクトと周囲環境もしくはシーン(場面)との関係に
は依存しない。
【0047】物理座標系の導入には2つの理由がある。
第1に、この物理座標系を採用することにより、シーン
(場面)グラフマネージャで、ボリュームオブジェクト
を生成するサンプリング方式の内在的な性質を特に意識
する必要なしにオブジェクトをシーン、すなわち場面内
に位置決めすることが可能となる。たとえば、オブジェ
クトを世界空間内で回転するのが望まれる場合には、1
つの試行として、ガントリー傾斜/異方性を表しオブジ
ェクトの原点を回転軸の中心に再配置するように変換C
を構築することである。次いで、内部表面に関係なく物
理オブジェクトの回転を表すために連続した物理モデル
化行列(PM)204を定義することができる。
【0048】物理座標202を導入する第2の理由は、
照明のための環境を提供することにある。オブジェクト
空間201が物理空間202と同じでない場合には、オ
ブジェクト空間においてボクセルから推定される勾配は
実世界におけるそれらの表面に対して垂直にはならない
であろう。したがって、補正変換203を用いて、照明
計算で用いられるように勾配を補正する。
【0049】世界スペース205は、シーン(場面)の
すべてのオブジェクトが埋込まれている座標系である。
各オブジェクトは、その特定のオブジェクト座標を世界
座標に変換するモデル化変換(M)206を有してい
る。この変換でオブジェクトは他のオブジェクトに対し
或る「世界」内のオブジェクト位置に回転、較正もしく
は変換される。なお、モデル化変換はコンピュータグラ
フィックスの分野において周知である。
【0050】ボリュームオブジェクト、特に異方性格子
またはガントリー傾斜格子にサンプリングされたオブジ
ェクトの場合には、モデル化変換(M)206は、補正
変換(C)203と物理モデル化変換(PM)204と
の連結、すなわち
【数1】 と見做すことができる。物理モデル化変換は、異方性ま
たはガントリー傾斜サンプリング特性を顧慮することな
くオブジェクトを世界空間に位置決めし、基準化し且つ
回転する。
【0051】すなわち、補正変換(C)は、ボリューム
オブジェクト自体ならびにボクセルを得るのに用いたサ
ンプリングプロセス(標本化プロセス)によって決定さ
れる。補正変換は、場面もしくはシーン内の他のオブジ
ェクトに対する当該オブジェクトの関係または該他のオ
ブジェクトの観察方法には依存しない。変換(PM)2
04は世界または場面(シーン)内における他のオブジ
ェクトに対する当該オブジェクトの位置および配向によ
って決定される。なお、変換(PM)は、ボリュームオ
ブジェクトのサンプリング方法ならびにボクセルの間隔
およびアラインメントには依存しない。
【0052】カメラ座標207は、ビュワー(観察する
主体)によって観察されるシーン(場面)を表す。この
カメラ座標207は、OpenGL(登録商標)レンダ
リングシステムのカメラ機能「gluLookAt」に
よって行うことができるようなビュー変換(V)208
により得ることができる。。ビュー変換208は、カメ
ラが実世界に対して運動するに伴い、たとえば、シーン
の周囲を軌道運動するに伴い変化する。しかしながら、
ビュー変換は、実世界のオブジェクトが回転する場合、
すなわちそのM変換(モデル化変換)206が変る場合
には変化しない。
【0053】クリップ座標 クリップ座標209は、カメラにより観察される世界の
ビューを無限座標系から、円錐台表示窓或るいは平行六
面体表示窓により画定される有限座標系に縮小する。射
影変換(PJ)210はカメラ座標系207をクリップ
座標系209に写像する。
【0054】正規化された射影座標211は、x−、y
−およびz−方向の各方向で範囲[−1.0〜 +1.0]
内の標準座標集合に対しカメラから見たシーンの正規化
を表す。透視投影の場合には、オブジェクトは、奥行き
縮小して見え、平行線は遠方に収斂するように見える。
正規化座標211は、透視分割212、すなわち同次座
標におけるスケーリング因子wを用いてクリップ座標2
09から得られる。直交透視の場合には、w=1であ
る。
【0055】画像座標 画像座標213は、スクリーン、ウインドウ或るいは出
力装置、すなわち画像平面の座標である。多くの事例に
おいて、これは、オブジェクト或るいはシーンが表示さ
れている画像の二次元座標系である。多くの3D多角形
グラフィックスシステムは、画像の平面に対し垂直な軸
が奥行き(深度)値の集合として表される2.5次元の
座標系(two-and-a-half dimensional coordinate syst
em)を有する。この発明によれば、画像平面に対し、真
の三次元画像座標系が用いられる。
【0056】本明細書において、説明の便宜上、画像座
標系を、x−およびy−次元における1単位が正確に画
像平面における1ピクセルに対応し、z−次元における
1単位が深度値(奥行きの値)の最小増分に対応する三
次元座標系であると定義する。この座標系は、埋込まれ
た多角形オブジェクトをレンダリングしたり、可視性お
よびオブジェクトの他のオブジェクトによるオクルージ
ョンをチェックするのに用いられる。
【0057】窓表示変換(VT)214では、正規化さ
れた射影座標211は、画像座標系213に写像され
る。ここで画像座標系の軸をxiiD或るいはXii
で表す。
【0058】この発明によるxy−画像オーダーレンダ
リングエンジン(後述する)においては、レイは画像座
標系における整数位置に存在するピクセルの中心を垂直
に通過する。画像平面は、少なくとも視点に対して、ク
リップ空間209の表示円錐台或るいは表示平行六面体
の「近い方の面」と同程度の一定の深度を有する像座標
系の任意の平面である。
【0059】置換座標系 置換座標系220は、ボリュームオブジェクトのオブジ
ェクト座標系201の変換に対応する。この変換につい
て以下に詳述する。この変換では、オブジェクト空間の
z−軸が実質的にレイに平行になるように、すなわち、
ビュー方向(視点方向)に実質的に平行になるようにラ
ベル、そして場合によりオブジェクト座標系の軸の方向
を再配列する。1つの実施形態においては、この配向
は、画像平面に最も近似的に平行であるボリュームの表
面を基底面として選択することにより実現できる。した
がって、レイはx−、y−およびz−次元の各々におい
て、非負の方向にボリュームデータを横切る。なお、こ
の発明において、置換座標系220を表すのに表記xv
vvおよびXvvvを用いる。置換座標系220の
原点、すなわち、(0、0、0)点ならびにオブジェク
ト座標201は実質的に互いに近接しているが、必ずし
も同一点にある必要はない。
【0060】ボクセルは、レンダリングメモリ1360
(図13を参照し追って説明する)において、ミニブロ
ック1401として組織化される。(図14参照)。こ
こで、各ミニブロックは2×2×2のボクセルアレイか
らなる。メモリ内のボリュームデータセットに対する各
データアクセスで関連のアドレスにおけるミニブロック
が取り出される。ビュー方向が、レンダリングエンジン
がボリュームを1つまたは複数の軸に沿い負の方向にス
キャンするような方向である場合には、ミニブロック境
界に出発点を置くために、該出発点を当該次元において
1ボクセル分だけ変位する。これは、置換変換P221
を用いてオブジェクト座標201を置換座標220に変
換する場合に当該次元においてバイアス値「1」を減算
することにより実現される。
【0061】オブジェクト-置換座標 図4は、オブジェクト座標の置換座標への置換例を示
す。図を参照するに、オブジェクト座標系の軸u401
は置換座標系の負のz−軸402に置換されており、オ
ブジェクト座標系の軸v403は負のx−軸404に置
換されており、そして軸w405は正のy−軸406に
置換されている。オブジェクト座標系の原点410(0
u、v、w)は置換座標系の点(−1x、0y、1z)4
15に位置する。
【0062】ボックス(箱状物)420は、該ボックス
の1つの角のボクセルX421がuvw−座標系、すな
わちオブジェクト座標系の座標(2、4、1)に位置
し、x vvv−座標系では座標(−5、1、−3)と
なるように位置決めされている。
【0063】置換座標系220は、ボクセルを読み取っ
てサンプル(標本)を順序立って処理するのに便利な手
段である。この発明によるレンダリングパイプライン内
部処理の多くは、オブジェクト座標ではなく置換ボクセ
ル座標で表現される。特定のオブジェクトおよびモデリ
ングのための置換座標の導出ならびにビュー変換(窓表
示変換)を以下に説明する。
【0064】オブジェクト空間においては、ボクセルは
整数座標に位置するが、置換座標空間においては臨機的
に非整数座標を用いる。この発明のレンダリングエンジ
ンは、置換座標をボクセル間隔の1/256にまで分解
もしくは解像することが可能である。なお、このように
分解されたボクセルをサブボクセルと称することにす
る。また、この発明のレンダリングエンジンでは、サブ
ボクセル位置を生成する増分計算において、精度を期す
ために追加ビットとして9ビットが用いられる。また、
以下の説明において、時に応じ、術語「置換サブボクセ
ル座標(系)」を用いるが、この術語は、因数「1/2
56」で基準化した置換座標を意味する。すなわち、こ
の置換座標は8ビットの分数精度を有する。したがっ
て、置換座標はこの発明を実施するのに必ずしも必要と
されない。別の実施の形態においては、直接オブジェク
ト座標からサンプル座標にボリュームレンダリングを行
う。
【0065】サンプル座標系 サンプル空間とは、すべてのレイ(光線)が最も近似的
に置換座標系のz−軸に対して平行であり且つすべての
サンプル点がx−、y−およびz−次元の各々において
非負の整数座標に1単位ずつ離間して位置する座標系で
ある。特定のレイのサンプル点の集合は、x−およびy
−座標が一定でありz−座標が変化するサンプル座標系
における点の集合である。サンプル座標系における点を
表すのに表記xsssおよびXsssを用いることに
する。置換座標をサンプル座標に変換するのに再サンプ
リング変換R231を適用する。この変換について以下
に詳細に説明する。
【0066】XY−画像オーダー 特定の状況下においてサンプル空間をどのように定義す
るかはこのサンプル空間で何を行うかに依存する。この
発明のボリュームレンダリング方法の主たる様相によれ
ば、レイを画像平面のピクセルの中心に通し、該レイに
沿うサンプル点をボリュームの置換座標系のzv−軸に
平行なスライス(基底面に平行な平面)に組織化する。
この手法をxy−画像オーダーレンダリング(xy-image
order rendering)と称する。
【0067】別法として、シヤーワーププロセスの変形
プロセスを用いる。この場合には、レイを、「基底
面」、すなわち画像平面に対し最も近似的に平行である
ボリュームのxvv−面と同面関係にある平面内のピク
セル点の整列された矩形格子を通して投射する。これ
を、「オブジェクトオーダーレンダリング(object ord
er rendering)」と称することにする。
【0068】xy−画像オーダーレンダリングと関連
し、サンプル座標系のx−およびy−軸を画像座標系2
13のx−およびy−軸と実質的に同じであると定義す
る。すなわち、この定義によれば、各ピクセル毎に1本
のレイが存在する。以下に、xy−画像オーダーレンダ
リングについて詳細に説明する。
【0069】ところで、zs−軸は画像座標系213の
深度(奥行きもしくは距離)軸(D−軸と称する)とは
異なる。特に、D−座標、すなわちサンプル点の深度は
該サンプル点の画像平面からの距離の尺度である。サン
プル空間においては、これとは対照的に一定のz−値の
平面は置換空間xvv−平面に対して平行であり、した
がって必ずしも画像平面に対しては平行ではない。した
がってサンプル空間から画像空間に移行するのに深度ワ
ープ(depth warp)変換(D)240を行う。
【0070】このように通常とは異なってサンプル座標
230の定義を行う理由は、この発明では、効率的で順
序立った仕方で、xy−画像順序であれ或るいはオブジ
ェクト順序であれ一度にボクセルのスライスをアクセス
することによりボリュームレンダリングを行うからであ
る。このようにして得られるボクセルスライスから本来
的にボクセルスライスに対して平行であるサンプルスラ
イスを得るためのリサンプリング(再サンプリング)が
行われる。すなわち、同じサンプルスライスのすべての
サンプルは置換ボクセル座標220と同じzv−座標を
有する。このことは、この発明の定義によれば、2回で
はなく1回の補間を行うことによって得られる従来の画
像順序化レンダリングで達成される画像品質と、補間を
行うのに要求される乗算回数を減少するために平行なボ
クセルおよびサンプル平面を用いて得られる従来のオブ
ジェクト順序化レンダリングで実現されるパフォーマン
スとが組み合わされるという利点が得られる。
【0071】図5はこの発明によるレイキャスティング
(光線の投射)およびボクセルのサンプリングとともに
ボリュームデータセットを示す。図5において、ボリュ
ーム500の横断面が置換空間に示してある。画像平面
501は、図の左上に位置しボリュームの外側にあって
ボリュームに対し任意の角度で傾いている。レイ502
は、画像平面の各ピクセルからボリューム500を通過
するように投射される。直交投影の場合には、レイは画
像平面に対して垂直である。
【0072】ボリュームのxv−およびzv−軸510が
図5に示してあり、yv−軸は図の面に対して垂直であ
る。画像平面のx−およびy−軸は一般に図の面に対し
て平行または垂直ではく、画像平面上のピクセルの矩形
アレイは、レイに平行な軸を中心に回転し得る。表面5
03が基底面として選択される。1つの実施形態におい
ては、選択されたる表面は画像平面501に対して最近
似的に平行である。
【0073】サンプル点520(各レイ502上の×
印)は基底面503(xv−およびyv−軸)に対して平
行な平面上に位置する。各サンプル点もまたレイ上に位
置し、したがって、サンプル点のスライスは、置換座標
で一定のzv−値を有する特定の平面と交差する。な
お、サンプル点のスライスのzv−座標は必ずしも或る
いは典型的に置換座標系における整数ではないことを注
記しておく。しかしながら定義によって、サンプル空間
内の対応のzs−座標値は整数であるとする。
【0074】サンプル座標系の原点 以降の説明において、この発明によるサンプル座標系2
30の原点は、画像座標系213における(0、0、de
pth0)と一致するものと定義する。この定義におい
て、depth0は、埋込まれた多角形オブジェクトをレン
ダリングする必要性に鑑みて割り当てられる深度値であ
る。深度値が画像平面に向かう方向において増加するか
或るいは減少するかは、3D多角形グラフィックスシス
テムにおける深度の表現のような外部因子の関数に依存
する。
【0075】サンプル座標系の原点を、レンダリング中
に、ボリュームを横断するための出発点として用いる。
この横断は、置換座標系220でのボクセルに対する該
原点の位置を知る上で必要である。
【0076】図6は、画像平面の視点からのボリューム
600を示す。このボリュームは、任意量で基準化さ
れ、回転され且つ変換された直方体である。この図にお
いて、xs−およびys−軸601は図の平面内にあり、
s−軸は図6を見る方向に平行であって図の面に対し
垂直であり且つ図の面に指向している。
【0077】この特定の例においては、置換ボクセル座
標系220の原点610は、右上の前部の角近傍に位置
する。この発明による置換座標系の定義にしたがい、z
v−軸603は視線の方向に最近似的に平行である。こ
の例においては、zv−軸は、ボリュームの大きな薄い
斜線を引いた面604に垂直な軸である。置換座標系の
他の2つの軸605はレイが非負の方向を指向する右側
座標系を形成するように選択されている。
【0078】この場合、サンプル座標系230の原点6
02は、ボリュームより相当外側に位置し、置換座標系
の原点に対し三次元すべてにおいて負方向にある。ま
た、ボリューム自体の輪郭は、サンプル座標系でzs
0平面上に投影された場合に不規則な六角形を形作るこ
とも理解されるであろう。なお、このことは、図6にお
いて太い破線620で示してある。
【0079】ビュー切頭体 ボリュームレンダリングにとって特に関心のあるのはビ
ュー切頭体またはビュー平行六面体である。これは、三
次元すべてにおけるサンプル座標の部分集合或るいは範
囲であり、実効的にはサンプル空間において直交するク
リップ領域である。ビュー切頭体が完全にボリュームを
含む場合もあれば、またビュー切頭体が完全にボリュー
ム内に含まれる場合もある。さらにまた、ビュー切頭体
がボリュームと交差する場合もあり得る。
【0080】図7の(a)〜(c)は、ビュー切頭体の
いくつかの例を示す図である。図7の(a)はボリュー
ム700全体の画像を包入するのに充分な大きさのビュ
ー切頭体701を示す。また、図7の(b)はボリュー
ム700の像よりも小さいビュー切頭体702を示し、
したがってこの場合には、ビュワーは関心のある特定領
域に集中することができる。図7の(c)は、周囲空間
に延在しているボリュームの縁に位置するビュー切頭体
703を示す。これは、たとえば、他のオブジェクトを
ボリュームに隣接して表示したり或るいはボリューム内
に埋込んで表示する場合に相当する。
【0081】ビュー切頭体は、サンプル空間230にお
いて最小および最大の境界座標により特定される。すな
わち、xsの最小および最大値、ysの最小および最大値
ならびにzsの最小および最大値により特定される。こ
れは、ビューポート変換214から得られる範囲に対応
する。
【0082】この発明では、ビュー切頭体外部のレイに
ついては考慮しないし、また、ビュー切頭体外ではどの
サンプル点の処理も行わない。他のオブジェクトの画像
を埋込む場合には、ビュー切頭体内に存在するオブジェ
クトのピクセルおよび深度値だけを読み取る。更新した
深度値を書き出す場合、或るいはレンダリングされたボ
リュームのピクセル値を書き出す場合には、ビュー切頭
体内に位置するピクセルおよび深度アレイのエレメント
に対してのみ書き込みを行う。
【0083】サンプル座標系の変換 図2には、サンプル座標系に関する2つの変換が示して
ある。第1の変換は、リサンプリング(再サンプリン
グ)変換(R)231であり、この変換では置換ボクセ
ル座標がサンプル座標に写像(マッピング)される。こ
れにより、置換座標220の各点(xv、yv、zv)は
サンプル空間230において一致する点の座標(xs
s、zs)に変換される。
【0084】一般に、変換Rは、サンプル空間(xs
s、zs)の点を置換空間において一致する位置
(xv、yv、zv)にマッピングする逆変換R-1を有す
る。この発明によるハードウエアレンダリングエンジン
は、実際に、R-1変換を効率的に実行する。
【0085】この発明によれば、サンプル空間をxss
s−順序(オーダ)で進捗し、各サンプル点毎に、逆
リサンプリング変換R-1を増分的に適用することによ
り、x vvv−座標を得る。R-1の行列表現からレン
ダリングパラメータを取り出す。したがって一般には、
サンプル空間をステップバイステップで進捗して、サン
プル点を増分的にオブジェクト空間に写像(マッピン
グ)する。
【0086】サンプル空間に関連する他の変換は深度ワ
ープ変換(D)240である。この変換では、サンプル
空間230の座標が画像空間213の座標に写像され
る。深度ワープ変換は2つの目的に仕える。
【0087】第1に、xy−画像オーダーボリュームレ
ンダリングの場合には、後述するように深度ワープ変換
でサンプル空間230のzs−座標が画像空間213の
深度値に変換される。なお、深度ワープ変換240では
s−およびys−座標は変更されないままに残る。第2
に、シヤーワーププロセスによるボリュームレンダリン
グの場合には、深度ワープ変換は、zs−座標を深度値
に写像することに加えてワープステップ(歪曲変形ステ
ップ)をも実行することができる。
【0088】レンダリングパラメータの導出 シヤーワープ処理もしくはプロセスのためのレンダリン
グパラメータを導出するには、逆ビュー/モデリング化
変換によりカメラ座標207でz−次元に単位ベクトル
を投影してオブジェクト座標201における均等な表現
を見出すことで充分である。これにより、レイの勾配お
よび他のレンダリングパラメータを導出できる。原点の
割当ては特に必要ではなく、レイ間の間隔ならびにレイ
に沿うサンプル間の間隔は経験的に決定できる。
【0089】ここでは、xy−画像オーダーレンダリン
グを行う際に、レイが正確に画像平面内のピクセルの中
心を通過するようにレンダリングパラメータおよび変換
を決定する。
【0090】xy−画像オーダーレンダリングの利点
は、その結果得られる二次元画像を、直接、表示装置も
しくは出力装置にコピーでき、従来技術の場合にように
ワープ(歪曲変形)処理その他の事後処理段階が必要と
されない点にある。
【0091】このような変換を用い、ソフトウエアで、
ビュー方向および(または)オブジェクトの配向に関係
なくシーンもしくは場面内の該オブジェクトの位置を正
確に制御することができる。後にこの分析手法を用い
て、シヤーワーププロセス(剪断/歪曲変形)プロセス
でレンダリングするための正確な設定量を演繹すること
について述べるであろう。
【0092】XY−画像オーダーレンダリングの概要 ボリュームオブジェクトをレンダリングすべきグラフィ
ックスの脈絡から図2の左側に示してあるすべてのグラ
フィックス変換を知ることから出発する。これには、モ
デル化変換(モデリング変換)M206、ビュー変換V
208、投影変換PJ210、透視分割212およびビ
ューポート変換VT214が含まれる。以降、表記の便
宜上、変換PJ、透視分割、および変換VTを単一の変
換VPで集約的に表すことにする。なお、変換M、Vお
よびVPはすべて逆変換VP-1を有するものと仮定す
る。
【0093】また、ボリュームオブジェクトを表示すべ
きビューポートに関する詳細が与えられているものとす
る。この詳細には、前面および後面の幅、高さおよび深
度値depth Nearおよびdepth Farが含まれる。なお、深
度値は、埋込まれた多角形オブジェクトをレンダリング
するための慣用の多角形グラフィックスシステム、たと
えばOpenGL(登録商標)で用いられている深度値
と同じにすべきである。
【0094】最後に、ビューポートにおいて各レイに沿
うサンプル点の数も得られる。
【0095】図8に示すように、xy−画像オーダーで
ボリュームレンダリングを行うのに下記のステップを実
行する。
【0096】ステップ810においては、積VP×V×
Mを反転し、その結果を用いて画像平面内の単位ベクト
ルをオブジェクト空間での表現に写像する。この表現か
ら、置換変換Pおよびその逆変換P-1を構築する。
【0097】ステップ820においては、中間行列
【数2】 を構築する。この行列は、置換座標系の任意点の画像座
標系内の同じ点への変換を表す。
【0098】ステップ830において、行列Mpを積Mp
=D×R、すなわち、リサンプリング変換と深度ワープ
変換の積に分解する。DおよびR各々の行列表現には2
つの未知の項目がある。
【0099】冒頭に述べた仮定から、ステップ840で
これら未知の値の解を求めて、完全なDおよびRの行列
表現を得る。
【0100】ステップ850において、Rを反転しR-1
を得る。これは、サンプル空間の点を置換空間における
座標に写像する変換の行列表現である。DおよびR-1
行列項目を用いて、レンダリングパイプラインのレジス
タの増分値(ステップの大きさもしくはサイズ)を設定
する。
【0101】好適な実施の形態においては、上記のステ
ップを、ユーザによる特定の観察モードの選択に応答
し、ホストコンピュータ内のグラフィックスドライバー
ソフトウエアによって実行する。次いで、行列項目を、
レンダリングパイプラインの動作を制御するレジスタに
書き込む。レジスタ値は本質的に、サンプル点に対する
ステップサイズ(ステップの大きさ)を制御する増分値
(デルタ(Δ)値)である。
【0102】置換変換 置換変換Pを得るために、画像座標からオブジェクト座
標に単位ビューベクトルの変換を行う。ここで画像座標
における単位ビューベクトルとは、画像平面からz−軸
に沿いボリュームオブジェクトに指向するベクトルであ
り、画像空間の深度軸のオリエンテーションもしくは配
向に依存し下記のいずれかの式で表される長さの深度の
1単位である。
【数3】
【0103】画像平面から離れるに伴い深度が増加する
と仮定すると、VP、VおよびM変換の逆変換を適用し
てベクトル[du、dv、dw、1]Tを得ることによ
りオブジェクト空間にビューベクトルを表現することが
できる。ここで羃Tは変換演算子であり、次式で与えら
れる。
【数4】
【0104】このベクトルから、オブジェクト座標の軸
の置換座標の軸への写像を、レイがz−軸に最近似的に
平行で、非負のx−、y−およびz−方向においてボリ
ュームを横切るように演繹することが可能である。
【0105】z−軸の選択は直截的である。このz−軸
は、構成要素もしくはコンポーネントの絶対値|du
|、|dv|および|dw|の内の最大値に対応する軸
である。したがって|du|が最大であるとすれば、ビ
ュー方向はu−軸に最近似的に平行であり、したがって
このu−軸が置換座標のz−軸に写像される。同様にし
て|dv|が最大である場合には、v−軸が置換座標に
おけるz−軸に写像される。また、|dw|が最大であ
る場合にはw−軸が置換座標のz−軸に写像される。2
つのコンポーネントの絶対値が等しく、それが第3のコ
ンポーネントよりも大きい場合には、2つの内のいずれ
かを選ぶことができる。また、|du|=|dv|=|
dw|である場合には、どの軸を選択しても良い。
【0106】上記のことは図9に図示してある。画像座
標213から単位ビューベクトルの変換値をオブジェク
ト座標系201におけるuv−およびvw−平面に投影
する。ベクトル901は、uv−平面上への単位ベクト
ルの投影であり、ベクトル902は、単位ベクトルのv
w−平面への投影である。図9から明らかなように、ビ
ューベクトルはu−軸に最近似的に平行である。すなわ
ち、ビューベクトルとu−軸との角度は、ビューベクト
ルとv−軸およびビューベクトルとw−軸との間の角度
よりも小さい。これは、|du|、すなわちu−成分の
大きさが、|dv|或るいは|dw|のいずれよりも大
きいことと等価である。
【0107】下表1は、max(|du|,|dv|,|
dw|)=|du|が成り立つ右側のシステムにおける
軸の割当てを示す。
【0108】
【表1】
【0109】z−軸の同定後、その方向ならびに他の2
つの軸の割り当てをdu、dvおよびdwの記号から導
出する。特に、レイは置換座標系においてx−、y−お
よびz−次元で非負の方向を指向しなければならない。
したがって、便宜上、右側座標系を考察の対象にする。
24の可能な右側座標系があり、その内の8つの座標系
はそれぞれz−軸の写像に関するものである。さらに、
他の24の可能な左側座標系がある。
【0110】表1は、|du|が少なくとも|dv|或
るいは|dw|のいずれとも同じ大きさである右側座標
系への写像もしくはマッピングを示す。|dv|が|d
u|よりも大きく且つ少なくとも|dw|と同じ大きさ
である場合ならびに|dw|が|du|或るいは|dv
|のいずれよりも大きい場合について、左側の座標系と
関連し、表1に対応の表をどのようにして構築するかは
説明するまでもなく理解できるであろう。
【0111】表1から単位ビューベクトルがu−軸に最
近似的に平行である8つのケースに対応する8個の置換
行列Pを構築することができる。これら行列は図10に
示してある。軸が他の負の軸に写像される置換の場合に
は、原点は当該次元において−1により変換されること
を述べておく。したがって、図10に示したいくつかの
P行列の4番目の列にはいくつかの非零値がある。置換
行列Pから、逆置換行列P-1を得ることが可能である。
【0112】中間変換M p 図8のステップ820で、次式で定まるMpと称する中
間変換を行う。 Mp=VP×V×M×P-1 [1]
【0113】VP、VおよびMはグラフィックスの脈絡
から行列内で既知であり、そしてP -1は上記の置換変換
から求めることができるので、Mpを行列乗算で求める
ことが可能である。
【0114】図2を参照すれば明らかなように、M
pは、置換座標を画像座標に変換する。また、Mpは置換
座標の原点を画像空間内の点に変換する。
【0115】1つの3D空間から他の3D空間への線形
変換は4つの列ベクトルから構成される同次座標におけ
る行列として表現することができる。最初から3つの列
は、ソース空間の3つの各次元の単位ベクトルがどのよ
うにしてそれぞれ目標空間内のベクトルに変換されるか
を定義する。4番目の列は、ソース空間の原点が目標空
間の原点にどのよう変換されるかを定義する。Mpはこ
のような線形変換であり、したがって、下記のように記
述される。
【数5】
【0116】上記行列において、列ベクトル[dx
iv、dyiv、dDxv、0]T は置換空間におけるx
−次元の単位ベクトル(すなわち、Xv)の画像空間、
すなわちXiiD−座標系における表現である。
【0117】同様に、列ベクトル[dxiv、dy
iv、dDyv、0]T および[dxi v、dyiv
dDzv、0]T も同様に、それぞれ、置換空間におけ
るy−およびz−次元の単位ベクトルの画像空間におけ
る表現である。画像空間座標[X0 i、Y0i、Z0i
1]T は置換空間の零点もしくは原点を表す。
【0118】Mp は式1から行列乗算により求めること
ができるので、式2における各項は既知の値となる。
【0119】 p の分解 図2から、変換Mp は下式に等価であることが分かる。 Mp=D×R [3]
【0120】すなわち、置換座標、すなわちXvvv
−空間における点またはベクトルを、リサンプル変換R
を用いてサンプル空間、すなわちXsss−空間の座
標にマッピングもしくは写像することにより画像空間に
写像(マッピング)し、次いでその結果を、深度ワープ
変換Dを用いて画像空間に写像する。言うまでもないこ
とであるが、式2は式1と同じ結果を生ずる。
【0121】既述のxy−画像オーダーの定義により、
サンプル空間におけるxs−およびys−座標は正確に、
画像空間におけるxi −およびyi −座標と同じであ
る。さらにまた、サンプル空間における零点を画像空間
における点(0、0、depth0)に写像する。サンプル
空間のzs −座標だけは深度ワープ変換により変換す
る。したがって、Dは下式で表される。
【数6】
【0122】上式から明らかなように、サンプル空間内
の任意の点[xs、ys、zs、1]T は下式で表される点
として画像空間に写像される。
【数7】
【0123】Dの第3行の4つの項目はいずれも既知で
はない。しかしながら、これら項目はすべて、他の情報
および他の仮定、特に、画像空間のx−およびy−次元
はサンプル空間のこれら次元と同じであるという仮定か
ら、画像空間のサブセット(部分集合)としてビューポ
ートの仕様ならびに式3の行列Mpから演繹することが
できる。
【0124】Rの行列表現もまた式3ならびにxy−画
像オーダーの定義から次のように書き換えることができ
る。
【数8】
【0125】これは、サンプル空間のxs−およびys
軸が正確に画像空間のxi−およびYi−軸と同じである
からである。したがって、Rの最初から2つの行におけ
る値はMpの最初から2つの行における値と正確に同じ
である。しかしながら、表記は各項毎に「i」を「s」
で置換することにより変更してある。
【0126】第3の行は上述の2つの行とは異なる。サ
ンプル空間において、定数zsの平面は、置換空間にお
ける定数zvの平面に平行である。すなわち、基底面に
平行である。したがって、xv或るいはyvのいずれかに
変化があってもzsには全く変化は生じない。したがっ
て、Rの第3行の最初から2つの項目は零である。ま
た、第3行の最後の2つの項目、すなわちdzsvおよ
びZ0sは依然として未知である。
【0127】Dにおける未知項目の解法 式5で示したRの左下の4分の1区分が零であることに
注目されたい。したがってRは下記のように書き換える
ことができる。
【数9】
【0128】上式中、A、BおよびCは2×2行列であ
る。上述のように、AおよびBの項はすべて既知である
がCは依然として2つの未知項目を含んでいる。Mp
よびDの行列式を式3に代入することにより次式が得ら
れる。
【数10】
【0129】特に第3行は下記のように表される。
【数11】
【0130】Rの左下の4分の1区分は零であるので、
下式が成り立つ。
【数12】
【0131】転置をとると、式9は、
【数13】 したがって、
【数14】 に等価である。
【0132】dxsv、dysv、dxsvおよびdy
svはRから既知であり且つdDx vおよびdDyvはM
pから既知であるので、行列反転および乗算を用いるこ
とにより、Dの2つの未知項目、すなわちdDxsおよ
びdDsを計算した。
【0133】レイに沿うサンプル点の間隔 第3の未知項目、すなわちdDzsは下式で求められ
る。
【数15】
【0134】すなわち、dDzsは、深度単位で測定し
てレイに沿うサンプル点間の距離、すなわち間隔を表
す。式12は、深度単位で測定してビューポートの前部
から後部までの全距離を該距離内に存在するサンプル数
で除算することを意味する。なお、dDzsは、深度値
が画像平面に向かって増加するか或るいは画像平面から
離れるにつれて増加するかに依存して正かまたは負とな
る。
【0135】レイに沿うサンプル点の間隔もしくは距離
を計算するための好適な方法は、ビューポートにおける
ボリュームオブジェクトの回転に関係なく且つボリュー
ムデータセット自体に固有の異方性またはシヤー(剪断
変形)に関係なく、サンプル段階毎に深度値に一定の変
化を与えることである。画像処理の観点からは、このこ
とは厳密には必要ではないが、これによって利点が得ら
れると信じられる。なお、サンプル間間隔はまた他の方
法を用いて決定することも可能であることを付記する。
【0136】例として、図11の(a)および(b)
は、異方性をもってサンプリングしたボリュームデータ
セット(集合)1100の断面を示す。これら図におい
て、ボクセルは「×」印1101で表されており、矢印
1102は2つのビュー方向(レイ方向)を表し、そし
て各矢印におけるハッシュマーク1103はレイに沿う
サンプル点を表す。
【0137】図11の(a)に示す矢印上のハッシュマ
ークは、画像内で測定した場合でも、実世界で測定した
場合でも或るいは物理空間で測定した場合でも、図11
の(b)に示す矢印上のハッシュマークと同様に正確に
同じ距離だけ互いに離間している。図11の(a)の場
合には、ビューベクトルは近似的に水平であり、したが
って、置換空間のzv−軸は水平軸である。サンプル点
の間隔は、ボクセルスライス毎に実質的に2つのサンプ
ルが得られるような間隔である。図11の(b)の場
合、ビューベクトルは近似的に垂直であり、したがっ
て、置換空間のzv−軸としては垂直軸が選ばれる。右
側の矢印に沿うサンプル点の間隔は実質的に、ボクセル
スライス毎に3サンプルが得られる間隔である。
【0138】Depth0の評価 サンプル空間の原点の深度depth0の値の選択は決して
無益ではない。ビューポートに対してサンプル空間は歪
んでいるので、原点の深度depth0はボリュームを見る
方向で変化し得る。このことは、図12の(a)〜
(c)を参照することにより一層良く理解できよう。な
お、これら図は、ボリュームオブジェクトが3つの異な
った仕方で位置設定されているビューポートの俯瞰図で
ある。なお、ビューポートのy−次元は図の面に対して
垂直である。
【0139】各図において、画像平面は右側に、そして
ビュー方向は視点1201から右に向かうベクトルによ
り示されている。また、ビューポートは実線で描いたボ
ックス1202で示してあり、ビューポートの長さはビ
ューベクトルに平行であり、深度値depth Near1206
およびdepth Far1207はボックスの端を表す。画像
平面は図の面に対して垂直であり、x−次元は上から見
てxsに平行に図の面内に存在する。さらに、y−次元
は図の面に対して垂直である。
【0140】図12の(a)は、ボリュームオブジェク
ト、すなわち実線で示した輪郭を有する小さいボックス
1203をその面の1つに対し垂直で見た状態で示して
いる。この場合、depth0の割当ては容易である。すな
わち、depth Near1206に設定することができる。し
たがってサンプル空間は、ビューポートに正確に適合も
しくは嵌合する三次元空間である。サンプル空間のxz
−断面は破線1204でその輪郭が示してある。このサ
ンプル空間はビューポート内のすべての点を含む。たと
えば、ビューポート内に多角形のオブジェクトを描いた
とすると、該多角形オブジェクトはサンプル空間内に存
在しボリュームオブジェクト内に部分的に埋込まれ得
る。
【0141】図12の(b)は、図の面に垂直な軸線を
中心に回転したボリュームオブジェクトを示している。
v−軸は、置換変換に関して既に述べた方法により選
択される。サンプル空間のスライスは、画像平面に最近
似的に平行であるボリュームの面に対して平行であるの
で、サンプル空間はボリュームオブジェクトの回転量分
だけ歪む。たとえば、多角形オブジェクトをビューポー
ト内に埋込む目的でサンプル空間がビューポート内のす
べての点を含むのが望ましいことを前提条件とすると、
サンプルの前後の境界は、破線1202により示すよう
に延伸しなければならない。サンプル空間のxs−およ
びzs−軸は矢印およびラベルで示してある。
【0142】サンプル空間の原点は、破線で示した輪郭
の左上の端によって表される角1205に位置する。サ
ンプル空間のxs−およびys−次元は俯瞰図の場合と正
確に同じである。しかしながら、サンプル空間の原点の
深度値depth0は全く異なる。したがって、このサンプ
ル空間の原点の深度値depth0は、depth Nearおよびdep
th Far間ならびにビューポート内のすべての点が、該ビ
ューポートにより特定される正しい深度値を有するよう
に計算しなければならない。たとえば、破線で示した輪
郭の左下の角1206は、depth Nearの深度値を有しな
ければならない。正しい深度値が、図12の(b)にお
ける位置1205のような位置においてハードウエアレ
ジスタでサポートされている範囲を越える場合には、深
度の計算は不正確になり得る。この発明の好適な実施の
形態においては、この問題に対処するために、深度計算
論理で記号(±)付きの深度を取り扱うことができ且つ
最大深度を大きくすることができる。
【0143】図12の(c)には、ビューポート内で他
の方向に回転された上述のものと同じボリュームオブジ
ェクトが示してある。したがって、zv−軸は図12の
(b)に示した軸とは異なる。その結果、サンプル空間
は他の方向に歪む。この場合、サンプル空間の原点の深
度値depth0には、値depth Nearを割り当てることがで
きるが、サンプル空間は画像平面の左側の点を含み、深
度値はdepth Nearよりも画像平面に近くなる。
【0144】yz−次元においてサンプル空間の類似の
歪みを想像することは可能であるが描画することは困難
である。さらにまた、図12の(b)に示すように、サ
ンプル空間はxz−次元において1つの方向に歪み、そ
してyz−次元においては、図12の(c)に示すよう
に他の方向に歪む可能性がある。このような歪みもしく
はスキューイングを可視化するためには3Dモデルが要
求される。
【0145】しかしながら、歪みもしくはスキューイン
グに関係なく、この発明によれば、Dに対する未知項目
の解に関して先に述べたようにして、Dの項目からdept
h0の値を求めることができる。まず、ビューポート内
のサンプル空間のスライス零の4つの角は、下記のよう
に表されるxss−座標を有することに注目する。
【数16】
【0146】上式中、widthおよびheightは、ビューポ
ートの画像平面の幅および高さを表す。したがって、こ
れら4つの角の深度値は、行列乗算により式4の深度変
換Dから求めることができる。すなわち、それぞれ下記
の通りである。
【数17】
【0147】depth Nearがdepth Farよりも小さい場
合、すなわち、深度値がビュワーからオブジェクトに向
かって増加する場合には、これら4つの角の最大深度値
を選択する。この最大深度値は、depth Nearより小さい
かまたはそれに等しくすべきである。すなわち、最大深
度値を有する角はビューポートの前面に位置するか或る
いはそれよりも前に位置すべきである。便宜上、深度値
depth Nearを割り当てることにする。すなわち、
【数18】
【0148】逆に、depth Nearがdepth Farよりも大き
い場合、すなわち深度値が画像平面に向かって増加する
場合には、上記4つの角の内の最小のものを選択する。
すなわち、
【数19】
【0149】このようにして、深度行列Dの導出が完了
する。ここで1つ注意を喚起しておく。すなわち、深度
値は、ビューポート外部のサンプル空間領域、すなわ
ち、図12の(b)および図12の(c)において視点
の左側および右側の三角形の領域において深度カウンタ
の上/下限値を越えたりまたは下回わらないことであ
る。
【0150】 -1 レンダリングパラメータ リサンプリング変換Rの残った未知項目を決定する。リ
サンプリング変換Rの第3および第4列とDの第3行と
のドット積を取ることによりMpのエントリもしくは項
目dDzvおよびZ0iが得られる。すなわち、
【数20】 および
【数21】 式13をdzsvについて解くと次式が得られる。
【数22】
【0151】同様にして、式14をZ0sを解くと次式
が得られる。
【数23】
【0152】このようにして、RおよびDは今や双方と
もに既知となる。Dの項目もしくはエントリを後述のよ
うにレンダリングエンジンのレジスタに割り当てる。リ
サンプリング変換Rは、使用前に反転しなければならな
い。
【0153】式15および16から、Rのすべての項目
の値が今や既知となっている。したがって、サンプル空
間を置換空間に変換するためには、単にRを反転するだ
けで良い。これは、通常の行列反転アルゴリズムにより
直接行うことができる。
【0154】R-1はサンプル空間の置換空間への線形変
換を表す。したがって、これは、同次座標における行列
として下記のように書き換えることができる。
【数24】
【0155】この行列の項目もしくはエントリは、ボリ
ュームデータセットをxy−画像オーダーにしたがって
レンダリングするのに必要な値である。後述するよう
に、これら値はレンダリングパイプラインのレンダリン
グレジスタに書き込まれる。
【0156】サンプル空間のスライス内のサンプル点の
スペーシング 既に述べたように、xy−画像オーダーレンダリングの
場合には、サンプル空間は、画像平面上のピクセルを通
るレイを含む。また、シヤーワープの場合には、基底面
を通るレイを含む。この発明においては、サンプル空間
のスライス(サンプル点の平面)は、置換空間のスライ
ス(ボクセルの平面)に対して常に平行である。しかし
ながら、サンプル空間のx−およびy−軸は必ずしも置
換されたボクセル空間の軸に対して平行ではない。した
がって、ボクセルのスライスと交差するレイの格子は、
図19に示すように、任意の角度にすることができる。
さらにまた、画像平面上に矩形のパターンで組織化され
たレイは、平行四辺形パターンでボクセルスライスと交
差し得る。
【0157】図19を参照するに、ボクセル1901
は、シンボル「×」で示されており、矩形格子1902
に整列されている。置換座標におけるxv−およびyv
軸1903は左上の隅に示してあり、ラベルXvおよび
vが付けられている。サンプル点は、画像平面から投
射されたレイが同じスライスと交差する点である。これ
ら点は中実のドット1904で示されており、非矩形格
子上に配列されている。サンプル空間のx−およびy−
軸1905は左下の隅にラベルXsおよびYsで示してあ
る。
【0158】下表2に示すレジスタdXvdXs、dY
vdXs、dXvdYsおよびdYvdYsは、同じス
ライスにおける隣接の点のサブボクセル座標からサンプ
ル空間における点の固定点サブボクセル座標を見付ける
方法を指定する。
【0159】
【表2】
【0160】詳述すると、レジスタdXvdXsは、x
s−方向に1単位進むのに必要なXv−方向における単位
数を格納する。これは、式17のdxvsに相当し、図
19に円で囲んだ参照数字1で示してある。レジスタ値
dYvdXsは、xs−方向に1単位進むのに必要なYv
−方向における単位数を示す。これは、式17のdyv
sに相当し、図19に円で囲んだ参照数字2で示して
ある。レジスタ値dYvdYsは、ys−方向に1単位
進むのに必要なYv−方向における単位数を示す。これ
は、式17のdyvsに相当し、図19に円で囲んだ参
照数字3で示してある。さらに、レジスタ値dXvdX
sは、ys−方向に1単位進むのに必要なXv−方向にお
ける単位数を示す。これは、式17のdxvsに相当
し、図19に円で囲んだ参照数字4で示してある。
【0161】次に、この発明が教示するxy−画像順序
でボリュームデータセットをレンダリングするレンダリ
ングエンジンの好適な実施の形態について説明する。
【0162】パイプライン編成 図13は、この発明によるボリュームレンダリングエン
ジン1300の全体的な編成もしくは構成を示す。エン
ジン1300は単一のASIC(特定用途向けIC)と
して実現するのが有利である。レンダリングエンジンの
主たるモジュールは、メモリインターフェース131
0、バス論理1320、シーケンサー1330および4
本の並列パイプライン1340である。4本すべてのパ
イプラインを連絡する一対のスライスバッファ1350
を除き、パイプライン(A、B、CおよびD)は互いに
独立に動作する。
【0163】メモリインターフェース1310は、レン
ダリングメモリを構成する8個の倍速(DDR)同期D
RAM(ダイナミックRAM)チャンネル1360を制
御する。レンダリングメモリとは、ボリュームレンダリ
ングに必要とされるすべてのデータ1311、すなわち
ボクセル、入/出力画像、深度値、参照テーブルおよび
コマンドキュー(待ち行列)のための一体的な記憶装置
である。メモリインターフェース1310はメモリ13
60に対するすべてのメモリアクセスを実行し、バス論
理1320およびシーケンサー1330の要求を調停
し、広帯域幅のアクセスおよび動作に際してモジュール
およびメモリ1360にアレイデータを分配する。
【0164】バス論理 バス論理1320は、ホストコンピュータシステム10
とのインターフェースを構成する。ホストコンピュータ
システム10は、CPU11および主メモリ12を具備
する。主メモリには、オペレーチングシステムと交信す
るグラフィックアプリケーションソフトウエアおよびグ
ラフィックドライバを格納しておくことができる。ソフ
トウエアはCPUで実行される。好適な実施例において
は、ホストコンピュータで表2のレンダリングレジスタ
用の値を発生するのが有利である。
【0165】ホストコンピュータ10がパーソナルコン
ピュータ(PC)或るいはワークステーションである場
合には、バスは、たとえばPCI規格バージョン2.2
にしたがい64ビットの66MHzPCIバス1321
とすることができる。バス論理もメモリインターフェー
ス1310を介してメモリ1360とデータ転送を行う
ためにDMA動作(直接メモリアクセス動作)を制御す
る。なお、DMA動作はバーストモードでのデータ転送
である。
【0166】この目的で、レンダリングエンジンはPC
Iバスマスタとして機能する。バス論理はまた、内部レ
ジスタ1322および主メモリ12に対してアクセスを
行う。これらアクセスは、個々のレジスタおよびメモリ
内の個々の記憶場所に対する直接読出しおよび/または
書込みである。これらのアクセスは、上記ホストコンピ
ュータから開始することもできるし或るいはまたPCI
バス上の他の何らかのデバイスにより開始することがで
きる。バス論理はまた、レンダリングエンジンの動作の
効率的な制御を行うためのレンダリングコマンド(指
令)を解釈する。さらにまた、バス論理はレンダリング
動作を制御するためにシーケンサー1330に直接レジ
スタ値を送ったり、シーケンサー、たとえば表2のレジ
スタからステータス情報を受ける。
【0167】シーケンサー シーケンサー1330はボリュームレンダリングエンジ
ンを制御する。該シーケンサーは、メモリから取り出す
べきデータを決定し、該データを4本のパイプライン1
340に発送し、適時に個々のパイプラインに対し補間
重みのような制御情報を送り、そしてレンダリング動作
からの出力データを受ける。シーケンサ自体は多数のレ
ジスタによって制御される有限状態機械である。これら
レジスタは一般に、レジスタロード指令に応答してバス
論理1310により書込まれる。内部的にはシーケンサ
は、一度に1セクションずつサンプル空間を段階的に処
理するのに必要とされるカウンタの保守を行う。ここ
で、1セクションとは、たとえば24×24個までのピ
クセルを含む画像平面上の矩形領域である。別の見方と
して、セクションとは、レイならびにこれらレイに沿う
すべてのサンプル点の集合と見做すことができる。シー
ケンサはまた、サンプル座標の置換ボクセル座標への変
換をも制御して、4本のパイプラインの各ステージで必
要とされる制御情報を発生する。
【0168】パイプラインおよびミニブロック 図14は、4本のレンダリングパイプラインの詳細を示
すとともに、これらパイプラインにどのようにしてデー
タおよびレンダリング動作が配分するかを示す図であ
る。各パイプラインは勾配推定段1410、分類/補間
段1420、イルミネータ段1430および合成段14
40を備える。
【0169】ボクセルは、メモリ1360内にミニブロ
ック1401、すなわちそれぞれ2×2×2ボクセルの
小立法体アレイとして記憶される。レンダリング動作
中、シーケンサ1330はメモリインターフェースを介
してミニブロックストリームを読み込む。これらミニブ
ロックは、1クロックサイクル毎に1ミニブロックの速
度でパイプラインに供給される。
【0170】ミニブロックは、x−y−z−オーダーで
ボリュームデータから読出される。すなわち、ミニブロ
ックはx−方向において逐次読出されて1セクションの
行を埋め、次いでy−方向において行ベースでスライス
を埋め、最後にz−方向においてスライス-バイ-スライ
スベースで当該セクション全体をレンダリングする。
【0171】各ミニブロックがメモリインターフェース
1310を介して到達する毎に、該ミニブロックはビュ
ー方向にしたがい軸を配向することによって既述のよう
に置換変換Pにしたがい置換される。そこで、ミニブロ
ックは4つの1×1×2ボクセルアレイ1402に分解
される。すなわち、z−方向に配列された4対のボクセ
ルに分解され、図13に示すように、一対毎に各パイプ
ラインに供給される。
【0172】各ボクセル対は、勾配推定段1410を通
されて、それにより、図1の(a)および図1の(b)
を参照し説明したように、各ボクセル毎に勾配値が得ら
れる。中心差分演算子を用いて勾配を求める結果とし
て、出力ボクセルおよび勾配は、入力から各次元で1単
位ずつ偏位している。この結果、パイプライン間で少量
のデータ交換が要求される。
【0173】勾配推定段から、ボクセルおよび勾配14
03は分類/補間段1420に供給される。この段にお
いては、ボクセルフィールドはRGBα値に変換され
て、勾配とともにレイに沿うサンプル点における値に補
間される。既述のように、サンプルスライスはボクセル
スライスに対し平行である。なお、この段における分類
および補間ステップはいずれの順序で実施しても良い。
また、分類/補間段は、4本のパイプラインすべてによ
り共有される一対のスライスバッファ1360を有す
る。
【0174】4個のパイプラインの4つの分類/補間段
の出力1404は、サンプル空間における2×2点アレ
イ(点配列)におけるRGBα値および勾配のアレイで
ある。なお、2×2点アレイはスタンプと称し図18に
参照数字1805で示してある。スタンプの点は常にサ
ンプル空間の同じスライス(平面)内に位置し、レイと
整列している。画像平面上のピクセルをレイが通過する
場合、これをxy−画像オーダーと称する。と言うのは
s−およびys−座標が画像空間の座標と同じであるか
らである。
【0175】次に、RGBα値および勾配のスタンプは
4つのイルミネータ1430へ供給される。これらイル
ミネータにおいては、反射率マップを用いて周知の Pho
ngシェーディング(陰影付け)が行われる。各パイプラ
インのイルミネータは、レンダリング中データ交換を行
わないという意味で、他のパイプラインのイルミネータ
から独立している。尤も当然のことながら、イルミネー
タはすべて同じクロックで同期的に動作する。
【0176】勾配は、レンダリング動作が勾配の出力を
指定する場合を除いて、イルミネータ段で消費される。
レンダリング動作が勾配の出力を指定する場合には、パ
イプラインにおける赤、緑および青の色成分が3つの勾
配成分により置換される。
【0177】各パイプラインのイルミネータ段の出力1
405はサンプル点の色寄与を表す照明されたRGBα
値である。この出力は合成段に送られる。合成段144
0では、レイのRGBα値がピクセルに結合される。1
つのセクションのレンダリングの終わりで、4つの合成
段の出力1406からは、一度に1つずつスタンプが読
出されてレンダリングメモリ1360に格納される。
【0178】以下、各ブロックの詳細について説明す
る。
【0179】勾配の推定 図15は、1つのパイプラインの勾配推定段1500を
示す。先に述べたように、8つのボクセルからなるミニ
ブロックはz−次元で前後に配列された4対のボクセル
に区分される。各ボクセル対は各パイプラインに供給さ
れる。すなわち、各サイクルの始めにパイプラインの頂
部に置換座標(x、y、z)および(x、y、z+1)
における一対のボクセル1501が入力される。ここで
x、yおよびzは任意の値であるが、zは偶数である。
【0180】ボクセル対は、16×16×2個の32ビ
ットボクセルの大きさ或るいはそれより大きいサイズの
スラブバッファ1510に書き込まれる。したがって、
4組のパイプラインは、任意の視角における大きさのセ
クションのスライスをレンダリングするのに充分な大き
さの集合的なスラブバッファを実現している。入力ボク
セル対はまた、一対のz−中心差分モジュール1520
の一方に供給される。一対の、すなわち2つの中心差分
モジュール1520は、スラブバッファから読み取られ
た同じx−およびy−座標を有する一対のボクセルのフ
ィールドを出力する。すなわち、上記一対のもしくは2
つの中心差分モジュールは下記の式で表される2つの差
分を計算する。
【数25】
【0181】上式中Fz(x、y、z)は、勾配のz−
成分のベースとなる座標(x、y、z)におけるボクセ
ルのフィールドの値である。
【0182】ここで、上記中心差分対は、z−方向にお
いてボクセル座標から1単位だけ偏位している。したが
って、1スライス遅延段1530を設けて、上記対のボ
クセルを遅延しこれらボクセルを、新たに算出した勾配
のz−成分、すなわちGzと整列する。
【0183】次いで、一対のボクセルおよび一対のGz
を含む整列されたセットを16×1×2サイズの行バッ
ファ1540、すなわちx−次元が16単位幅で、y−
次元が1単位幅で、z−次元が2単位深度である行バッ
ファに格納する。行バッファの各エレメントは、32ビ
ットまでの元のボクセル値および対応のGz値(12ビ
ットに記号)を記憶する。対の入力(ボクセル−Gz
値も一対のy−中心差分モジュール1550の一方に供
給される。
【0184】上記2つのモジュールの他方は、その入力
にx−およびz−座標が同じであるが、y−座標がy−
2である行バッファ1540内の対の(ボクセル−
z)値を受ける。したがって、y−中心差分モジュー
ルは下記の式で表される2つの差分を計算する。
【数26】
【0185】上式中、Fy(x、y、z)は勾配のy−
成分のベースとなる座標(x、y、z)におけるボクセ
ルのフィールドの値である。
【0186】パイプラインがスラブ内のボクセルGz
の行を処理する際に、該パイプラインは交互の行だけを
処理する。介在する行、たとえばy−座標(y−1)は
別のパイプラインによって処理される。これはミニブロ
ックが区分化されてパイプラインに分配されるためにで
ある。この結果、y−中心差分は、対の入力ボクセルG
z値からy−次元において1単位だけずれることにな
る。このずれもしくは不整列を確定するために、パイプ
ラインは同じx−座標であるがy−座標が異なるパイプ
ラインと、その対の入力ボクセル−Gz値を交換する。
対のボクセル−Gz値は1行サイクルだけ遅延される。
これは、交換/遅延ブロック1555によって行われ
る。
【0187】この勾配推定段のセクションの出力はした
がって、座標(x、y−1、z−1)および(x、y−
1、z)の各々における元のボクセル、Gz値およびGy
値である。
【0188】このプロセスが、勾配Gxのx−成分に対
してどのように繰り返されるかは容易に理解されるであ
ろう。x−バッファ1558は1エレメント分だけ大き
い深度を有し、座標(x−2、y−1、z−1)に対す
る元のボクセル、Gz値およびGy値を格納している。対
のx−中心差分エンジン1560は下記の演算を実行す
る。
【数27】
【0189】上式中、Fx(x、y、z)は、勾配のx
−成分のベースとなるボクセルのフィールドの値であ
る。この場合にも、元のボクセルならびにGzおよびGy
値を含む入力値をブロック1565を介し反対側のx−
座標のパイプラインの値と交換して各量を1ボクセル分
の遅延で新たに計算したGx値と整合(位置合わせ)さ
せなければならない。
【0190】勾配推定段の最後のセクション1570で
は、勾配の最終的な「クリーンナップ(整理または整
頓)」が行われる。まず、勾配は、Gx、GyおよびGz
の成分がオブジェクト座標のGu、GvおよびGwに変換
されるように「逆置換」される。第2に、必要に応じて
既に述べたように、元のデータセットにおける異方性お
よびシヤーを補正するためにグラジェント補正行列を適
用する。この場合,補正行列は3×3上部三角行列であ
って、勾配をオブジェクト空間201から物理空間20
2に変換する。図2を参照されたい。これにより一層正
確なイルミネーションすなわち照明の実現が可能にな
る。
【0191】第3に、勾配成分を勾配推定モジュールに
おける内部精度から標準のフォーマットに丸めて、記号
ビットを加え、範囲[0,..,1]内の循環小数として送
り出す。
【0192】勾配推定段1500には内部的な機能停止
は起こらない。しかしながら、入力データが無い場合と
か或るいは次続のモジュールが出力を受け付けることが
できない場合には、機能停止が有り得る。そこで勾配推
定段の一番上に、入力ボクセル対を書き込むFIFO
(先入れ先出し)メモリを設けておく。メモリインタフ
ェースが処理に要する時間よりもメモリからデータを読
出すのに長い時間をとる場合には、このFIFOを空に
して、勾配推定段は単に待機する状態となる。
【0193】同様に、パイプライン内の次続の段、すな
わち分類/補間段が多くのボクセルおよび勾配を受け付
けることができない場合には、勾配推定段は、読み取り
およびボクセル処理を停止するだけである。この場合に
も、この種の機能停止中にデータの損失が起こらないよ
うにするために、勾配推定段の一番下側に小さな容量の
FIFOを設けておく。
【0194】分類/補間段 図16は分類/補間段の概略図である。この分類/補間
段は、ボクセルフィールド抽出ユニット1610と分類
/不透明度重みユニット1620を有する。分類/不透
明度重みユニット1620はマルチプレクサ1630を
介してパイプラインのトップ近傍或るいは下部近傍に接
続し、交差接続構造を実現することができる。分類/補
間段はまた、原または分類ボクセルおよびそれらの勾配
を記憶するための3対のスライスバッファ1640と、
z−次元における原または分類ボクセルフィールドおよ
び勾配成分を補間する(サンプリング)するためのz−
補間ユニット1650と、z−補間値および勾配のスラ
イスを保持する2つのサンプルバッファ1660と、サ
ンプルバッファ内のz−補間サンプル値をx−、y−次
元で補間(サンプリング)してサンプル空間の点におけ
るそれらの値を得るxy−補間ユニット1670とを有
する。
【0195】前処理および分類 データ1601は、図15の勾配推定段から、関連の勾
配とともにボクセルの流れもしくはストリームの形態で
分類/補間段(CI)に達する。ボクセルは整数の置換
座標、すなわちxv、yv、zvを有する。好適な実施の
形態においては、レンダリングモードに依存するが、一
対のボクセルおよび勾配を送るのに1クロックまたは2
クロックを要する。
【0196】特に、補間前の分類、すなわち「CI」モ
ードでレンダリングを行う場合には、勾配推定モジュー
ルは、一対のボクセルおよびグラジェントを発生するの
に2クロックを必要とする。これに対し、補間後の分
類、すなわち「IC」モードでレンダリングを行う場合
には、勾配推定モジュールは、一対のボクセルおよび勾
配を発生するのに1クロックを必要とする。これは、補
間バッファ論理はクロック毎に2つのボクセルおよび勾
配を受け付けることができるが、分類モジュールはクロ
ック毎に単一のボクセルおよび勾配しか受け付けること
ができないためである。これによりゲートが節約され
る。と言うのは、クロック毎に2つのボクセルを受け付
けることで、2回の分類テーブル参照しか必要とされな
いからである。ICモードで分類されるデータ量は減少
する。その理由は、エッジ効果に起因し補間モジュール
でデータ量が減少するからである。
【0197】補間前であれ或るいは補間後であれ、ボク
セルはフィールドベースで分類されて、それにより各フ
ィールド毎にRGBα値が生成される。これらRGBα
値は結合されて、それにより単一のRGBα値が形成さ
れる。なお、RGB値は、分類段1620で重み付けさ
れた不透明度とすることもできる。次いでフィールドが
結合され、分類結果が、関連の勾配とともにスライスバ
ッファの1つに書き込まれる。ICモード、すなわち分
類前に補間を行うモードでレンダリングする場合には、
ボクセルフィールドおよび関連の勾配1602が一度に
2つずつ一対のスライスバッファに書き込まれる。
【0198】スライスバッファ 各パイプラインの分類/補間段は、3対のスライスバッ
ファ1640、すなわち合計で6個のバッファを有す
る。各スライスバッファは、16×16個のエレメント
を保持する。スライスバッファは下記のように利用され
る。任意所与の時点で2つのバッファが勾配推定段から
の原または分類データ入力を書き込むように割当てられ
る。残りの4つのスライスバッファはz−補間ユニット
1650により読み取られるように割当てられる。分類
されたボクセルおよびそれらの勾配が勾配推定モジュー
ルから一度に1つずつ到達するCIモードの場合には、
書き込み用に割当てられた2つの交互のスライスバッフ
ァに、同じ値を有するボクセルが同じスライスバッファ
に書き込まれるようにして入力される。スライスバッフ
ァのスライスは置換されたz−座標で注記される。IC
モードの場合には、分類されていないボクセルおよびそ
れらの勾配が一度に2つずつ到達する。これらは、同時
に2つの隣接するスライスバッファに書き込まれる。
【0199】最終的には、書き込み用に割当てられたス
ライスバッファ対は満杯になる。この時点で、分類/補
間段は、スライスバッファ対が満杯である旨の信号を勾
配推定モジュールに送る。そこで勾配推定モジュール
は、上記信号が無くなるまで動作を停止する。最終的に
は、スライスは、下に述べるように、z−補間ユニット
1650によって消費される。一対の隣接スライス内の
データすべてが処理された後に関連のバッファ対が書き
込み用に割当てられて、それ以前に満杯になっているバ
ッファは読み出し用に割当てられる。この時点で、勾配
推定段への上記信号が無くなり、ボクセルおよび勾配デ
ータのフローが再び開始される。実際のアプリケーショ
ン例においては、勾配推定モジュールは、z−補間モジ
ュール1650よりも相当進捗した場合にのみ動作を停
止する。
【0200】x−次元での補間 先に述べたように、z−補間ユニットは、置換空間16
51内の座標で動作する。すなわち、ボクセル値および
それと関連の勾配は、置換(xv、yv、zv)空間内の
整数点におけるデータおよび変化率を表す。
【0201】z−補間ユニットは、ボリュームをサンプ
ル空間にリサンプリングする方向で第1のステップを実
行する。すなわち、z−補間ユニットは、一度に1サン
プルスライスのベースでデータを処理する。すなわち、
該ユニットは、スライスバッファ1640の2つのボク
セルスライスからボクセルおよび勾配を読み出し、z−
次元において該ボクセルおよび勾配間で補間を行い、そ
の結果を14×14個のサンプルスライスアレイ166
0内の1つに格納する。ここで2つのスライスとは互い
に隣接するスライスである。多くの場合、スライスは前
に使用したスライス1660にオーバーラップする。し
かしながら、サンプル空間内のスライスが1ボクセルス
ライス以上離間している場合、すなわちz−次元でのサ
ンプリングでは、オーバーラップすることはない。
【0202】z−補間ユニットの出力値は、置換された
x−およびy−座標ならびにサンプルのz−座標、すな
わち(xv、yv、zs)の形態にある座標値を有する。
このことは、図16に表記「混成空間」1652で示し
てある。
【0203】図16に示した3対のスライスバッファは
各スライス毎に16×16個のエレメントを有する。し
かしながら、サンプルバッファ1660は14×14個
のエレメントしか有しない。このようなサイズは、セク
ションのサイズ(24×24)の関数である。オブジェ
クトオーダーレンダリングにおいては、サイズs×sの
セクションは、(s+8)/2×(s+8)/2個のス
ライスバッファ1650および(s+4)/2×(s+
4)/2個のサンプルバッファ1660を必要とする。
すなわち、z−補間ユニット1650は、サンプルバッ
ファ1660の各行および列に多くとも14個のエレメ
ントの書込みを行う。この不一致は、図17に例示する
ようにレイの角度に起因する。xy−画像オーダーレン
ダリングでは、最大のセクションの大きさすなわちサイ
ズを支持するために大きなサイズが要求され得る。した
がって、この発明の実施に当たっては、セクションサイ
ズを可変にする。
【0204】図17は、ボクセル点の4個のスライス
(平面)1701およびz−補間サンプル点の3個のイ
ンターリーブドスライス(平面)の断面を示す。ボクセ
ル点には×印を付け、サンプル点は円で示してある。サ
ンプルおよびボクセルの平面は互いに平行である点に注
目されたい。ビュー方向1703が最悪である場合、す
なわち45度の角度である場合には、ボクセルの平面間
のオフセットは、16個のボクセルの2つの行または列
から僅か14個のサンプルしか得ることができないよう
な大きさになる。
【0205】z−補間段1650は、原ボクセルまたは
分類ボクセルの各フィールドを独立に且つまた3つの勾
配成分の各々を線形的に補間するように動作する。補間
重みは8ビット数である。ボクセルフィールドの補間結
果は直ちに丸めるが、低位の小数点1ビットは、各勾配
成分の補間値用に保留しておく。
【0206】このz−補間段は本質的に、オブジェクト
オーダー補間段と同様に動作し、補間される値毎に1回
の重み付け和乗算(weighted sum multiply)を必要と
する。画像オーダーの場合には、従来技術と関連して説
明したように、Z−次元における4回の重み付け和乗算
が要求される。その理由は、ブジェクトオーダーおよび
xy−画像オーダーでは、サンプルZ−平面がボクセル
Z−平面に平行であり、その結果、隣接のサンプルが同
じZ−補間を共有するからである。画像オーダーでは、
平面は平行ではなく、したがって共有は生じ得ない。
【0207】X−およびY−次元での補間 z−補間段の出力1603は、2つの14×14サンプ
ルバッファ1660のつちの1つに書き込まれる。その
間、他のサンプルバッファはxy−補間モジュール16
70により読み出される。したがって、サンプルバッフ
ァ1660の各エレメントは、4つの12ビットのz−
補間された原または分類ボクセルのフィールドと、3つ
の11ビット勾配成分と、9ビットと1つの下位ビット
と、記号とを含む。
【0208】総合すると、4本のパイプラインの4個の
14×14z−補間スライスバッファ1640は、ボク
セルが交互パターンで配列された単一の28×28z−
補間スライスバッファから構成される。
【0209】図18は、置換空間のxv−およびyv−次
元1801および1802におけるボクセル位置の平面
1800を示す。ボクセルは×印1803で示してあ
る。「A」で印した位置におけるボクセルは、図14の
上部における右ブロックの右上4分の1部分に対応す
る。すなわち、これらボクセルはパイプラインAによっ
て処理されたものである。同様に、B、CおよびDで表
した位置にあるボクセルはそれぞれ、パイプラインB、
CおよびDにより処理されたものである。
【0210】円1804は、サンプル点、すなわちレイ
(光線)がサンプルスライスに交差する点を表す。図か
ら理解されるように、各サンプル点は、それぞれパイプ
ラインA、B、CおよびDのサンプルバッファから1つ
ずつ合計4個のボクセルにより取り囲まれている。
【0211】したがって、サンプル点の各値は、4本の
パイプラインそれぞれに対して既知の値の間に補間を行
うことによって得ることができる。これは、x−および
y−次元におけるサンプリング頻度数とは関係ない。す
なわち、各パイプラインのxy−補間ユニット1670
はそれ自身のサンプルバッファからの1個のz−補間値
に加えて、ライン1604を介し3本の他のパイプライ
ンからのサンプルバッファそれぞれからの値を読出す必
要がある。実際、サンプルバッファは4本のパイプライ
ン間で共有されている。各パイプラインはそれ自身のサ
ンプルバッファに対してのみ書込みを行うが、読出しは
4つすべてのサンプルバッファから行うことができる。
【0212】4本のパイプラインはスタンプと称する2
×2アレイの4個の点を補間する。1つのサンプル18
05の輪郭は破線で示してある。この点から始めて、パ
イプラインを流れ下るすべてのデータはレイに沿うサン
プル点におけるデータを表す。残りの段においては、一
度に1つずつスタンプが処理される。レイは画像平面内
のピクセルの中心を垂直に通過する。
【0213】xy−補間モジュールの各出力1605は
78ビット、すなわちそれぞれ12ビットに丸められた
4つの補間された原または分類ボクセルフィールドと、
それぞれ10ビットに丸められた3つの補間された勾配
成分とを含む。
【0214】xy−画像オーダーレンダリングの1つの
利点は、xy−次元における補間に僅か3回の重み付け
和乗算しか要求されないことである。すなわち2回の重
み付け和乗算がy−次元における補間に必要とされ1回
の重み付け和乗算が上記補間から得られる値をx−次元
において補間するのに必要とされる。これは、オブジェ
クトオーダーレンダリングで要求される2回の乗算(y
に対して1回でxに対して1回)に匹敵する。なお、オ
ブジェクトオーダーレンダリングではy−次元における
乗算を共用することが可能である。したがって、画像オ
ーダーでは合計7回の乗算が必要とされ、オブジェクト
オーダーでは合計3回の乗算が必要とされ、そしてxy
−画像オーダーでは合計4回の乗算が要求される。
【0215】レンダリングモードが既述のICモードで
ある場合には、xy−補間ユニット1670から流れる
データは補間されたボクセルフィールドおよび補間され
た勾配成分を含む。分類/補間段における最後のステッ
プは、これらの値をRGBα値に変換して不透明度重み
付け関数を適用することである。これは、サンプル空間
1653において行われる。レンダリングモードがCI
モードでは、変換は既に原ボクセルのフィールドに対し
て行われており、色成分は既に個々に補間されている。
【0216】以上の説明から明らかなように、この発明
は、従来のシヤーワープボリュームレンダリング技術と
は大きな相違のあるボリュームデータセットのためのパ
イプラインレンダリング方法を提供した。この発明の方
法によれば、シヤーワープボリュームレンダリング技術
の処理上の利点、すなわち、非常に順序立った仕方でス
ライス-バイ-スライスベースで且つ少ない乗算数(画像
オーダーレンダリングに対して要求される数の半分)で
ボリュームを段階的に処理する能力と真の意味での「画
像オーダー」レンダリングの視覚上の利点とが組み合わ
される。
【0217】その効果は、真の画像オーダーの場合と同
様に最終画像のピクセル毎に1本のレイが投射される点
に見られる。しかしながらまたこの発明では、サンプル
がシヤーワープオーダーのスライスを似ねたスライス内
の各レイに沿いサンプルが配置される。このようにすれ
ば、従来のシヤーワープ技術よりも遥かに高い画像品質
ならびに遥かに良好なパフォーマンスが得られるととも
に、さらに、ワープステップを完全に省略することがで
きる。また、この発明は、ボリュームデータセットに埋
込まれた多角形のレンダリングも可能である。
【0218】さらに明らかなように、この発明によるパ
イプライン編成はまた、シヤーワープオーダーによる処
理をも支持する。この場合には、スタンプ1805は常
にボリュームの軸と整列し、したがってスライスの軸と
も常に整列する。シヤーワープオーダーは、式17の変
換R-1でdysdxs=dxydys=0を設定することに
より達成される。
【0219】以上、この発明を好適な実施の態様を例と
して説明したが、この発明の精神および範囲内で他の種
々な適応化および変更が可能であることは理解されるべ
きである。したがって、請求項の記述は、この発明の真
の精神および範囲内に入るこのような変形および変更す
べてを包摂するように解釈されるべきである。
【図面の簡単な説明】
【図1】 (a)および(b)はボクセルに対し勾配の
推定を図解する略図である。
【図2】 この発明による座標系ならびに該座標系間で
用いられる変換を示す略図である。
【図3】 ボクセルの横断面を示す略図である。
【図4】 置換軸を有するオブジェクトを示す。
【図5】 ボリュームデータセットを通して投射される
レイを示す。
【図6】 画像平面の視点から見たボリュームを示す。
【図7】 (a)〜(c)は、ビュー切頭体の3つのの
例を示すブロックダイヤグラムである。
【図8】 この発明のレンダリングエンジンで用いられ
る方法のブロックダイヤグラムである。
【図9】 オブジェクト空間への単位ベクトルの投影を
示す。
【図10】 8個の変換行列を示す。
【図11】 (a)および(b)は、それぞれ異方性を
もってサンプリングしたボリュームデータセットの横断
面を示す図である。
【図12】 (a)〜(c)は、ボリュームオブジェク
トとともにビューポートを示す俯瞰図である。
【図13】 この発明によるレンダリングエンジンのブ
ロックダイヤグラムである。
【図14】 4本の並列パイプラインおよびミニブロッ
クのブロックダイヤグラムである。
【図15】 パイプラインの勾配推定段のブロックダイ
ヤグラムである。
【図16】 パイプラインの分類/補間段のブロックダ
イヤグラムである。
【図17】 z−補間およびビュー方向を示す。
【図18】 サンプルスライスバッファ内のz−補間サ
ンプルを示す。
【図19】 任意角度でボクセルのスライスと交差する
レイの格子を示す。
【符号の説明】
10 ホストコンピュータシステム、11 CPU、1
2 主メモリ、101勾配、102 ボクセル点、10
3 曲線、104 105 ボクセル、106 勾
配、107 サンプル点、108 ベクトル、201
オブジェクト座標系、202 物理座標系(空間)、2
03 補正変換(C)、204 物理モデル化行列(変
換)(PM)、205 世界空間、206 モデル化変
換(M)、207 カメラ座標系、208 ビュー変換
(V)、209 クリップ座標系(空間)、210 投
影変換(PJ)、211 正規化された投影座標、21
2透視分割、213 画像座標系、214 ビューポー
ト変換(VT)、220置換座標系、230 サンプル
座標系、231 リサンプリング変換(R)、240
深度ワープ変換(D)、300 ボクセル、301 人
間の頭部、303 物理空間の縦軸、304 物理空間
の垂直軸、305 ガントリー、320サンプル空間、
401 オブジェクト座標系の軸、402 置換座標系
z−軸、403 置換座標系v−軸、404 置換座標
系x−軸、406 置換座標系y−軸、410 オブジ
ェクト座標系の原点、420 ボックス(箱状物)、4
21 ボクセル、500 ボリューム、501 画像平
面、502 レイ、503 基底面、510 xv−お
よびzv−軸、520 サンプル点、600 ボリュー
ム、601 xs−およびys−軸、603 zv−軸、
610 原点、700 ボリューム、701、702、
703 ビュー切頭体、901、902 ベクトル、1
201 視点、1202 ボックス、1206、120
7 深度値、1300 ボリュームレンダリングエンジ
ン、1310 バス論理、1310メモリインターフェ
ース、1311 データ、1320 バス論理、132
166MHzの64ビットPCIバス、1322 内部
レジスタ、1330 シーケンサー、1340 並列パ
イプライン、1350 スライスバッファ、1360
レンダリングメモリ、1401 ミニブロック、140
4 分類/補間段の出力、1405 イルミネータ段の
出力、1406 合成段の出力、1410勾配推定段、
1420 分類/補間段、1430 イルミネータ、1
440 合成段、1500 勾配推定段、1501 ボ
クセル、1510 スラブバッファ、1520 z−中
心差分モジュール、1530 スライス遅延段、154
0行バッファ、1550 y−中心差分モジュール、1
555 交換/遅延ブロック、1558 x−バッフ
ァ、1560 x−中心差分エンジン、1565 ブロ
ック、1570 セクション、1601 データ、16
02 勾配、1604ライン、1610 ボクセルフィ
ールド抽出ユニット、1620 分類/不透明度重みユ
ニット、1620 分類段、1630 マルチプレク
サ、1640スライスバッファ、1650 z−補間ユ
ニット、1651 置換空間、1653 サンプル空
間、1660 サンプルバッファ、1670 xy−補
間ユニット、1805 スタンプ、1901 ボクセ
ル、1902 矩形格子、1905x−、y−軸。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ユィン・ウ アメリカ合衆国、マサチューセッツ州、サ マーヴィル、オックスフォード 146、ア パートメント11 (72)発明者 ヒュー・シー・ラウアー アメリカ合衆国、マサチューセッツ州、コ ンコード、ボーダー・ロード 69 (72)発明者 ヴィシャル・シー・バティア アメリカ合衆国、マサチューセッツ州、ア ーリントン、サマー・ストリート 478 (72)発明者 ジェフリー・ルシアー アメリカ合衆国、マサチューセッツ州、ウ ォバーン、ケンブリッジ・ロード 36、ユ ニット ナンバー12 Fターム(参考) 5B057 AA20 CA08 CA13 CA16 CB08 CB13 CB16 CD06 CE08 CH05 CH14 DA16 5B080 AA17 BA07 CA04

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 グラフィックデータの勾配の補正方法に
    おいて、 該グラフィックデータを複数個の不規則に離間した格子
    点上に配列し、 各不規則に離間した格子点におけるグラフィックデータ
    の空間的変化率を表すベクトルを推定し、 各ベクトルに補正行列を適用して不規則に離間した各格
    子点において補正された勾配を求める段階を含むことを
    特徴とするグラフィックデータの勾配の補正方法。
  2. 【請求項2】 さらに、 前記グラフィックデータを第1の次元内で第1の一定の
    間隔で配列し、 前記グラフィックデータを第2の次元内で、前記第1の
    一定の間隔とは異なる第2の一定の間隔で配列して、前
    記複数個の不規則に離間した格子点を異方性になるよう
    に配列することを特徴とする請求項1に記載のグラフィ
    ックデータの勾配の補正方法。
  3. 【請求項3】 前記第1の次元が前記第2の次元に対し
    て直角であることを特徴とする請求項2に記載のグラフ
    ィックデータの勾配の補正方法。
  4. 【請求項4】 さらに、 第1の次元内で前記グラフィックデータを第1の一定の
    間隔で配列し、 第2の次元内で前記グラフィックデータを第2の一定の
    間隔で、前記第1の次元に対して斜めに配列し、前記複
    数個の不規則に離間した格子点をシヤー(shear)する
    ことを特徴とする請求項1に記載のグラフィックデータ
    の勾配の補正方法。
  5. 【請求項5】 前記第1の間隔が前記第2の間隔とは異
    なることを特徴とする 請求項4に記載のグラフィック
    データの勾配の補正方法。
  6. 【請求項6】 前記複数個の不規則に離間した格子点が
    異方性を以て配列され、さらに、 前記グラフィックデータを、第1の一定の間隔で第1の
    次元および第2の次元内に配列し、 前記グラフィックデータを第3の次元内で、前記第1の
    一定の間隔とは異なる第2の一定の間隔で配列する段階
    を含むことを特徴とする請求項1に記載のグラフィック
    データの勾配の補正方法。
  7. 【請求項7】 前記複数個のの不規則に離間した格子点
    が剪断変形されており、さらに、 グラフィックデータを第1の次元内で第1の一定の間隔
    で配列し、 前記グラフィックデータを前記第1の次元に対して直角
    の第2の次元内で第2の一定の間隔で配列し、 前記グラフィックデータを前記第1の次元および第2の
    次元に対し傾斜している第3の次元内で第2の一定の間
    隔で配列する段階を含むことを特徴とする請求項1に記
    載のグラフィックデータの勾配の補正方法。
  8. 【請求項8】 前記グラフィックデータが、複数個のボ
    クセルを含むボリュームデータ集合であることを特徴と
    する請求項1に記載のグラフィックデータの勾配の補正
    方法。
  9. 【請求項9】 前記ベクトルを、隣接する格子点におけ
    るグラフィックデータの中心差分をとることにより、推
    定することを特徴とする請求項1に記載のグラフィック
    データの勾配の補正方法。
  10. 【請求項10】 補正行列の適用により格子点の不規則
    な間隔の効果を反転する線形変換を実施することを特徴
    とする請求項1に記載のグラフィックデータの勾配の補
    正方法。
JP2001305439A 2000-10-04 2001-10-01 グラフィックデータの勾配の補正方法 Pending JP2002183749A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US67855000A 2000-10-04 2000-10-04
US09/715,398 US6680735B1 (en) 2000-10-04 2000-11-17 Method for correcting gradients of irregular spaced graphic data
US09/678550 2000-11-17
US09/715398 2000-11-17

Publications (1)

Publication Number Publication Date
JP2002183749A true JP2002183749A (ja) 2002-06-28

Family

ID=27102046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001305439A Pending JP2002183749A (ja) 2000-10-04 2001-10-01 グラフィックデータの勾配の補正方法

Country Status (2)

Country Link
EP (1) EP1209620A3 (ja)
JP (1) JP2002183749A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004215846A (ja) * 2003-01-14 2004-08-05 Ziosoft Inc ボリュームレンダリング画像処理方法、ボリュームレンダリング画像処理装置及びプログラム
JP2019114033A (ja) * 2017-12-22 2019-07-11 大日本印刷株式会社 コンピュータプログラム、画像処理装置、画像処理方法及び3次元ボクセル画像のデータ

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2415876B (en) * 2004-06-30 2007-12-05 Voxar Ltd Imaging volume data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004215846A (ja) * 2003-01-14 2004-08-05 Ziosoft Inc ボリュームレンダリング画像処理方法、ボリュームレンダリング画像処理装置及びプログラム
JP4653938B2 (ja) * 2003-01-14 2011-03-16 ザイオソフト株式会社 ボリュームレンダリング画像処理方法、ボリュームレンダリング画像処理装置及びプログラム
JP2019114033A (ja) * 2017-12-22 2019-07-11 大日本印刷株式会社 コンピュータプログラム、画像処理装置、画像処理方法及び3次元ボクセル画像のデータ
JP7003635B2 (ja) 2017-12-22 2022-01-20 大日本印刷株式会社 コンピュータプログラム、画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
EP1209620A3 (en) 2009-01-28
EP1209620A2 (en) 2002-05-29

Similar Documents

Publication Publication Date Title
JP4205327B2 (ja) ボリュームデータセットのレンダリング方法およびシステム
Pfister et al. The volumepro real-time ray-casting system
JP4158167B2 (ja) ボリューム・グラフィックス装置
USRE42638E1 (en) Resample and composite engine for real-time volume rendering
US5586234A (en) Parallel processing three-dimensional drawing apparatus for simultaneously mapping a plurality of texture patterns
US6512517B1 (en) Volume rendering integrated circuit
US11113788B2 (en) Multi-space rendering with configurable transformation parameters
US7330188B1 (en) Texture caching arrangement for a computer graphics accelerator
AU757621B2 (en) Apparatus and method for real-time volume processing and universal 3D rendering
US6532017B1 (en) Volume rendering pipeline
JPH04222071A (ja) テキスチュア・マッピング方法及びその装置
WO2008013605A1 (en) Real-time gpu rendering of piecewise algebraic surfaces
US6614443B1 (en) Method and system for addressing graphics data for efficient data access
EP1195719A2 (en) Rendering memory in a volume rendering system
JP2002183749A (ja) グラフィックデータの勾配の補正方法
EP1890267A2 (en) Apparatus and method for real-time volume processing and universal 3D rendering
US20030231180A1 (en) Image processing apparatus and method of same
GB2388288A (en) Improving magnified texture-mapped pixel performance in a single-pixel pipeline
WO2002050776A1 (en) Real-time volume rendering
EP1054385A2 (en) State machine for controlling a voxel memory
JP2001022949A (ja) メモリコントローラ、メモリコントローラのインターフェース、ボリュームレンダリングシステム、およびボリュームデータ集合をレンダリングする方法
Kasik et al. FPGA Implementation of a Simple 3D Graphics Pipeline
JPS63211075A (ja) 画像処理システム
Grimsdale et al. Developments in High Performance CGI Systems.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070814

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080115

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080704

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080811

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081010

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100701