IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝メディカルシステムズ株式会社の特許一覧

<>
  • 特許-医用画像処理装置及び医用画像診断装置 図1
  • 特許-医用画像処理装置及び医用画像診断装置 図2
  • 特許-医用画像処理装置及び医用画像診断装置 図3
  • 特許-医用画像処理装置及び医用画像診断装置 図4
  • 特許-医用画像処理装置及び医用画像診断装置 図5
  • 特許-医用画像処理装置及び医用画像診断装置 図6
  • 特許-医用画像処理装置及び医用画像診断装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-09
(45)【発行日】2023-06-19
(54)【発明の名称】医用画像処理装置及び医用画像診断装置
(51)【国際特許分類】
   A61B 6/03 20060101AFI20230612BHJP
   A61B 5/00 20060101ALI20230612BHJP
   A61B 5/055 20060101ALI20230612BHJP
   A61B 8/14 20060101ALI20230612BHJP
   G01T 1/161 20060101ALI20230612BHJP
   G06T 15/04 20110101ALI20230612BHJP
   G06T 15/08 20110101ALI20230612BHJP
【FI】
A61B6/03 360G
A61B5/00 G
A61B5/055 380
A61B6/03 360E
A61B6/03 360Q
A61B8/14
G01T1/161 D
G06T15/04
G06T15/08
【請求項の数】 20
(21)【出願番号】P 2019022879
(22)【出願日】2019-02-12
(65)【公開番号】P2019146962
(43)【公開日】2019-09-05
【審査請求日】2021-12-22
(31)【優先権主張番号】15/906,664
(32)【優先日】2018-02-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】594164542
【氏名又は名称】キヤノンメディカルシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】マグナス ワレンバーグ
(72)【発明者】
【氏名】ロス デイヴィス
【審査官】蔵田 真彦
(56)【参考文献】
【文献】米国特許出願公開第2008/0094411(US,A1)
【文献】特開2015-095259(JP,A)
【文献】特開2017-131349(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 5/055、6/00-6/14、8/00-8/15
G06T 11/00-11/40、15/00-17/00、17/10-17/30
(57)【特許請求の範囲】
【請求項1】
少なくとも一つのデータセットを記憶する第一の記憶部と、
複数のチャンネルを有するアトラステクスチャを記憶する第二の記憶部と、
チャンネル重み及び/又は数的オフセット値に対応する変換ベクトルに従って前記少なくとも一つのデータセットに含まれる第一の領域の第一のデータ値を第二のデータ値に変更し、前記第一の領域を、前記アトラステクスチャに含まれる、前記第一の領域に対応する第二の領域に対してアップロードし、前記アトラステクスチャの前記第二の領域に対してアップロードされた前記第一の領域の前記第二のデータ値を格納し、前記変換ベクトルを使用して前記第二のデータ値を前記第一のデータ値に再構成する処理部と、
を具備する医用画像処理装置。
【請求項2】
前記第一の記憶部は、医用画像処理装置が具備する中央処理装置のメモリの一部分であり、
前記第二の記憶部は、医用画像処理装置が具備するグラフィックス処理回路(GPU)のグラフィックメモリの一部分である、
請求項1記載の医用画像処理装置。
【請求項3】
前記少なくとも一つのデータセットは、医用撮像装置を用いて収集された医用画像であり、
前記第一の領域は、前記医用画像のレンダリングにおいて用いられるデータに対応し、
前記処理部は、前記第一の領域に関連する前記第二の領域をサンプリングして、前記医用画像の全体が前記第二の記憶部において格納されることなく、前記第二の領域に対応するディスプレイ用の画像をレンダリングする、
請求項1又は2記載の医用画像処理装置。
【請求項4】
前記少なくとも一つのデータセットは、第一のデータタイプに対応する第一のデータセットと、前記第一のデータタイプとは異なる第二のデータタイプに対応する第二のデータセットと、を具備し、
前記処理部は、前記第一のデータタイプのための前記変換ベクトルに従って、前記第一のデータセットの前記第一のデータ値を変更し、前記アトラステクスチャの前記第の領域において前記第一のデータセットを格納し、前記第二のデータタイプのための前記変換ベクトルに従って、前記アトラステクスチャの前記第の領域において前記第二のデータセットを格納するものであって、異なるデータタイプを、同じアトラステクスチャにおいて格納する、
請求項1乃至3のうちいずれか一項記載の医用画像処理装置。
【請求項5】
前記第一のデータタイプ及び前記第二のデータタイプは、8ビットデータのデータ、符号無し16ビットデータ、符号付き16ビットデータのいずれかである請求項4記載の医用画像処理装置。
【請求項6】
前記アトラステクスチャは、単一のデータタイプのデータであり、
前記少なくとも一つのデータセットの前記第一の領域は、異なるデータタイプに対応し、
前記処理部は、前第一の領域の前記変更において、前記第一の領域の前記データタイプを前記アトラステクスチャへと変換する、
請求項1乃至5のうちいずれか一項記載の医用画像処理装置。
【請求項7】
前記処理部は、前記変換ベクトルを用いる前記変換において、前記第二の領域の少なくとも一つのチャンネルに対して、前記変換ベクトルの個別のチャンネル重みによって前記チャンネル或いは各チャンネルにおいて前記変更されたデータを増加させること、及び前記変換ベクトルの個別の数的オフセット値によって前記チャンネル或いは各チャンネルにおいて前記変更されたデータをオフセットすること、のうちの少なくとも一方を実行する請求項1乃至6のうちいずれか一項記載の医用画像処理装置。
【請求項8】
前記処理部は、
a)前記第二の領域をサンプリングし且つ前記変換ベクトルを使用して前記アトラステクスチャにおける少なくとも一つのサンプル点を変換し、前記サンプリングにおいて線形補間を実行して、少なくとも一つのサンプル点を取得すること、
b)前記変換ベクトルとして、チャンネル重みT及びT及び数的オフセットTを有するベクトルを用いること、
のa)及びb)のうちの少なくとも一方を実行し、
前記少なくとも一つのサンプル点は、前記アトラステクスチャの第一のチャンネルの第一のサンプルS atlas及び前記アトラステクスチャの第二のチャンネルの第二のサンプルS atlasを具備し、
前記第一の領域の一つのサンプルSsourceは、以下の式を用いて取得されたものである、
【数1】
請求項1乃至7のうちいずれか一項記載の医用画像処理装置。
【請求項9】
前記処理部は、
a)前記第二の記憶部における前記変換ベクトルを格納すること、
b)変換表における前記変換ベクトルを格納すること、
a)及びb)のうちの少なくとも一方を実行する請求項1乃至8のうちいずれか一項記載の医用画像処理装置。
【請求項10】
前記処理部は、
前記第一の領域の前記第一のデータ値の前記変更において、各第一のデータ値を、前記第二の領域の第一のチャンネルにおけるデータ値及び前記第二の領域の第二のチャンネルにおけるデータ値へと分解し、
前記アトラステクスチャは、第一のビット数を有するデータであり、
前記第一の領域の前記第一のデータ値は、前記第一のビット数に比して大きい第二のビット数を有し、
前記第一のチャンネルにおけるデータ値及び前記第二のチャンネルにおけるデータ値はそれぞれ前記第一のビット数を有する、
請求項1乃至9のうちいずれか一項記載の医用画像処理装置。
【請求項11】
前記アトラステクスチャは、第一のビット数を有し、
前記第一の領域の前記第一のデータ値は、前記第一のビット数より大きな第二のビット数を有し、
前記処理部は、前記変換ベクトルの数的オフセット値に従って前記第一のデータ値をオフセットし、前記第一のデータ値の可逆圧縮を実行することにより、前記第一のデータ値を前記第二のデータ値に変換する、
請求項1乃至9のうちいずれか一項記載の医用画像処理装置。
【請求項12】
a)前記アトラステクスチャは、第一のビット数を有するデータ及び、前記第一のビットに比して大きい第二のビット数を有する前記第一の領域の前記第一のデータ値を含むこと、
b)前記処理部は、数的オフセット要素によって前記第一のデータ値をオフセットし、且つスケーリング要素によって前記第一のデータ値を増加させ、前記第一のデータ値の不可逆圧縮を実行することにより、前記第一のデータ値を前記第二のデータ値に変換すること、
c)前記処理部は、エントロピー、組織分類、ゲイズのうちの少なくとも一つに基づいて、前記第一の領域の不可逆圧縮を選択すること、
のうち、a)、b)及びc)のうちの少なくとも一つを有する、
請求項1乃至9のうちいずれか一項記載の医用画像処理装置。
【請求項13】
a)前記第一の領域は符号付きデータ値を具備し、前記処理部は、前記第一の領域の前記符号付きデータ値の前記変更において、前記符号付きデータ値を符号無しデータ値へと転換し、前記データ値をオフセットすること、
b)前記処理部は、更なる変換ベクトルを格納することにより、前記アトラステクスチャの前記第二の領域における定数データの領域を格納し、前記更なる変換ベクトルは、ゼロに等しい少なくとも一つのチャンネル重みを具備し、前記処理部は、前記変換ベクトルを、前記ゼロのチャンネル重み又は複数の重みによって前記第一のデータ値を増やすことにより定数データ値を取得するために、前記第二の領域において格納された前記第一のデータ値へと適用すること、
のうち、a)及びb)のうちの少なくとも一方を有する、
請求項1乃至11のうちいずれか一項記載の医用画像処理装置。
【請求項14】
前記第二の記憶部は、
a)その少なくとも一部は、グラフィックカードに対応すること、
b)パラレル補間操作を実行すること、
c)前記第一の記憶部に比べて容量が小さいこと、
a)、b)、c)のうちの少なくとも一つを有する、
請求項1乃至13のうちいずれか一項記載の医用画像処理装置。
【請求項15】
前記少なくとも一つのデータセットは、第一のデータタイプに対応する第一のデータセットと、前記第一のデータタイプとは異なる第二のデータタイプに対応する第二のデータセットと、を具備し、
a)前記第一のデータタイプは、前記第二のデータタイプとは異なるビット数を有すること、
b)前記第一のデータタイプは、8ビットデータ、前記第二のデータタイプは16ビットデータ、であること、
c)前記第一のデータタイプは符号付き、前記第二のデータタイプは符号無し、であること、
d)前記第一のデータタイプ及び前記第二のデータタイプのうちの少なくとも一方は、浮動小数点であること、
e)前記第一のデータタイプ及び前記第二のデータタイプのうちの少なくとも一方は、符号付き或いは符号無しの整数タイプであること、
f)前記第一のデータタイプ及び前記第二のデータタイプのうちの少なくとも一方は、固定点リアルタイプであること、
g)前記第一のデータタイプ及び前記第二のデータタイプのうちの少なくとも一方は、カラータイプであること、
h)前記第一のデータセットは、第一の撮像モダリティを用いて取得された第一の撮像データに対応し、前記第二のデータセットは、前記第一の撮像モダリティとは異なる第二の撮像モダリティを用いて取得された第二の撮像データに対応すること、
のうち、a)からh)までの少なくとも一つを含む、
請求項1記載の医用画像処理装置。
【請求項16】
前記少なくとも一つのデータセットは、画像データ、MRIデータ、CTデータ、PETデータ、SPECTデータ、X線データ、超音波データ、セグメンテーションデータ、のうちの少なくとも一つを有する請求項1乃至15のうちいずれか一項記載の医用画像処理装置。
【請求項17】
前記処理部は、前記少なくとも一つのデータセットから画像をレンダリングするレンダリング処理において、
前記第二の領域における前記第二のデータ値をサンプリングし、
前記変換ベクトルを使用して前記第二のデータ値を前記第一のデータ値に変換し、
MPR処理、CPR、輝度投影ボリュームレンダリング、影付きボリュームレンダリング、ボリュームレンダリングに基づいたグローバルイルミネーション、マルチモダリティフュージョンレンダリング、のうちの少なくとも一つを実行する、
請求項1乃至16のうちいずれか一項記載の医用画像処理装置。
【請求項18】
前記処理部は、
a)前記アトラステクスチャにおいて、第一のデータタイプを有する第一の複数の領域及び第二のデータタイプを有する第二の複数の領域を格納し、前記アトラステクスチャにおいて格納された、前記第一の複数の領域及び前記第二の複数の領域の相対的サイズを、時間とともに変化させること、
b)異なるチャンネルに前記第一の領域及び少なくとも一つの更なる領域を格納し、前記アトラステクスチャの前記第二の領域における前記少なくとも一つのデータセットの前記少なくとも一つの更なる領域を格納すること、
c)更なるアトラステクスチャにおける前記少なくとも一つのデータセットの更なる領域を格納すること、
a)からc)までのうちの少なくとも一つを実行する、
請求項1記載の医用画像処理装置。
【請求項19】
a)単一の前記アトラステクスチャは、第一のユーザに対する第一の複数の領域を格納し、且つ異なるユーザに対する第二の複数の領域を格納する、よう構成されている、
b)単一の前記アトラステクスチャは、第一のアプリケーションにおける使用のために第一の複数の領域を格納し、且つ異なるアプリケーションにおける使用のために第二の複数の領域を格納する、よう構成されている、
c)データは、先の使用統計に基づいて、前記アトラステクスチャへと前もって搭載される、
a)からc)までのうちの少なくとも一つを有する、
請求項1記載の医用画像処理装置。
【請求項20】
少なくとも一つのデータセットを記憶する第一の記憶部と、
複数のチャンネルを有するアトラステクスチャを記憶する第二の記憶部と、
チャンネル重み及び/又は数的オフセット値に対応する変換ベクトルに従って前記少なくとも一つのデータセットに含まれる第一の領域の第一のデータ値を第二のデータ値に変更し、前記第一の領域を、前記アトラステクスチャに含まれる、前記第一の領域に対応する第二の領域に対してアップロードし、前記アトラステクスチャの前記第二の領域に対してアップロードされた前記第一の領域の前記第二のデータ値を格納し、前記変換ベクトルを使用して前記第二のデータ値を前記第一のデータ値に再構成する処理部と、
を具備する医用画像診断装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、医用画像処理装置及び医用画像診断装置に関する。
【背景技術】
【0002】
いくつかのデータ処理方法において、グラフィック処理ユニット(GPU)は、例えば医用撮像スキャナから取得されたボリューメトリック撮像データ等、ボリューメトリックデータのボリュームレンダリングを実行するために使用される。
【0003】
GPUボリュームレンダリングは、例えばマルチプラナリフォーマット(MPR)、影付きボリュームレンダリング(SVR)、輝度投影(IP)或いはスラブレンダリング等、標準的なボリュームレンダリング技法を促進するために、GPUの利用を伴うことがある。
【0004】
典型的なGPUは、異なる入力に何度も、同時に同じ計算が走ることを許可する並列アーキテクチャを有する。例えば、GPUは、各ピクセル位置で同じアルゴリズムを適用することにより、一度に画像の全てのピクセルを計算することが出来る。
【0005】
また典型的なGPUは、グラフィックカードに位置することがある、専用のグラフィックメモリを有する。典型的なGPUによって操作されるべきデータにとって、係るデータは、専用グラフィックメモリにアクセス可能でなければならない。入力データは、入力データが操作されるべくグラフィックカードへとアップロードされる。
【0006】
GPUは、例えば一次元(1D)、二次元(2D)、或いは三次元(3D)テクスチャ等の場合がある、テクスチャを格納する。各エレメント(1Dテクスチャの場合に)、ピクセル(2Dテクスチャの場合に)、或いはボクセル(3Dテクスチャの場合に)は、ある程度予め定めたビット深さの多数のチャンネルを有することがある。例えば、GPUは、各エレメントに対して、ピクセル又はボクセルが四つの8ビットチャンネルを有する、テクスチャを格納することが出来る。この8ビットチャンネルは、赤、緑、青、α(R9G8B8A8)として呼ばれることがある。
【0007】
「画像」との用語は、既知の次元(例えば、1D、2D、3D)を有するピクセル或いはボクセルのアレイを意味する場合がある。一般的に、画像は、既知のサイズ及びフォーマットを有する。
【0008】
テクスチャは、一つ又はそれ以上の画像のためのコンテナであると考えることが出来る。テクスチャは、特定のデータフォーマット或いはレイアウトを有することがある。例えば、テクスチャは明確な次元(1D、2D、或いは3D)を有する場合がある。テクスチャは、例えばチャンネルの固定数やタイプ等、明確なチャンネルレイアウトを有することがある。テクスチャは、明確なサイズを有することもある。
【0009】
テクスチャの特徴は、テクスチャを含むことが出来るような、画像を制限(規定)する場合がある。例えば、テクスチャの特徴は、画像がテクスチャにおいてどの様に配置されるのか、テクスチャにおいて含まれることが出来るような画像のサイズ、テクスチャにおいて含まれることが出来るような画像のフォーマット、を決定することがある。
【0010】
テクスチャの定義は、例えば、次のようなところで見つけることが出来る。OpenGL wiki (https://www.khronos.org/opengl/wiki/Texture)、Cuba programming guide (http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#device-memory-accesses)、そしてTexture Mapping chapter of the OpenGL red book (http://www.glprogramming.com/red/chapter09.html)。
【0011】
GPUは、キャッシング(caching)と専用の補間ハードウェアを使用することにより、テクスチャのサンプリングを素早く作ることが出来る。典型的には、テクスチャからサンプリングする際に、GPUは線形補間を非常に素早く実行する能力がある。個別のテクスチャサンプルはキャッシュされるので、結果後続のフェッチ(fetch)が非常に速い。
【0012】
従来的なボリュームレンダリングは、ボリュームテクスチャとしてGPUの専用メモリへと、全体的なボリュームをアップロードすることを含む場合がある。
【0013】
大きなボリュームを使用することは、益々一般的になりつつある。例えば、医用撮像の場合において、解像度の増した医用スキャナでは、非常に大きな撮像ボリュームになることがある。いくつかのボリュームは、あまりにも大き過ぎて、GPUの専用グラフィックメモリへとそのボリューム全体を適合させることが出来ないことがある。
【0014】
また、マルチユーザエンタープライズシステムを操作することも、一般的になりつつある。係るマルチユーザエンタープライズシステムにおいて、計算リソースは、多数のユーザ間で共有することが出来る。状況次第で、マルチユーザエンタープライズシステムは、単一のユーザシステムに比べて、より制限されたメモリバジェットを有することがある。
【0015】
GPUレンダリングは、環境の変化にも適用する必要がある場合がある。
【0016】
データをGPUへとアップロードする際に、バーチャルテクスチャリング(virtual texturing)を行うことが知られている。バーチャルテクスチャリングは、単一のフレームをレンダリングするために、GPUに関して留めることが出来るデータの量を減らすことがある。
【0017】
図1は、ソーステクスチャ10からのデータが、GPUのアトラステクスチャ20において格納される、バーチャルテクスチャリング法を表すダイヤグラムの概要である。なお、本実施形態におけるアトラスとは、例えば、複数の画像の情報を一つの画像にまとめたものであり、複数のデータを保存するために2つのチャンネルに8ビットの異なる形式のデータを保存できる形式のデータを意味する。なお、アトラスに保存される(変換前の)元のデータは、必ずしも同一部位のデータである必要はない。
【0018】
ソーステクスチャ10及びアトラステクスチャ20は、図1において個別のボックスによってそれぞれ表されている。
【0019】
図1の例において、ソーステクスチャ10は、大きなテクスチャである。例えば、ソーステクスチャ10は、アトラステクスチャ20が格納される、GPUのグラフィックメモリにおいて適合するには、あまりにも大きすぎるテクスチャの場合がある。
【0020】
ソーステクスチャ10は、ブロックス或いはブリックスとも呼ぶことが出来る複数の領域12へと分割される。図1の例において、領域は全て、例えば立方体等、同じサイズ及び形状である。領域は、図1に正方形として示されている。
【0021】
アトラステクスチャ20は、ソーステクスチャ20に比べて小さい。アトラステクスチャ20は、ソーステクスチャ10と同じデータタイプを格納するよう構成されている。
【0022】
アトラステクスチャ20は、例えば立方体領域等、領域22へと分割される。図1の例において、領域22は、ソーステクスチャ10の領域と同じようなサイズ及び形である。
【0023】
前計算は、フレームと呼ぶことも出来る、所定の画像をレンダリングするために、必要であるソーステクスチャ10の領域12を、処理回路が前計算する時に実行される。
【0024】
多くの場合、ソーステクスチャ10の一部分のみが、所定のフレームをレンダリングするために必要とされることがある。一つの例で、ソーステクスチャ10において表された一つの特徴のみが関心領域であり、そしてその他の特徴はレンダリングから除去することが出来る。別の他の例において、ソーステクスチャ10に表されたいくつかの特徴は、フレームがレンダリングされる予定である観察点から見ることは出来ない。それは、いくつかの特徴はその他の特徴によって塞がれてしまっているからである。係る塞がれた特徴を表す領域は、レンダリングから省略することが出来る。
【0025】
図1の例において、関心領域14は、ソーステクスチャ10において決定される。係る関心領域14は、ソーステクスチャ10に重複する、輪郭の描かれたボックスにより、図1において示される。
【0026】
関心領域14の範囲内に少なくとも部分的に省略される(又は除外される)領域12は、レンダリングのために選択される。このような領域12は、図1において影が付けられており、且つ参照数字16が与えられている。選択された領域16は、有用な領域として呼ぶことも出来る。
【0027】
選択された領域16のみが、GPUへとアップロードされる。係る選択された領域16は、選択された領域16をアトラステクスチャ20へとマッピングすることにより、GPUへとアップロードされる。ソーステクスチャ10の各選択された領域16は、アトラステクスチャ20の対応する領域24へとマッピングされる。アトラステクスチャ20の領域24は、ソーステクスチャ10の選択された領域がマッピングされた領域であり、影によって示されている。矢印26,26は、ソーステクスチャ10の選択された領域16のうちの二つが、アトラステクスチャ20の対応する領域へとマッピングされていることを示す。
【0028】
ソーステクスチャ10からアトラステクスチャ20へのマッピングにおいて、領域は例えば再び順序付けられる等、再配置されることがある。図1の例において、ソーステクスチャ10の選択された領域16の対角線上に配置されたセットは、アトラステクスチャ20の領域24の連続的な完全な(full)線上へとマッピングされる。
【0029】
アップロードする処理回路は、GPUに対し、ソーステクスチャ10の選択された領域16のアトラステクスチャ20の領域24へのマッピングを格納するインデックスをアップロードする。各選択された領域16に対して、アトラステクスチャ20の個別の対応する領域24の位置を、インデックスは格納する。係るインデックスは、ソーステクスチャ10の選択された領域16の任意のボクセルをアトラステクスチャへとマッピングする能力がある。
【0030】
選択された領域16のみをアトラステクスチャ20へとマッピングすることにより、GPU操作(例えば、補間)は、選択された領域16からのデータに関してのみ、GPUによって実行することが出来る。アトラステクスチャ20の使用は、フレームが完全なソースボリュームデータのサブセットのみを必要とするレンダリングの場合において、フレームをレンダリングする際に使用されるメモリの容量を大いに減らすことが出来る。
【0031】
図1を参照に上記で説明された例において、ソーステクスチャ10は、アトラステクスチャ20と同じデータフォーマットを有することが求められる。例えば、ソーステクスチャ10及びアトラステクスチャ20は、それぞれ8ビットデータを有することが出来る。
【0032】
図2は、マルチマップとも呼ばれることがある、チャンネルパッキングの概略図である。図2に示された例において、二つのグレースケール30及び32(ソーステクスチャ或いはソースデータセットとも呼ばれることがある)は、GPU上の更なる画像34の二つのチャンネルへと詰め込まれる。
【0033】
ソース画像30、32のそれぞれは、データのうちの一つのチャンネルのみを有するグレースケール画像である。各ソース画像30、32は、8ビットデータを具備する。
【0034】
図2の二種類のグレースケール(ハッチング)をそれぞれ赤、緑のチャンネルに対応付けているので、第一のソース画像30からのグレースケールデータは、更なる画像34の第1のチャンネル(本実施形態では「赤のチャンネル」と呼ぶ)に格納される。第二のソース画像32からのグレースケールデータは、更なる画像34の第2のチャンネル(本実施形態では「緑のチャンネル」と呼ぶ)に格納される。
【0035】
図2において、第一のタイプの陰影付けは、第一のソース画像30からのデータを、そして第二のタイプの陰影付けは、第二のソース画像32からのデータを、それぞれ表す。陰影付けの両タイプは、ソース画像30及び32両方からのデータが、更なる画像34に格納されていることを示すために、更なる画像34について示されている。
【0036】
サンプリングは、所望されるデータに対する正しいチャンネルを選択することにより、実行することが出来る(例えば、第一のソース画像30からのデータに対する赤のチャンネル及び第二のソース画像32からのデータに対する緑のチャンネル)。
【0037】
チャンネルパッキングは、単一のGPUスレッドが同じ点での多数のテクスチャにアクセスしなければならない場合に、GPUテクスチャキャッシング作用を巧みに利用する。多数の要素を使用するテクスチャ(例えば、RGBA及び/又は更なる要素、例えば関連性の無い無名の要素)は、交互的な順序で格納することが出来る。交互的な順序で要素を格納することは、プログラム或いはGPUハードウェアが一度に多数の要素を読むことを、簡単にすることがある。チャンネル詰め込みは、交互的なチャンネル(例えば、四つの交互的なチャンネルを読み上げること)は、一つのチャンネルを読むようにほぼ同じ時間を要することがある、という事実を巧みに利用することが出来る。異なる四つの画像のそれぞれから一つのチャンネルを読むことは、一つの画像から一つのチャンネルを読んでいる限り四倍の情報を要する場合がある。
【0038】
図2の例において、更なる画像34のデータレイアウト及びタイプは、ソース画像30、32のそれらと同じである。ソース画像30、32、及び更なる画像34は、それぞれ8ビットデータを具備する。データレイアウト及びタイピングは、固定である。
【先行技術文献】
【特許文献】
【0039】
【文献】特表2009-504220号公報
【発明の概要】
【発明が解決しようとする課題】
【0040】
しかしながら、医用データは、それを提供するモダリティやベンダーによって8ビット形式や16ビット形式であったり、符号あり/なし形式であったりなど、様々な形式となっている。これらを従来の手法で統括的に扱おうとすれば、GPUの負荷が高くなり実用的ではない。
本実施形態は、上記課題に鑑みてなされたものであり、従来に比して、様々な形式の医用データ(例えばマルチチャンネルのデータ)を、処理時間のロスを防止しつつ小さいメモリ資源で扱うことができる医用画像処理装置及び医用画像診断装置を提供することを目的とする。
【課題を解決するための手段】
【0041】
実施形態に係る医用画像処理装置は、少なくとも一つのデータセットを記憶する第一の記憶部と、マルチチャンネルアトラステクスチャを記憶する第二の記憶部と、少なくとも一つのチャンネル重み及び少なくとも一つの数的オフセット値の少なくとも一方に対応する変換ベクトルに従って、前記少なくとも一つのデータセットの少なくとも一つの領域のデータ値を変更し、前記マルチチャンネルアトラステクスチャの少なくとも一つの領域における前記少なくとも一つのデータセットの前記少なくとも一つの領域を格納し、前記変換ベクトルを使用して前記変更されたデータ値を変換することにより、前記変更されたデータ値からデータ値を再構成する処理部と、を具備する。
【図面の簡単な説明】
【0042】
図1】ソーステクスチャ及びアトラステクスチャを示している概略的なダイヤグラム。
図2】チャンネル詰め込みを表す概略的なダイヤグラム。
図3】実施形態に係る装置の概略的なダイヤグラム。
図4】実施形態の方法の概観を描くフローチャート。
図5】実施形態の方法の概観を描くフローチャート。
図6】交互的な処理の概略的なダイヤグラム。
図7】分解処理の概略的なダイヤグラム。
【発明を実施するための形態】
【0043】
実施形態に係る装置40は、図3に概略的に描かれている。
【0044】
図3の実施形態において、装置40は、複数の医用撮像スキャナ(図示せず)のうちの一つ又は複数の任意によって収集された撮像データのボリュームレンダリングを実行するよう構成されている。医用撮像スキャナは、CT(コンピュータ断層撮影)スキャナ、MRI(磁気共鳴撮像)スキャナ、X線スキャナ、PET(陽電子放出断層撮影)スキャナ、SPECT(単一陽電子放出コンピュータ断層撮影)スキャナ、或いは超音波スキャナ、或いは任意の適切なスキャナのうちの少なくとも一つを具備することが出来る。
【0045】
医用撮像スキャナは、いくつかの異なるデータタイプのデータを出力することが出来る。例えば、CTボリュームは、符号付き16ビットデータと符号無し16ビットデータとを両方とも具備することがある。超音波データは、符号無し8ビットデータを具備することがある。またX線データは、よく符号無し8ビットデータを具備することがある。更に、PET及びSPECTデータは、よく符号無し16ビットデータのことがある。
【0046】
本実施形態において、装置40は、8ビットデータ、符号付き16ビットデータ、そして符号無し16ビットデータのボリュームレンダリングを実行するよう構成されている。この中で、係る8ビットデータ、符号付き16ビットデータ、そして符号無し16ビットデータは、一般的なテクスチャに格納され且つ実質的に同時に処理される。
【0047】
装置40によって受け取られた撮像データは、8ビットデータ、符号付き16ビットデータ、そして符号無し16ビットデータを具備する。その他の実施形態において、装置40によって受け取られたデータは、任意の一つ又はそれ以上のデータタイプのデータを具備することが出来る。受け取られたデータは、多数のデータセットを具備することが出来、各データセットは、任意の適当なビット及び/又はチャンネルの数を有している。装置40によって受け取られたデータは、少なくとも8ビットデータ、16ビットデータ、符号付きデータ、符号無しデータ、符号付き或いは符号無し整数タイプのデータ、固定小数点リアルタイプのデータ、浮動小数点データ、カラータイプデータ、或いは任意のその他の適切なデータ、を具備することが出来る。
【0048】
装置40は、この場合にはパーソナルコンピュータ(PC:personal computer)又はワークステーションなどの計算装置42を備える。その他の実施形態において、係る計算装置42は、例えばサーバ、デスクトップコンピュータ、ラップトップコンピュータ、或いはモバイルデバイス等の任意の適切な計算装置とすることが出来る。更なる実施形態において、計算装置42の機能性は、二つ又はそれ以上の計算装置によって提供することが出来る。
【0049】
計算装置42は、表示スクリーン46或いはその他のディスプレイデバイスと、コンピュータキーボードやマウス等の1つ又はそれ以上の入力デバイス48とに接続される。代わりの実施形態において、表示スクリーン46は、入力デバイス48としての役割も果たす、タッチスクリーンである。
【0050】
本実施形態において、計算装置42は、データストア50から処理される予定の医用撮像データを受け取るよう構成されている。データストア50は、複数の医用撮像スキャナによって収集されたデータを格納する。
【0051】
代わりの実施形態において、計算装置42は、データストア50の代わりに或いは追加で、一つ又はそれ以上の更なるデータストア(図示せず)からデータを受け取る。例えば、計算装置42は、医用画像保管通信システム(PACS)、又はその他の情報システムの一部を形成することが出来る遠隔データストア(図示せず)から受け取る。係るその他の情報システムとは、例えば、ラボラトリデータアーカイブ、電子医用記録(EMR)システム、又はアドミッション放電転送システム(ADT)である。
【0052】
計算装置42は、中央処理ユニット(CPU)及びグラフィック処理ユニット(GPU)を具備する。CPU52は、メモリ54、領域選択回路56を具備する処理回路、重み回路57、サンプリング回路58、そしてレンダリング回路59を具備する。領域選択回路56を具備する処理回路は、処理する予定のデータの領域を選択するよう構成され、重み回路57は、係る選択された領域に対する変換重みを生成するよう構成され、サンプリング回路58は、係る選択された領域のサンプルを取得するよう構成され、レンダリング回路59は、係るサンプルを使用して画像をレンダリングするよう構成され、ている。GPU60は、例えば高速補間等、グラフィックメモリ62に格納されたデータの高速並列処理を実行するよう構成されている。
【0053】
CPU及びGPUは、医用撮像データを自動的に或いは半自動的に処理するための処理リソースを共に提供する。例えば、CPUは、撮像データとしての少なくとも一つのデータセット(ボリュームデータ等)を記憶し、GPUは後述するアトラステクスチャをマルチチャンネルで記憶することができる。なお、GPUは、典型的にはグラフィックスカード等を含むハードウェアデバイス等によって実現される。
【0054】
本実施形態において、回路56、57、58、59は、実施形態の方法を実行することが可能なコンピュータ読み取り可能命令を有するコンピュータプログラムの方法で、計算装置42でそれぞれ実行される。しかし、その他の実施形態において、様々な回路は一つ又は複数のASIC(特定用途向け集積回路)又はFPGA(フィールドプログラマブルゲートアレイ)として実施することが出来る。
【0055】
計算装置42は、ハードドライブと、RAM、ROM、データバス、様々なデバイスドライバを含むオペレーティングシステム、そしてグラフィックスカード等を含むハードウェアデバイス等、その他のPCの構成要素と、を含む。このような構成要素は、図を見やすくする為、図3には示されていない。
【0056】
図3のシステムは、図4を参考に下記で説明されるような、重み付けられ分解された補間を使用することにより、単一のアトラステクスチャにおける複数のデータタイプのデータを格納するよう構成されている。
【0057】
図4は、アトラステクスチャ86へとデータをアップロードする方法の概要を描いているフローチャートである。簡潔にする為、アトラステクスチャ86は、8ビットの赤及び緑のチャンネルの、二つの8ビットチャンネルを有するものとして説明する。実際には、アトラステクスチャは、四つのチャンネル(本実施形態では、第1~第4のチャンネルをそれぞれ赤、緑、青、そしてαの各チャンネルと呼ぶ。)を有する可能性が高いだろう。その他の実施形態において、アトラステクスチャは、任意の適切なチャンネル数を有することが出来る。
【0058】
図4は、データの任意の一つにタイプ或いは複数のタイプを、アトラステクスチャ86へのアップロードに言及することがある、一般的なフローチャートである。まず、データセットの領域のアップロードを、一般的な用語で説明する。その次に、8ビットデータセット、符号無しの16ビットデータセット、符号付き16ビットデータセットの領域が一般的なアトラステクスチャ86に格納される、本実施形態の詳細へと移る。
【0059】
図4に戻って、ステージ70で、データボリューム82は、データストア50からCPU52によって受け取られる。係るデータボリューム82は、データセット或いはデータテクスチャとして呼ぶことも出来る。係るデータボリューム82は、例えば関連した輝度値等、関連したデータ値をそれぞれが有する、複数のボクセルを具備する。
【0060】
データボリューム82の全体が、CPUのメモリ54において格納される。
【0061】
ステージ72で、領域選択回路56は、所望のフレームをレンダリングする必要がある領域を決定する。領域選択回路56は、関心領域84を特定し、且つ関心領域84において少なくとも部分的に省略される(又は除外される)データボリューム82の領域を選択することにより、領域を決定する。
【0062】
ステージ76で、重み回路57は、係る選択した領域をアトラステクスチャ86へとアップロードする。所望されれば、重み回路57は、下記に更に説明される通り、インターリービングを実行することが出来る。
【0063】
選択された領域のうちの一つについて検討する。重み回路57は、アトラステクスチャ86の対応する領域における選択された領域からデータを格納する。アトラステクスチャ86の対応する領域は、アトラステクスチャ86の任意の領域とすることが出来る。例えば、選択された領域は、メモリ54に格納されたのと同じ順番で、アトラステクスチャ86に格納される必要はない。重み回路57は、選択された領域が格納された対応する領域の位置を決定する。
【0064】
重み回路57は、アトラステクスチャ86の対応する領域におけるそれらのデータ値を格納する場合に、選択された領域のデータ値を変更することが出来る。例えば、重み回路57は、重み付け要素により、データ値のそれぞれを増やす、或いは割ることが出来る。重み回路57は、データ値のそれぞれから数値オフセットを加える、或いは減らすことが出来る。
【0065】
本実施形態において、重み回路57は、データ値が変更された方法を表す、選択された領域に対する変換ベクトルTを決定する。変換ベクトルTは、対応する領域の赤のチャンネルへと関連付ける第一のチャンネル重みTと、対応する領域の緑のチャンネルへと関連付ける第二のチャンネル重みT及び数値オフセット重みTを具備する。変換ベクトルTは、変換マスクと呼ぶことも出来る。またチャンネル重み及び/又は数値オフセットは、再構成重みと呼ぶことも出来る。
【0066】
変換ベクトルTは、アトラステクスチャにおける任意のアトラスサンプルを、データボリューム82における対応するソースサンプルへと変換し戻すために構成されている、変換を表す。
【0067】
重みT、T、Tの決定は、異なるデータタイプの複数の例示的なデータボリュームを参考に、下記で説明される。
【0068】
ステージ78で、重み回路57は、対応する領域及び変換ベクトル(T)の位置を格納する。対応する領域の位置(x、y、z)は、領域に対する位置的なオフセットとして、又は選択された領域からアトラステクスチャ86の対応する領域へとマッピングとして、説明することが出来る。
【0069】
一つの領域のみの格納が、ステージ74から78に関連して上記で説明されたが、実際に重み回路57は、アトラステクスチャ86におけるデータボリューム82の多数の選択された領域を格納する。多数の選択された領域のそれぞれの格納は、実質的に同時に実行することが出来る。
【0070】
各選択された領域に対して、重み回路57は、個別の対応する領域と個別の変換ベクトル(T)の位置(x、y、z)を格納する。本実施形態において、重み回路57は、図4に描かれている変換表88に、位置(x、y、z)及び変換ベクトル(T)を格納する。係る変換表88の第一列には、格納された領域のそれぞれの領域番号が格納される。実際に、図4に示された第一列は、実際の値として格納されるものでないことがあるが、代わりにアレイ構造(例えば、第三のブリックは、アレイにおける第三の入力である)についての情報を意味している。第二列は、各領域が格納される、アトラステクスチャの対応する領域の位置を格納する。第三列は、各領域に対する、変換ベクトルを格納する。
【0071】
図5は、アトラステクスチャの対応する領域において格納されたデータ値(対応する領域において格納されている場合に、重み回路57によって変更されることがある)及び変換表に格納された情報を使用して、選択した領域のうちの一つにおけるソースサンプルに対する値を取得する方法の概要を描いているフローチャートである。図5の方法は、アトラステクスチャにおいて格納されたデータの変更されたバージョンから撮像データを再構成するために使用することが出来る。データは、変換表に格納された変換ベクトルを使用して再構成することも出来る。なお、本実施形態において「再構成」とは、変換によってデータを復元する処理も含む場合があるとする。
【0072】
図5のステージ90で、サンプリング回路58は、データボリュームにおける所望のソースサンプルの位置を決定する。係るソースサンプルは、データボリュームの選択された領域のうちの一つに位置する。
【0073】
サンプリング回路58は、係る選択された領域に関連する変換表から入力を取ってくる。係る入力は、選択された領域からデータが格納されている領域に対応する位置(x、y、z)を具備し、変換ベクトル(T)は、選択された領域が対応する領域に格納された場合に、選択された領域のデータ値がどの様に変更されたかについての情報を具備する。サンプリング回路58は、アトラステクスチャ86におけるアトラスサンプル点の位置を決定するために、選択された領域におけるソースサンプルの位置と、アトラステクスチャ86における対応する領域の位置(x、y、z)を使用する。アトラステクスチャ86は、選択された領域におけるソースサンプルの位置に対応する領域における位置を占める。
【0074】
ステージ92で、GPU60は、アトラスサンプルに対する値を取得するために、アトラスサンプル点の決定された位置で、アトラステクスチャ86をサンプルする。GPU60は、アトラスサンプル点でアトラステクスチャ86の赤のチャンネル及び緑のチャンネルの両方をサンプルする。各チャンネルに対し、そのチャンネルにおけるアトラスサンプルに対する値は、対応する領域のそのチャンネルにおける近傍データを補間することにより、取得される。
【0075】
テクスチャからサンプリングする際に、GPU60は、補間を非常に素早く実行するよう構成されている。アトラステクスチャ86におけるアトラスサンプルのサンプリングは、ソースサンプルがメモリ54に格納された場合にサンプルされる予定である場合に比べて、より素早く実行することが出来る。GPU60は、並行して多数のサンプルを実行するよう構成もされている。
【0076】
アトラステクスチャ86の対応する領域において格納されたデータは、選択された領域において格納されたデータの変更されたバージョンとすることが出来る。サンプリング回路58は、選択された領域に対する変換ベクトル(T)を使用して、アトラスサンプルを変換することにより、所望のソースサンプルを取得する。
【0077】
本実施形態において、サンプリング回路58は、次の式(1)を使用してアトラスサンプルを変換する。
【数1】
sourceは、データボリューム82の選択された領域における所望のサンプル点に対する値である。S atlasは、アトラスサンプル点でのアトラステクスチャ86の赤のチャンネルの値である。S atlasは、アトラスサンプル点でのアトラステクスチャ86の緑のチャンネルの値である。(T)は、選択された領域に対する変換表88において格納された変換重みである。
【0078】
sourceは、アトラスサンプル点での赤のチャンネルの値にTを掛け、アトラスサンプル点での緑のチャンネルの値にTを掛け、結果として生じる値を合計し、そして更に数的オフセット重みTを合計する。結果、対応する領域の赤及び緑のチャンネルの両方において格納されたデータを使用して、単一のソースサンプルSsourceを取得することが可能となる。
【0079】
実施形態(例えば、圧縮が使用されるような実施形態)の中には、スケーリングファクタが格納されるものもある。また実施形態の中には、Tが合計される、或いは引かれる前に、スケーリングファクタによってスケールされることもある。
【0080】
ステージ94で、サンプルされた点に対する値Ssourceは、サンプリング回路58により戻される。
【0081】
図5を参照して上記で説明されたようなサンプリングは、GPU60の並列機能を使用することにより、同時に多くのサンプル点について実行することが出来る。本実施形態において、多くのサンプル点は、様々な領域に対して取得される。
【0082】
レンダリング回路59は、選択された領域のサンプルされた点に対して取得された値を使用して、ディスプレイ用の画像をレンダリングする。係るディスプレイ用の画像は、所望のフレームとも呼ばれることがある。画像は、図4の処理のステージ74で選択された領域に対するフレームである。
【0083】
レンダリングは、例えばMPR(マルチプラナ再構成)再フォーマット、MPRスラブ再フォーマット、CPR(湾曲MPR)、IP(輝度投影)ボリュームレンダリング、影付きボリュームレンダリング、或いはボリュームレンダリングに基づいたグローバルイルミネーション等、任意の適切な形式のレンダリングを具備することが出来る。レンダリングは、例えばマルチモダリティフュージョンなどマルチモダリティレンダリングを具備することがある。
【0084】
レンダリング回路59によってレンダリングされた画像は、表示スクリーン46に表示される。
【0085】
図4及び5に関する上記の説明において、アトラステクスチャにおいて選択された領域からデータを格納し且つアトラステクスチャをサンプリングすることによりソースサンプルを取得する処理は、一般的な用語で説明されている。本実施形態において、8ビットデータ、符号無し16ビットデータ、符号付き16ビットデータは、各データタイプを格納するために、異なる変換ベクトルを使用することにより、単一のアトラステクスチャにおいて全て格納される。データ値はその場合に、適当な変換ベクトルを使用することにより、8ビットデータ、符号無し16ビットデータ、符号付き16ビットデータのうちの任意から再構成することが出来る。
【0086】
次に8ビットデータ、符号無し16ビットデータ、符号付き16ビットデータの格納の詳細を述べる。
【0087】
本実施形態において、アトラステクスチャは、赤と緑の二つのチャンネルを有し、それぞれが8ビットデータを格納するよう構成されている。8ビットデータボリュームの選択された領域は、アトラステクスチャの対応する領域における各選択された領域からデータを格納することにより、アトラステクスチャに格納される。8ビットデータがデータの一つのチャンネルのみを具備する場合において、8ビットデータボリュームの選択された領域は、アトラステクスチャの対応する領域の単一のチャンネルに格納することが出来る。例えば、8ビットデータボリュームの選択された領域が赤のチャンネルに格納される場合に、Tは1に、Tは0に、そしてTは0に、それぞれ設定することが出来る。
【0088】
8ビットデータの選択された領域のソースサンプルはその後、選択された領域におけるソースサンプルの位置に対応する対応領域の位置で、アトラステクスチャの赤のチャンネルをサンプリングすることにより、取得することが出来る。
【0089】
本実施形態において、最初の8ビットデータボリュームの選択された領域は、上記で説明された通り(T=1、T=0、T=0で)、アトラステクスチャ86の対応する領域の赤のチャンネルに格納される。第二の8ビットデータボリュームの選択された領域はその後、同じ対応する領域の緑のチャンネルに格納される。例えば、第二の8ビットデータボリュームの選択された領域の変換ベクトルは、T=0、T=1、T=0を有することがある。
【0090】
対応する領域において格納された第二の8ビットデータボリュームは、対応する領域において格納された第一の8ビットデータボリュームと無関係のことがある。各データボリュームのチャンネル数は、アトラステクスチャ86のチャンネル数に比べて少ないので、第一の8ビットデータボリュームの領域は、例えばチャンネル詰め込みを使用することにより、第二の8ビットデータボリュームの領域と交互配置することが出来る。チャンネル詰め込みは、いくつかの独立した要素を一つの画像へと交互配置することを具備することが出来る。
【0091】
第一及び第二の8ビットデータボリューム両方の選択された領域は、対応する領域の異なるチャンネルからデータを取ってくるために、異なる変換ベクトルを使用することにより、同じ対応する領域において格納される。
【0092】
更なる実施形態において、同じデータボリュームの二つ(或いはそれ以上)の選択された領域は、交互配置することにより、同じ対応する領域に格納することが出来る。その他の実施形態において、二つ以上の選択された領域は、アトラステクスチャの所定の対応する領域において格納することが出来る。例えば、アトラステクスチャは、二つ以上のチャンネルを具備することが出来、且つ異なる選択された領域からのデータは、チャンネルのそれぞれに格納することが出来る。
【0093】
図6は、二つの1チャンネルソースボリューム100、102を表し、それぞれは単一のチャンネルにおいて8ビットの深さを有している。必要とされるボクセルは、ブリックスにおけるアトラステクスチャへとアップデートされる。アトラステクスチャの一つのブリック104が図6に描かれている。ブリック104は、二つのチャンネルを有し、その二つのチャンネルのうちの一つは、第一のソースチャンネルボリューム100からのボクセルを格納し、且つ二つのチャンネルのうちの他方が、第二のソースボリューム102からのボクセルを格納する。8ビットソースボリューム100、102の各ボクセルは、アトラスボクセルの二つの8ビットチャンネルにわたり、交互配置されて格納される。
【0094】
次に、本実施形態のアトラステクスチャ86における、符号無し16ビットデータの選択された領域の格納についてである。符号無し16ビットデータの選択された領域を格納する際に実行されるステップを説明するために、図4のフローチャートを参照する。
【0095】
ステージ70で、符号無し16ビットデータボリュームは、CPU52によって受け取られる。ステージ72で、領域選択回路56は、符号無し16ビットデータボリュームを領域へと分割する。ステージ74で、領域選択回路56は、所望のフレームのレンダリングが必要とされている符号無し16ビットデータの領域を選択する。
【0096】
ステージ76で、重み回路57は、各選択された領域を、アトラステクスチャの個別の対応する領域へとアップロードする。16ビットデータボリュームの選択された領域が、どの様にして二つの8ビットチャンネルを有するアトラステクスチャの対応する領域に格納されるかについて、検討する。16ビットデータボリュームの選択された領域は、線形補間の分解を活用することにより、アトラステクスチャの対応する領域において格納される。
【0097】
線形補間は、次の様な式(2)に従う。
【数2】
S(v)は、サンプル点でのサンプル値である。係るサンプル点は、近傍する点x及びx間に存在する。x及びxは、サンプル点のそれぞれの側上の最も近い近傍である。
【0098】
サンプル点は、x及びx間の距離の比(fraction)として表されている、位置vに存在する。x及びサンプル点間の距離は、x及びx間の距離のv倍である。サンプル点及びx間の距離は、x及びx間の距離の(1-v)倍である。
【0099】
サンプル点S(v)でのサンプル値は、xでのサンプル値を(1-v)に掛け、xでのサンプル値をvに掛け、更に結果として生じる値を合計することにより、取得することが出来る。
【0100】
線形補間の特性は、16ビットデータボリュームの選択された領域からのデータが、アトラステクスチャの対応する領域の二つの8ビットチャンネルにわたって割かれることを可能にするために使用される。
【0101】
ソース点xが、x=x +x の様にして、二つのテクスチャチャンネルx 及びx にわたって割かれる場合に、補間関数は次の式(3)になる。
【数3】
各チャンネル特定の補間の結果が合計される場合である。
【0102】
式(2)は、次の式(4)の様に簡略化することが出来る。
【数4】
置換により、式(2)と等しい。
【0103】
16ビットデータボリュームの選択された領域におけるデータが、適当なやり方で二つのチャンネルにわたって割けられた場合に、選択された領域におけるサンプル値は、アトラステクスチャの対応する領域の各チャンネルをサンプリングし、且つ結果を合計することにより、取得することが出来る。
【0104】
上記の補間の例は、一次元における補間について定められているが、例えば二、三次元における補間等、より高い次元の補間にも同様の検討事項が適用される。データ値を二つ又はそれ以上のチャンネルへと分解し、それらを別々に補間し、更に結果として生じるサンプリング値を組み合わせることが可能である。
【0105】
ステージ76で、重み回路57は、各16ビットデータ値を、8高ビットと8低ビットとに分割する。8高ビットは、対応する領域の1チャンネル(例えば、赤のチャンネル)に格納される。8低ビットは、対応する領域のもう1つのチャンネル(例えば、緑のチャンネル)に格納される。
【0106】
ステージ78で、重み回路57は、対応する領域、変換ベクトルTに対する位置を格納する。16ビットが赤のチャンネルの8高ビット及び8低ビットに分割される例において、T=256、T=0、T=0である。
【0107】
図5へと戻って、ステージ90で、16ビットデータボリュームの選択された領域における所望のサンプルの位置が、サンプリング回路58によって決定される。サンプリング回路58は、選択された領域において所望のサンプルの位置と対応する領域に対して格納された位置を使用して、アトラステクスチャ86におけるアトラスサンプル点を決定する。
【0108】
ステージ92で、サンプリング回路58は、アトラスサンプル点でアトラステクスチャの赤のチャンネル及び緑のチャンネルをサンプルする。
【0109】
サンプリング回路58は、式(1)を使用して所望のサンプルに対する値を取得する。
【数5】
赤のチャンネルのサンプルS atlasは、256倍される。これにより、赤のチャンネルのは、16ビット数の8高ビットへと動く。緑のチャンネルのサンプルS atlasは、1倍される。これにより、緑のチャンネルは、8低ビットを提供する。結果として生じるサンプル値を合計することにより、16ビット領域のサンプルが取得される。
【0110】
16ビットデータボリュームのサンプルは、それにより二つの8ビットチャンネルに格納された分解されたデータをサンプリングすることで、取得される。16ビットデータボリュームを二つの8ビットデータチャンネルで格納し、各チャンネルを独立して補間し、さらに16ビットサンプルを取得するためにチャンネルを再組み合わせすることが可能である。16ビット数は、高バイト及び低バイトを独立して補間し、その後これらを再組み合わせすることにより、精確に補間することが出来る。更なる実施形態において、高バイト及び低バイトは、異なる対応する領域に格納することもある。またその他の例において、任意のデータは、二つ或いはそれ以上のチャンネルへと分解され、線形補間の特性を使用してサンプルすることが出来る。
【0111】
図7は、単一のチャンネル(its)において16ビット深さを有する一つの1チャンネルソースボリューム110の格納を表すものである。ソースボリューム110の必要なボクセルは、ブリックスにおいてアトラステクスチャにアップロードされる。アトラステクスチャの一ブリック112が、図7に示されている。各ソースボリュームボクセルの高バイト及び低バイトは、アトラスボクセルの二つの8ビットチャンネルに格納される。
【0112】
次に、アトラステクスチャ86における符号付き16ビットデータの格納についてである。符号付き16ビットデータは、符号無し16ビットデータが0から65535の範囲を有する一方、-32768から+32767までの範囲を有する。
【0113】
符号付き16ビットデータボリュームは、複数の領域を選択する領域選択回路56によって受け取られる。符号付き16ビットデータボリュームの各選択された領域は、格納用に符号無し16ビットデータへと変換される。符号付き16ビットデータは、符号無し16ビットデータを取得するために、+32678によってオフセットされていることにより、変更される。結果として生じる符号無し16ビットデータは、上記で説明された通り、分解され且つ二つのチャンネルに格納される。
【0114】
符号付き16ビットデータボリュームの選択された領域のサンプルは、上記に説明された通り、二つのチャンネルのサンプルを取得し、その後符号無しデータから符号付きデータを回復するために、T=-32768のオフセット値を適用する。変換ベクトルの使用は、アトラスにおける格納用の符号無し範囲へとオフセットされ、且つサンプリング上に符号付きへと補正され直す予定の、符号付きデータを許す。
【0115】
本実施形態において、16ビットデータセットの少なくとも一つの選択された領域は、格納用のアトラステクスチャ86の単一の8ビットチャンネルへと圧縮される。
【0116】
状況次第で、16ビットデータボリュームの選択された領域は、情報の8(或いはもっと少ない)ビットのみを含む。例えば、16ビットの8は、0を常に格納することが出来る。選択された領域は、8重要なビットのみを有するということも出来る。
【0117】
選択された領域は、情報の8ビットのみを含むという場合について検討する。重み回路57は、例えば最小輝度値等、選択された領域に対する最小データ値を取得する。重み回路57は、変換ベクトルのTにおいて選択された領域に対する最小値を格納する。重み回路57は、各データ値から最小値を減じることにより選択された領域におけるデータ値を変更し、アトラステクスチャ86の対応する領域における変更された値を格納する。対応する領域において格納されたデータ値は、それぞれが選択された領域におけるデータ値と選択された領域の最小データ値との間の差を具備する(その差は、「オフセット」とも呼ぶことが出来る)。
【0118】
対応する領域におけるデータ値は、8ビットデータ値である。それにより16ビットデータから8ビットアトラステクスチャへと可逆圧縮が提供される。
【0119】
実施形態の中に、16ビットデータボリュームの選択された領域が、不可逆圧縮を実行することにより、対応する領域の8ビットチャンネルにおいて格納されるものがある。本実施形態において、格納される予定のデータが医用撮像データであるので、従来的に圧縮無しで格納される不可逆圧縮は、回避される。その他の実施形態において、圧縮の任意の種類は、データの任意の種類について使用することが出来る。
【0120】
16ビットデータボリュームの選択された領域の不可逆圧縮の例について説明する。不可逆圧縮において、16ビットデータは、情報の8ビットに比べてより多くを含み、従って18ビットから8ビットへと圧縮により情報が失われる。
【0121】
重み回路57は、例えば最小及び最大輝度値など、選択された領域に対する最小データ値及び最大データ値を取得する。重み回路57は、最小値を変換ベクトルのT要素として格納する。重み回路57は、最小値と最大値間の差を取得する。重み回路57は、最小値及び最大値間の差が8ビットで表されるようにして、スケーリングファクタを選択する。係るスケーリングファクタは、T或いはTにおいて、適当であるとして格納される。例えば、データが赤のチャンネルに格納される予定である倍に、スケーリングファクタはTに格納される。
【0122】
対応する領域に格納されたデータ値は、最小値を減じ、且つスケーリングファクタを使用してデータ値をスケーリングすることで、変更される。選択された領域の例は、赤のチャンネルをサンプリングし、スケーリングファクタTで掛け、最小値である数的オフセット値Tを加えることで、取得される。情報の8ビットに比べてより大きいものは8ビットチャンネルへと圧縮されたので、サンプリングによって回復されたデータは、情報を失っている。データ圧縮は不可逆圧縮である。データの解像度が減らされる。しかし、情報の損失は、情報の制御可能な損失であると考えることが出来る。
【0123】
実施形態の中に、16ビットデータボリュームのうちの、いくつかの選択された領域は、二つのチャンネルにわたる分解によって格納され、その他の選択された領域は、単一のチャンネルに格納されるものがある。また実施形態の中に、一つの16ビットデータボリュームのうちの領域は、異なる16ビットデータボリュームのうちの領域が単一のチャンネルにおける圧縮により格納される一方で、二つのチャンネルにわたり分解されるものがある。また更に実施形態の中に、可逆圧縮により格納されるいくつかの選択された領域があれば、不可逆圧縮により格納される領域がある、というものもある。例えば、一つの16ビットデータボリュームから選択された領域は、可逆圧縮により格納することが出来、且つ別の16ビットデータボリュームから選択された領域は、不可逆圧縮により格納することが出来る。圧縮が使用されるかどうかは、例えば、格納されているデータのタイプに依存することがある。
【0124】
実施形態に、所定のデータボリュームのいくつかの選択された領域は、可逆圧縮によって格納され、且つその他は不可逆圧縮によるものがある。可逆及び不可逆領域は、突出した概念に基づいて、選択することが出来る。例えば、より重要であると考えられる領域は、より重要でないと考えられる領域が不可逆圧縮を使用して格納することが出来る一方、可逆圧縮を使用して格納することが出来る。不可逆圧縮の領域は、例えば、エントロピー、組織分類或いはゲイズに基づいて、選択することも出来る。
【0125】
実施形態の中に、いくつかの組織タイプの領域は可逆圧縮を使用して格納され、その他の組織タイプの領域は不可逆圧縮を使用して格納されるものがある。アプリケーションによって、いくつかの組織タイプは、その他の組織タイプに比べて関心の低いものの場合がある。ある状況で、臓器の部分ではない柔組織(例えば筋肉や脂肪)は、臓器の部分である柔組織に比べて関心の低い場合がある。実施形態の中に、筋肉及び/又は脂肪を表すデータは、不可逆圧縮を使用して格納され、臓器組織を表すデータは、可逆圧縮を使用して格納されるものがある。更なる実施形態において、血管を表すデータは、可逆圧縮を使用して格納され、少なくともいくつかの血管でない組織を表すデータは、不可逆圧縮を使用して格納される。いくつかの実施形態において、骨を表すデータは、可逆圧縮を使用して格納され、少なくとも骨ではない組織を表すデータは、不可逆圧縮を使用して格納される。
【0126】
実施形態には、より高いエントロピーを有する領域は、可逆圧縮を使用して格納され、より低いエントロピーを有する領域は、不可逆圧縮を使用して格納されるものがある。より高いエントロピーは、関心をひくと考えられるような領域と相関関係にある場合がある。関心をひく領域を、最も詳細に保存することが所望される場合もある。
【0127】
実施形態には、ユーザがみている画像の一部をより精度高く(より抑えた圧縮)で格納されるものがある。更なる実施形態において、システムは、ユーザが見るであろう画像の部分を予測し、そしてより多くの領域を保存する。
【0128】
本実施形態において、定数データの領域のいくつかは、変換ベクトルの使用によるメモリ容量を取ることなく、格納されるものがある。例えば、全体的な選択された領域が、100の定数データ値を有する場合を検討する。重み回路57は、選択された領域を図4のステージ76でアトラステクスチャへとアップロードすることはない。ステージ78で、重み回路57は、任意の対応する領域の位置とすることが出来る、任意の位置(x、y、z)を格納する。このような任意に位置(x、y、z)には、あらゆるデータが格納され得る。
【0129】
重み回路57は、T=0、T=0、T=100の変換ベクトル(T)を格納する。どの位置が格納されても、変換ベクトルは、図5の方法を使用して選択された領域がサンプルされる場合に、選択された領域における各データ値に対し、100の値を返すことであろう。
【0130】
定数値は、任意の適切な数的値とすることが出来る。例えば、状況次第で定数は、0の場合がある。定数データ、例えばパディングは、T変換要素における定数値として格納することにより、メモリ容量を有することなく、減らすことが出来る。
【0131】
スキャナから収集された臨床的医用撮像データに加えて、付加的な撮像データがスキャナデータを処理することにより、取得することが出来る。例えば、セグメンテーションデータを取得することが出来る。セグメンテーションデータは、典型的に8ビットである。実施形態の中に、撮像データとして同じアトラステクスチャにおいて格納することが出来るものがある。セグメンテーションデータは、アトラスチャンネルのうちの一つの任意のものに格納することが出来る。その他のチャンネルは、ゼロへとマスキングすることにより、無視することが出来る。
【0132】
一般的に、セグメンテーションデータは、その他のボリュームデータとして同じやり方で扱うことが出来る。状況次第で、セグメンテーションデータは、ピクセル或いはボクセルに割り当てられたラベルを表すことがある。また実施形態の中に、ピクセル或いはボクセルは、例えば1=骨、2=腎臓、3=頭部という様な、数的ラベルを割り当てることが出来る。その様な実施形態において、テクスチャは、補間されることはない場合がある。数的なラベル値を補間することは、誤ったラベルや誤解を招くラベルへと繋がりかねない。例えば、骨のボクセル(ラベル1)と頭部のボクセル(ラベル2)間の中間に位置した点には、2のラベル値(誤って腎臓のボクセルを示す可能性がある)を与えられてはならないのである。
【0133】
上記実施形態は、二つのデータチャンネル(チャンネル重さT、Tを有する赤と緑のチャンネル)の観点から説明されているものの、その他の実施形態においては任意の適切な数のチャンネルを使用することが出来る。例えば、第一乃至第四の四つのチャンネル(本実施形態では、それぞれ赤のチャンネル、緑のチャンネル、青のチャンネル、αチャンネルと呼ぶ)を使用することもある。各チャンネルは、割り当てられたチャンネル重みを有することが出来る。チャンネル重みのいくつかは、注目されていないチャンネルを消し去るために、ゼロに設定することが出来る。
【0134】
上記の説明は、データの多数のタイプを単一のアトラステクスチャに格納することが出来るという方法についてであった。アトラステクスチャは、異種のアトラスとして説明することが出来る。8ビット、16ビット符号付き及び16ビット符号無しデータは、同じGPUテクスチャ割り当てに格納される。変換ベクトルは、如何にアトラスサンプルがブランチング無しでGPUによって解釈されるかを直接的に変更するために、使用される。その方法とは、マルチモダリティデータ及びセグメンテーションを支持する。またその方法は、例えば2D或いは3Dデータ等、任意の適当な次元のデータへと適用することが出来る。
【0135】
GPU60は、RGBAデータに関する特定の限定数の操作を、非常に素早く実行するよう構成されている。上記の説明を使用することにより、GPU60は、一つ或いは複数のデータタイプ範囲のデータ処理を実行するよう使用することが出来る。テクスチャは、キャッシング及び専用の補間ハードウェアを使用することにより、サンプルすることが出来る。
【0136】
一般的に、補間は、GPUにより制御されたフォーマットにおけるGPUによって実行することが出来、修正することが出来ない。異なる変換ベクトルを使用することにより、データの多重タイプは、GPUのグラフィックメモリに格納された、単一の固定されたフォーマットアトラステクスチャにおいて格納することが出来る。
【0137】
図4及び5を参照に上記で説明された方法を使用することにより、異なるデータタイプを同じアトラステクスチャに格納することが出来る。異なるデータタイプを格納する能力は、臨床データと特に関連するものである場合がある。臨床データは、多数多様な形式の事がある。例えば、データは8ビット或いは16ビットの場合がある。データは、符号付き或いは符号無しの場合もある。異なるベンダー及び/又はモダリティが異なるデータタイプを使用することがある。マルチモダリティ観察者は、異なるモダリティにおいて、或いは異なるベンダーから、一般に利用可能なデータのすべてのタイプとの同時互換性を必要とすることがある。
【0138】
撮像におけるメモリの使用は、改善されたリアルタイム処理が実行されることを許可する場合がある。例えば、大きな撮像ボリュームを、リアルタイムで処理する場合がある。マルチモダリティは、リアルタイムで処理する場合がある。リアルタイム撮像のフレームレートは、各フレームをレンダリングするために費やす時間を短くすることにより、改善することが出来る。
【0139】
データは、処理される予定のデータセットの或いは複数のデータセットの全体を保持するのには十分な大きさではない、GPUを使用して処理される場合がある。GPUは、データセットを格納するために使用されたCPUメモリに比べて、より小さいことがある。アトラステクスチャの使用は、一つ或いは複数のデータセットの関連する領域の効果的な処理を可能にすることがある。すなわち、GPUは、一つ或いは複数のデータセットの関連する領域をサンプリングして、医用画像がGPUにおいて少なくとも一つのデータセットの全体を格納することなくレンダリングする。
【0140】
重み付けられ分解された補間をテクスチャアトラスに基づいたマルチマップへと付け足すことにより、ボリュームレンダリングに対するダイナミックデータマネジメントは、GPUレンダリングに適した固定された関数解へと変えることが出来る。多数データタイプは、同じアトラスに格納することが出来る。ブロック特定変換は、所望の結果をえるために、アトラスサンプルへと適用することが出来る。マルチモダリティデータは、再配分或いは論理的なブランチング無しで、同じ構造において格納することが出来る。
【0141】
システムは、極度に低いメモリチャーン(allocation churn)を有する場合がある。システムは、非常に独特なテクスチャ特徴を有する場合がある。システムは、特に極端な場合に、いくつかの公知の回に比べてより低いテクスチャバジェットでレンダリングすることが出来る場合もある。
【0142】
ある一般的な操作は、ウィンドウイングと呼ばれている。ウィンドウイングは、プリセットが適用する値の範囲を動かすことを具備する。ウィンドウイングは、キャリブレートされた装置でも有するのはわずかに違う出力なので、非常に一般的である。ウィンドウイングがプリセットの場合に、物質はビューの中そして外に、シフトすることが出来る。
【0143】
従来的なシステムにおいて、データの多くは、大きな配分へと繋がる場合がある。データがビューの外へとウィンドウされるにつれて、データの割り当ては解除することが出来る。上記に説明されたシステムにおいて、その様な分配や割り当て解除は起こらないばあいがある。
【0144】
極端な場合の例は、全てのボクセルが同じ値を有する同質のデータセットとすることが出来る。この場合に極端に大きなデータセットであっても、GPUで簡単にレンダリングすることが出来る。別の例は、セグメントされる被検体が小さいが、実際のデータセットは大きいという、セグメントされたデータセットとなる場合がある。この場合に非常に小さいGPUメモリは、どれが実際に大きなデータボリュームであるかをレンダリングするために、必要となる場合がある。
【0145】
上記に説明された方法は、増加したマトリックスサイズで大きなボリュームに対して所望とすることが出来る。上記に説明された方法は、マルチモダリティアプリケーションにおいて望ましいことがある。
【0146】
CTボリュームは、符号付き/符号無し16ビットが混在することがある。超音波データAは、符号無し8ビットの場合がある。X線も、符号無し8ビットの場合がある。PET或いはSPECTは、符号無し16ビットの場合がある。処理されたデータ(例えば、セグメンテーションデータ)は、浮動点のことがある。単一のアトラステクスチャにデータの多数タイプを格納することで、データのより速く/より効果的な処理を実行することが出来る。データがサンプルされる速さを増すことにより、例えばリアルタイムで画像のレンダリング等、画像のより速いレンダリングを許可することがある。
【0147】
例えば、マルチモダリティフュージョン撮像において、画像は、二つ或いはそれ以上の異なる撮像モダリティのデータからレンダリングされる。マルチモダリティフュージョンは、データタイプの混じり合った多量のデータを必要とすることがある。単一のアトラステクスチャにおいて異なるモダリティからデータを格納することは、マルチモダリティレンダリングを実行することが可能なスピードを増すことが出来る。
【0148】
撮像データの格納用の既存の解決策の中には、静的なタイプとすることが出来る。異なるデータのタイプは、例えば8ビットデータには第一のアトラス、符号無し16ビットデータには第二のアトラス、符号付き16ビットデータには第三のアトラス等、区別できるアトラスを使用して格納することが出来る。区別できるアトラスプラス動的GPUブランチングは、三つの必要とされたデータタイプを支持するために使用することが出来る。GPUブランチングとは、GPUランタイムの間にGPUが決定する状況とすることが出来る。GPUブランチングは、GPUの並列構造が原因で、コストが掛かる場合がある。
【0149】
ブランチングは、実行の多くのスレッドが命令の同じシーケンスを実行する必要がある可能性があるため、GPUにおいて高いことがある。例えば、これらのスレッドのセットのうちの一つにおいて、シーケンスは、条件が合う場合に、操作Aを実行する必要があり、また条件が合わない場合に、操作Bを実行する必要があることを特定することが出来る。任意のスレッドが、残りと比較して条件に対し異なる値を有する場合に、全スレッドは、AもBも両方やらなければならないことがある。相違が起こる可能性がある様な場合には、プログラムは、AもBも両方の計算を適応するために、十分なリソースを配分しなければならないこともある。
【0150】
一般的に、GPUは、異なる入力について同時に同じアルゴリズムを実行することで、動く。ハードウェアにおいて、GPUは、多数のSM(Streaming multi prcessors)を具備することが出来、そのそれぞれは、その他と並行して簡素な数値命令を実行する。GPUは、SMが完全に独立していないというような方法で、そのSMを組織化することが出来る。SMは、一緒にグループ化され、グループにおける各SMは、グループにおける他の全てのSMとして、同じ数的或いは論理的操作を厳密に実行する。
【0151】
論理的なテスト結果が一つのブランチを取るSMのうちのいくつかという結果になった場合に、またその他のいくつかは別の≪ブランチ≫を取る場合に、SMは、これがSMに互いに同期を止めさせるかもしれないから、異なる操作を実行することが出来ないことがある。この様な論理的なテストの場合に、GPUは、全てのSMについてブランチの両側を典型的に実行する。GPUは、その場合に現在の命令を含むブランチを取らなかったSMという結果をマスクで隠す。この様なブランチングは、極めて非効率なことがある。ブランチは、全てが可能な場合に、回避することが出来る。特に、ブランチが非同期SMグループ(「ワープ相違」として呼ぶことも出来る)へと繋がるかもしれない場合に、回避することが出来る。
【0152】
SMが互いに分岐する必要がない、というブランチが十分に予測可能な場合に、ランタイムブランチの存在が、コンパイラ最適化により遅いコードを生み出すよう、頻繁に生じさせることがある。ブランチが起こるであろうという可能性を明らかにしなければならないためである。
【0153】
図4及び5と共に上記で説明された方法は、異なるデータタイプの相対的割合における変化へと、適応することが出来る。異なるデータタイプは、異なる変換ベクトルを使用することにより、同じアトラステクスチャにおいて格納することが出来る。アトラステクスチャの任意の所定の領域に格納されるデータのタイプは、変更することが可能である。
【0154】
各データタイプ(例えば、8ビット、16ビット符号付き、16ビット符号無し)の相対的割合は、時間と共に変化することがある。各データタイプに対する異なるアトラステクスチャを使用する既存解は、異なるデータタイプの割合における変化を明らかにするための、一つ又は複数のアトラスを再び割り当てる必要があることがある。ランタイムで規則的にアトラスを再び割り当てることは、非常にコストのかかるものである場合がある。
【0155】
状況次第で、マイクロアトラスを使用する場合がある。例えば、データタイプ毎の多数のアトラスを使用することがある。しかし、マイクロアトラスの使用は、GPUブランチングコストを悪くしかねない。
【0156】
実施形態の中に、図4及び5に関連して上記で説明された方法は、サーバごとに多数ユーザである状況において使用されるものがある。例えば、多数ユーザは、一つのGPUの使用を共有することがある。一つのユーザがアクセル可能なGPU上の空き容量は、制限されていることがある。上記で説明された方法の圧縮及び予測可能な割り当て動作は、GPU毎に可能な限り多くのユーザに適合するよう試す際に、有用な場合がある。増分アップロードは、一つのカードから別のカードへとユーザを移動するのを、より容易にする場合がある。
【0157】
既存のシステムの中に、一つのGPUから別のものへとユーザが移動するプロセスは、各バイトがコピーされ且つ目的GPUへと再アップロードされるよう要求することがあるものがある。ユーザが異なるカードへと移動される必要がある場合には、非アトラス(non-atlas)実行は、任意の現在使用されたボリュームが自由になること、且つ新たな目的カードへと完全に再アップロードされることを要求することがある。これは、第一の画像が目的GPUに生み出されるまで、長時間の遅延という結果になる場合がある。
【0158】
上記に説明されたシステムは、GPUに存在する予定の画像をレンダリングするために必要とされる最低限の状態を必須とのみすることがあり、これはつまり一サブセットのみがコピーされ且つ再アップロードされる必要があることを意味する。アトラスシステムを用いて、レンダリングが開始出来る前に完全なアップロードを実行する必要はない場合がある。代わりに、レンダリング用に必要とされるボリュームの領域のみがアップロードされる。
【0159】
実施形態の中に、単一のアトラステクスチャが多数ユーザ及び/又は多数アプリケーションに対して使用することが出来るものがある。
【0160】
実施形態の中で、多数のアトラスは、多数のGPU及び機械について使用される。状況次第で、データセットは、多数のGPUがデータセットを効果的にレンダリングするために十分なデータを保持するのに使用される、データセットが非常に大きいことがある。一般的に、機械は、四つのGPUまで保持することが出来る。四つ以上のGPUが使用される場合に、多数の機械は、非常に大きな常駐するメモリ容量でシステムを提供するために使用されることがある。
【0161】
いくつかの実施形態の中に、データが、個別のGPU或いは機械にそれぞれがレンダリングされ格納された独立した領域へと分けられるものがある。各GPU或いは機械からの部分的な結果は、マスターGPU或いは機械へと送られる。係るマスターGPU或いは機械は、部分的な結果を一つの結果として生じる画像へと組み合わせる。
【0162】
多数のGPU及び/又は機械の使用は、システムがより良いパフォーマンスでより多くのデータを処理することを許可することが出来る。
【0163】
データは、先の使用統計に基づいて、アトラスへと前もってダウンロードすることが出来る。例えば、システムは、所定のブロック(所定のデータ範囲及び位置を有する)が使用された回数を追跡することが出来る。ブロックが頻繁に使用された場合には、ブロックの使用されている可能性は高い、ということを決定することが出来る。システムは、ブロックが予備の容量及び/又はバンド幅を有する場合に、ブロックを先制してアップロードすることを選択することが出来る。ブロックが使用されている場合に、アップロード時間を節約することが出来る。ブロックが使用されていない場合に、使用されていないリソースのみが無駄にされるという場合がある。
【0164】
実施形態の中に、特定のセグメンテーションに対していつも使用されるボリュームは、あのセグメンテーションに対するデータで前もってアップロードされるものもある。また実施形態の中に、全てエアーでないソースデータが前もってロードされるものもある。
【0165】
第一の画像に対する時間は、可能な限りフロンドローディングを小さくすることにより、減らすことが出来る。アトラスの使用は、フルデータのサブセットからレンダリングを承認するように、第一の画像への時間を減らすことを助けることが出来る。
【0166】
実施形態は、多数データタイプが単一のアトラステクスチャに格納されるものとして説明されている。その他の実施形態において、単一のデータタイプは、所定のアトラステクスチャにおいて格納することが出来る。所定のアトラステクスチャに格納されるデータタイプ数は、時間とともに変化することがある。所定のアトラステクスチャにおけるデータの異なるタイプの相対的割合は、時間と共に変化することがある。
【0167】
実施形態の中に、いくつかのデータセットが一つのシーンにおいてロードされていることに直面することがある。一データタイプのデータセットは、異なるデータタイプを使用するデータセットと動的に取り替えることが出来る。
【0168】
完全にソースデータを変更すること(異なるボリュームを選択すること)は、必要な領域のみがアップロードされる際に増分(インクリメント)アップロードから恩恵を受けることがあるので、アトラスシステムにおけるパフォーマンスを改善することが出来る。
【0169】
特定の重み及びその重みに対する値は、上記で説明された。更なる実施形態において、重みの任意の組み合わせを使用することが出来る。その重みに対する任意の値を使用することが出来る。任意の適切な方程式は、格納された重みを使用するサンプルされたデータを変換するために、使用することが出来る。
【0170】
上記に説明された方法は、GPUで動くものとして説明された。実際に、係る方法は、補間が拘束された任意のデバイスへと適用することが出来る。係る方法は、明確なハードウェアリソースが、データソース及び/又はでデータレイアウトの柔軟性を高速することで、素早い補間を提供するよう構成された、任意のデバイスへと適用可能なことがある。例えば、デバイスは、コンピュータ上に直接置かれたメモリがあるFPGAを具備することが出来る。方法は、データが、データの全体を格納するには十分な大きさではないメモリを使用して処理される予定である、というような任意の状況へと適用することが出来る。方法は、データの多数のタイプが格納され且つ処理される予定である、というような任意の状況へと適用することも出来る。
【0171】
撮像データセットの領域の格納に対する言及は、上記でなされた。撮像データセットの領域は、物理的なスキャンボリュームの個別の部分をそれぞれが表す、撮像データセットの部分とすることが出来る。撮像データセットの領域は、従って、物理的な空間における領域を表すことが出来る。撮像データセットの領域は、領域間の空間的関係が公知であるように、任意の適切な方法でCPUメモリに格納することが出来る。撮像データセットの領域からのデータがGPUメモリに格納される場合に、任意の適切な方法で格納することが出来る。状況次第で、撮像データセットの近傍の領域からのデータは、GPUの近傍でない領域に格納することが出来るし、またその逆も然りである。領域間の空間的関係は、変換表を使用して推測することが可能で、係る変換表は、CPUメモリに格納された撮像データセットの領域を、CPUメモリに格納された多数チャンネルアトラステクスチャの対応する領域へとマップする。
【0172】
上記の実施形態は、医用撮像データに関して述べられたが、その他の実施形態において任意のデータが上記に説明された方法を使用して、格納する及び/又はレンダリングすることが出来る。例えば、データは、オイル及びガスデータを具備することがある。係るデータは、三次元顕微鏡使用データを具備することがある。データは、例えば、気候データ、地質調査、人口統計データ、或いはゲームデータを具備することが出来る。係る方法は、例えば、異なるデータタイプの高速パラレルサンプリング等、高速パラレルサンプリングが使用される任意のアプリケーションで使用することが出来る。係る方法は、異なるデータタイプを伴う大量のデータを視覚化する(或いは操作する)ことを含む、任意のアプリケーションに対して使用することも出来る。
【0173】
特定の実施形態は、第一のデータと前記第一のデータとは異なるデータタイプである第二の画像データとを収集し;前記第一のデータ及び前記第二のデータに基づいたデータを含む多数チャンネルアトラステクスチャを生成し、係るデータは、前記第一の画像データ或いは前記第二の画像データとのうちの少なくとも一方とは異なるデータタイプであり;前記第一の画像データ及び前記第二の画像データを前記多数チャンネルアトラステクスチャへと変換する重み付けられた因子を含む変換表を生成し;前記重み付けられた因子に基づいた前記第一の画像データ或いは前記第二の画像データに対する、前記多数チャンネルアトラステクスチャに含まれる前記データを格納する、よう構成された回路を具備する画像処理装置を提供する。
【0174】
特定の実施形態は、異なる値タイプ、次元、アップデート頻度の一つ或いは複数のデータソース;多数チャンネルアトラステクスチャ;チャンネル再構成重みのセット;異質のアトラスから任意の所定のデータソースを再構成するために、補間が分解され且つ重み付けられた、GPU補間ハードウェア、を具備するボリューム撮像方法を提供する。
【0175】
チャンネル再構成重みは、データを損失することなく、データを圧縮し且つ再構成するために使用することが出来る。チャンネル再構成重みは、情報の制御可能な損失を伴うデータを圧縮し且つ再構成するために、使用することが出来る。
【0176】
再構成された値は、MPR再フォーマッティング、MPRスラブ再フォーマッティング、CPR、IP、IP影付きボリュームレンダリング、或いはボリュームレンダリングに基づいたグローバルイルミネーション、のどれかにおいて使用することが出来る。
【0177】
値タイプは、符号付き或いは符号無し整数タイプ、固定点リアルタイプ或いはカラータイプとすることが出来る。
【0178】
不可逆領域は、エントロピー、組織分類、或いはゲイズのうちのコンセプトに基づいて、選択することが出来る。
【0179】
多数アトラスからのデータは、多数GPU及び/又は機械について使用することが出来る。データは、前の使用統計に基づいて、アトラスへと前もってロードすることが出来る。
【0180】
本明細書では、特定の回路について説明してきた。代わりの実施形態では、これらの回路のうち一つ又は複数の機能は単一の処理リソース又はその他の構成要素によって提供可能であり、或いは、単一の回路によって提供される機能は、組み合わされた二つ以上の処理リソース又はその他の構成要素によって提供可能である。単一の回路への言及は、その回路の機能を提供する複数の構成要素が互いに遠隔であるかどうかに関わらず、そのような構成要素を包含し、複数の回路への言及は、それらの回路の機能を提供する単一の構成要素を包含する。
【0181】
以上の述べたように、本実施形態においては、一つのアトラスの中に複数種類(複数のデータ形式)のデータを8ビットに変換して保存する。8ビットに変換したデータをマッピングした状態でGPU上ではハンドリングを行う。すなわち、8ビットのデータを元データ(例えば符号付16ビット、符号なし16ビット、8ビット等のレンダリングデータ)に再変換するためのスケール(重み、変換係数)を含んだマスクを用いて、データ形式が異なるデータを8ビットに変換し、データを復元する(元に戻す)。
【0182】
より具体的には、複数のデータを保存するために2つのチャンネルに8ビットの異なる形式のデータを保存できるアトラスを格納し、アトラスに保存された8ビットのデータを16ビットのデータや8ビットのレンダリングデータに変換するための上記マスクにおいて、スケール(i,j,k)を導入している。これにより、従来のチャンネルパッキングにおいては、マスクにスケールが存在しないため、パッキングするデータは同じ形式のデータ(例えば8ビット同士)に限定されていたが、本実施形態の構成によれば、スケールが導入されたマスクを用いるため、異なるデータ形式のデータを一つのアトラスにパッキングすることができる。
【0183】
特定の実施形態について説明してきたが、これらの実施形態は、例として提示したにすぎず、本発明の範囲を限定することを意図したものではない。実際、本明細書で説明する新規な方法及びシステムは様々なその他の形態で実施することが出来る。その上、本明細書で説明する方法及びシステムの形態における様々な省略、置き換え、及び変更は、本発明の趣旨から逸脱することなく行うことが出来る。添付の特許請求の範囲及びその等価物は、本発明の範囲に含まれるこのような形態又は変形形態を包含することを意図するものである。
【符号の説明】
【0184】
10…ソーステクスチャ、14…関心領域、20…アトラステクスチャ、30…ソース画像、32…ソース画像、42…計算装置、46…表示スクリーン、48…入力デバイス、50…データ格納部、52…CPU、54…メモリ、56…領域選択回路、57…重み回路、58…サンプリング回路、59…レンダリング回路、62…グラフィックメモリ、74…選択回路
図1
図2
図3
図4
図5
図6
図7