JP3415768B2 - ボリューム・レンダリング事前クリッピング方法 - Google Patents

ボリューム・レンダリング事前クリッピング方法

Info

Publication number
JP3415768B2
JP3415768B2 JP14740998A JP14740998A JP3415768B2 JP 3415768 B2 JP3415768 B2 JP 3415768B2 JP 14740998 A JP14740998 A JP 14740998A JP 14740998 A JP14740998 A JP 14740998A JP 3415768 B2 JP3415768 B2 JP 3415768B2
Authority
JP
Japan
Prior art keywords
projection
volume
index
space
image plane
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP14740998A
Other languages
English (en)
Other versions
JPH117545A (ja
Inventor
バーソルド・リヒテンベルト
ハサン・シャザド・ナクヴィ
トム・モルツベンダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH117545A publication Critical patent/JPH117545A/ja
Application granted granted Critical
Publication of JP3415768B2 publication Critical patent/JP3415768B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、コン
ピュータ・システムに関するものであり、特に、コンピ
ュータ・システムにおける離散的オブジェクトのグラフ
ィック・ディスプレイに関するものである。
【0002】
【従来の技術】ボリューム・レンダリングは、図形レン
ダリングおよびピクセル・レンダリングの開発に続く、
コンピュータ・グラフィックスの1つの重要な分野であ
る。ボリューム・レンダリングまたは単に「ボリュー
ム」は、2次元グラフィックス装置上に表示される場合
の立体オブジェクトの内部の特性を示すために必要とさ
れる、ボリューム・データセットの直接のレンダリング
を意味する。ボリューム・データセットは体素の3次元
アレイである。これらの体素は、典型的には、規則的な
グリッド格子上に構成される。有限の距離で間隔をおく
標本ポイントとして体素は定義されてきた。各体素は位
置および値を持つ。体素位置は、3次元体素アレイ内の
位置x、yおよびzを指定する3タプルである。体素値は
その形式に依存する。例えば、体素は強度エレメントお
よびインデックス・エレメントを持つ場合がある。これ
らのエレメントは、通常、ボリューム・レンダリング・
プロセスにおいて異なる方法で取り扱われる。ボリュー
ムにおけるすべてのポイントに関する値の集合は、ボリ
ュームのスカラー・フィールドと呼ばれる。
【0003】ボリューム・データセットは、多数の手段
によって生成され得るが、最も一般的には、3次元走査
またはサンプリング方法および数量モデリングによって
生成される。例えば、ボリューム・データセットは、磁
性共振画像形成(すなわちMRI)によって生成されるこ
とができる。この場合、3次元格子の各ポイントにおけ
る人間または動物の組織(ティッシュ)の密度が計算され
る。この情報のディスプレイが、密度変化によって表現
され、種々のタイプの組織の境界を示すことができる。
ボリューム・レンダリングは、このデータを2次元グラ
フィックス装置上に表示するプロセスである。
【0004】ボリュームの座標系は、ソース空間と呼ば
れる。ソース空間におけるボリューム・データセットの
一番最初の体素は、座標(x0,y0,z0)を持つ。x0、y0およ
びz0はボリューム・データセットにおけるすべてのx、y
およびzの最低値を表し、データセット・ボリュームに
おける原点とみなされる。通常、この原点体素に関する
座標は、(0,0,0)にセットされる。
【0005】3つの座標は、順番に、ボリューム・デー
タセットにおける画像の列、行およびスライス(厚み)に
対応する。ボリューム・データセットにおける最後の体
素は、ボリューム・データセットにおける原点ソース体
素に対して反対の斜め隅に位置する。その座標は(xu,
yu,zu)と名付けられる。xu、yuおよびzuはボリューム・
データセットにおけるすべてのx、yおよびz位置の最も
上の値を表す。
【0006】ボリューム・データセットは、非常に大き
く、コンピュータ・システム資源に対する重圧となる。
例えば、MRIスキャナからの典型的なボリューム・デ
ータセットは6百70万以上の体素を含むこともあり、
一方、形状レンダリングに関する多角形データセット
は、典型的には、50万以下の多角形を含む。このよう
に、ボリューム・レンダリングを行う場合専用ハードウ
ェアによる加速の必要性が非常に高い。
【0007】ボリューム・レンダリングにおいて、種々
の投影を基にしてレンダリングされた画像を見ることが
できなければならないことが多い。観察者の座標系は、
視認空間または画像空間と呼ばれる。それは、ボリュー
ム・データセットがどの方向から観察されそしてレンダ
リングされるかを記述する。かくして、ボリューム・レ
ンダリング・プロセスにおける重要なステップは、ソー
ス空間から視認空間へオリジナルのボリューム・データ
セットの3次元ボリューム変換である。必要とされる変
換の典型的なタイプは、ラスター・タイプのディスプレ
イ装置への投影のための入力ボリュームのズーム、パ
ン、回転および刈り込みを含む。一旦変換が行われれ
ば、ボリューム・レンダリング・パイプラインにおける
その他のステップに加えて、最近接または3線補間のよ
うな種々の再サンプリング技術が適用され、レンダリン
グのためのピクセル値が決定される。
【0008】投射線は、ボリュームを通過する画像平面
上のピクセルから発する想像上の線分である。この投射
線上で離散的ステップを進め、各ステップにおいて投射
線に沿った標本ポイントが補間される。画像平面からボ
リュームまでの投射線に沿った標本ポイントは、投射線
がボリュームを出た後の投射線に沿った標本ポイントと
共に、レンダリングされる画像に寄与しない。ユーザに
よって要求される視認の観点によっては、ボリュームを
全く通過せず、レンダリングされる画像になにも貢献し
ない投射線が存在する。従来技術の典型的ボリューム・
レンダリング実施形態は、投射線がボリュームを通過し
ようとしまいと、あるいは投射線に沿った標本ポイント
がボリュームの範囲内にあろうとなかろうと関係なく、
投射線に沿ったすべての標本ポイントを処理する。レン
ダリング時間を減少させるため、ソフトウェアを使用し
てのみ可能であるもかかわらず、このような実施形態
は、しばしば、標本ポイントの位置を検査し追跡するた
め特別なハードウェア解決手段を必要とする。このよう
に、画像レンダリングには必要でない標本ポイントを検
査し追跡するため多くの時間およびシステム資源がレン
ダリング・プロセスにおいて無駄に使われている。これ
は、レンダリング・プロセスを非常に遅くさせ、ハード
ウェアに対する高価な支出を必要とする。
【0009】
【発明が解決しようとする課題】従って、レンダリング
される最終画像に貢献しない投射線の処理を排除する改
善されたボリューム・レンダリング方法の必要性が当業
界に存在する。ハードウェア解決手段を必要とせず高価
なVLSI空間を節約することができる方法に対する必
要性もまた当業界に存在する。更に、実際にボリューム
・データセットを通過しレンダリングされる最終画像に
寄与する投射線上の標本ポイントのみを処理するボリュ
ーム・レンダリング方法の必要性もまた当業界に存在す
る。
【0010】
【課題を解決するための手段】本発明の一面は、ボリュ
ーム・レンダリングに対する事前クリップ処理アプロー
チを活用して、レンダリングされる最終画像に寄与する
標本ポイントを持つ放射線だけを処理する。本発明の別
の一面は、画像平面上へのボリュームの投影図を計算す
る。本発明の更に別の一面は、ボリューム投影図の内側
のピクセルから画像平面上に投影される投射線のみを処
理し、ボリューム投影図の外側のピクセルから画像平面
上に投影される投射線を処理しない。本発明のなおまた
別の一面は、ボリュームを通過する各投射線の開始位置
および終了位置を計算する。本発明の更なる一面は、ボ
リューム・レンダリング・システムを通過する投射線に
沿って上記開始位置および終了位置の間にある標本ポイ
ントだけを処理する。
【0011】本発明の上記およびその他の側面は、ボリ
ュームを通過する最小数の標本ポイントだけが2次元グ
ラフィックス装置上の表示のためのボリューム・レンダ
リング・システムによって処理されることを保証するボ
リューム・レンダリング事前クリップ方法によって達成
される。事前クリップ方法は2つのステップからなるプ
ロセスを使用する。第1のステップは、画像平面上への
ボリュームの投影図または影を計算する。この投影図ま
たは影の内側のピクセルから投射される投射線だけがボ
リュームを通り抜け従って最終的画像に寄与する。この
投影図または影の外側のピクセルから投射される投射線
はクリップされ、考慮される必要はない。第2のステッ
プは、ボリュームを通過する各投射線の開始および終了
位置を計算する。この計算の後、出発および終了位置
は、投射線のどの部分がボリュームを通過するかを正確
に判断する。出発および終了位置の間の投射線の中間部
分上の標本ポイントだけがボリューム・レンダリング・
システムによって生成され、処理される。標本ポイント
の前部および後部は無視される。
【0012】ボリューム・レンダリングにおいては、変
換マトリックスが、ラスター・タイプのディスプレイ装
置への投影のため入力ボリュームのズーム、パン、回転
および刈り取りを行う方法を記述する。画像平面上への
ボリュームの投影図を計算する際、ボリューム・データ
セットの8つの境界頂点の各々が、同質な座標に変換さ
れ、次に変換マトリックスを乗算される。このマトリッ
クス乗算は、ソース空間からのボリューム・データセッ
トの8つの境界頂点をユーザがボリューム・データセッ
トをレンダリングすることを望む視認空間および視認位
置へ変換する。画像平面は2次元であるので、変換され
る各頂点のz座標は無視された上、画像平面上へボリュ
ーム・データセットが投影される。ボリューム・データ
セットの8つの境界頂点はボリュームの最も外側のエレ
メントであるので、上記のプロシージャは画像平面上へ
のボリュームの投影図を正確に生成する。
【0013】次に、投射線が、ボリュームの投影図また
は影の範囲内の各ピクセルからボリュームへ投げられ
る。上記定義から明らかなように、この投射線はボリュ
ームを横切る。投射線の方向およびボリュームとの交点
の計算が本プロセスの第3のステップである。最初に、
ソース空間における視認ベクトルが取得される。次に、
視認空間におけるピクセルがソース空間に変換される。
最後に、ボリューム投影図の範囲内のピクセルから投げ
られた投射線のソース空間におけるボリュームのx、yお
よびz平面との交点が計算される。この計算結果である
各投射線に沿った入口および出口ポイントが処理のため
ボリューム・レンダリング・システムに渡される。投射
線の入口および出口ポイントの内側に完全に位置する投
射線に沿った標本ポイントだけがボリューム・レンダリ
ング・システムによって処理される。
【0014】
【発明の実施の形態】以下の記述は、現時点で最も十分
考察された本発明の実施形態である。本記述は、本発明
をその記述に制限するものと見なされるべきものではな
く、本発明の一般的原理を記述する目的のためにのみこ
の記述は提示されている。
【0015】図1は、本発明を取り入れたボリューム・
レンダリング・システムを含むコンピュータ・システム
のブロック図である。図1を参照すれば、コンピュータ
・システム100は処理エレメント102を含む。処理
エレメント102は、システム・バス104を経由して
コンピュータ・システム100のその他のエレメントと
通信する。キーボード106はユーザのコンピュータ・
システム100への情報の入力を可能にし、グラフィッ
クス・ディスプレイ110はコンピュータ・システム1
00のユーザへの情報の出力を可能にする。また、マウ
ス108が情報を入力するため使用され、記憶装置11
2はコンピュータ・システム100内のデータおよびプ
ログラムを記憶するために使用される。また、システム
・バス104に接続したメモリ116が、オペレーティ
ング・システム118および本発明のボリューム・レン
ダリング・システム120を含む。
【0016】図2は、本発明のボリューム・レンダリン
グ事前クリップ方法のブロック図を示す。図2におい
て、ブロック202は、ボリューム・データセットの正
射投影法または透視画法レンダリングのいずれがユーザ
によって求められているか判断する。正射投影法レンダ
リングが要求されているとすれば、制御はブロック20
4に移る。ブロック204は、各境界頂点に正射投影法
変換マトリックスを乗ずることによってソース空間にお
けるボリューム・データセットの8つの境界頂点を視認
空間に変換する(詳細は図3を参照して後述される)。
【0017】ブロック206は、所望の正射投影法ビュ
ーに関する視認ベクトルを使用して、ボリューム・デー
タセットにおける8つの変換された頂点を視認空間にお
ける画像平面に投影する。これは画像平面上へボリュー
ム・データセットの投影図の輪郭を確立する。視認空間
における各頂点のzコンポーネントを無視することによ
って各頂点は投影図の輪郭を確立する画像平面にマップ
される(詳細は図4を参照して後述される)。
【0018】ブロック208において、投射線は投影図
輪郭の範囲内の各ピクセルから視認ベクトルと平行して
投影されるが、この場合、視認ベクトルは、正射投影法
投影図において画像平面に対して垂直である(詳細は図
4を参照して後述される)。定義によって、投影される
すべてのそのような投射線はボリューム・データセット
を通過する。
【0019】ブロック210において、視認空間におけ
る視認ベクトルは、視認ベクトルに逆正射投影法変換マ
トリックスを乗算することによってソース空間に変換さ
れる(詳細は図3を参照して後述される)。同様に、ブロ
ック212において、視認空間におけるピクセル位置は
各ピクセル位置に逆正射投影法変換マトリックスを乗ず
ることによってソース空間に変換される(詳細は図3を
参照して後述される)。次に、制御はブロック224に
渡る。
【0020】ブロック202においてユーザが透視画法
レンダリングを要求するとすれば、制御はブロック21
4に移る。ブロック214は、各境界頂点に組み合わせ
マトリックスを乗ずることによってソース空間における
ボリューム・データセットの8つの境界頂点を視認空間
に変換する(詳細は図5を参照して後述される)。組み合
わせマトリックスは変換マトリックスであって、正射投
影法モデル視認マトリックスに透視画法マトリックスを
乗ずることによって導出される。
【0021】ブロック216は、所望の透視画法視認に
関して、視点すなわち投影の中心から8つの変換された
頂点へ投影される投射線を使用して、視認空間における
ボリューム・データセットの8つの変換された頂点を画
像平面に投影する。これは画像平面上へボリューム・デ
ータセットの投影図の輪郭を確立する(詳細は図6を参
照して後述される)。視認空間における各頂点のzコンポ
ーネントを無視することによって、各頂点は投影図輪郭
を確立する画像平面にマップされる。
【0022】ブロック218において、投射線は、投影
図輪郭内の各ピクセルからボリューム・データセットを
通して投影される(詳細は図6を参照して後述される)。
投射線は視点すなわち投影の中心から発する。定義によ
って、投影されるすべてのそのような投射線はボリュー
ム・データセットを通過する。
【0023】ブロック220において、視認空間におい
て投影された各投射線は、各投射線に逆正射組み合わせ
マトリックスを乗ずることによってソース空間に変換さ
れる(詳細は図5を参照して後述される)。同様に、視認
空間におけるピクセル位置は各ピクセル位置に逆組み合
わせマトリックスを乗ずることによってソース空間に変
換される(詳細は図3を参照して後述される)。次に制御
はブロック224に移る。
【0024】正射投影法または透視画法レンダリングの
いずれの場合でも、ブロック224は、投影された投射
線と、ソース空間におけるボリューム・データセットの
x、yおよびz面との交点を計算する。このような計算か
ら、各投射線のボリューム・データセットに対する入口
および出口ポイントが決定される(詳細は図7、図8お
よび図9を参照して後述される)。各投射線のボリュー
ム・データセットとの入口および出口ポイントの決定の
後、制御はボリューム・レンダリング・システム120
に戻る。
【0025】図3は、ソース空間におけるボリューム・
データセットの正射投影法の見方を示す。図3におい
て、記号図300はソース空間におけるi、jおよびk
方向を表す。ボリューム・データセット320はこの方
向でメモリに記憶され、ボリューム・データセット32
0の8つの最も外部のエレメントを表現する境界頂点3
02、304、306、308、310、312、31
4および318を有する。正射投影法変換マトリックス
は、正射投影法レンダリングのための視認空間における
画像平面に対してボリューム・データセット320を回
転させ、変換し、そして尺度変更する方法を記述する。
下記の式に従ってボリューム・データセット320の8
つの境界頂点の各々に正射投影法変換マトリックスを乗
算することによって、ユーザが視認空間にボリューム・
データセットをレンダリングすることを望むその視認位
置へ各境界頂点が変換される。 [V]'i = [M]* [V]i 但しi=1, ... , 8で、[V]'iは変換された頂点 [M]は変
換マトリックス、 [V]iはソース頂点を意味する。[V]'
iおよび[V]iは、[x,y,z,1]Tという形式の同質の4エレ
メント・ベクトルであり、[M]は4×4マトリックスで
ある。1から8までの各境界頂点は、正射投影法変換マ
トリックスの乗算によって視認空間に変換される。
【0026】図4は、正射投影図に関する画像空間を持
つ視認空間に変換された図3のボリューム・データセッ
トの正射投影法の見方を示す。図4において、記号図4
00は視認空間におけるx、yおよびz方向を表す。図3
のボリューム・データセットの8境界頂点302、30
4、306、308、310、312、314および3
18は、正射投影法変換マトリックスを乗ずることによ
って視認空間に変換されている。視認ベクトル420
は、ユーザによって要求された視認方向を表現する。視
認ベクトル420は、定義によって、正射投影法投影図
に関する視認空間において[0,0,1,0]Tである。この例で
は、視認ベクトルは、(x,y)ピクセル位置における画像
平面422から垂直に延びる。画像平面422に関して
はZ=0である。視認ベクトル420は、この例では、辺
310−314上に位置し頂点310および314から
等距離にあるポイント426においてボリューム・デー
タセット320に入り、辺304−308上に位置し頂
点304および308から等距離にあるポイント428
においてボリューム・データセット320から出る。ボ
リューム・データセット320の8つの境界頂点が、視
認ベクトル420に平行な投射線を用いて画像平面42
2上に投影される。頂点306は画像平面422のポイ
ント406へ投影される。同じように、頂点318、3
02および312は画像平面上のポイント418、40
2および422へそれぞれ投影される。頂点310およ
び314はポイント410および414へそれぞれ投影
される。頂点304および308もまたポイント410
および414へそれぞれ投影されるが、それらは、この
例の場合の視認ベクトル420方向のためポイント41
4および410の背後に投影されるので、画像平面にお
いて見えない。
【0027】ここで図3に戻ると、下記の式に従って視
認空間における視認ベクトル420に逆正射投影法変換
マトリックスを乗ずることによって、(図4の)視認空間
における視認ベクトル420がソース空間における視認
ベクトル420へ変換されている。 [V]s= [M]-1 * [0,0,1,0]T 但し、[V]sはソース空間の視認ベクトル、[M]-1は逆変
換マトリックス、[0,0,1,0]T は視認空間の視認ベクト
ルを意味する。ソース空間における視認ベクトル420
は、[M]-1マトリックスの第3列であり、以下のように
評価される。 [V]s = [dx,dy,dz,0]T 但し、[dx,dy,dz,0]Tはx,y,zに関するデルタ値である。
【0028】同様にして、(図4の)(x,y)ピクセル位置
424は、以下の式に従って視認空間における(x,y)ピ
クセル位置424に逆変換マトリックスを乗ずることに
よって、視認空間における画像平面422(図4)からソ
ース空間における画像平面422へ変換される。 [P]s = [M]-1 * [x,y,0,1]T 但し、[P]sはソース空間のピクセル、[M]-1は逆変換マ
トリックス、[z,y,0,1]Tは視認空間のピクセルを意味す
る。ソース空間における(x,y)ピクセル位置424は、
以下の位置に評価される。 [P]s = [i,j,k,1]T 但し、[P]sはソース空間のピクセル、[i,j,k,1]Tはソー
ス空間の位置を意味する。
【0029】同様にして、画像平面422(図4)に投影
されたポイントのすべてがソース空間に変換されること
ができる。投射線332、334、336および338
は、画像平面422の4つの最も外部のポイントから投
影し、ボリューム・データセット320を通過しない。
ボリューム・データセット320の投影の外側および画
像平面422の周辺部の内側のピクセル位置から投影さ
れるすべての投射線は、ボリューム・データセット32
0を通り抜けないので、レンダリングされる画像に寄与
しない。これらの投射線は、ボリューム・レンダリング
・システムによって無視される。
【0030】図5は、ソース空間におけるボリューム・
データセットの透視画法視認を示す。図5において、記
号図500はソース空間におけるi、jおよびk方向を表
す。ボリューム・データセット520が、この方向でメ
モリに記憶され、ボリューム・データセット520の8
つの最も外部のエレメントを表現する境界頂点502、
504、5O6、508、510、512、514およ
び518を有する。正射投影法変換マトリックスに透視
法マトリックスを乗ずることによって導出される組み合
わせマトリックスが、透視法レンダリングのための視認
空間における画像平面および視点すなわち投影の中心に
対してボリューム・データセット520を回転させ、変
換し、そして尺度変更する方法を記述する。下記の式に
従ってボリューム・データセット520の8つの境界頂
点の各々に組み合わせマトリックスを乗算することによ
って、ユーザが視認空間にボリューム・データセット5
20をレンダリングすることを望むその視認位置へ各境
界頂点が変換される。 [V]'i = [C]* [V]i 但しi=1, ... , 8で、[V]'iおよび[V]iは、[x,y,z,1]T
という形式の同質の4エレメント・ベクトルであり、
[M]は4×4マトリックスである。1から8までの各境
界頂点は、組み合わせマトリックスの乗算によって視認
空間に変換される。
【0031】図6は画像空間および視点に関して視認空
間に変換された図5のボリューム・データセットの透視
画法の見方を示す。図6において、記号図600は視認
空間におけるx、yおよびz方向を表す。図5のボリュー
ム・データセットの8境界頂点502、504、50
6、508、510、512、514および518は、
組み合わせマトリックスを乗ずることによって視点63
0に関して視認空間に変換されている。透視画法レンダ
リングにおいては、[O,0,1,0]Tというベクトル値を持つ
投射線はただ1つ存在する。他の投射線のすべては、d
を視点または中心から画像平面までの距離値として、[x
/d,y/d,1,0]Tという形式のベクトル値を持つ。この例で
は、投射線620がベクトル値[0,0,1,1]Tを持つ。投射
線620は、定義によって、(x,y)ピクセル位置624
において画像平面622から垂直に発する。投射線64
0は、この例では頂点510および514から等距離に
あるポイント626においてボリューム・データセット
520に入り、頂点504および508から等距離にあ
るポイント628においてボリューム・データセット5
20から出る。ボリューム・データセット520の8つ
の境界頂点は画像平面622に投影される。画像平面6
22の場合z=Oである。頂点506は画像平面622の
ポイント606へ投影される。同様に、頂点518、5
02および512は画像平面622上のポイント61
8、602および612へ投影される。頂点510およ
び514はポイント610および614へそれぞれ投影
される。頂点504および508はポイント604およ
び608へそれぞれ投影される。
【0032】ここで図5に戻ると、下記の式に従って視
認空間における投射線620に逆組み合わせマトリック
スを乗ずることによって、(図6の)視認空間における投
射線620がソース空間における投射線620へ変換さ
れている。 [V]s= [C]-1 * [x/d,y/d,1,0]T 但し、[V]sはソース空間の投射線、[C]-1は逆組み合わ
せマトリックス、[x/d,y/d,1,0]Tは視認空間の投射線を
意味する。ソース空間における投射線620は、以下の
ように評価される。 [V]s = [dx,dy,dz,0]T 但し、[dx,dy,dz,0]Tはx、y、zに関するデルタ値であ
る。
【0033】同様にして、(図6の)(x,y)ピクセル位置
624は、以下の式に従って視認空間における(x,y)ピ
クセル位置624に逆組み合わせマトリックスを乗ずる
ことによって、視認空間における画像平面622(図6)
からソース空間における画像平面622へ変換される。 [P]s = [C]-1 * [x,y,0,1]T 但し、[P]sはソース空間のピクセル、[C]-1は逆組み合
わせマトリックス、[z,y,0,1]Tは視認空間のピクセルを
意味する。ソース空間における(x,y)ピクセル位置62
4は、以下の位置に評価される。 [P]s = [i,j,k,1]T 但し、[P]sはソース空間のピクセル、[i,j,k,1]Tはソー
ス空間の位置を意味する。
【0034】同様にして、画像平面622(図6)に投影
されたポイントのすべてがソース空間に変換されること
ができる。投射線532、534、536および538
は、画像平面622の4つの最も外部のポイントから投
影し、ボリューム・データセット520を通過しない。
ボリューム・データセット520の投影の外側および画
像平面622の周辺部の内側のピクセル位置から投影さ
れるすべての投射線は、ボリューム・データセット52
0を通り抜けないので、レンダリングされる画像に寄与
しない。これらの投射線は、ボリューム・レンダリング
・システムによって無視される。
【0035】図7は、ソース空間におけるボリューム・
データセットに入りそしてそこから出る視認平面から発
している投射線の2次元表現を示す。図7において、記
号図700は、ソース空間におけるx、yおよびz方向を
表し、z方向は紙の面から垂直方向に延びている。画像
平面702もまた紙の面から垂直に延びている。投射線
704は、(x,y)ピクセル位置706において画像平面
702から垂直に発する。(x,y)ピクセル位置706
は、[p]s = [xi,yi,zi]Tという形式である。この例にお
いて、ziは0に等しい。ボリューム・データセット70
8もまた紙の面から垂直に延びる。ポイント714は、
ボリューム・データセット708の左下隅(x0,y0,z0)を
表す。ポイント716は、ボリューム・データセット7
08の右上隅(xu,yu,zu)を表す。投射線704は[V]s=
[dx, dy, dz]Tという形式であって、入口ポイント71
0から入り、出口ポイント712で出て、ボリューム・
データセット708を横切る。この例ではdz=0である。
入口ポイント710および出口ポイント712は、ボリ
ューム・データセット708に対する投射線704の入
口および出口ポイントを定義する[V]sからみたインデッ
クスである。
【0036】入口ポイント値および出口ポイント値を決
定するには、ソース空間におけるボリューム・データセ
ット708の輪郭を定義するx、yおよびz平面との両ポ
イントの交点を計算する必要がある。各ポイントに関し
て、xインデックス値、yインデックス値およびzインデ
ックス値が確立される。それぞれ相対的に、一方のポイ
ントに関するxインデックス値、yインデックス値および
zインデックス値は他方の対応するxインデックス値、y
インデックス値およびzインデックス値より低いかまた
は高い。入口ポイントの値は以下のように導出される。 入口ポイント = max (xlower_index, ylower_index, zl
ower_index) 同様に、入口ポイントの値は以下のように導出される。 出口ポイント = min (xupper_index, yupper_index, zu
pper_index) xlower_index(x下部インデックス)およびxupper_index
(x上部インデックス)は次のように導出される。 xlower_index = (xo - xi) / dx xupper_index = (xu - xi) / dx この例では、デルタx値すなわちdxは0より大きく、投
射線704のx方向の変分が正のx方向であることを意味
する。従ってこれらの2つの値に対する調整は不要であ
る。xlower_indexは入口ポイント710を評価し、xupp
er_indexはポイント718を評価する。
【0037】ylower_index(y下部インデックス)およびy
upper_index(y上部インデックス)は次のように導出され
る。 ylower_index = (yo - yi) / dy yupper_index = (yu - yi) / dy この例では、デルタy値すなわちdyは0より小さく、投
射線704のy方向の変分が負のy方向であることを意味
する。この状況では、ylower_indexおよびyupperr_inde
xの値は交換されなければならない。ylower_indexはyup
per_indexの値を割り当てられ、yupper_indexはylower_
indexの値を割り当てられる。ylower_indexは出口ポイ
ント712に対する評価であり、yupper_indexはポイン
ト720に対する評価である。値交換の後、ylower_ind
exはポイント720の値を持ち、yupper_indexは出口ポ
イント712の値を持つ。
【0038】zlower_index(z下部インデックス)およびz
upper_index(z上部インデックス)は次の式から導出され
る。 zlower_index = (zo - zi) / dz zupper_index = (zu - zi) / dz この例において、デルタz値すなわちdzはゼロに等し
く、投射線704のz方向の変分がゼロであることを意
味する。この場合、ゼロによる除算は許容されないの
で、zlower_indexおよびzupper_indexの値は入口および
出口ポイント計算が影響を受けないような値にセットさ
れなければならない。zi<zoまたはzi>zuであれば、投射
線はボリューム・データセットの外側にあり、それを横
切らない。この場合、zupper_indexは0の値を割り当て
られ、zlower_indexには、ボリューム・レンダリング・
システムが稼働している特定コンピュータ・システムに
とって許される最大の整数が割り当てられる。大部分の
コンピュータ・システムはこの最大許容整数値に対して
シンボルを定義しているが、そのシンボル/値が使用さ
れる。
【0039】zo <= zi <= zuであれば、投射線は潜在的
にボリューム・データセット内にある。この場合、zlow
er_indexは0の値を割り当てられ、zupper_indexには、
ボリューム・レンダリング・システムが稼働している特
定コンピュータ・システムにとって許される最大の整数
が割り当てられる。この例ではzo = zi = Oであるの
で、zlower_indexは0の値を割り当てられ、zupper_ind
exには、システムによって許される最大の整数が割り当
てられる。
【0040】この例では、入口ポイントは以下のように
評価される。 入口ポイント = max(xlower_index, ylower_index, zlo
wer_index) 入口ポイント = max(入口ポイント710,ポイント72
0,0) =入口ポイント710 この例では、出口ポイントは以下のように評価される。 出口ポイント = min(xupper_index, yupper_index, zup
per_index) 出口ポイント = min(ポイント718,出口ポイント71
2,最大整数)= 出口ポイント712 入口ポイントおよび出口ポイントの値は、ソース空間に
おける(x,y,z)座標に変換されなければならない。この
変換は次のように実行される。 x座標入口ポイント = (入口ポイント710 * dx) + xi y座標入口ポイント = (入口ポイント710 * dy) + yi z座標入口ポイント = (入口ポイント710 * dz) + zi x座標出口ポイント = (出口ポイント712 * dx) + xi y座標出口ポイント = (出口ポイント712 * dy) + yi z座標出口ポイント = (出口ポイント712 * dz) + zi 入口ポイントおよび出口ポイント座標はボリューム・レ
ンダリング・システムに渡される。これらの2つのポイ
ントの間にある投射線に沿った標本ポイントのみがボリ
ューム・レンダリング・システムによって処理される。
【0041】図8は、画像平面がボリューム・データセ
ット内にかかる場合で、ソース空間におけるボリューム
・データセットに入りそしてそこを出る視認平面から発
している投射線の2次元表現を示す。図8において、記
号図800は、ソース空間におけるx、yおよびz方向を
表し、z方向は紙の面から垂直方向に延びている。画像
平面802もまた紙の面から垂直に延びている。投射線
804は、(x,y)ピクセル位置806において画像平面
802から垂直に発する。(x,y)ピクセル位置806
は、[p]s = [xi,yi,zi]Tという形式である。この例にお
いて、ziは0に等しい。ボリューム・データセット80
8もまた紙の面から垂直に延びる。ポイント814は、
ボリューム・データセット808の左下隅(x0,y0,z0)を
表す。ポイント816は、ボリューム・データセット8
08の右上隅(xu,yu,zu)を表す。投射線804は[V]s=
[dx, dy, dz]Tという形式であって、画像平面802の
後にある入口ポイント810から入り、出口ポイント8
12で出て、ボリューム・データセット808を横切
る。この例ではdz=0である。入口ポイント810および
出口ポイント812は、ボリューム・データセット80
8に対する投射線804の入口および出口ポイントを定
義する[V]sからみたインデックスである。
【0042】入口ポイント値および出口ポイント値を決
定するには、ソース空間におけるボリューム・データセ
ット808の輪郭を定義するx、yおよびz平面との両ポ
イントの交点を計算する必要がある。各ポイントに関し
て、xインデックス値、yインデックス値およびzインデ
ックス値が確立される。それぞれ相対的に、一方のポイ
ントに関するxインデックス値、yインデックス値および
zインデックス値は他方の対応するxインデックス値、y
インデックス値およびzインデックス値より低いかまた
は高い。入口ポイントの値は以下のように導出される。 入口ポイント = max (xlower_index, ylower_index, zl
ower_index) 同様に、出口ポイントの値は以下のように導出される。 出口ポイント = min (xupper_index, yupper_index, zu
pper_index) xlower_index(x下部インデックス)およびxupper_index
(x上部インデックス)は次のように導出される。 xlower_index = (xo - xi) / dx xupper_index = (xu - xi) / dx この例では、デルタx値すなわちdxは0より大きく、投
射線804のx方向の変分が正のx方向であることを意味
する。従ってこれらの2つの値に対する調整は不要であ
る。xlower_indexは入口ポイント810を評価し、xupp
er_indexはポイント818を評価する。
【0043】ylower_index(y下部インデックス)およびy
upper_index(y上部インデックス)は次のように導出され
る。 ylower_index = (yo - yi) / dy yupper_index = (yu - yi) / dy この例では、デルタy値すなわちdyは0より小さく、投
射線804のy方向の変分が負のy方向であることを意味
する。この状況では、ylower_indexおよびyupperr_inde
xの値は交換されなければならない。ylower_indexはyup
per_indexの値を割り当てられ、yupper_indexはylower_
indexの値を割り当てられる。ylower_indexは出口ポイ
ント812に対する評価であり、yupper_indexはポイン
ト820に対する評価である。値交換の後、ylower_ind
exはポイント820の値を持ち、yupper_indexは出口ポ
イント812の値を持つ。
【0044】zlower_index(z下部インデックス)およびz
upper_index(z上部インデックス)は次の式から導出され
る。 zlower_index = (zo - zi) / dz zupper_index = (zu - zi) / dz この例において、デルタz値すなわちdzはゼロに等し
く、投射線804のz方向の変分がゼロであることを意
味する。この場合、ゼロによる除算は許容されないの
で、zlower_indexおよびzupper_indexの値は入口および
出口ポイント計算が影響を受けないような値にセットさ
れなければならない。zi<zoまたはzi>zuであれば、投射
線はボリューム・データセットの外側にあり、それを横
切らない。この場合、zupper_indexは0の値を割り当て
られ、zlower_indexには、ボリューム・レンダリング・
システムが稼働している特定コンピュータ・システムに
とって許される最大の整数が割り当てられる。大部分の
コンピュータ・システムはこの最大許容整数値に対して
シンボルを定義しているが、そのシンボル/値が使用さ
れる。
【0045】zo <= zi <= zuであれば、投射線は潜在的
にボリューム・データセット内にある。この場合、 zlo
wer_indexは0の値を割り当てられ、zupper_indexに
は、ボリューム・レンダリング・システムが稼働してい
る特定コンピュータ・システムにとって許される最大の
整数が割り当てられる。この例ではzo = zi = Oである
ので、zlower_indexは0の値を割り当てられ、zupper_i
ndexには、システムによって許される最大の整数が割り
当てられる。
【0046】この例では、xlower_indexおよびylower_i
ndexは画像平面802の後にあるので負の値を持つ。従
って、入口ポイントは以下のように評価される。 入口ポイント = max(xlower_index, ylower_index, zlo
wer_index) 入口ポイント = max(入口ポイント810,ポイント82
0,0) = 0 この例では、出口ポイントは以下のように評価される。 出口ポイント = min(xupper_index, yupper_index, zup
per_index) 出口ポイント = min(ポイント818, 出口ポイント8
12, 最大整数)= 出口ポイント812 入口ポイントおよび出口ポイントの値は、ソース空間に
おける(x,y,z)座標に変換されなければならない。この
変換は次のように実行される。 x座標入口ポイント = (0 * dx) + xi y座標入口ポイント = (0 * dy) + yi z座標入口ポイント = (0 * dz) + zi x座標出口ポイント = (出口ポイント812 * dx) + xi y座標出口ポイント = (出口ポイント812 * dy) + yi z座標出口ポイント = (出口ポイント812 * dz) + zi 入口ポイントおよび出口ポイント座標はボリューム・レ
ンダリング・システムに渡される。これらの2つのポイ
ントの間にある投射線に沿った標本ポイントのみがボリ
ューム・レンダリング・システムによって処理される。
【0047】図9は、ソース空間におけるボリューム・
データセットを通過しない場合の視認平面から発する投
射線の2次元表現を示す。図9において、記号図900
は、ソース空間におけるx、yおよびz方向を表し、z方
向は紙の面から垂直方向に延びている。画像平面902
もまた紙の面から垂直に延びている。投射線904は、
(x,y)ピクセル位置906において画像平面902から
垂直に発する。(x,y)ピクセル位置906は、[p]s = [x
i,yi,zi]Tという形式である。この例において、ziは0
に等しい。ボリューム・データセット908は、また、
紙の面から垂直に延びる。ポイント914は、ボリュー
ム・データセット908の左下隅(x0,y0,z0)を表す。ポ
イント916は、ボリューム・データセット908の右
上隅(xu,yu,zu)を表す。投射線904は[V]s= [dx,dy,d
z]Tという形式であって、ボリューム・データセット9
08を横切らない。この例ではdz=0である。
【0048】入口ポイント値および出口ポイント値を決
定するには、ソース空間におけるボリューム・データセ
ット908の輪郭を定義するx、yおよびz平面との両ポ
イントの交点を計算する必要がある。各ポイントに関し
て、xインデックス値、yインデックス値およびzインデ
ックス値が確立される。それぞれ相対的に、一方のポイ
ントに関するxインデックス値、yインデックス値および
zインデックス値は他方の対応するxインデックス値、y
インデックス値およびzインデックス値より低いかまた
は高い。投射線がボリューム・データセットを横切らな
い場合、入口ポイントの値は出口ポイント値より大き
い。入口ポイントの値は以下のように導出される。 入口ポイント = max (xlower_index, ylower_index, zl
ower_index) 同様に、出口ポイントの値は以下のように導出される。 出口ポイント = min (xupper_index, yupper_index, zu
pper_index) xlower_index(x下部インデックス)およびxupper_index
(x上部インデックス)は次のように導出される。 xlower_index = (xo - xi) / dx xupper_index = (xu - xi) / dx この例では、デルタx値すなわちdxは0より小さく、投
射線904のx方向の変分が負のx方向であることを意味
する。この状況では、xlower_indexおよびxupperr_inde
xの値は交換されなければならない。xlower_indexはxup
per_indexの値を割り当てられ、xupper_indexはxlower_
indexの値を割り当てられる。xlower_indexはポイント
910に対する評価であり、xupper_indexはポイント9
18に対する評価である。値交換の後、xlower_indexは
ポイント918の値を持ち、xupper_indexはポイント9
10の値を持つ。
【0049】ylower_index(y下部インデックス)およびy
upper_index(y上部インデックス)は次のように導出され
る。 ylower_index = (yo - yi) / dy yupper_index = (yu - yi) / dy この例では、デルタy値すなわちdyは0より小さく、投
射線904のy方向の変分が負のy方向であることを意味
する。この状況では、ylower_indexおよびyupperr_inde
xの値は交換されなければならない。ylower_indexはyup
per_indexの値を割り当てられ、yupper_indexはylower_
indexの値を割り当てられる。ylower_indexはポイント
912に対する評価であり、yupper_indexはポイント9
20に対する評価である。値交換の後、ylower_indexは
ポイント920の値を持ち、yupper_indexは出口ポイン
ト912の値を持つ。
【0050】zlower_index(z下部インデックス)およびz
upper_index(z上部インデックス)は次の式から導出され
る。 zlower_index = (zo - zi) / dz zupper_index = (zu - zi) / dz この例において、デルタz値すなわちdzはゼロに等し
く、投射線904のz方向の変分がゼロであることを意
味する。この場合、ゼロによる除算は許容されないの
で、zlower_indexおよびzupper_indexの値は入口および
出口ポイント計算が影響を受けないような値にセットさ
れなければならない。zi<zoまたはzi>zuであれば、投射
線はボリューム・データセットの外側にあり、それを横
切らない。この場合、zupper_indexは0の値を割り当て
られ、zlower_indexには、ボリューム・レンダリング・
システムが稼働している特定コンピュータ・システムに
とって許される最大の整数が割り当てられる。大部分の
コンピュータ・システムはこの最大許容整数値に対して
シンボルを定義しているが、そのシンボル/値が使用さ
れる。
【0051】z0 <= zi <= zuであれば、投射線は潜在的
にボリューム・データセット内にある。この場合、zlow
er_indexは0の値を割り当てられ、zupper_indexには、
ボリューム・レンダリング・システムが稼働している特
定コンピュータ・システムにとって許される最大の整数
が割り当てられる。この例ではzo = zi = Oであるの
で、zlower_indexは0の値を割り当てられ、zupper_ind
exには、システムによって許される最大の整数が割り当
てられる。
【0052】この例では、入口ポイントは以下のように
評価される。 入口ポイント = max(xlower_index, ylower_index, zlo
wer_index) 入口ポイント = max(ポイント918, ポイント920,
0)= ポイント920 この例では、出口ポイントは以下のように評価される。 出口ポイント = min(xupper_index, yupper_index, zup
per_index) 出口ポイント = min(ポイント910, ポイント912,
最大整数)= ポイント910 入口ポイントであるポイント920が出口ポイントであ
るポイント910より大きいので、投射線904はボリ
ューム・データセットを横切らず、従ってボリューム・
レンダリング・システムによるこれ以上の処理は行われ
ない。
【0053】以上、本発明の好ましい実施形態を記述し
たが、本発明の理念を逸脱することなく上記実施形態に
種々の修正を加えることができる点は当業者に理解され
るであろう。本明細書における開示および記述は例示の
目的からなされたものであり、いかなる意味においても
本発明を制限する意図をもつものではない。
【0054】本発明には、例として次のような実施様態
が含まれる。 (1)コンピュータ・システムの2次元グラフィックス
・ディスプレイ上にボリューム・データセットをレンダ
リングするボリューム・レンダリング・システムによっ
て処理される標本ポイント数を最小にする事前クリッピ
ング方法であって、複数のピクセルを有する画像平面に
ボリューム・データセットを投影して該画像平面上に該
ボリューム・データセットの投影図を作成するステップ
(a)と、複数の標本ポイントを持つ投射線を上記複数の
ピクセルの各々から投影して複数の投射線を作成するス
テップ(b)と、上記画像平面上の上記ボリューム・デー
タセットの上記投影図の外側に位置するピクセルから投
影される上記複数の投射線のすべてをクリップするステ
ップ(c)と、上記画像平面上の上記ボリューム・データ
セットの上記投影図の内部に位置するピクセルから投影
される投射線の各々の上に位置する上記複数の標本ポイ
ントをボリューム・レンダリング・システムによって処
理するステップ(d)と、を含む方法。
【0055】(2)上記ステップ(a)が、上記ボリュー
ム・データセットの境界頂点の各々を同質の座標に変換
するステップ(a1)と、正射投影法変換マトリックスを上
記境界頂点の各々の上記同質座標の各々に乗算すること
によって上記ボリューム・データセットの上記境界頂点
の各々を上記ボリューム・データセットを含むソース空
間から視認空間に変換させて、上記視認空間における変
換された境界頂点を生成するステップ(a2)と、上記視認
空間における視認ベクトルを決定するステップ(a3)と、
上記複数の投射線の各々のうちの1つが上記変換された
境界頂点の各々のうちの1つを通過し、また、上記視認
平面が複数のピクセルを持つように、上記視認ベクトル
に平行な複数の投射線を通して上記変換された境界頂点
の各々を視認平面上に投影するステップ(a4)と、上記視
認ベクトルに逆正射投影法変換マトリックスを乗算する
ことによって上記視認ベクトルを上記視認空間から上記
ソース空間へ変換して、上記ソース空間における変換さ
れた視認ベクトルを生成するステップ(a5)と、上記ボリ
ューム・データセットの上記投影図が上記画像平面上に
作成されるように、上記逆正射投影法変換マトリックス
を上記複数ピクセルの各々に乗算することによって上記
視認平面における視認空間上の上記複数のピクセルを上
記ソース空間における上記画像平面に変換して、上記ソ
ース空間における変換された複数のピクセルを生成する
ステップ(a6)と、を更に含む、上記(1)に記載の方
法。
【0056】(3)上記ステップ(a)が、上記ボリュー
ム・データセットの境界頂点の各々を同質の座標に変換
するステップ(a1)と、視点および上記画像平面からの距
離値を決定するステップ(a2)と、正射投影法マトリック
スに透視法マトリックスを乗算して組み合わせマトリッ
クスを生成するステップ(a3)と、上記境界頂点の各々の
上記同質座標の各々に上記組み合わせマトリックスを乗
算することによって上記ボリューム・データセットの上
記境界頂点の各々を上記ボリューム・データセットを含
むソース空間から視認空間に変換させて、変換された境
界頂点を生成するステップ(a4)と、上記複数の投射線の
各々のうちの1つが上記変換された境界頂点の各々のう
ちの1つを通過し、また、上記視認平面が複数のピクセ
ルを持つように、上記視点から出る複数の投射線を通し
て上記変換された境界頂点の各々を上記視認平面上に投
影するステップ(a5)と、上記複数投射線の各々に逆組み
合わせマトリックスを乗算することによって上記複数投
射線の各々を上記視認空間から上記ソース空間へ変換し
て、上記ソース空間における変換された複数の投射線を
生成するステップ(a6)と、上記ボリューム・データセッ
トの上記投影図が上記画像平面上に作成されるように、
上記逆組み合わせマトリックスを上記複数ピクセルの各
々に乗算することによって上記視認平面における視認空
間上の上記複数のピクセルを上記ソース空間における上
記画像平面に変換して、上記ソース空間における変換さ
れた複数のピクセルを生成するステップ(a7)と、を更に
含む、上記(1)に記載の方法。
【0057】(4)上記ステップ(d)の代わりに、上記
投射線の各々に関する入口ポイントおよび出口ポイント
を計算するステップ(d1)と、上記投射線の各々の上の上
記複数の標本ポイントのうち上記ボリューム・データセ
ットの外側にあって上記画像平面と上記入口ポイントの
間に位置する上記標本ポイントの前部をクリップするス
テップ(d2)と、上記投射線の各々の上の上記複数の標本
ポイントのうち上記ボリューム・データセットの外側に
あって上記投射線の各々の上の上記出口ポイントを越え
て上記画像平面から遠ざかる方向に位置する上記標本ポ
イントの後部をクリップするステップ(d3)と、上記投射
線の各々の上の上記複数の標本ポイントのうち上記ボリ
ューム・データセットの内部にあって上記投射線の各々
の上記入口ポイントと上記出口ポイントの間に位置する
上記標本ポイントの中間部をボリューム・レンダリング
・システムによって処理するステップ(d4)と、を更に含
む上記(1)に記載の方法。
【0058】(5)上記ステップ(d1)が、上記投射線の
各々に関してx下部インデックス、y下部インデックス、
z下部インデックス、x上部インデックス、y上部インデ
ックスおよびz上部インデックスを計算するステップ(d1
a)と、上記投射線の各々に関して、上記x下部インデッ
クス、上記y下部インデックス、上記z下部インデックス
およびゼロのうちの最大数から入口ポイント値を決定す
るステップ(d1b)と、上記投射線の各々に関して、上記x
上部インデックス、上記y上部インデックスおよび上記z
上部インデックスのうちの最小数から出口ポイント値を
決定するステップ(d1c)と、上記投射線の各々に関する
上記入口ポイント値および上記出口ポイント値を上記投
射線の各々に関するソース空間入口ポイント座標(x,y,
z)およびソース空間出口ポイント座標(x,y,z)に変換す
るステップ(d1d)と、上記投射線の各々に関する入口ポ
イント座標(x,y,z)および出口ポイント座標(x,y,z)を上
記ボリューム・レンダリング・システムに渡すステップ
(d1e)と、を更に含む上記(4)に記載の方法。
【0059】(6)上記ステップ(d1a)が、上記投射線
の各々に関してデルタx値、デルタy値およびデルタz値
を決定するステップ(d1a1)と、上記投射線の各々に関す
る上記デルタx値が0未満である時上記投射線の各々に
関して上記x上部インデックスを上記x下部インデックス
と入れ換えるステップ(d1a2)と、上記投射線の各々に関
する上記デルタy値が0未満である時上記投射線の各々
に関して上記y上部インデックスを上記y下部インデック
スと入れ換えるステップ(d1a3)と、上記投射線の各々に
関する上記デルタz値が0未満である時上記投射線の各
々に関して上記z上部インデックスを上記z下部インデッ
クスと入れ換えるステップ(d1a4)と、上記投射線の各々
に関する上記デルタx値がゼロと等しくまた上記投射線
が潜在的に上記ボリューム・データセットの内部に位置
する時上記投射線の各々に関してx下部インデックスに
ゼロを割り当てx上部インデックスに大きい整数を割り
当てるステップ(d1a5)と、上記投射線の各々に関する上
記デルタy値がゼロと等しくまた上記投射線が潜在的に
上記ボリューム・データセットの内部に位置する時上記
投射線の各々に関してy下部インデックスにゼロを割り
当てy上部インデックスに上記大きい整数を割り当てる
ステップ(d1a6)と、上記投射線の各々に関する上記デル
タz値がゼロと等しくまた上記投射線が潜在的に上記ボ
リューム・データセットの内部に位置する時上記投射線
の各々に関してz下部インデックスにゼロを割り当てz上
部インデックスに上記大きい整数を割り当てるステップ
(d1a7)と、上記投射線の各々に関する上記デルタx値が
ゼロと等しく上記投射線が上記ボリューム・データセッ
トの外側に位置する時上記投射線の各々に関してx下部
インデックスに上記大きい整数を割り当てx上部インデ
ックスにゼロを割り当てるステップ(d1a8)と、上記投射
線の各々に関する上記デルタy値がゼロと等しく上記投
射線が上記ボリューム・データセットの外側に位置する
時上記投射線の各々に関してy下部インデックスに上記
大きい整数を割り当てy上部インデックスにゼロを割り
当てるステップ(d1a9)と、上記投射線の各々に関する上
記デルタz値がゼロと等しく上記投射線が上記ボリュー
ム・データセットの外側に位置する時上記投射線の各々
に関してz下部インデックスに上記大きい整数を割り当
てz上部インデックスにゼロを割り当てるステップ(d1a1
0)と、を含む上記(5)に記載の方法。 (7)上記ステップ(d1c1)が、上記投射線の各々に関し
て上記入口ポイント値が上記出口ポイント値を越える時
上記投射線の各々をクリップするステップ(d1c1)、を更
に含む上記(5)に記載の方法。
【0060】
【発明の効果】本発明に従って改良されたボリューム・
レンダリング・システムによって、レンダリングされる
最終画像に貢献しない投射線の処理が不要とされ、従っ
て、高価なVLSIによるハードウェアの実施を節約す
ることができる。また、実際にボリューム・データセッ
トを通過しレンダリングされる最終画像に寄与する投射
線上の標本ポイントのみがボリューム・レンダリング・
システムによって処理されるので、処理能力が向上す
る。
【図面の簡単な説明】
【図1】本発明を取り入れるボリューム・レンダリング
・システムを備えるコンピュータ・システムのブロック
図である。
【図2】本発明のボリューム・レンダリング事前クリッ
プ方法の流れ図である。
【図3】正射投影法に関する画像平面を持つソース空間
におけるボリューム・データセットを示すブロック図で
ある。
【図4】正射投影法に関する画像平面を持つ視認空間へ
変換された図3のボリューム・データセットを示すブロ
ック図である。
【図5】透視画法に関する画像平面を持つソース空間に
おけるボリューム・データセットを示すブロック図であ
る。
【図6】透視画法に関する画像平面を持つ視認空間へ変
換された図5のボリューム・データセットを示すブロッ
ク図である。
【図7】ソース空間におけるボリューム・データセット
を入出する視認平面から発する投射線の2次元表現を示
すブロック図である。
【図8】画像空間がボリューム・データセット内にとど
まる場合の、ソース空間におけるボリューム・データセ
ットを入出する視認平面から発する投射線の2次元表現
を示すブロック図である。
【図9】ソース空間におけるボリューム・データセット
から外れる視認平面から発する投射線の2次元表現を示
すブロック図である。
【符号の説明】
100 コンピュータ・システム 102 処理エレメント 104 システム・バス 106 キーボード 108 マウス 110 2次元グラフィックス・ディスプレイ 112 記憶装置 116 メモリ 118 オペレーティング・システム 120 ボリューム・レンダリング・システム 300、400、500、600、700、800、9
00 記号図 320、520、708、808、908 ボリュー
ム・データセット 422、622、702、802、902 画像平面 302、304、306、308、310、312 3
14、318、502、504、506、508、51
0、512、514、518 境界頂点 420 視認ベクトル 426、626、710、806、910 入口ポイ
ント 428、628、712、812、912 出口ポイ
ント 620 投射線 630 視点
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハサン・シャザド・ナクヴィ アメリカ合衆国80525コロラド州フォー ト・コリンズ、ブラックストーン・コー ト 2630 (72)発明者 トム・モルツベンダー アメリカ合衆国94306カリフォルニア州 パロ・アルト、ミランダ・アベニュー 4331 (56)参考文献 特開 昭63−85885(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/00 200 G06T 1/00 290 G06T 15/30

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】コンピュータ・システムの2次元グラフィ
    ックス・ディスプレイ上にボリューム・データセットを
    レンダリングするボリューム・レンダリング・システム
    によって処理される標本ポイント数を最小にするボリュ
    ーム事前クリッピングの方法であって、 (a)メモリに記憶されたボリューム・データセット
    を、複数のピクセルを有する画像平面上に投影して、該
    画像平面上に該ボリューム・データセットの投影を作成
    しメモリに記憶するステップと、 (b)前記複数のピクセルのそれぞれから投じ複数の
    投射線を作成するステップと、 (c)前記画像平面上のボリューム・データセットの前
    メモリに記憶された投影の外側に位置するピクセルか
    ら投じられた複数の投射線のすべてをクリップするステ
    ップと、 (d)前記画像平面上のボリューム・データセットの前
    メモリに記憶された投影の内側に位置するピクセルか
    ら投じられたそれぞれの投射線上に位置する複数の標本
    ポイントを、ボリュームレンダリング・システムを介し
    て処理するステップとを含み、 前記ステップ(a)が、 (a1)前記メモリに記憶されたボリューム・データセ
    ットの境界頂点のそれぞれを、同次座標に変換するステ
    ップと、 (a2)前記境界頂点のそれぞれの同次座標のそれぞれ
    に正射投影法変換マトリックスを乗算することにより、
    前記ボリューム・データセットの境界頂点のそれぞれ
    を、前記ボリューム・データセットを含むソース空間か
    ら視認空間に変換し、該変換された境界頂点を該視認空
    間に生成するステップと、 (a3)前記視認空間において視認ベクトルを求めるス
    テップと、 (a4)前記視認ベクトルに平行な複数の投射線のそれ
    ぞれの1つが前記変換された境界頂点のそれぞれ1つを
    通過するように、該複数の投射線を介して、前記変換さ
    れた境界頂点のそれぞれを、前記視認空間の複数のピク
    セルを有する視認平面上に投影するステップと、 (a5)前記視認ベクトルに逆正射投影法変換マトリッ
    クスを乗算することにより、前記視認ベクトルを前記視
    認空間から前記ソース空間に変換し、該変換された視認
    ベクトルを前記ソース空間に生成するステップと、 (a6)前記視認空間の視認平面上の複数のピクセルの
    それぞれに前記逆正射投影法変換マトリックスを乗算す
    ることによって、該視認平面上の複数のピクセルを前記
    ソース空間の画像平面に変換し、該変換された複数のピ
    クセルを該ソース空間に生成して、前記ボリューム・デ
    ータセットの前記投影を前記画像平面上に作成するステ
    ップと、 を含む標本ポイント数を最小にするボリューメトリック
    事前クリッピングの方法。
  2. 【請求項2】コンピュータ・システムの2次元グラフィ
    ックス・ディスプレイ上にボリューム・データセットを
    レンダリングするボリューム・レンダリング・システム
    によって処理される標本ポイント数を最小にするボリュ
    ーメトリック事前クリッピングの方法であって、 (a)ソース空間において、複数のピクセルを有する画
    像平面を求めるステップと、 (b)前記複数のピクセルのそれぞれから投じ複数の
    投射線を作成しメモリに記憶するステップと、 (c)前記メモリに記憶された投射線のそれぞれについ
    て、該投射線が前記ボリューム・データセットに入る
    口ポイントを算出するステップと、 (d)前記投射線上の複数の標本ポイントのうち、前記
    入口ポイントより前の部分に含まれる標本ポイントをク
    リップするステップと、 (e)前記投射線上の複数の標本ポイントのうち、前記
    入口ポイントより後ろの部分に含まれる標本ポイント
    を、ボリュームレンダリング・システムを介して処理す
    るステップとを含み、 前記ステップ(b)が、 (b1)前記ボリューム・データセットを前記画像平面
    上に投影して、該画像平面上に該ボリューム・データセ
    ットの投影を作るステップであって、 (b1a)前記ボリューム・データセットの境界頂点の
    それぞれを同次座標に変換し、 (b1b)前記境界頂点のそれぞれの同次座標のそれぞ
    れに正射投影法変換マトリックスを乗算することによ
    り、前記ボリューム・データセットの境界頂点のそれぞ
    れを、前記ボリューム・データセットを含むソース空間
    から視認空間に変換し、該変換された境界頂点を前記視
    認空間に生成し、 (b1c)前記視認空間において視認ベクトルを求め、 (b1d)前記視認ベクトルに平行な複数の投射線のそ
    れぞれ1つが前記変換された境界頂点のそれぞれ1つを
    通過するように、該複数の投射線を介して、前記変換さ
    れた境界頂点のそれぞれを、前記視認空間の複数のピク
    セルを有する視認平面上に投影し、 (b1e)前記視認ベクトルに逆正射投影法変換マトリ
    ックスを乗算することによって、前記視認ベクトルを前
    記視認空間から前記ソース空間に変換し、該変換された
    視認ベクトルを前記ソース空間に生成し、 (b1f)前記視認空間の視認平面上の複数のピクセル
    のそれぞれに前記逆正射投影法変換マトリックスを乗算
    することによって、該視認平面上の複数のピクセルを前
    記ソース空間の画像平面に変換し、該変換された複数の
    ピクセルを該ソース空間に生成して、前記ボリューム・
    データセットの投影を前記画像平面上に作成するステッ
    プと、 (b2)前記画像平面上のボリューム・データセットの
    前記投影の外側に位置するピクセルから投じられた複数
    の投射線のすべてをクリップするステップと、 を含む標本ポイント数を最小にするボリューメトリック
    事前クリッピングの方法。
  3. 【請求項3】コンピュータ・システムの2次元グラフィ
    ックス・ディスプレイ上にボリューム・データセットを
    レンダリングするボリューム・レンダリング・システム
    によって処理される標本ポイント数を最小にするボリュ
    ーメトリック事前クリッピングの方法であって、 (a)ソース空間において、複数のピクセルを有する画
    像平面を求めるステップと、 (b)前記複数のピクセルのそれぞれから投じ複数の
    投射線を作成しメモリに記憶するステップと、 (c)前記メモリに記憶された投射線のそれぞれについ
    て、該投射線が前記ボリューム・データセットから出る
    出口ポイントを算出するステップと、 (d)前記投射線上の複数の標本ポイントのうち、前記
    出口ポイントより後ろの部分に含まれる標本ポイント
    クリップするステップと、 (e)前記投射線上の複数の標本ポイントのうち、前記
    出口ポイントより前の部分に含まれる標本ポイントを、
    ボリュームレンダリング・システムを介して処理するス
    テップとを含み、 前記ステップ(c)が、 (c1)前記投射線のそれぞれについて、x上部インデ
    ックス、y上部インデックスおよびz上部インデックス
    を算出するステップと、 (c2)前記投射線のそれぞれについて、前記x上部イ
    ンデックス、y上部インデックスおよびz上部インデッ
    クスの最小値から、前記出口ポイント値を求めるステッ
    プと、 (c3)前記投射線のそれぞれについて、前記出口ポイ
    ント値を、ソース空間において(x,y,z)座標を持
    つ出口ポイントに変換するステップであって、 (c3a)前記投射線のそれぞれについて、x下部イン
    デックス、y下部インデックス、z下部インデックス、
    およびゼロのうちの最大値から、入口ポイント値を求
    め、 (c3b)前記投射線のそれぞれについて、前記入口ポ
    イント値が前記出口ポイント値より大きいとき、該投射
    線をクリップするステップと、 (c4)前記投射線のそれぞれの出口ポイントの前記
    (x,y,z)座標を、前記ボリュームレンダリング・
    システムに渡すステップと、 を含む標本ポイント数を最小にするボリューメトリック
    事前クリッピングの方法。
JP14740998A 1997-05-30 1998-05-28 ボリューム・レンダリング事前クリッピング方法 Expired - Fee Related JP3415768B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/866,584 US6072497A (en) 1997-05-30 1997-05-30 Volumetric pre-clipping method that guarantees minimal number of sample points through a volume
US866,584 1997-05-30

Publications (2)

Publication Number Publication Date
JPH117545A JPH117545A (ja) 1999-01-12
JP3415768B2 true JP3415768B2 (ja) 2003-06-09

Family

ID=25347935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14740998A Expired - Fee Related JP3415768B2 (ja) 1997-05-30 1998-05-28 ボリューム・レンダリング事前クリッピング方法

Country Status (4)

Country Link
US (1) US6072497A (ja)
JP (1) JP3415768B2 (ja)
DE (1) DE19807013B4 (ja)
GB (1) GB2325835B (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226008B1 (en) * 1997-09-04 2001-05-01 Kabushiki Kaisha Sega Enterprises Image processing device
GB2329810B (en) * 1997-09-29 2002-02-27 Science Res Foundation Generation and use of compressed image data
US6400841B1 (en) * 1999-02-11 2002-06-04 General Electric Company Method for evaluating three-dimensional rendering systems
US6687393B1 (en) * 1999-07-16 2004-02-03 General Electric Company Efficient methods and apparatus for resampling three dimensional datasets
US20020190984A1 (en) * 1999-10-01 2002-12-19 Larry D. Seiler Voxel and sample pruning in a parallel pipelined volume rendering system
JP2001109906A (ja) * 1999-10-01 2001-04-20 Mitsubishi Electric Inf Technol Center America Inc ボリューム・データ・セットのレンダリング装置およびその方法
GB2372188B (en) * 2001-02-08 2005-07-13 Imagination Tech Ltd Volume clipping in computer 3-D Graphics
JP3855053B2 (ja) * 2003-01-30 2006-12-06 国立大学法人 東京大学 画像処理装置、画像処理方法、及び画像処理プログラム
EP1531322A3 (en) * 2003-11-13 2007-09-05 Matsushita Electric Industrial Co., Ltd. Map display apparatus
US9024949B2 (en) * 2004-10-13 2015-05-05 Sony Corporation Object representation using distance functions
JP4212564B2 (ja) * 2005-02-28 2009-01-21 ザイオソフト株式会社 画像処理方法および画像処理プログラム
US8698844B1 (en) 2005-04-16 2014-04-15 Apple Inc. Processing cursor movements in a graphical user interface of a multimedia application
US7298370B1 (en) * 2005-04-16 2007-11-20 Apple Inc. Depth ordering of planes and displaying interconnects having an appearance indicating data characteristics
US7826684B2 (en) * 2005-09-21 2010-11-02 Siemens Medical Solutions Usa, Inc. Optimization and view dependency reduction for processing slice-based volumes
US8115767B2 (en) * 2006-12-08 2012-02-14 Mental Images Gmbh Computer graphics shadow volumes using hierarchical occlusion culling
US20080232694A1 (en) * 2007-03-21 2008-09-25 Peter Sulatycke Fast imaging data classification method and apparatus
US9619917B2 (en) 2008-10-03 2017-04-11 Apple Inc. Depth of field for a camera in a media-editing application
JP2013050379A (ja) * 2011-08-31 2013-03-14 Mitsutoyo Corp 硬さ試験機
US8935138B2 (en) * 2012-03-28 2015-01-13 Mitsubishi Electric Research Laboratories, Inc. Analyzing volume removed during machining simulation
US9842424B2 (en) * 2014-02-10 2017-12-12 Pixar Volume rendering using adaptive buckets
US10169909B2 (en) * 2014-08-07 2019-01-01 Pixar Generating a volumetric projection for an object
US10121277B2 (en) * 2016-06-20 2018-11-06 Intel Corporation Progressively refined volume ray tracing
EP3905946A4 (en) * 2019-01-04 2022-08-31 University of Cincinnati SYSTEM AND METHOD FOR RECONSTRUCTING MAGNETIC RESONANCE IMAGES ACQUIRED WITH PARTIAL FOURIER ACQUISITION
CN113178014B (zh) * 2021-05-27 2023-06-13 网易(杭州)网络有限公司 场景模型渲染方法、装置、电子设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8517045D0 (en) * 1985-07-05 1985-08-14 Tector Ltd Intersection computer
JPS6476374A (en) * 1987-09-18 1989-03-22 Toshiba Corp Depth map producing device
US4958305A (en) * 1987-11-04 1990-09-18 General Electric Company Polygon edge clipping
GB2231759B (en) * 1989-05-18 1993-12-08 Sun Microsystems Inc Method and apparatus for the rendering of geometric volumes
FR2653919A1 (fr) * 1989-10-30 1991-05-03 Gen Electric Procede et appareil pour la restitution de projections volumetriques utilisant la projection inverse de rayons.
US5226113A (en) * 1989-10-30 1993-07-06 General Electric Company Method and apparatus for volumetric projection rendering using reverse ray casting
US5734384A (en) * 1991-11-29 1998-03-31 Picker International, Inc. Cross-referenced sectioning and reprojection of diagnostic image volumes

Also Published As

Publication number Publication date
DE19807013B4 (de) 2005-08-18
GB9810150D0 (en) 1998-07-08
US6072497A (en) 2000-06-06
GB2325835A (en) 1998-12-02
GB2325835B (en) 2002-01-09
DE19807013A1 (de) 1998-12-03
JPH117545A (ja) 1999-01-12

Similar Documents

Publication Publication Date Title
JP3415768B2 (ja) ボリューム・レンダリング事前クリッピング方法
US5781194A (en) Real-time projection of voxel-based object
JP5120926B2 (ja) 画像処理装置、画像処理方法およびプログラム
RU2215326C2 (ru) Иерархическое основанное на изображениях представление неподвижного и анимированного трехмерного объекта, способ и устройство для использования этого представления для визуализации объекта
US7027050B1 (en) 3D computer graphics processing apparatus and method
Zwicker et al. EWA splatting
US6437782B1 (en) Method for rendering shadows with blended transparency without producing visual artifacts in real time applications
US6782130B2 (en) Rendering of photorealistic computer graphics images
US7289119B2 (en) Statistical rendering acceleration
US6559843B1 (en) Segmented ray casting data parallel volume rendering
US6600485B1 (en) Polygon data generation method and image display apparatus using same
US10529119B2 (en) Fast rendering of quadrics and marking of silhouettes thereof
JP3466661B2 (ja) 画像処理装置及びその方法
CN104732479B (zh) 对图像进行调整大小
JPH10208077A (ja) グラフィック画像を表示上にレンダリングするための方法および画像レンダリングシステム、ならびにグラフィック画像を表示上に生成するための方法
JP3445152B2 (ja) ボリューム・データ構成方法
Grevera et al. An order of magnitude faster isosurface rendering in software on a PC than using dedicated, general purpose rendering hardware
CN110428504B (zh) 文本图像合成方法、装置、计算机设备和存储介质
JP2006526834A (ja) ボリューム・レンダリング用の適応画像補間
CN111369661A (zh) 一种基于OpenCL的三维体数据可视化并行渲染方法
JPH09330423A (ja) 三次元形状データ変換装置
US20050093857A1 (en) View dependent displacement mapping
US7031505B2 (en) Perspective with shear warp
EP1704535B1 (en) Method of rendering graphical objects
CN117635801A (zh) 基于实时渲染可泛化神经辐射场的新视图合成方法及系统

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090404

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090404

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100404

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140404

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees