"対象物に対する模擬スキャナの位置に関連する複数のデータ値を受け取り、前記複数のデータ値に基づいて、複数の画像値をほぼリアルタイムで計算し、前記複数の画像値に基づいて、グラフィックディスプレイに模擬超音波画像のレンダリングを行い、前記模擬超音波画像が、超音波走査平面上の前記対象物の内部及び模擬される内部の1つを表すようにした方法。前記レンダリングはステンシルバッファアルゴリズムによって実行される、請求項1に記載の方法。前記対象物に対する前記模擬スキャナの位置及び向きの1つが、走査平面及びレンダリング方向を規定する、請求項1に記載の方法。前記複数のデータ値は前記対象物のポリゴンモデルに関連している、請求項1に記載の方法。前記模擬超音波画像のレンダリングを行う際に、グラフィックプロセッサのステンシルバッファに対して、前記複数のデータ値からの第1の組のデータ値についてレンダリングを行うこと、及び、前記グラフィックプロセッサのフレームバッファに対して、前記複数のデータ値からの第2の組のデータ値についてレンダリングを行うことを含み、前記第1の組のデータ値及び前記第2の組のデータ値が前記対象物のポリゴンモデルに関連している、請求項1に記載の方法。グラフィックプロセッサのステンシルバッファに対して、第1の組のデータ値についてレンダリングを行い、前記グラフィックプロセッサのフレームバッファに対して、第2の組のデータ値についてレンダリングを行い、超音波走査平面上の対象物の内部及び模擬される内部の1つに関連するピクセル値の組を特定するために、排他的論理和XORを、前記第1の組のデータ値に適用することを含み、前記第1の組のデータ値及び前記第2の組のデータ値が前記対象物のポリゴンモデルに関連するようにした方法。前記排他的論理和は、ステンシルバッファアルゴリズムによって前記第1の組のデータ値及び前記第2の組のデータ値に適用される、請求項6に記載の方法。前記第1の組のデータ値及び前記第2の組のデータ値は、前記対象物に対する模擬スキャナの位置及び向きの少なくとも1つに基づく、請求項6に記載の方法。前記対象物が模擬身体部分である、請求項6に記載の方法。前記対象物の移動に基づいて前記第1の組のデータ値及び前記第2の組のデータ値を更新することを更に含む、請求項6に記載の方法。前記対象物が模擬身体部分であり、前記移動は、前記模擬身体部分の生理学的特性に基づく模擬的な移動である、請求項10に記載の方法。前記移動が前記対象物の操作に基づく、請求項10に記載の方法。対象物に対する模擬スキャナの位置に関連する第1の組のデータ値を受け取り、前記対象物に対する前記模擬スキャナの位置に関連する、前記第1の組のデータ値とは異なる第2の組のデータ値を受け取り、前記対象物の内部及び模擬される内部のうちの1つに関連するピクセル値の組を特定するために、ステンシルバッファアルゴリズムによって、前記第1の組のデータ値及び前記第2の組のデータ値に対して排他的論理和XORを適用し、ステンシルバッファに対して、前記第1の組のデータ値に関連するポリゴンモデルのレンダリングを行い、フレームバッファに対して、前記第2の組のデータ値に関連する前記ポリゴンモデルのレンダリングを行うことを含む方法。前記フレームバッファに対して前記ポリゴンモデルのレンダリングを行う際に、前記ステンシルバッファをマスクとして使用することを含む、請求項13に記載の方法。プロセッサに処理を実行させるための命令を表すコードを記憶しているプロセッサ可読媒体であって、前記コードは、対象物に対する模擬スキャナの位置に関連する複数のデータ値を受け取り、前記複数のデータ値に基づいて、複数の画像値をほぼリアルタイムで計算し、前記複数の画像値に基づいて、グラフィックディスプレイに模擬超音波画像を描画するためのコードを有しており、前記模擬超音波画像が、超音波走査平面上の前記対象物の内部及び模擬される内部のうちの1つを表しているプロセッサ可読媒体。前記コードは、前記対象物の内部及び模擬される内部のうちの1つに関連するピクセル値の組を特定するために、ステンシルバッファアルゴリズムによって、第1の組のデータ値に排他的論理和XORを適用し、グラフィックプロセッサのステンシルバッファに対して、前記複数のデータ値からの第1の組のデータ値についてレンダリングを行い、前記グラフィックプロセッサのフレームバッファに対して、前記複数のデータ値からの第2の組のデータ値についてレンダリングを行うためのコードを有しており、前記第1の組のデータ値及び前記第2の組のデータ値が前記対象物のポリゴンモデルに関連している、請求項15に記載のプロセッサ可読媒体。プロセッサに処理を実行させるための命令を表すコードを記憶しているプロセッサ可読媒体であって、前記コードは、グラフィックプロセッサのステンシルバッファに対して、第1の組のデータ値についてレンダリングを行い、前記グラフィックプロセッサのフレームバッファに対して、第2の組のデータ値についてレンダリングを行い、超音波走査平面上の対象物の内部及び模擬される内部のうちの1つに関連するピクセル値の組を特定するために、排他的論理和XORを前記第1の組のデータ値に適用するためのコードを有しており、前記第1の組のデータ値及び前記第2の組のデータ値が前記対象物のポリゴンモデルに関連しているプロセッサ可読媒体。前記対象物の移動に基づいて前記第1の組のデータ値及び前記第2の組のデータ値を更新するコードを更に有する、請求項17に記載のプロセッサ可読媒体。前記対象物は模擬身体部分であり、前記コードは、前記模擬身体部分の生理学的特性に基づく移動に基づいて、前記第1の組のデータ値及び前記第2の組のデータ値を更新するコードを更に有する、請求項17に記載のプロセッサ可読媒体。前記対象物の操作に基づいて前記第1の組のデータ値及び前記第2の組のデータ値を更新するコードを更に有する、請求項17に記載のプロセッサ可読媒体。公知の超音波シミュレータで使用される画像は、生きた患者で行われた実際の超音波により記録された静止画像である。シミュレーションに先立って、複数の画像が様々な深度及び位置で取得され、模擬プローブの操作に基づくシミュレーション中での、後の検索用にその目録が作成される。このようなシミュレータの大きな不具合は、動的な状況例えば心臓の鼓動、呼吸運動、器官の触診などのシミュレーションを行えないことである。静止画像は、マネキンの状態すなわち、マネキンが呼吸をシミュレートしているか、使用者がマネキンを触診するかどうかなどと無関係に、同じように再生される。他の公知のシミュレータでは、実際の超音波画像に基づく、独立した静的な3次元画像モデルを生成することができる。しかし、このようなモデルの表示は、超音波シミュレータの使用に基づくものではない。このため、リアルタイムでの動的なモデルに基づいて超音波画像を生成できる超音波シミュレーション装置及び方法が求められている。対象物に対する模擬スキャナの位置に関連するデータ値を受け取ることを含む方法が開示される。このデータ値に基づいて、画像値がほぼリアルタイムで計算される。この画像値に基づいて、模擬超音波画像がグラフィックディスプレイにレンダリング描画される。この模擬超音波画像は、対象物の内部又は模擬される内部を表している。別の実施形態では、方法は、グラフィックプロセッサのステンシルバッファに対して、ポリゴンモデルに関連する第1の組のデータ値を書き込んで描画するステップと、グラフィックプロセッサのフレームバッファに対して、ポリゴンモデルに関連する第2の組のデータ値を書き込んで描画するステップとを有する。排他的論理和XORアルゴリズムを使用して、超音波走査平面上の対象物の内部及び模擬される内部の1つを表現するために、一組のピクセル値が特定される。模擬超音波画像は、ステンシルバッファに書き込まれるデータ値に基づいて、グラフィックディスプレイに描画される。このステンシルバッファは、超音波走査平面上の対象物の内部又は模擬される内部を表すピクセルのみを、フレームバッファに対して積極的に書き込んで描画させるのを支援するマスクとして機能する。対象物に対する模擬スキャナの位置に関連するデータ値を受け取ることを含む方法が開示される。このデータ値に基づいて、画像値がほぼリアルタイムで計算される。この画像値に基づいて、模擬超音波画像がグラフィックディスプレイに描画される。模擬超音波画像は、対象物の内部又は模擬される内部を表している。ほぼリアルタイムで計算するという文言は、シミュレーションのリフレッシュレートよりも速い速度で、グラフィックディスプレイ上で模擬超音波画像を更新するという意味に用いられる。このため、模擬スキャナがスキャンされる対象物上を通る際に、殆ど遅れなしに、あるいは全く遅れることなく画像が更新される。このほぼリアルタイムで計算するという文言は、例えば、予め記憶されている一連の画像をデータベースから読み込むことを含まない。更に、動的に更新されるという文言は、スキャン走査される対象物の操作及び/又は模擬スキャナの操作に基づいて、グラフィックディスプレイの模擬超音波画像を更新することを指す。例えば、スキャン中の対象物の操作には、対象物、つまり、呼吸のシミュレーション又は拍動のシミュレーションなどによる物理的変形をシミュレートする対象物の触診が含まれる。また模擬スキャナの操作には、例えば、スキャナを揺り動かすことや、スキャナの視野角を変更することなどが含まれる。図1は、本発明の一実施形態による超音波シミュレーション装置の概略図である。この装置10は、プロセッサ30に接続された模擬スキャナ20を含む。プロセッサ30は、ディスプレイ40に信号を出力するように構成される。対象物50は、対象物50の状態、及び対象物50に対するスキャナ20の位置に基づいて信号を送受信するプロセッサ30に接続されており、以下に記載する通りである。模擬スキャナ20は、対象物50を実際にはスキャンしないという意味においてシミュレート模擬される。以下に詳述するように、ディスプレイ40上の画像は、対象物50に対する模擬スキャナ20の位置に基づいて出力され、対象物50の実際のスキャンに基づくものではない。換言すれば、模擬スキャナ20については、一部の実施形態では動作機能をもつ超音波スキャナであってもよいが、超音波シミュレーション装置10の一部としてスキャン機能を実行するものではない。超音波シミュレーション装置の別の実施形態では、模擬スキャナ20は模擬されたスキャナであって、該スキャナが使用されるシステムを問わず、スキャン機能を発揮する能力はない。対象物50は、身体の一部又は全身を表すことができる。この対象物50は、実際の身体部分であってもよいし、模擬的な身体部分であってもよい。対象物50が実際の身体部分であるか、模擬的な身体部分であるかを問わず、対象物50は実際にスキャンされないため、対象物50がプロセッサ30からの出力に影響を与えることはない。対象物50は、人体の形をしたマネキン又は同様の物体とされる。ディスプレイ40への模擬超音波画像の出力は、対象物50の形状又は他の物理的特性に依存しない。換言すれば、この出力が人体内部の模擬表現となるように、対象物の形状が人体を表現する必要はない。超音波シミュレーション装置10は、複数の動作モードを有することができ、一実施形態では、1つの対象物50例えば1つの箱を使用して、複数の身体部分を表現することができる。例えば、ある動作モードでは、対象物50は身体の胴体上部を表し、表示画像は胴体上部の内部例えば心臓、肺などに関連する。第2の動作モードでは、対象物は身体の胴体下部を表すことができ、表示画像は、胴体下部例えば胃、肝臓などに関連する。換言すれば、超音波シミュレーション装置10の動作モードに従って、対象物50の1つの位置を、異なる画像に関連させることができる。一部の実施形態では、対象物50が身体部分とは関連しない。例えば、対象物50は、現実の物品又は模擬物品を内部に収容できる枠箱又は模擬的な枠箱であってもよい。ディスプレイ40はプロセッサ30に接続され、対象物50に対する模擬スキャナ20の位置に関連したデータ値に基づいて、模擬超音波画像例えば図2参照を出力するように構成される。プロセッサ30は、例えば、市販のパーソナルコンピュータでもよいし、1つ以上の特定の処理を実行する専用の、より単純な演算や処理を行う装置でもよい。例えば、プロセッサ30は、対話式のバーチャルリアリティ仮想現実環境を提供するための専用端末例えばゲームシステムなどであってもよい。本発明の1つ以上の実施形態によれば、プロセッサ30は市販のマイクロプロセッサでも構わない。これに代わって、プロセッサ30は、特定用途向け集積回路ASIC又はASICを組み合せたものであってもよく、これらは、1つ以上の特定の機能を実現するか、又は1つ以上の特定の装置又はアプリケーションを可能とするように設計される。更に別の実施形態では、プロセッサ30は、アナログ回路又はデジタル回路、あるいは複数の回路を組み合せたものであってもよい。プロセッサ30は、メモリコンポーネント図1には示していないを有する。このメモリコンポーネントには、1種類以上のメモリが含まれる。例えば、メモリコンポーネントには、読み取り専用メモリROMコンポーネント、及びランダムアクセスメモリRAMコンポーネントがある。また、メモリコンポーネントは、プロセッサ30によって読み出し可能な形式のデータを記憶させるのに好適な、別の種類のメモリを含むことができる。メモリコンポーネントの内部には、電子的にプログラム可能な読み出し専用メモリEPROM、消去可能で電子的にプログラム可能な読み出し専用メモリEEPROM、フラッシュメモリや、他の好適なメモリを含んでもよい。また、プロセッサ30は、装置10の所望の機能に応じて、他の様々な構成要素、例えばコプロセッサ、グラフィックプロセッサなどを含むことができる。プロセッサ30は、メモリコンポーネントと通信して、メモリコンポーネントにデータを記憶し、またメモリコンポーネントに予め記憶されているデータを取り出すことができる。プロセッサ30のコンポーネントは、入出力I/Oコンポーネント図1に示していないによって、プロセッサ30の外部のデバイスと通信することができる。本発明の1つ以上の実施形態によれば、I/Oコンポーネントは、各種の好適な通信インターフェースをもつことができる。例えば、I/Oコンポーネントは、標準的なシリアルポートやパラレルポート、ユニバーサルシリアルバスUSBポート、S-ビデオポート、広域ネットワークlargeareanetwork:LANポート、小型コンピュータシステムインターフェースSCSIポートなどの、有線式接続を有し得る。更に、I/Oコンポーネントは、例えば、赤外線ポート、光ポート、Bluetooth登録商標無線ポート、無線LANポートなどの無線式接続を有してもよい。プロセッサ30は、対象物50や模擬スキャナ20に信号を送信し、これらから信号を受信するように構成される。プロセッサ30は、対象物50に対する模擬スキャナ20の位置に関連するデータ値を受信する。この位置信号は、模擬スキャナ20又は対象物50の一方から受信される。例えば、模擬スキャナ20の位置は、所定の基準点からの相対的な距離及び方向として測定される。この基準点は、対象物50の表面又はその内部の点であってもよく、また装置10の別の位置にあってもよい。例えば、対象物50が支持体図示せずに配置される構成の場合に、基準点は支持体の上に設定できる。別の実施形態では、対象物50に対する模擬スキャナ20の位置を検出するように構成されたセンサ又は複数のセンサ図示せずを、対象物に設けることができる。あるいはまた、対象物50は、模擬スキャナ20に位置信号を送信して対象物50に対する模擬スキャナ20の位置情報を決定するための無線式又は有線式の送信機図示せずを有してもよい。対象物50に対する模擬スキャナ20の位置を、ディスプレイ40上に出力される画像に対して現実的な意味で関連付けることが望ましい。例えば、対象物が模擬人体である場合、ディスプレイ40に出力される画像は、スキャナ20の位置に対応した、体内の関連する部分でなければならない例えば、模擬スキャナ20が心臓の模擬される場所に置かれた場合、心臓の画像がディスプレイ40に出力される。模擬スキャナ20がある位置から別の位置に移動されると、ディスプレイ40に出力される画像が、後述するように、ほぼリアルタイムで動的に更新される。本発明の一部の実施形態では、模擬スキャナ20は固定位置に設けられており、対象物50が模擬スキャナ20に対して移動可能である。本明細書で模擬スキャナ20の移動を話題にする場合、この移動は、対象物50に対する相対的な運動のことである。模擬スキャナ20に対する対象物50の移動は、模擬スキャナ20が移動する場合に生成されるのと同様の出力をもたらす。プロセッサ30は、対象物50に対する模擬スキャナ20の位置に関連するデータ値に基づいて、ほぼリアルタイムで画像値を計算する能力をもつ。計算された画像値に基づいて、模擬超音波画像が、ディスプレイ40に視覚的に描画される。模擬超音波画像は、超音波走査平面上の対象物50の内部又は模擬される内部を表している。換言すれば、表示される模擬超音波画像が、超音波シミュレーション装置10と共に使用する対象物50の実際の内部を表現している場合に、模擬超音波画像は、対象物50の実際の内部を表すことになる。図3を参照すると、模擬スキャナ20が対象物50の近くに置かれた場合に、走査平面が、対象物50に対するスキャナ20の位置及び向きの少なくとも1つに基づいて規定される。ステンシルバッファ又はフレームバッファに対する画像レンダリング処理中に、レンダリング方向が、超音波走査平面に対してほぼ直交するように規定される。模擬超音波画像のレンダリングは、最初に、OpenGL登録商標又はDirectX登録商標などのコンピュータグラフィック言語に基づいて、ステンシルバッファアルゴリズムによって実行できる。図4は、排他的論理和XORステンシルバッファアルゴリズムが、走査平面上でのスキャン対象物の内部を表現するピクセルを如何にして特定するかを示す。スキャン対象物を表現するポリゴンモデルの一部が、プロセッサ30に記憶されている。走査平面が、XORアルゴリズムを使用してステンシルバッファに対してモデルをレンダリング処理するためのファークリッピング平面として使用される場合に、走査平面上のスキャン対象物の内部を表現するピクセルのみが奇数回書き込まれる。例えば、図4を参照すると、線a、b、c、d、eに対応するステンシルバッファ中のピクセルは、それぞれ0、2、3、1、2回書き込まれる。ピクセルcとピクセルdは、奇数回書き込まれるため、これらは、走査平面上のスキャン対象物の内部に含まれるピクセルとして特定される。模擬スキャナ20が対象物50の切断図すなわち走査平面と平行な面に直交するように、表示画像に対応する様々なポリゴンモデルが定義される。例えば、ポリゴンモデルが、以下のステンシルバッファ設定でステンシルバッファに書き込まれて描画される。glClearStencil0x0;glClearGL_STENCIL_BUFFER_BIT;glStencilFuncGL_NEVER,0x1,0x1;glStencilOpGL_INVERT,GL_KEEP,GL_KEEP.断面として表現されるすなわち、対象物50のスキャンされる模擬的な内部の可視部分を有するピクセルは、ステンシルバッファ行列で1の値をもつ。次に、マスクとして使用できるステンシルバッファを用いて、ポリゴンモデルがフレームバッファへのレンダリングが行われる。ステンシルバッファ値が1のピクセルは書き込まれるが、ステンシルバッファ値が0のピクセルはマスクされ、すなわち書き込まれないように阻止される。超音波像のテクスチャがこのレンダリングの段階で使用されて、描画される画像に、より現実に近い外観を与える。例えば、このテクスチャは、実際の超音波画像から得ることができる。ステンシルバッファは、例えば、以下の設定で使用可能となる。GlEnableGL_STENCIL_TEST;glStencilFuncGL_NOTEQUAL,0x0,0x1;glStencilOpGL_KEEP,GL_KEEP,GL_KEEP.そして、表示画像の内部及び境界の計算に基づいて、超音波の扇状マスクが、ステンシルバッファとフレームバッファに対して描画される。上記の方法を使用して、ほぼリアルタイムで更新される模擬超音波画像が描画される。模擬スキャナ20の位置が変化するにつれて、画像が動的に変化する。あるいは、対象物50の移動又は対象物50の模擬的な移動に基づいて画像が動的に更新される一方で、模擬スキャナ20の位置はそのまま維持される。例えば、人体を表すマネキンは、人間の呼吸機能及び心機能をシミュレートするように構成することができる。このため、心臓又は肺のスキャンを行う場合に、模擬スキャナ20の位置が対象物50に対して変化しないにもかかわらず、模擬超音波画像は、スキャン対象である、動く器官の模擬的な運動に伴って変化することになる。また、対象物50を物理的に移動してもよい。例えば、対象物50が触診シミュレータとして使用される場合、使用者が対象物50を押すと、スキャン中の模擬的な器官はその形状が変化する。従って、模擬超音波画像が、対象物50と模擬スキャナ20との間の距離の変化に基づいて更新される。触覚フィードバック装置を組み込んだ触診シミュレータについては、2001年5月4日に出願された米国特許出願第09/848,966号明細書に記載されており、これは本明細書にその全てが参照により援用される。結論本発明の各種の実施形態を上に記載したが、これらは例として採り上げたに過ぎず限定を意図しないことを理解すべきである。このため、本発明の範囲及び領域は、上記の実施形態のいずれかに限定されることはなく、請求項とその均等物のみによって規定される。上記した各種実施形態は、全ての当業者が、本発明を実施し又は使用することができるように記載されている。本発明については、特にその実施形態を参照して詳細に示すと共に記載したが、本発明の趣旨及び範囲から逸脱することなく、形状及び詳細を様々に変更できることは、当業者であれば理解できるであろう。例えば、模擬スキャナ20は、対象物50の外にあると説明したが、別の実施形態では、模擬スキャナが内部スキャナであって、対象物に挿入されてもよい。またプロセッサ30は、模擬スキャナ20及び模擬身体部分に対して直接的に接続されるように上記で説明したが、別の実施形態では、プロセッサが、ネットワークを介して超音波シミュレーション装置10に接続されてもよい。前述の装置は模擬的な身体部分と共に使用されるが、別の実施形態では、装置が、箱や枠箱などの対象物の模擬スキャンに使用される。"