説明

3Dモデリングシステム

相互の空間関係を有する複数の2D断面のデータ画像から仮想3D表現を構築するコンピュータベースの3Dモデリングシステム。複数のデータ画像と、関連する向き情報及び位置決め情報はデータソースモジュール(22)から抽出することができる。フレーム作成モジュールは、各画像スライスに対して矩形フレームを構築する。テクスチャマッピングモジュール(26)は、関連するフレームに画像スライスをテクスチャとしてマップする。回転変換モジュール(28)は、各データ画像に関連する向き情報に基づいて各フレームを1つ以上の軸を中心に適切に回転させ、3D空間内での正しい向きを実現する。転位変換モジュール(30)は、各データ画像に関連する位置決め情報に基づいて各フレームを転位させ、3D空間内での正しい位置を実現する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の技術分野はコンピュータシステムでの3Dモデリングである。より詳細には、本発明は、固体オブジェクトの多数の2D画像「スライス」がある場合にこのオブジェクトの3Dコンピュータ表現を構築する方法に関する。
【背景技術】
【0002】
実在する3次元オブジェクトの画像スライスを生成する専門技術は数多くある。医療用画像の分野では、例えば超音波、X線や磁気共鳴の技術に依存するスキャニング装置を使用して、走査プローブを種々の身体構造上でゆっくりと移動させながら身体構造の一連の画像スライスを捕捉することができる。しかし、これらの2Dスライスから3D構造コンピュータモデルを組み立てると多少問題が生じる場合がある。
【0003】
従来技術では、2D画像スライスのセットから固体オブジェクトの3Dモデルを構築する技術として、各2D画像の各画素(即ちピクセル)(x,y)を3D空間内のボリュームエレメント(即ちボクセル)(x',y',z')に反復的にマップするのが普通である。ある固定基準点(又は3Dモデルの構築に用いる他の画像スライス)に対する各2D画像スライスの向きがわかっている場合、2Dピクセルから3Dボクセルへの変換は比較的直接的な数学上の作業である。しかし、これは計算処理上比較的高価な作業であり、ゆえにソフトウェアで行うと非常に遅い作業になる傾向がある。(この種のマッピングをハードウェアで行う市販のパソコン用ビデオ加速ボードは一般には利用できない。)また、ボクセルは一般に複数の浮動小数点の値を用いて表されるため、高性能なグラフィックワークステーションよりも小さい任意のコンピュータシステムで3Dモデルをこのように構築すると、有用かつ複雑なモデルを構築する際、非常に重い負荷をシステムリソースに課してしまう。
【0004】
したがって、個々の2D画像スライスのピクセルを3Dボクセルに直接マップせずに固体の3Dモデルを2D画像スライスのセットから構築できるようにすることは有用である。また、広く利用可能な加速ハードウェア回路を活用してこのモデル作成を行えるようにすることが望ましい。
【0005】
特に医療用画像の分野において、ボクセルに基づいた一般的な3Dディスプレイ装置は、特定の構造や異常をユーザが識別及び/又は診断するのを支援するため、3Dモデルの回転、視点及び外観(appearance)を迅速に操作する能力が制限されている。特に、一般に利用可能な計算ハードウェアでこのような操作を実行できるようにすることが望ましい。
【発明の開示】
【課題を解決するための手段】
【0006】
本発明は、相互の空間関係を有する複数の2D断面のデータ画像から仮想3D表現を構築するコンピュータベースの3Dモデリングシステムに関する。仮想3D表現は、複数のデータ画像と関連する向き情報及び位置決め情報をデータソースモジュールから抽出し、フレーム作成モジュールを用いて各データ画像の平面フレームを作成し、テクスチャマッピングモジュールを用いて各データ画像を対応するフレームにテクスチャとしてマップし、回転変換モジュールを用いて各平面フレームを向き情報に従って回転させ、転位(translation)変換モジュールを用いて各平面フレームを位置決め情報に従って転位させることにより構築される。
【0007】
仮想3D表現が構築されると、精査や操作のために仮想3D表現をレンダリングすることができる。仮想3D表現の精査は、スクリーンに仮想3D表現を表示し、表現の回転、クリッピング面を用いての表現内への進入、表現の透光度、透明度、色、コントラストもしくは輝度の調節、表現のサイズ変更、表現内への視点の動的な移動、又は表現に相対する視点の動的な移動を含む1つ以上の操作を行うことによって達成することができる。
【0008】
図面において、同様の参照番号は類似する構成要素を示す。
【発明を実施するための最良の形態】
【0009】
図1に示すように、コンピュータベースの3Dモデリングシステム21はいくつかのモジュールで構成されたソフトウェアからなる。これらのモジュールは組み合わせて使用され、複数の2D断面のデータ画像と、各データ画像に関連する相互の空間関係のデータから仮想3D表現を作成する。本明細書に開示される3Dモデリングシステム21は、任意の物質や構造の一連の断面を表す実質的に任意のタイプのデジタル画像と共に使用することができるが、図5に示すように、3Dモデリングシステム21の好適な実施の形態を医療用撮像装置のサブシステムとしてもよい。回転角度センサ6に接続されたプローブ4を走査されている細胞組織8の上でゆっくりと一様に移動させ、連続的な画像スライスを標準の医療用超音波スキャニング装置10によって捕捉することができる。ソフトウェアが画像スライスと3D空間での配向角度の双方を取得できるように、スキャナ及び角度センサをパソコン2に取り付けることができる。コンピュータ上の画像スライスの一般的なフォーマットはビットマップであるが、他のフォーマットを使用することもできる。プローブ4の移動を機械的手段(図示せず)によって達成でき、その動きの速度や方向が既知であるため、3D空間での各画像のオフセットを周知の位置決定装置によって容易に決定することができる。このような位置決定装置をパソコン2に接続し、各画像の位置を同時に捕捉してもよい。
【0010】
画像スライス、配向角度及び位置情報をコンピュータに提供することのできる超音波スキャナのいくつかの実施の形態が米国特許出願09/687,128号及びPCT出願PCT/US01/32392号に開示されており、これらの開示内容は本明細書に援用される。(細胞組織8だけではなく)あらゆるオブジェクトの一連の断面スライスを表すデジタル画像の任意のセットを本明細書に記載の方法でモデル化し、使用することができる。このような画像は、X線、磁気共鳴イメージング、コンピュータ化された軸方向断層撮影、超音波診断、ポジトロン放射断層撮影、放射性核種イメージングなどを含むことができるが、これらに限定されない。モデルを構築するために十分な画像が利用可能であれば、このような画像は地震システムや他のシステムからの地質断面のようなものさえも含むことができる。
【0011】
画像を得る方法は、本明細書に開示される3Dモデリングシステム21に限られない。しかし、このような画像を取得し、次いで3Dモデリングシステム21によって使用する態様の論述を容易にするため、本願は、前述の用途に表される超音波を用いた実施の形態を全般的に論じる。
【0012】
論述のために、空間軸を任意にラベル付けすることができる。走査対象物が患者の組織であり、被検者である患者が走査のために仰向けに横たわっていると仮定すると、x軸は肩から肩へ延び(患者の右肩から外に向いた正のx方向)、y軸は患者の体に対して垂直であり(患者の胸部から上に向いた正のy方向)、z軸は頭部から足に延びる(患者の足の裏から外に向いた正のz方向)。好適な実施の形態では、図3に示すように、走査プローブを正のz方向に移動することによって連続的な走査画像を取得してもよいが、撮像されている被検者の上でプローブを任意の方向に移動し、モデルリングが可能な画像を生じてもよい。
【0013】
図2Aに示すように、プローブ4を、組織又は皮膚12に対して垂直な状態を保ちながら2つの方向に(x軸及びz軸を中心に)自由に傾け、患者の組織12(乳房の皮膚など)の輪郭をなぞることができる。x軸及びz軸を中心とするプローブの回転角度を角度センサ6によって追跡し、次いで、各画像が向き(回転角度)情報を有するようにこれらの角度を画像と相関させることができる。プローブの横断モータ(図示せず)の速度は、角度センサ6からのフィードバックを介して制御することができ、これにより、モータは皮膚の輪郭角度の変化にもかかわらず皮膚12上のプローブの速度を一定に保ちながらプローブを可変の速度でz軸に沿って移動させることができる。このように、画像捕捉速度を走査ハードウェアによって固定し、一定に保つことができるため、このような実施の形態では、捕捉された画像スライス14の上部エッジは互いから等距離であり、z軸に対して互いに平行である。
【0014】
しかし、重要なことに、本発明は、取得された画像スライス14のいずれかのエッジが互いから等距離であったりいずれかの軸に沿って互いに平行であることを全く要求しない。各画像の配向(回転角度)情報が各画像の位置に関する情報と共に十分に集められさえすれば、これらの画像を本明細書に記載のようにモデル化し、使用することができる。例えば、回転角度センサ6は3つの軸の角度情報を収集することができ、3D空間内又は他の画像と相対するプローブ4の位置を決定できる装置を用いて1つの画像と他の画像との間の距離を決定することができる。このような位置決定装置は、プローブ4を動かす駆動モータに接続され、距離に関連するモータの回転を単に計数するカウンタや、プローブ4に接続された加速度計や、プローブ4用のローカルなGPS又はレーザー追跡装置や、プローブ4に接続された光学マウスにおいて使用されるような光学移動センサや多数の他の方法を含んでプローブ4の移動及び/又は位置を追跡することができる。角度センサ及び位置センサからの信号を画像と同一のデータパケットに同時に保存してもよいし、別個に収集して後で画像と相関させてもよい。一般的な相関法は、時間値を画像と角度/位置情報の双方(これらを後で突き合わせることができる)に割り当てるタイミングメカニズムを使用する方法であるが、他の好適な相関法を使用してもよい。
【0015】
図2Bに示すように、一般的な走査動作の結果、各2D画像16に一致した向き(回転角度)情報18及び位置情報20を有する2D画像16のセットが生じる。3Dモデリングシステム21は、図2Cに示すように全ての2D画像16を単に3D空間内で併合させることによってこれらの要素から固体の3D表現31を構築する。(「3D表現31」は図2Cではディスプレイ上の画像として示されているが、「3D表現31」は実際はコンピュータのメモリ内にあるデータ構造のセットであり、3D表現がコンピュータによって「レンダリングされ」、続いて表示された後に画像として認識可能になる。)
【0016】
図1に示すように、本明細書に開示されるソフトウェアは、データソースモジュール22、フレーム作成モジュール24、テクスチャマッピングモジュール26、回転変換モジュール28及び平行移動変換モジュール30といった5つのモジュールを含む。これらのモジュールは協力して個々の2D画像16、向き18及び位置の値20をソース解剖構造の3D表現31に変換し、この3D表現31をホストコンピュータシステム32(図2C)でレンダリングし、操作することができる。これらのモジュールの各々を以下に詳しく説明する。モジュールの数は論述のために任意に選択したものであり、本明細書に記載の概念を限定せずに組み合わせてより小さな数にしたり、拡張してより大きな数にしてもよい。
【0017】
1. データソースモジュール
図1に示すように、データソースモジュール22はホストシステムの走査部分と角度センサ部分に仮想化インタフェースを提供する。データソースモジュールは、超音波スキャニング装置10からスライス画像データ14を受信し、必要に応じて画像データをテクスチャマッピングのために最適化したフォーマットに変換する役割を果たす。好適な実施の形態では、スキャニング装置によってエクスポートされた所有者のフォーマットから、テクスチャマップ用のMicrosoft Windows(登録商標)Direct3Dサブシステムが受け入れ可能な標準のWindows(登録商標)ビットマップフォーマットに画像を変換することができる。また、画像スライス12のサイズ変更、切取又は色補正を行ってテクスチャマッピングに適したものにする必要がある場合、データソースモジュール22は画像スライス14の正規化や変換を行う役割も果たす。例えば、データソースモジュールは、画像をオリジナルのグレースケール表現に変換することができる。最後に、データソースモジュール22は、角度センサ6によって送信された向きデータ18を受信して正規化(場合によっては補間)し、回転角度を個々のスライス画像に割り当て、位置決定システムから位置決め情報20を受信して正規化する役割を果たす。また、データソースモジュールは、各画像の位置及び角度に関連する単位測定値を必要に応じて変換する。
【0018】
好適な実施の形態において、データソースモジュール22は向きデータ18、位置決めデータ20及び超音波2D画像16のデータを受信する。これらのデータがデータソースモジュール22に達するまでに、本発明を下位モジュールとして接続することのできるデータ処理ソフトウェアシステムの他の場所でこれらのデータを既に取得し、使用することができる。よって、好適な実施の形態では、数多く記載されている汎用的な従来技術を用いてデータソースモジュール22を拡張し、ソースハードウェアデバイスからホストコンピュータ32(図2C)内のシリアル接続やネットワーク接続を介してデータを取得することはもちろん可能であるが、データソースモジュール22をこれらのタスクと直接関連させる必要はない。むしろ、好適な実施の形態では、データソースモジュール22は、ホストソフトウェアシステムとインターフェースすること、このホストソフトウェアシステムからデータを取得すること、他のモジュールによる消費にふさわしいフォーマットにデータを変換すること、そして要求があり次第このデータを他のモジュールに分配することのみに関連する必要がある。
【0019】
ホストソフトウェアシステムとのインタフェースは、他のモジュールとのインタフェースと同様に、明瞭な周知の方法を用いて全ての構成要素を標準のC++オブジェクトとして実行することにより達成される。データソースモジュール22はホストソフトウェアシステムの周知の方法を呼び出すことによってそのホストソフトウェアシステムからデータを抽出し、続いて、他のモジュールはデータソースモジュール22の周知の方法を呼び出すことによってそのデータをデータソースモジュール22から検索する。内部で、ホストソフトウェアシステムと他のモジュールとの間のギャップを埋めるためには、データソースモジュール22はホストソフトウェアシステムから抽出された角度データを°単位の角度からラジアン単位の角度に変換し、標準のWindows(登録商標)ビットマップヘッダを各2D画像16に加えるだけでよい。
【0020】
向き18及び位置データ20が実際に取得された態様に関するハードウェア特有の詳細を、データソースモジュール22内の他のモジュールから「隠す」ことができる。よって、本明細書に開示される3Dモデリングシステム21は、単にこの1つのモジュールを変えることにより、実質的に任意のタイプのデータ取得ハードウェアを用いたイメージングシステムとの互換性をもたせることができる。上記の論述は一例として超音波画像を用いているが、種々のコンピュータシステム及びオペレーティングシステムで使用できる形式にデータを変換するのに必要な操作に小さな変更を適宜行うことにより、他のタイプの画像を用いることができる。
【0021】
2.フレーム作成モジュール
好適な実施の形態において、フレーム作成モジュール24(図5)は、連続的なビットマップ2D画像16を向き18や位置決め情報20と共にデータソースモジュール22から受信することができる。フレーム作成モジュール24は、ビットマップ2D画像16が構築中の3Dモデル内でマップされる表面(平面フレーム)を作成する役割を果たす。
【0022】
好適な実施の形態において、被検者の組織上のプローブ4の動作範囲はx軸及びz軸を中心とする回転に限られているため、z軸に平行なベクトルを各ビットマップ画像の一方の上方の角(upper corner)に通すことができる。図4Aに示すように、この角は基準点34になり、各フレームはフレーム作成モジュール24によってこの点を中心に構築される。基準点34は、実際には各フレーム上の任意の点であってよい。好適な実施の形態では、計算を簡単にし、各2D画像16と関連させる必要のある追加のデータ量を最小にするためだけに、各フレームで同一の隅点を選択している。そして、前述のように、画像取得の際にx軸、y軸及びz軸を中心とする自由な回転を可能にする実施の形態を実施することができる。この実施には、追加の情報を伝達するために各2D画像16に関連する向き18(回転)及び位置決めデータ20のパケットに対して行う小さな修正と、追加の軸角度センサが必要なだけである。
【0023】
図4Aは、矩形の平面フレーム36の各面には同一平面上の頂点が4つ必要であることを更に示している。基準点34の頂点を、モデルが構築されている3次元座標系の起点に割り当てることができる。他の3つの頂点は、平面フレーム36の相対的な寸法がソース画像の相対的な寸法と一致するように基準点34の頂点に相対して配置されることができる。
【0024】
好適な実施の形態において、(3Dモデリングシステム21は、例えばOpenGLを利用するUNIX(登録商標)システムなど、異なるオペレーティングシステムや3Dサブシステムを用いる他のタイプのコンピュータシステムでも作動するが、)3Dモデリングシステム21は、Microsoft Windows(登録商標)のパソコン上で実行し、Microsoft(登録商標) Direct3Dという3Dサブシステムによって提供されるサービスを利用することができる。Direct3Dは矩形のプリミティブ(primitives)をサポートしない。そのため、好適な実施の形態において、フレーム作成モジュール24は、4つの頂点のセットから2つの隣接する三角形のプリミティブ36a、36bを作成することにより、各ビットマップ画像に対して矩形の平面フレーム36を作成することができる。
【0025】
平面フレームを「両面」から眺められるように、一般に平面フレームの両面にテクスチャを施す必要がある。このことを容易にするために、同一の物理的位置にある4つの頂点に2つの更なる三角形を(逆の順序で)マップし、平面フレーム36の「裏面」38を作成することができる。もちろん、モデルを「裏面」から眺める必要がない場合や、使用されている3Dサブシステムがテクスチャをマップした表面を表や裏から観察することを生来サポートするものである場合、1つの平面フレーム、即ち「前面」36のみを作成すればよい。(そして、引き続きテクスチャを施せばよい。)
【0026】
平面フレームの作成を達成する方法は、使用されている3Dサブシステムに依存する。Direct3Dの場合、テクスチャマッピング座標を組み込んだカスタム頂点フォーマットを作成することができる。一般的なテクスチャ座標は、左から右、そして上から下に [0.0乃至1.0]の範囲内にある。図6に示すように、前面の平面フレーム36である「矩形」を構成する4つの頂点に座標を貼り付けてもよい。そして、平面フレーム38の「裏」を矩形にするために、同一の物理的位置にある4つの頂点の座標を図6に示すように「逆の順序」でマップすることができる。
【0027】
3Dモデリングにおけるこのタイプの平面フレーム作成は、3Dコンピュータモデリングの分野では通常の技量内である。代表的なモデリング技術は、開示内容が本明細書に援用されているピーター・ウォルシュ(Peter Walsh)、エイドリアン・ペレス(Adrian Perez)の「DirectX 8.0を用いた高度な3Dゲームプログラミング(Advanced 3-D Game Programming using DirectX 8.0)」(ワードウェアパブリッシング社(Wordware Publishing, Inc.)、2001年)を含む多くの参考文献に述べられている。上記の論述はこのような平面フレームの作成を達成することのできる態様の一例にすぎず、このような平面フレーム36、38を作成する他の方法は無数にある。前述のように、同等の結果をもたらす他のオペレーティングシステムや3Dサブシステムを使用してもよい。
【0028】
ビットマップ画像をフレーム作成モジュール24に通すたびに、図4a及び図6に示す(4つの三角形プリミティブ36a、36bから構築された)両面の矩形平面フレーム36、38が最終的な結果として得られる。
【0029】
3.テクスチャマッピングモジュール
テクスチャマッピングモジュール26は、連続的なビットマップ2D画像16を、これらのためにフレーム作成モジュール24によって構築された平面フレーム36、38と共に受信する。テクスチャマッピングモジュール26は、各ビットマップ2D画像16をその平面フレーム36に適用する役割を果たす。
【0030】
テクスチャマッピングとは、2Dグラフィック画像を「テクスチャ」として3D多角形面に「貼り付ける」プロセスである。テクスチャマッピングのための効率的な技術は、前述のウォルシュ/ペレスの参考文献のように従来技術に多く記載されている。テクスチャマッピングは一般に、レンダリングされたオブジェクトに更なる視覚的な現実感を与えるように3Dのアプリケーションにおいて使用される。例えば、石細工パターンのビットマップ画像を3Dシーン内の表面に貼り付け、この表面を石垣のように見せることができる。テクスチャマッピングは、3D表面の形状及び眺める角度を考慮してグラフィックを貼り付けたその表面上でグラフィックが正しく見えることを確実にするように、座標のマッピング、マトリックスによる伸縮(matrix-driven stretch)、そして横ずれ変換(shear transformations)を含む複雑なプロセスである。このようなテクスチャマッピングは3Dグラフィックスにおいて一般的に使用されているため、実質的に全ての市販のパソコン用3Dビデオアクセラレータボードが、非常に速い速度でテクスチャマッピングを直接行うことのできるハードウェア回路を特徴としている。このようなビデオアクセラレータボードの代表的な例としてはNVIDIA GeForce4 Ti 4600及びATI Radeon Rage 128ビットGLが挙げられるが、後述するように、このようなボードの使用が必ずしも必要というわけではない。
【0031】
コンピュータのビデオアクセラレータボードのテクスチャマッピング回路と直接インターフェースすることのできるDirect3Dサービスの存在下で、3Dモデリングシステム21の好適な実施の形態をMicrosoft Windows(登録商標)で実行することができる。高度に最適化されたDirect3Dシステムソフトウェアは、このようなビデオアクセラレータボード回路がなくても必要に応じてテクスチャマッピングを行うことができる。従って、本明細書に記載のソフトウェアはテクスチャマッピングの作業を行う必要が殆どない。テクスチャマッピングモジュールのソフトウェアは、各平面フレーム36の前面を画定する頂点の各々に適切なテクスチャ座標を割り当てるだけでよく、これにより、各ビットマップ画像を左端から右端、そして最上端から最下端までその平面フレーム36にマップすることができ、よって、フレームの一部分を切り取ったり(cropping)、包んだり(wrapping)、カバーされていない状態のままにしたりせずに、フレーム前面全体を正確にカバーすることができる。同様に、各平面フレーム38の裏面を画定する頂点の各々にテクスチャ座標を割り当てることができ、これにより、同一のビットマップ画像の鏡像が平面フレーム38の裏面を完全にカバーするようにマップされる。
【0032】
図4Bに示すように、フレーム作成モジュールにおいて作成された平面フレーム36、38と共にビットマップ(又は他の適切なフォーマットの)画像をテクスチャマッピングモジュールに通すたびに、3D空間の両面2Dグラフィック平面フレーム40が最終的な結果として得られる。
【0033】
4.回転変換モジュール
回転変換モジュール28は、テクスチャマッピングモジュール26によって構築された連続的な両面2Dグラフィック平面フレーム40を、グラフィック平面フレーム40の向き(回転)情報18と共に受信する。回転変換モジュールは向き情報18を使用して、3D空間の各グラフィック平面フレーム40を3つの構成要素軸に関連して回転させ、適切に配向する。
【0034】
前述のように、各平面フレーム36を座標軸の起点で固定基準点34を用いて構築することができる。この基準点34は「ピボット」として作用することができ、グラフィック平面フレーム40はこれを中心に回転される。また、前述のように、好適な実施の形態では各平面フレーム36は2自由度しかもたず、x軸及びz軸を中心に回転できるがy軸を中心に回転することができない。よって、仮想3D空間における各グラフィック平面フレーム40の配向は、適切な4×4マトリックスを構築して指定されたz軸回転角度(図4Cのθ)だけz軸を中心に点を回転させ、各フレームの頂点にこのマトリックスを掛け、次いで新しい4×4マトリックスを構築し、指定されたx軸回転角度(図示せず)だけx軸を中心に点を回転させ、各フレームの頂点にこのマトリックスを掛ければいいだけのことである。このような回転マトリックスの構築に関連する数学的計算は従来技術に多く記載されており、当業者には周知のはずであるため、ここでは論じない。
【0035】
他の実施の形態では、各平面フレームは3自由度を有することができるが、それでもモデル構築の構造はほぼ同一である。共通の基準点が各平面フレーム上の同じ場所(一般にコーナー)において選択されるが、任意の点を用いることができる。この基準点34を、回転のためのピボット、そして全てのオフセット位置値のオフセット点として用いることができる(後述の転位変換モジュールにおいて実施)。次いで、データソースモジュール22は各グラフィック平面フレーム40の向き情報18(x回転、y回転、z回転)と位置情報20(x、y及びzオフセット)を適切に関連づける。他の画像操作は全て前述の通りに達成される。マトリックスの深さに対する変更はない。各平面フレーム上の異なる場所で基準点を用いたり、ピボット及びオフセット点のための異なる基準点を用いたりすることができるが、これによってプログラムが複雑になる。
【0036】
グラフィック平面フレーム40をテクスチャマッピングモジュール26から回転変換モジュール28に通すたびに、図4Cに示す適切に配向されたグラフィック平面フレーム40が最終的な結果として得られる。
【0037】
5.転位変換モジュール
一般に、転位変換モジュール30は、適切に配向された連続的な2Dグラフィック平面フレーム40をフレームの位置決め情報20と共に回転変換モジュール28から受信する。転位変換モジュール30は位置決め情報20を使用し、各グラフィック平面フレーム40を仮想3D空間内の基準点34から適切にオフセットするか又は転位する(translate:平行移動する)。
【0038】
前述のように、好適な実施の形態では、各グラフィック平面フレーム40を座標軸の起点でピボットコーナー(基準点34)を用いて構築することができる。グラフィック平面フレーム40が回転変換モジュール28を通過した後、このピボットコーナー(基準点34)を起点で固定したままにすることができる。好適な実施の形態において、位置(オフセット)情報20はこのコーナーに対して指定される。ピボットコーナー(基準点34)以外の点をピボット点やオフセット点として使用できるが、便宜上、そして計算を簡単にするためにコーナーを選択する。
【0039】
位置(オフセット)情報20を[x,y,z]ベクトルの形で転位変換モジュール30に提供することができる。いくつかの実施の形態では、超音波画像スライス14を一定の速度で取得し、患者の皮膚表面12の輪郭に対するプローブ4の移動を一定に保つことができるため、各オフセットベクトルの長さは同じままのはずであり、これによって計算が簡単になる。しかし、他の実施の形態では、計算をわずかに複雑にするだけで各ベクトルの各成分を独立して変化させることができる。グラフィック平面フレーム40を3D空間内の正しい位置にオフセットするために、転位変換モジュール30は指定されたオフセットベクトルから4×4転位マトリックスを構築することができる。次いで、フレームの頂点の各々に転位マトリックスを掛けることができる。オフセットベクトルからの転位マトリックスの構築に関連する数学的計算及びプログラミングは従来技術に多く記載されており、当業者には周知のはずであるため、ここでは論じない。
【0040】
一連の画像がx軸に沿った単一の行に集められると仮定すると、行がまっすぐな場合x軸オフセットは0.0(又は他の非変更値)である。行がまっすぐでない場合、各平面フレーム上の共通基準点34に対する各グラフィック平面フレーム40のx軸オフセット情報を集めることが必要になり、フレーム転位モジュール30は各グラフィック平面フレーム40のx軸オフセットベクトルを構築することができる。一面の組織の画像が画像の2以上の行に集められると仮定すると、フレーム転位モジュールは各グラフィック平面フレーム40のx軸オフセット情報を取得し、これらの2以上の行から「組み合わせて」3Dモデルを生成することができる。各2D画像16の向き18と位置情報20が十分に得られれば、これらの行が実質上平行である必要はない。しかし、モデルをほぼ完全にカバーするために、2D画像16の複数行のエッジは互いに接触するか重複すべきである。後述するレンダリングエンジンは、モデル構築の際にあらゆる重複を処理することができなければならない。
【0041】
グラフィック平面フレーム40を回転変換モジュールから転位変換モジュールに通すたびに、図4Dに示す適切に位置決めされたグラフィック平面フレーム40が最終的な結果として得られる。z軸は図4Dに示されていないが、適切なオフセットベクトルを用いてグラフィック平面フレーム40をz軸で転位することができる。
【0042】
6.モデルのレンダリング
前述の技術を用いてモデルを構築した後、3Dサブシステム及び/又は3Dハードウェアによって処理される標準のレンダリング技術を用いてモデルをレンダリングすることができる。これらのレンダリング技術及び装置は当該技術において周知であり、現在販売されている実質的に全てのパソコンの一部をなしているため、これらをここで詳細に説明する必要はない。一般的なレンダリング技術を広く記載した参考文献は、開示内容が本明細書に援用されるジェームズ・ディー・フォーリーら(James D. Foley et al.)のコンピュータ・グラフィックス:原理と実践(Computer Graphics: Principles and Practice)(アディソン−ウェスリー・パブリッシング・カンパニー(Addison-Wesley Pub. Co.)、第2版、1995年)であるが、他の参考文献も多数ある。3Dモデリングシステム21の好適な実施の形態はパソコンで実行するように設計されているが、十分な容量とレンダリングソフトウェア/ハードウェアを有する実質的にいかなるタイプのデータ処理装置も使用可能である。
【0043】
本明細書に開示される3Dモデリングシステムは、容易に利用可能な3Dアクセラレータカードに組み込まれた機能を使用することによって2D画像スライスのセットから固体の3D表現を構築する従来技術の実用上の欠点に対処するものである。パソコン及びワークステーションに組み込まれたほぼ全ての現行の3Dアクセラレータカードは「テクスチャマッピング」(即ち、2Dビットマップの画像を多角形のメッシュにマップして多角形を包み込み、視覚的にリアルなテクスチャを写真のようにリアルな3Dシーンのレンダリングに加えることのできる技術)のための専用ハードウェア回路を特徴としている。本明細書に開示される3Dモデリングシステムは、3Dボリュームを3Dボクセルのセットとしてモデル化するのではなく、この高性能ハードウェアを強化し、3Dボリュームを(各々がソース2D画像によってテクスチャされた)両面2D矩形フレームのセットとしてモデル化するものである。厳密に言って、この技術の結果はピクセルをボクセルにマップすることと同一ではない。なぜなら、各テクスチャエレメント(「テクセル」)は3Dモデル内でも2次元のままであるためである。しかし、ソース画像スライスが比較的互いに近接しており、全ての3つの軸に対して互いに平行なわけではない場合、ビジュアリゼーションは概して非常に高品質のものである。また、パソコンでのモデリング及びレンダリングのパフォーマンスは一般にこのモデリング技術を用いたものが卓越している。
【0044】
3Dモデリングシステムの他の利点は、テクスチャのある矩形表面が使用されている場合、「裏面の除外(culling)」(観察者に面していないテクスチャ表面をレンダリングプロセスから除去すること)をレンダリング及び実時間モデル回転の際に非常に迅速に行うことができ(この除外は一般にアクセラレータ回路内の高速の専用ハードウェアにおいて行うことができる)、はるかに優れたモデルディスプレイパフォーマンスに貢献できることである。対照的に、このような回路は一般に、ボクセルを用いて構築される3Dモデルに使用される「点」に対しては裏面の除外を行うことができない。なぜなら、この回路は、一般に三角形などの基本的な表面構築物に対する裏面の除外に限られているためである。
【0045】
7.精査方法
好適な実施の形態の1つの効用は医学的な診断の分野にある。前述の技術を用いてモデルを構築した後、モデルをレンダリングし、次いでモデルを見て操作し、構造を確認して癌などの病状を診断することができる。例えば、乳房の画像を取得し、前述の技術によってモデルを構築し、次いでモデルをスクリーンへとレンダリングして眺め、癌や他の病状を調べたり診断したりすることができる。任意のタイプの一連の断面画像を使用でき、任意のタイプの組織や材料が可能である。乳房組織の超音波画像を一例として論述したが、3Dモデリングシステム21は人間の組織や医学的な診断に限定されず、2D断面画像から構築されたいかなる3Dモデルにも下記の精査方法を用いることができる。
【0046】
超音波画像を取得し、撮像されている乳房の忠実で正確な3Dモデルに変換することができる。モデルの構造により、一般に利用可能なパソコンベースの3Dグラフィックボードでの迅速なレンダリングが容易になる。モデルをあらゆる角度から眺めることができるように、任意の組合せの軸を中心とする任意の回転をマウスで(又は、キーボード制御やビューワインタフェースに組み込まれたボタンを用いて)行うことができる。スクリーン上でモデルを更に大きなサイズか更に小さなサイズで見ることができるように、モデル(及びモデルの視点)のサイズを変更することができる。これらの能力によって乳房モデルのエッジに沿った異常を容易に眺めることができるのに対し、個々の超音波フレームが一度に1つずつ「正面から(head on)」しか眺められない場合は、これらの異常を見つけることは非常に困難な場合がある。
【0047】
更に、本発明によって構築されるモデルは、モデル化された組織の深くにある異常の検出を容易にする多くの操作に適している。このような操作の1つは「クリッピング面」に依存する。まず、モデルがスクリーン上で所望の向きに回転される。モデルが1秒につき多くの回数でレンダリングされると、正面円錐台形のクリッピング面がモデルを通過するように(スクリーンに平行なまま)進められる。クリッピング面がモデル内に通されるにつれ、クリッピング面とビューワとの間のモデルの全ての部分が除去され、モデル内の徐々に増す深さの断面ディスプレイが可能になる。このようにして、モデル化された組織の内部をあらゆる角度から、あらゆる深さで眺めることができる。これにより、他の方法では(1つの特定の方向からしか眺められなかった際に)検出を逃れた可能性のある異常や構造をはっきりと見ることができる。クリッピング面を用いる際、モデルを回転させてモデルを「彫る(sculpt)」こともできる。
【0048】
更に他の操作は透明度に依存する。本明細書に開示される3Dモデリング技術は2Dテクスチャマッピングに依存するため、アルファチャンネルを用いて、モデルを含む画像フレームの透明度及び部分透明度(別名では「透光度」として公知である)を可能にすることができる。基本的には、レンダリングの際、一定のピクセルが表示されるか、完全に消されるか、又はモデル内のこれらのピクセルの「後ろにある」ピクセルと部分的に混合されるようにモデルテクスチャが操作される。更に、混合されたピクセルの色を操作して深さの外観(appearance)を高めたり、他の視覚的なキュー(cue)を提供することができる。透明度及び透光度によってモデルを外側から眺めることができるが、更にモデルの「内部」の構造も見ることができる。部分透明度を利用して視点をモデル内に動的に移動させることさえ可能であり、モデルの「フライスルー(fly through)」を行うことができる。この「フライスルー」の際に視点の角度を動的に変更することもできるため、ユーザは精査の際に観察される対象領域に「飛んで行く(fly to)」ことができる。このことにより、モデル化されている構造の「ビュー(視点)」の更に他のセットが提供され、また、超音波データを眺める標準的な技術では眺めるのが難しい場合がある異常を検出する医者の能力が更に高められる。
【0049】
重要なことに、透光度を組み込んだビューの効用を最適化するために、好適な実施の形態は出願人に既知である多数の従来技術からかなり逸れた技術を使用している。アルファチャンネルは、各色要素のデータ記憶領域を1ビット以上拡張してアルファチャンネル情報を色データと関連させることにより、3Dグラフィックスサブシステムにおいて実施される。色要素が3Dグラフィックスサブシステムによってレンダリングされる際、より十分に後述するように、その色を(先行する空間的に「より深い」色要素の処理によって)既に3Dサブシステムの深さバッファ内にある色値に加えることによって(その色のアルファ値によって制御される程度に)「混合する」ことができる。この結果は最終的にスクリーンに表示され、その点において要素の部分透明度の外観を生じることになる。
【0050】
好適な実施の形態において、各モデルフレーム上の各テクセル(テクスチャエレメントであり、テクスチャマップ画像上のピクセルと本質的に同等)の実際の色データは256の可能なグレースケール値のうちの1つである。下記の論述はテクセルに当てはまるが、3Dテクスチャマッピング以外の環境に使用されるビットマップ画像に同一の技術を使用することができ、そのような場合、ピクセルはテクセルと同等である。よって、モデルは、アルファバイト(8ビット又は256の異なる可能な値)をモデルの各フレーム上の各テクセルと関連させるようにして作成される。透光度が使用可能な場合、ユーザは標準のユーザインターフェース機構(即ち、例えばWindows(登録商標)の標準トラックバー制御)によって( [0−255]を含む範囲内の)「閾」値を選択するか、又は予め設定された閾値を使用することができる。次いで、各テクセルのアルファ値を以下のように計算する。
【0051】
各テクセルの特定の色値を最大色値(255)から引き、計算値を生じる。この計算値は255といった色値が0を生じるようなものであり、後続の色値の減少は計算値の増加に関連する。次に、各計算値を閾値と比較する。計算値が閾値よりも大きい(又は閾値に等しい)場合、そのテクセルのアルファ値を255に設定する(これにより、テクセルは基礎となる3Dサブシステムによって完全に不透明なものとしてレンダリングされる)。計算値が閾値よりも小さい場合、ユーザが選択可能な値か又は予め設定された値(8、16及び32のような、2の累乗で処理を若干速める合理的な除数)で計算値を割る。その結果生じる数はテクセルの計算アルファ値になる。テクセルのアルファ値をこのような方法で計算することにより、徐々に色の明るくなるテクセルが透明度を増しながら(非線形に)レンダリングされ、遂には、ある値を越えた特に明るい色のテクセルが全くレンダリングされなくなる(しかし、テクセルがレンダリングから完全になくなるのを防ぐためだけに、ある小さな値、例えば1や2をアルファ値の「下限とする(floored)」場合、視覚的により満足度の高い結果がレンダリングされることがたまにある)。このような透光度の実施により、結果として生じたディスプレイに視覚的な深さのキューがより良く保存される一方で、より明るい色の「ノイズ」をフレームから多量に除去し、レンダリングされたモデルの「中を」はっきりと眺めることができる。
【0052】
アルファ値が計算されている際にコントラストを高めるために、(グレースケールデータがテクセル毎にいくつかの色要素として実際に符号化された場合)テクセルの色データのカラー要素のうち1つ以上を変えることができる。例えば、計算されたアルファ値が255未満のテクセルでは、ユーザが選択可能な値か又は予め設定された値(結果として生じる要素値が最大で255まで)を緑と赤の色要素に掛け、徐々に透明度が増すピクセルを徐々に「黄色」にする。これにより、レンダリングにおいて変更されていない不透明なグレースケールピクセルの見かけ上のコントラストが高められる傾向にあり、また、深さのキューが更に増加する。特定のテクセルの色値が閾値を下回る場合、コントラストや他のビューパラメータ(例えば輝度やガンマ)を操作するために多数の他の数学的な操作を任意の色要素に対して行うことができる。
【0053】
好適な実施の形態は256のグレースケール値を使用しているが、他の数のグレースケールを用いてモデルの構築やレンダリングを行うことができ、前述の操作技術は色データに対しても同様に効果的に機能する。
【図面の簡単な説明】
【0054】
【図1】構成モジュールの各々を示す3Dモデリングシステムのブロック図である。
【図2A】角度センサが取り付けられており、オブジェクトの上を通過してそのオブジェクトの一連の画像スライスを捕捉するプローブを示す図である。
【図2B】得られた順に配置された、関連する向き情報及び位置情報を伴う一連の画像スライスを示す図である。
【図2C】初めに得られた角度で配置された一連の画像スライスを示す図である。
【図3】3Dコンピュータモデリングのためにオブジェクトを走査する際の物理的な空間における(z軸に沿った)画像スライス捕捉方向を示す図である。
【図4A】前面の矩形平面画像フレームと裏面の矩形平面画像フレームを示す図である。
【図4B】平面フレームにテクスチャがマップされた画像を示す図である。
【図4C】3D空間のある向きに回転されたグラフィック平面フレームを示す図である。
【図4D】3D空間のある位置に転位されたグラフィック平面フレームを示す図である。
【図5】超音波スキャニング装置及び角度センサに取り付けられたプローブを示す図であり、超音波スキャニング装置及び角度センサはパーソナルコンピュータシステムに接続されている。
【図6】平面フレームの「前面」及び「裏面」双方の一般的なフレーム頂点座標を示す図である。

【特許請求の範囲】
【請求項1】
相互の空間関係を有する複数の2D断面のデータ画像から仮想3D表現を構築するコンピュータベースの3Dモデリングシステムであって、
前記相互の空間関係に従って前記複数のデータ画像の各々の向き情報及び位置決め情報を有する前記複数の2D断面のデータ画像を抽出できるデータソースモジュールと、
前記データソースモジュールから前記複数のデータ画像の各々の平面フレームを作成することのできるフレーム作成モジュールと、
前記データソースモジュールからの前記複数のデータ画像の各々を、前記フレーム作成モジュールからの対応平面フレーム上にテクスチャとしてマップすることができるテクスチャマッピングモジュールと、
前記向き情報を使用して、前記テクスチャマッピングモジュールからの各平面フレームを前記向き情報に従って仮想3D空間内で1つ以上の軸を中心に回転させることができる回転変換モジュールと、
前記位置決め情報を使用して、前記テクスチャマッピングモジュールからの各平面フレームを仮想3D空間内で前記位置決め情報に従って転位させることができる転位変換モジュールと、
を含むコンピュータベースの3Dモデリングシステム。
【請求項2】
前記転位変換モジュールが、前記テクスチャマッピングモジュールから前記回転変換モジュールを介して各平面フレームを受信する、請求項1のコンピュータベースの3Dモデリングシステム。
【請求項3】
前記データソースモジュールが、前記複数の2D断面のデータ画像をグレースケール表現に変換することができる、請求項1のコンピュータベースの3Dモデリングシステム。
【請求項4】
前記データソースモジュールが、各2D断面のデータ画像に関連する前記向き情報を、その本来の角度測定単位からラジアンに変換することができる、請求項1のコンピュータベースの3Dモデリングシステム。
【請求項5】
前記データソースモジュールが、各2D断面のデータ画像に関連する前記位置決め情報を、その本来の測定単位から1ミリメートルの分数に変換することができる、請求項1のコンピュータベースの3Dモデリングシステム。
【請求項6】
前記フレーム作成モジュールが、2つの隣接する三角形プリミティブから各平面フレームを作成することができる、請求項1のコンピュータベースの3Dモデリングシステム。
【請求項7】
前記平面フレームが両面平面フレームである、請求項1のコンピュータベースの3Dモデリングシステム。
【請求項8】
前記テクスチャマッピングモジュールが、各2D断面のデータ画像を対応する平面フレームの各面にテクスチャとしてマップすることができる、請求項7のコンピュータベースの3Dモデリングシステム。
【請求項9】
前記テクスチャマッピングモジュールが、前記平面フレームの各々の各面に関連する前記テクスチャを設定し、前記フレームのいずれかの部分を切り取ったり、包んだり、カバーされていない状態のままにしたりせずに前記フレームの各面全体に正確にはめこむことができる、請求項8のコンピュータベースの3Dモデリングシステム。
【請求項10】
前記フレーム作成モジュールが4つの三角形プリミティブから各平面フレームを作成することができ、前記4つの三角形プリミティブのうちの2つは前記フレームの一方の面を構成し、残りの2つは前記フレームの他方の面を構成する、請求項7のコンピュータベースの3Dモデリングシステム。
【請求項11】
前記データソースモジュールとデータ通信を行う超音波スキャニング装置を有するデータソースを更に含む、請求項1のコンピュータベースの3Dモデリングシステム。
【請求項12】
前記データソースが、前記超音波スキャニング装置に連結された位置決定装置及び回転角度センサを更に含む、請求項11のコンピュータベースの3Dモデリングシステム。
【請求項13】
前記データソースインタフェースが、前記複数の2D断面のデータ画像を標準ビットマップフォーマットに変換する、請求項1のコンピュータベースの3Dモデリングシステム。
【請求項14】
コンピュータベースの仮想3D表現の生成方法であって、
複数の2D断面のデータ画像を各データ画像の向き情報及び位置決め情報と共に得ることと、
各データ画像の平面フレームを作成することと、
各データ画像を対応する平面フレームにテクスチャとしてマップすることと、
前記向き情報を用いて各平面フレームを仮想3D空間内で1つ以上の軸を中心に回転させることと、
前記位置決め情報を用いて各平面フレームを仮想3D空間内で転位させることと、
を含む前記方法。
【請求項15】
請求項14の方法に従って生成されるコンピュータベースの3D表現の精査方法であって、
回転され、転位された複数のフレームをスクリーン上で仮想3D表現として表示することと、前記仮想3D表現の回転、クリッピング面を用いての前記仮想3D表現内への進入、前記仮想3D表現の透明度の調節、前記仮想3D表現の透光度の調節、前記仮想3D表現をスクリーン上で表すのに用いられるピクセルの色の調節、前記仮想3D表現をスクリーン上で表すのに用いられるピクセルのコントラストの調節、前記仮想3D表現の輝度の調節、前記仮想3D表現のガンマの調節、前記仮想3D表現のサイズ変更、前記仮想3D表現内への視点の動的な転位、及び前記仮想3D表現に相対する前記視点の動的な移動のうちの1つ以上を用いて前記仮想3D表現を精査することと、
を含む前記方法。
【請求項16】
各データ画像が複数のピクセルを含み、
個々のピクセルのアルファ値を操作することによって透光度を調節することを更に含み、この調節は、ピクセルの特定の色値の取得、閾値の選択、前記特定の色値から最大色値を引くことによる計算値の計算、前記計算値と前記閾値との比較、及び前記最大色値に等しい前記アルファ値の設定、又は、前記計算値が前記閾値未満の場合は選択された値で前記計算値を割ったものに等しいアルファ値の設定を含む、請求項14の方法。
【請求項17】
個々のピクセルの前記色値を操作することによってコントラストを調節することを更に含み、この調節は、前記最大色値未満の計算アルファ値を有するピクセルの少なくとも1つの色要素を数学的に変更することを含む、請求項16の方法。
【請求項18】
各データ画像は複数のピクセルを含み、
個々のピクセルのアルファ値を操作することによって透光度を調節することを更に含み、この調節は、そのピクセルの特定の色値の取得、閾値の選択、前記特定の色値から最大色値を引くことによる計算値の計算、前記計算値と前記閾値との比較、及び前記最大色値に等しい前記アルファ値の設定、又は、前記計算値が前記閾値よりも大きい場合は選択された値で前記計算値を割ったものに等しいアルファ値の設定を含む、請求項14の方法。

【図1】
image rotate

【図2A】
image rotate

image rotate

【図3】
image rotate

image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2006−502508(P2006−502508A)
【公表日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2004−543666(P2004−543666)
【出願日】平成15年10月8日(2003.10.8)
【国際出願番号】PCT/US2003/032163
【国際公開番号】WO2004/034224
【国際公開日】平成16年4月22日(2004.4.22)
【出願人】(505133559)ソノシン インコーポレイテッド (1)
【Fターム(参考)】