(57)【要約】【課題】超音波診断装置において、外部メモリから３Ｄプロセッサ内にデータを転送してボリュームレンダリング演算を実行する場合において、ボリュームレンダリング演算を損なうことなく、データ転送効率を高める。【解決手段】３Ｄメモリ２４上には三次元データ空間内のボリュームデータが格納される。そのボリュームデータはスライスデータ単位で内部メモリ２８へ転送される。３Ｄプロセッサ２６は、データ転送ごとにボクセル演算実行可能なレイを判断し、そのレイについてボクセル演算実行可能なところまでボクセル演算を進行させる。レイの向きに応じてスライスデータの取り出し方向が選択される。【選択図】図２
2005165627.tif 000002
【特許請求の範囲】
【請求項１】
生体に対して超音波を送受波し、これにより複数のボクセルデータで構成されるボリュームデータを取り込む送受波手段と、
前記ボリュームデータが格納される三次元データメモリと、
前記ボリュームデータに基づいて三次元画像を形成する三次元画像形成手段と、
前記三次元データメモリから前記三次元画像形成手段へ前記ボリュームデータを転送する手段であって、所定のデータ集合を転送単位としてデータ転送を繰り返し実行するデータ転送手段と、
を含み、
前記三次元画像形成手段は、
前記三次元データ空間に対して複数のレイを設定するレイ設定手段と、
前記データ転送ごとに、前記複数のレイの中でボクセル演算実行可能なレイを判定するレイ判定手段と、
前記データ転送ごとに、前記ボクセル演算実行可能なレイについてボクセル演算実行可能な座標までボクセル演算を進行させるボクセル演算手段と、
を含み、
前記各レイごとの最後のボクセル演算の結果として前記三次元画像が構成され、
前記各レイについてボクセル演算が独立して進行することを特徴とする超音波診断装置。
【請求項２】
請求項１記載の装置において、
前記所定のデータ集合は、三次元データ空間内において連続性をもった複数のボクセルデータで構成されるスライスデータであり、
前記データ転送手段は、スライスデータの並び順でデータ転送を繰り返し実行することを特徴とする超音波診断装置。
【請求項３】
請求項２記載の装置において、
前記データ転送手段は、前記スライスデータの並び方向における正方向又は負方向を前記スライスデータの取り出し方向として選択する選択手段を含むことを特徴とする超音波診断装置。
【請求項４】
請求項３記載の装置において、
前記方向選択手段は、前記三次元データ空間に対する視点の位置に応じて前記順方向又は逆方向を選択することを特徴とする超音波診断装置。
【請求項５】
請求項２記載の装置において、
前記三次元データメモリへの前記ボリュームデータの書き込み時に三次元送受波空間の座標系から前記三次元データ空間の座標系への座標変換を実行する座標変換手段を含み、
前記データ記憶空間は、直交する３つの座標軸を有し、
前記スライスデータは、前記直交する３つの座標軸の内の特定の座標軸に直交する面に相当することを特徴とする超音波診断装置。
【請求項６】
請求項１記載の装置において、
前記三次元画像形成手段は、前記ボクセル演算で必要なデータを補間処理によって生成するデータ補間手段を含むことを特徴とする超音波診断装置。
【請求項７】
請求項１記載の装置において、
前記三次元画像形成手段は、前記各レイごとに単位長さ当たりにおけるボクセル演算回数を均一化する手段を含むことを特徴とする超音波診断装置。
【請求項８】
請求項１記載の装置において、
前記三次元画像形成手段は、並列動作する複数の三次元画像形成モジュールを含み、
前記複数のレイが複数のグループに区分され、
前記各三次元画像形成モジュールがそれに対応付けられたグループについてボクセル演算を担当することを特徴とする超音波診断装置。
【請求項９】
生体の三次元送受波空間に対して超音波を送受波し、これにより複数のボクセルデータで構成されるボリュームデータを取り込む送受波手段と、
互いに直交する３つの座標軸を有する三次元データ空間を有し、前記ボリュームデータが格納される三次元データメモリと、
前記ボリュームデータに基づいて三次元画像を形成する三次元画像形成手段と、
前記三次元データメモリから前記三次元画像形成手段へ前記ボリュームデータを転送する手段であって、前記三次元データ空間内において前記３つの座標軸における特定の座標軸に直交するスライスデータを転送単位とし、且つ、前記特定の座標軸の方向をスライスデータの取り出し方向として、データ転送を繰り返し実行するデータ転送手段と、
を含み、
前記三次元画像形成手段は、
前記三次元データ空間に対して複数のレイを設定するレイ設定手段と、
前記データ転送されたスライスデータを一時的に格納する内部メモリと、
前記データ転送ごとに、前記内部メモリ上に格納されたスライスデータを用いて、前記複数のレイの中でボクセル演算実行可能なレイについてボクセル演算実行可能な座標までボクセル演算を進行させ、これにより、各レイごとの最後のボクセル演算の結果として前記三次元画像を構成する画素値を求める手段と、
を有することを特徴とする超音波診断装置。
【請求項１０】
請求項９記載の装置において、
前記三次元画像形成手段は、更に、
前記各レイごとに、それが前記三次元データ空間に対して最初に通過する点として、前記三次元データ空間における第１軸上の初期座標、第２軸上の初期座標及び第３軸上の初期座標を演算する初期座標演算手段と、
前記第１軸の刻み成分、前記第２軸の刻み成分及び前記第３軸の刻み成分を演算する刻み成分演算手段と、
前記各レイごとに、前記第１軸上の初期座標、前記第２軸上の初期座標及び前記第３軸上の初期座標に対して、それぞれ前記第１軸上の刻み成分、前記第２軸上の刻み成分及び前記第３軸上の刻み成分を累積的に加算することにより、前記各レイ上におけるボクセル演算対象座標を特定する対象座標特定手段と、
前記内部メモリ上に格納されたスライスデータの中から前記ボクセル演算対象座標に該当するボクセルデータを抽出し、あるいは、前記内部メモリ上に格納されたスライスデータを用いて前記ボクセル演算対象座標に該当するボクセルデータを補間演算により生成する手段と、
を含むことを特徴とする超音波診断装置。
【請求項１１】
請求項９記載の装置において、
前記三次元データ空間に対して定義される単位レイベクトルについて前記特定の座標軸上の座標成分を求める手段と、
前記特定の座標軸上の座標成分が正である場合に前記特定の座標軸の正方向をスライスデータの取り出し方向として選択し、前記特定の座標軸の座標成分が負である場合に前記特定の座標軸の負方向をスライスデータの取り出し方向として選択する手段と、
を含むことを特徴とする超音波診断装置。
【請求項１２】
複数のボクセルデータで構成されるボリュームデータが格納された三次元データメモリから画像処理プロセッサ内の内部メモリへ前記ボリュームデータを転送する転送工程と、
前記転送されたボリュームデータを用いて、ボリュームレンダリング法に基づいて三次元画像を形成する画像形成工程と、
を含むボリュームデータ処理方法において、
前記転送工程は、前記ボリュームデータを特定の座標軸方向に整列した複数のスライスデータに区分し、前記複数のスライスデータの中から前記所定の座標軸の方向に順番にスライスデータを転送する工程を含み、
前記画像形成工程は、
前記三次元データ空間に対して複数のレイを設定する工程と、
前記データ転送ごとに、前記複数のレイの中でボクセル演算実行可能なレイについてボクセル演算実行可能な座標までボクセル演算を進行させ、これにより、各レイごとの最後のボクセル演算の結果として前記三次元画像を構成する画素値を求める工程と、
を含むことを特徴とするボリュームデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は超音波診断装置及びボリュームデータ処理方法に関し、特に、三次元メモリに格納されたボリュームデータに基づいて三次元画像を形成する技術に関する。
【背景技術】
【０００２】
超音波診断装置において三次元超音波画像を形成する場合、生体内の三次元送受波空間に対して超音波が送受波され、それによりボリュームデータが取得される。ボリュームデータは、複数のボクセルデータ（エコーデータ）によって構成されるものである。そのようなボリュームデータを用いて三次元超音波画像を形成する場合、例えば、ボリュームレンダリング法が用いられる。
【０００３】
この手法では、一般には、三次元データ空間（ボリュームデータが存在するデータ空間）を挟むように、視点とスクリーンとが定義され、また視点からスクリーンへ複数のレイ（視線）が定義される。そして、三次元データメモリから、各レイごとにそのレイ上に存在するボクセルデータが逐次的に読み出され、各ボクセルデータに対してボクセル演算（ここでは、ボリュームレンダリング法に基づくオパシティを利用した出力光量演算）が逐次的に実行される。最終的なボクセル演算結果（出力光量）が画素値に変換され、各レイごとの画素値をスクリーン上にマッピングすれば、三次元超音波画像が構成される。
【０００４】
従来において、三次元画像を形成する各種の演算に当たっては専用のハードウエア（機能が固定された高速演算器）を設計し、そのハードウエアで上記ボクセル演算などを実行させていた。
【０００５】
その一方において、近時、プログラマブルな汎用プロセッサ（例えば、ＤＳＰ（デジタル・シグナル・プロセッサ））の処理速度が向上し、機能設計やその変更が容易であることなどから、そのような汎用プロセッサを利用することが要請されている。
【０００６】
上記の三次元画像処理を汎用プロセッサで実現する場合、一般には、三次元データメモリ（外部メモリ）上にボリュームデータを格納し、汎用プロセッサからその三次元データメモリへアクセスし、各レイごとにボクセル演算で必要なボクセルデータをその都度特定してそれを汎用プロセッサに取り込む必要がある。任意位置に視点を設定できる場合、各レイはほとんどの場合にボリュームデータを斜めに通過することになるが、その場合において、各レイごとにボクセル演算を同時進行させると、複数のレイについてのボクセル演算で必要なボクセルデータ群はボリュームデータ上で様々に分布し、すなわち、三次元データメモリに対して必要なボクセルデータを得るためにランダムアクセスをする必要がある。
【０００７】
なお、ＳＲＡＭのようなメモリデバイスが三次元データメモリとして用いられる場合にはそのようなランダムアクセスを高速に行うことができるが、一般には安価且つ集積度が高いＤＲＡＭあるいはＳＤＲＡＭなどが用いられ、それらのメモリデバイスの場合にランダムアクセスを行おうとすると、読み出し時間が増大し、高速転送の要請に反する結果となる。
【０００８】
下記の特許文献１には超音波診断装置においてボリュームレンダリング法を基礎として三次元超音波画像を形成する技術が開示されている。しかし、データ転送の方式や各レイごとにどのようにボクセル演算を進行させるのかについては具体的に開示されていない。また、下記の特許文献２には、キャシュミスの発生を防止するために、特定のアドレス関係にあるデータブロックを単位として、三次元データ空間（メインメモリ）から画像処理プロセッサ内へデータ転送を行う装置が開示されている。この装置では、データの読み出し時に特別な演算を行って読み出しアドレス集合を求めており、ランダムアクセスの必要性を指摘できる。
【０００９】
【特許文献１】特許第２８８３５８４号
【特許文献２】特開平９−１３４４４７号
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、ボリュームデータに基づく三次元超音波画像の形成を能率的に行えるようにすることにある。
【００１１】
本発明の他の目的は、三次元データメモリから画像処理用のプロセッサへデータ転送を簡便かつ迅速に行えるようにすることにある。
【課題を解決するための手段】
【００１２】
（１）本発明は、生体に対して超音波を送受波し、これにより複数のボクセルデータで構成されるボリュームデータを取り込む送受波手段と、前記ボリュームデータが格納される三次元データメモリと、前記ボリュームデータに基づいて三次元画像を形成する三次元画像形成手段と、前記三次元データメモリから前記三次元画像形成手段へ前記ボリュームデータを転送する手段であって、所定のデータ集合を転送単位としてデータ転送を繰り返し実行するデータ転送手段と、を含み、前記三次元画像形成手段は、前記三次元データ空間に対して複数のレイを設定するレイ設定手段と、前記データ転送ごとに、前記複数のレイの中でボクセル演算実行可能なレイを判定するレイ判定手段と、前記データ転送ごとに、前記ボクセル演算実行可能なレイについてボクセル演算実行可能な座標までボクセル演算を進行させるボクセル演算手段と、を含み、前記各レイごとの最後のボクセル演算の結果として前記三次元画像が構成され、前記各レイについてボクセル演算が独立して進行することを特徴とする。
【００１３】
上記構成によれば、三次元データメモリから画像形成手段へのデータ転送は所定のデータ集合を単位として行われ、そのデータ転送ごとに実行可能なボクセル演算が遂行される。すなわち、データ転送ごとに、複数のレイの中でボクセル演算実行可能なレイが判定され、且つ、そのレイについてボクセル演算実行可能な座標までボクセル演算が遂行される。これにより、転送されたデータの内容に応じた極めて能率的な演算処理を実現できる。
【００１４】
例えば、各レイごとに同じ進行度合いでボクセル演算を実行させ、あるいは、各レイごとにその都度必要なデータを特定してそれを順次取得してボクセル演算を遂行させる場合には、どうしても複雑なアドレス演算が必要になる。これに対し、本発明によれば、転送されたデータ集合に依拠して実行可能なボクセル演算を実行させるだけでよいので、データ転送が簡素化され、すなわち、そのために複雑なアドレス演算を逐次行う必要がない。
【００１５】
送受波手段は、電子走査と機械走査とを併用する送受波器、二次元的に電子走査を行う送受波器などで構成される。三次元データメモリはデータのブロック転送に適するメモリで構成されるのが望ましい。複数のレイは、互いに平行に設定されてもよいし、非平行に設定されてもよい。所定のデータ集合は、望ましくはデータがメモリ上で連続するデータブロックであるが、データ転送ごとに上記方法による演算を実行して最終的に三次元画像を構成できる限りにおいて、１又は複数の不連続部分を有するものであってもよい。ここで、１又は複数のスライスデータを転送単位とするのが望ましく、特に１つのスライスデータを転送単位とするのが望ましいが、三次元データ空間あるいはメモリアドレス空間において抜けがなく連続的に読み出しを行える限りにおいて、例えば１．５個のスライスデータを転送単位とすることも可能である。上記の三次元画像形成手段はプログラム動作型のプロセッサで構成されるのが望ましく、その場合に、データ転送手段はそのプロセッサの機能として実現してもよい。
【００１６】
望ましくは、前記所定のデータ集合は、三次元データ空間内において連続性をもった複数のボクセルデータで構成されるスライスデータであり、前記データ転送手段は、スライスデータの並び順でデータ転送を繰り返し実行する。スライスデータは、例えば、三次元座標軸において特定軸上に並んだ各面データあるいはブロックデータである。
【００１７】
望ましくは、前記データ転送手段は、前記スライスデータの並び方向における正方向又は負方向を前記スライスデータの取り出し方向として選択する選択手段を含む。望ましくは、前記方向選択手段は、前記三次元データ空間に対する視点の位置に応じて前記順方向又は逆方向を選択する。
【００１８】
ボクセル演算は、レイ（視線）上において視線向きの方向へ進行するので、並び方向における正方向と負方向の内で、視線の向きに沿う方向が取り出し方向として選択される。例外的には、レイと並び方向とが直交するが、その場合にはいずれの方向であってもボクセル演算を進行させることができる。その場合、基本的には、１つのデータ集合が得られると、それを貫く各レイに限ってはボクセル演算の全部が終了することになる。
【００１９】
望ましくは、前記三次元データメモリへの前記ボリュームデータの書き込み時に三次元送受波空間の座標系から前記三次元データ空間の座標系への座標変換を実行する座標変換手段を含み、前記データ記憶空間は、直交する３つの座標軸を有し、前記スライスデータは、前記直交する３つの座標軸の内の特定の座標軸に直交する面に相当する。
【００２０】
座標変換は、ボリュームデータの書き込み時及びボリュームデータの読み出し時に行うことが可能であるが、書き込み時に座標変換を行えば、メモリ上で連続したデータ集合をブロック転送することが容易となる。
【００２１】
望ましくは、前記三次元画像形成手段は、前記ボクセル演算で必要なデータを補間処理によって生成するデータ補間手段を含む。レイ上の演算対象となる座標上にボクセルデータが存在しない場合に、その近傍に存在する複数のデータから二次元あるいは三次元の補間演算によって補間データを生成し、それをボクセル演算で利用するものである。補間演算に代えて、最も近傍のデータをそのまま利用すると共に、必要に応じて同じデータを複数回利用する方式を用いることができる。三次元補間を行う場合、必要に応じて、複数のデータ集合を利用してもよい。すなわち、例えば、前回転送されたデータ集合と今回転送されたデータ集合とを用いて、必要な補間データを生成するようにしてもよい。その場合においても、データ集合が三次元データ空間あるいはメモリアドレス空間で連続性をもったデータ列として構成されていれば、各データ集合の転送を簡便に行える。
【００２２】
望ましくは、前記三次元画像形成手段は、前記各レイごとに単位長さ当たりにおけるボクセル演算回数を均一化する手段を含む。この構成によれば、レイの向きによらずに、各レイごとの演算ピッチを均一にして、画質を安定させることができる。つまり、視点の位置に応じて、目ばえや奥行き感が異なってしまう問題を未然に防止できる。
【００２３】
望ましくは、前記三次元画像形成手段は、並列動作する複数の三次元画像形成モジュールを含み、前記複数のレイが複数のグループに区分され、前記各三次元画像形成モジュールがそれに対応付けられたグループについてボクセル演算を担当する。この場合、１つのレイを単位として複数のレイを複数のグループに振り分けてもよいし、１つのレイ列を単位として複数のレイを複数のグループに振り分けてもよいし、あるいは、１つのレイブロックを単位として複数のレイを複数のグループに振り分けてもよい。
【００２４】
（２）また本発明は、生体の三次元送受波空間に対して超音波を送受波し、これにより複数のボクセルデータで構成されるボリュームデータを取り込む送受波手段と、互いに直交する３つの座標軸を有する三次元データ空間を有し、前記ボリュームデータが格納される三次元データメモリと、前記ボリュームデータに基づいて三次元画像を形成する三次元画像形成手段と、前記三次元データメモリから前記三次元画像形成手段へ前記ボリュームデータを転送する手段であって、前記三次元データ空間内において前記３つの座標軸における特定の座標軸に直交するスライスデータを転送単位とし、且つ、前記特定の座標軸の方向をスライスデータの取り出し方向として、データ転送を繰り返し実行するデータ転送手段と、を含み、前記三次元画像形成手段は、前記三次元データ空間に対して複数のレイを設定するレイ設定手段と、前記データ転送されたスライスデータを一時的に格納する内部メモリと、前記データ転送ごとに、前記内部メモリ上に格納されたスライスデータを用いて、前記複数のレイの中でボクセル演算実行可能なレイについてボクセル演算実行可能な座標までボクセル演算を進行させ、これにより、各レイごとの最後のボクセル演算の結果として前記三次元画像を構成する画素値を求める手段と、を有することを特徴とする。
【００２５】
上記構成によれば、スライスデータを単位としてデータ転送が行われるので、それを特定するために複雑なアドレス演算が不要となる。ここで、スライスデータを単位として各レイごとにボクセル演算が進行する。
【００２６】
望ましくは、前記三次元画像形成手段は、更に、前記各レイごとに、それが前記三次元データ空間に対して最初に通過する点として、前記三次元データ空間における第１軸上の初期座標、第２軸上の初期座標及び第３軸上の初期座標を演算する初期座標演算手段と、前記第１軸の刻み成分、前記第２軸の刻み成分及び前記第３軸の刻み成分を演算する成分演算手段と、前記各レイごとに、前記第１軸上の初期座標、前記第２軸上の初期座標及び前記第３軸上の初期座標に対して、それぞれ前記第１軸上の刻み成分、前記第２軸上の刻み成分及び前記第３軸上の刻み成分を累積的に加算することにより、前記各レイ上におけるボクセル演算対象座標を特定する対象座標特定手段と、前記内部メモリ上に格納されたスライスデータの中から前記ボクセル演算対象座標に該当するボクセルデータを抽出し、あるいは、前記内部メモリ上に格納されたスライスデータを用いて前記ボクセル演算対象座標に該当するボクセルデータを補間演算により生成する手段と、を含む。
【００２７】
上記構成によれば、各レイについて各座標軸ごとに初期座標が求められ、それを基準として、各レイ上の対象座標が順次決定される。
【００２８】
望ましくは、前記三次元データ空間に対して定義される単位レイベクトルについて前記特定の座標軸上の座標成分を求める手段と、前記特定の座標軸上の座標成分が正である場合に前記特定の座標軸の正方向をスライスデータの取り出し方向として選択し、前記特定の座標軸の座標成分が負である場合に前記特定の座標軸の負方向をスライスデータの取り出し方向として選択する手段と、を含む。
【００２９】
上記構成によれば、単位レイベクトルを基準としてスライスデータの取り出し方向を自動的に判断することが可能となる。複数のレイに対して単一の単位レイベクトルを設定してもよく、複数のレイについてそれぞれ単位レイベクトルを設定してもよい。
【００３０】
（３）また本発明は、複数のボクセルデータで構成されるボリュームデータが格納された三次元データメモリから画像処理プロセッサ内の内部メモリへ前記ボリュームデータを転送する転送工程と、前記転送されたボリュームデータを用いて、ボリュームレンダリング法に基づいて三次元画像を形成する画像形成工程と、を含むボリュームデータ処理方法において、前記転送工程は、前記ボリュームデータを特定の座標軸方向に整列した複数のスライスデータに区分し、前記複数のスライスデータの中から前記所定の座標軸の方向に順番にスライスデータを転送する工程を含み、前記画像形成工程は、前記三次元データ空間に対して複数のレイを設定する工程と、前記データ転送ごとに、前記複数のレイの中でボクセル演算実行可能なレイについてボクセル演算実行可能な座標までボクセル演算を進行させ、これにより、各レイごとの最後のボクセル演算の結果として前記三次元画像を構成する画素値を求める工程と、を含むことを特徴とする。
【００３１】
上記の方法は、特に超音波診断装置においてボリュームレンダリング法に基づいて三次元画像を構成する場合に利用されるが、それ以外のボリュームデータを取り扱う分野での利用も可能である。
【発明の効果】
【００３２】
以上説明したように、本発明によれば、ボリュームデータに基づく三次元超音波画像の形成を能率的に行える。本発明によれば、三次元データメモリから画像処理用のプロセッサへデータ転送を簡便かつ迅速に行える。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【００３４】
図１には、ボリュームレンダリング法の原理が示されている。三次元データ空間３６は、超音波ビームを二次元走査することによって取得されたボリュームデータを有し、超音波診断装置上においては、後述する３Ｄメモリ上に仮想的に構築される。ここでは、三次元データ空間３６は、ｘ，ｙ，ｚの互いに直交する座標軸を有し、三次元データ空間３６内の各座標にはボクセルデータ（エコーデータ）が存在する。なお、三次元の超音波送受波空間がｒ，θ，φの極座標空間として構成される場合には、各ボクセルデータに対して、それが有する（ｒ，θ，φ）の座標を（ｘ，ｙ，ｚ）の座標に変換される。
【００３５】
ボリュームレンダリングに際しては、通常、三次元データ空間３６の外側に仮想的に視点が設定され、三次元データ空間を間に介して、視点と反対側に二次元平面としてのスクリーン４０が仮想的に設定される。その視点を基準として複数のレイ（視線）が定義される（図１には１つのレイ３８が代表として示されている）。レイ３８は、三次元データ空間３６を貫通し、このため、レイ３８には複数のボクセルデータからなるボクセルデータ列が対応することになる。視点側から各エコーデータごとにボリュームレンダリング法に基づくボクセル演算を逐次的に実行すると、最終のボクセル演算の結果として画素値が決定される。その画素値がスクリーン上における当該レイ３８に対応する座標Ｐにマッピングされる。
【００３６】
スクリーンは、Ｘ，Ｙの座標軸を有し、すなわち各座標はＸ，Ｙの座標で定義される。各座標ごとにレイが設定されており、上記のように、各レイについて求められた画素値をスクリーン４０上にマッピングすればそのスクリーン上に三次元画像が形成される。なお、複数のレイが互いに平行の場合もあるが、複数のレイが互いに非平行となる場合もある。
【００３７】
ボリュームレンダリング法において、各エコーデータごとのボクセル演算の演算式としては各種のものが知られている。基本的には、いずれの演算式においても、各エコーデータのボクセル演算ごとに、不透明度（オパシティ）がパラメータとして利用される。そのようなパラメータを利用して、各ボクセル演算ごとに出力光量（出力値）が求められ、それが次のボクセル演算において入力光量（入力値）として利用される。そして、これが繰り返される。演算終了条件を満たした時点での出力光量が画素値に変換される。つまり、媒体中を光が散乱、減衰しながら伝搬するモデルを基礎とするものである。本実施形態では、例えば、次の（１）式が用いられる。
【数１】
2005165627.tif 000003
【００３８】
もちろん、上記の（１）式以外を用いるようにしてもよく、例えば、上記特許文献１に記載されたような演算式を用いてもよい。各レイごとのボクセル演算は、例えば、その対象座標が三次元データ空間を越えた場合、出力光量が所定値（例えば１）を越えた場合、及び、各ボクセル演算で用いた不透明度の累積加算値が所定値（例えば１）を越えた場合、など所定の条件を満たす場合に終了する。その時点の出力光量が画素値に対応付けられる。
【００３９】
なお、本実施形態にかかるデータ転送及び処理方法は、上記のようなボリュームレンダリング法による画像処理を行う場合に特に好適であるが、各レイに沿って逐次演算を行う画像処理法にも適用可能である。例えば、積算法、最大値や最小値の検出法、などである。
【００４０】
図２には、本実施形態に係る超音波診断装置の全体構成がブロック図として示されている。
【００４１】
３Ｄプローブ１０は、三次元エコーデータ取込用超音波探触子である。この３Ｄプローブ１０は、体表面上に当接して用いられ、あるいは体腔内に挿入して用いられる。この３Ｄプローブ１０によって超音波ビームが形成され、この超音波ビームは二次元走査される。この超音波ビームの二次元走査によって三次元の送受波空間１２が形成される。
【００４２】
送受波空間１２は、ここではｒ，θ，φの３つの座標によって定義される三次元空間であり、例えば超音波ビームＢをθ方向に走査すると走査面Ｓが形成され、この走査面Ｓをφ方向に走査すると三次元の送受波空間１２が構成される。３Ｄプローブ１０は、電子走査と機械走査とを組み合わせたものであってもよいし、超音波ビームを二次元的に電子走査するものであってもよい。後者の場合には公知の２Ｄアレイ振動子が用いられる。なお、図２においては角錐形状をもった送受波空間１２が示されているが、その送受波空間１２の形態は立方体であってもよく、あるいはそれ以外であってもよい。
【００４３】
送信部１４は送信ビームフォーマーとして機能する。すなわち、送信部１４はアレイ振動子を構成する複数の振動素子に対して複数の送信信号を供給する。また、受信部１６は受信ビームフォーマーとして機能し、アレイ振動子を構成する複数の振動素子からの複数の受信信号に対して整相加算処理を実行する。これによって各超音波ビームごとに受信信号が受信部１６から出力される。受信部１６はＡ／Ｄ変換器を有しており、受信部１６から出力される整相加算後の受信信号はデジタルデータである。ここで、各データはボクセルデータ（エコーデータ）に相当する。
【００４４】
２Ｄ変換部１８は、走査面Ｓに対応する二次元断層画像（Ｂモード画像）を形成するモジュールである。この２Ｄ変換部１８は例えば従来から用いられているデジタルスキャンコンバータなどによって構成される。２Ｄ変換部１８はｒ，θ座標をｘ，ｙ座標に変換する処理、その他の補間処理などを実行する。この２Ｄ変換部１８により形成された二次元断層画像のデータは表示処理部２０へ出力される。
【００４５】
３Ｄ変換部２２は、受信部１６から出力されるエコーデータすなわちボクセルデータに対して三次元の座標変換を実行する。すなわち、各ボクセルデータはｒ，θ，φで定義される座標を有しており、その座標をｘ，ｙ，ｚの座標に変換する。すなわち極座標空間から直交座標空間への変換を実行している。座標変換後のボクセルデータは３Ｄメモリ２４上に格納される。
【００４６】
３Ｄメモリ２４は、図１に示した三次元データ空間３６に相当するメモリ空間を有しており、３Ｄメモリ２４の各アドレスは三次元空間における各座標に対応付けられている。そして、入力される各ボクセルデータはそれが有する三次元座標に対応付けられたアドレスに格納される。３Ｄメモリ２４は、後述する３Ｄプロセッサ２６との関係から見れば外部メモリに相当しており、その３Ｄメモリは例えばＤＲＡＭなどによって構成され、特にＳＤＲＡＭなどによって構成されるのが望ましい。すなわち、後述するように記憶されたデータを所定データ単位でブロック転送可能なメモリを用いるのが望ましい。この場合においてブロック転送の方式としてはＤＭＡ転送方式を用いることができる。
【００４７】
３Ｄプロセッサ２６は、本実施形態においてはプログラム動作するＣＰＵやＤＳＰ（デジタルシグナルプロセッサ）などによって構成されるものであり、その内部には内部メモリ２８が設けられている。内部メモリ２８は、３Ｄプロセッサ２６内におけるキャッシュメモリとして機能し、その３Ｄプロセッサ２６はその内部メモリ２８に対して高速でアクセスすることが可能である。その一方において、３Ｄメモリ２４から内部メモリ２８へのデータ転送は一般にあまり高速に行うことができない。
【００４８】
３Ｄプロセッサ２６は、本実施形態においてＤＭＡコントローラを内蔵しており、そのＤＭＡコントローラによって３Ｄメモリ２４から内部メモリ２８へデータをＤＭＡ転送することができる。符号２５で示すように、３Ｄプロセッサ２６が３Ｄメモリ２４へのデータの書き込みを制御するようにしてもよく、その場合においては３Ｄ変換部２２から出力される各データが一旦３Ｄプロセッサ２６に取り込まれた後に、それを経由して３Ｄメモリ２４へ格納される。もちろん、そのような３Ｄメモリ２４へのデータの書き込みは他のプロセッサが行ってもよく、図２に示される制御部３２の機能としてそれを実現するようにしてもよい。
【００４９】
本実施形態においては、後に詳述するように、３Ｄメモリ２４から内部メモリ２８へのデータ転送は所定のデータ集合、具体的にはスライスデータ、を単位として実行されており、その場合においてはレイの向きが考慮され、スライスデータの並び方向のうちで正方向又は負方向が適切に選択されている。３Ｄプロセッサ２６においては、従来のように各レイごとにボクセル演算を同時進行で進めるのではなく、送られてきたデータを用いて実行可能なボクセル演算が順次実行されている。したがって、三次元データ空間とレイの交差関係にもよるが、通常は、各レイごとにボクセル演算の進行度合いは区々である。
【００５０】
このような手法を用いることにより、３Ｄメモリ２４から内部メモリ２８への転送単位を画一的に設定することができ、その上で得られたデータを用いて各レイごとにボクセル演算を進行させることができる。３Ｄプロセッサ２６は内部メモリ２８に対して高速にアクセスすることができるため、内部メモリ２８へのランダムアクセスは格別動作上の負担とはならないが、３Ｄプロセッサ２６から３Ｄメモリ２４へのランダムアクセスはデータ転送レートが低いなどの理由から画像処理上のボトルネックとなる。これに対し、本実施形態の手法によれば、３Ｄメモリ２４から内部メモリ２８へのデータのブロック転送を行わせることによりそのような問題を回避しつつ、能率的に画像処理を進めることが可能となる。これについては後に詳述する。
【００５１】
本実施形態において、３Ｄプロセッサ２６はボクセル演算の演算式として例えば上記（１）式に示したものを利用している。したがって、各レイごとにその演算式が順次実行され、終了条件を満たした時点での出力値が画素値に変換される。その画素値は３Ｄプロセッサ２６から表示処理部２０に設けられたフレームメモリ上に格納される。もちろん、そのようなフレームメモリを３Ｄプロセッサ２６内に設けることも可能である。いずれにしても、各レイごとにボクセル演算を繰り返し実行することによりスクリーン上に三次元画像が構成されることになる。
【００５２】
表示処理部２０は画像データとグラフィックデータの合成機能やその他の表示処理機能を有しており、装置の動作モードに応じて、表示部３０に対して二次元断層画像のデータあるいは三次元画像のデータを出力する。表示部３２は二次元断層画像及び三次元画像の両方又は一方が表示されることになる。
【００５３】
制御部３２はＣＰＵ及びそのための動作プログラムによって構成され、図２に示される各構成の動作制御を行っている。その制御部３２には操作パネルによって構成される入力部３４が接続されている。ユーザーはその入力部３４を用いてモードの選択やパラメータの指定などの各種の入力操作を行うことができる。ちなみに、ドプラ処理を行う構成などに関しては図２において図示省略されている。
【００５４】
図３には、３Ｄメモリ２４上に仮想的に構築される３Ｄデータ空間３６が示されている。この３Ｄデータ空間３６はｘ軸、ｙ軸及びｚ軸を有し、各ボクセルデータがそれに対応付けられた三次元座標に格納されている。ここでは、ｘ軸方向のアドレスが０〜ｌで定義され、ｙ方向のアドレスが０〜ｍで定義され、ｚ方向のアドレス０〜ｎで定義されている。
【００５５】
図４には、図１に示した３Ｄメモリ２４のアドレス構造３８が示されており、図示のように各ボクセルデータは一次元のアドレス構造３８上に連続的に格納される。ここでＤはスライスデータに相当しており、すなわちｘ座標上の特定のアドレスで定義される１枚のｙ−ｚ平面に相当するデータである。このようなブロックを単位として３Ｄメモリ２４から内部メモリ２８へのデータ転送が行われる。もちろん、複数枚のスライス面を１つのブロックとして、それを単位として転送を行うようにしてもよいし、１．５個のスライス面を１つの転送単位としてもよい。いずれにしても、連続するデータをそのままブロック転送することにより、先頭のアドレスと転送容量（あるいは終了アドレス）を指定するだけで対象となるデータ集合を迅速かつ容易にブロック転送することが可能となる。したがって、従来のようなランダムアクセス方式に比べて、データ転送レートを数倍から数十倍に高速化することも可能である。
【００５６】
ただし、単にブロック転送を行うと、３Ｄプロセッサ２６内において各レイごとにボリュームレンダリング演算を遂行していくことが困難となる。つまり、場合によっては、そのような演算の進行がかえって阻害されてしまうという問題がある。そこで、本実施形態においては、レイの向きに応じてスライスデータの取り出し方向を選択する方法が採用されている。
【００５７】
図５には、レイ単位ベクトルＶが示されている。このレイ単位ベクトルＶは、レイの向きを判定し、また各レイにおいて演算対象となる座標を逐次的に求めるために用いられる。この単位レイベクトルは複数のレイが平行に設定される場合にはそれらについて共通に１つだけ設定され、複数のレイがそれぞれ非平行に設定される場合には、各レイごとに設定される。もちろん、その場合でも、代表として１つの単位レイベクトルを設定してもよい。
【００５８】
例えば、ある代表レイについて、その向きと同一で単位が１の大きさを持ったベクトルとして、この単位レイベクトルＶが定義される。その単位ベクトルの各座標軸上の成分はΔｘ，Δｙ，Δｚである。
【００５９】
図６には、三次元データ空間３６に対して複数のレイが設定された状態が示されている。三次元データ空間３６は、三次元空間ではあるが、図６においては説明のために平面的に表されている。
【００６０】
図６に示されるように、複数のレイがｘ軸及びｙ軸に対して交差する斜め方向に設定された場合、各レイに注目すると、各レイが最初に三次元データ空間３６に進入する座標が図６において黒丸で示されている。各黒丸は同時にボクセルデータに相当するものである。図６に示されるように、各レイの位置に応じて三次元データ空間３６に進入する最初の座標はそれぞれ異なっている。例えば、レイＬ５〜Ｌ１２までの８つのレイについては進入位置はｘ座標における原点を横切るｙ−ｚ面上に存在し、それがボクセルデータｅ１〜ｅ８で表されている。その一方、レイＬ１〜Ｌ４についてはｙ方向の終端を横切るｘ−ｚに進入しており、その最初の進入位置にあるボクセルデータが図６においてｅ９〜ｅ１２で表されている。ちなみに、スクリーン４０上における各座標ごとに１つのレイが対応付けられており、また、図６の例では、各レイは平行であって、便宜上、レイＬ１上に単位レイベクトルＶが表されている。
【００６１】
本実施形態の装置においては、三次元データ空間３６内に存在する複数のボクセルデータ（つまり、ボリュームデータ）が上述したようにスライスデータを単位として転送されており、そのような転送単位がＤ１，Ｄ２によって表されている。すなわち、ｘ軸上における各座標ごとにｘ軸に直交する面を転送単位として順次ｘ方向の正方向又は負方向のいずれかに順次転送される。図６に示す例ではｘ方向における正方向にスライスデータの取り出し方向が定められている。これは、後述するように単位ベクトルＶのｘ軸上の成分Δｘが正の符号を有しているためである。
【００６２】
本実施形態においては、スライスデータＤ１が転送されると、レイＬ５〜Ｌ１２についてだけ、ボクセルデータｅ１〜ｅ８を用いてそれぞれのレイについてボクセル演算が実行される。この場合においては、Ｌ１〜Ｌ４については、ボクセル演算は見送られる。すなわち、それらのレイ上においてはボクセル演算実行可能なボクセルデータが存在していないためである。次に、スライスデータＤ２が転送されると、レイＬ５〜Ｌ１２については再びボクセル演算が実行され、それに加えてレイＬ４についてもそこで初めてボクセルデータｅ９を用いてボクセル演算が実行される。以下同様に、スライスデータの転送を行うと、全部のレイの中でボクセル演算実行可能なレイが特定されつつ、そのレイについてだけボクセル演算実行可能な座標までボクセル演算が進行することになる。したがって、転送データに依存して各レイごとにボクセル演算の進行度合いが独立して定まることになる。
【００６３】
図７には、上記事項が段階的に示されており、（ａ），（ｂ），（ｃ），（ｄ），の順で工程が進行する。すなわち、（ａ）に示されるように最初のデータ転送がなされると、レイＬ５〜レイＬ１２についてボクセルデータ列Ｅ１を用いてボクセル演算が実行され、それ以外のレイＬ１〜４についてのボクセル演算は見送られる。次にデータ転送が行われると、（ｂ）に示すように今度はボクセルデータ列Ｅ２を用いてレイＬ４〜Ｌ１２についてボクセル演算が実行される。すなわち、（ａ）に示した場合に比べてボクセル演算実行可能なレイとしてレイＬ４が加えられている。
【００６４】
次に、（ｃ）に示されるようにデータ転送が行われると、ボクセルデータ列Ｅ３を用いてレイＬ４〜Ｌ１２についてボクセル演算が実行され、この段階においては新しくボクセル演算実行可能なレイは加えられていない。そして、（ｄ）に示されるように、更にデータ転送がなされると、ボクセルデータ列Ｅ４を用いてレイＬ３〜Ｌ１２についてボクセル演算が実行される。そして、このような過程が繰り返されると、最終的に全レイについて必要なボクセル演算をすべて行うことができ、その結果としてスクリーン４０上に三次元画像を構築することが可能となる。ちなみに、各レイごとのボクセル演算の終了条件として、例えば、ボクセル演算の対象となる対象座標が三次元データ空間３６から外れたこと、出力値が所定値を越えたこと、及び、累積加算した不透明度の値が所定値を越えたことなどが設定されており、そのような終了状況を満たした時点で各レイごとに個別的にボクセル演算が終了する。
【００６５】
ちなみに、図７に示した例では、左上から右下の方向に各レイの向きが定められていたが、それとは逆に例えば、右上から左下の方向に各レイの向きが設定されているような場合には、スライスデータはｘ方向における負方向に順次読み出される。これによって、レイの向きに沿って各レイごとにボクセル演算を適切に進行させることになる。また、各レイの向きが例えばｙ方向あるいはｚ方向に一致した場合、１つのスライスデータを転送すると、そのスライスデータを貫通するレイについては全部のボクセル演算が終了することになる。すなわち、本実施形態においては、レイ全体の中でボクセル演算実行可能なレイについてボクセル演算実行可能なところまでボクセル演算を進行させることを条件としており、これによって、転送されたデータにしたがった画像処理が実現されている。
【００６６】
ちなみに、レイの向きがｙ方向あるいはｚ方向に一致した場合においては、スライスデータの取り出し方向としてｘ方向において正方向及び負方向のいずれをも指定することも可能である。
【００６７】
図８には、複数のレイがｙ軸に対して微小角度もって交差した状態が示されている。このような場合においても、（ａ）に示されるように、最初のデータ転送がなされるとボクセルデータ列Ｅ１を用いてレイＬ１についてそれに沿ってボクセル演算が順次進行し、当該レイＬ１について処理は完了する。そして、次にデータ転送がなされると、ボクセルデータ列ｅ２を用いてレイＬ２についてボクセル演算が順次実行され、これによって当該レイＬ２についてのボクセル演算が終了する。これは（ｃ）及び（ｄ）に示す場合においても同様である。すなわち、ボクセルデータ列Ｅ３を用いてレイＬ３についてのボリュームレンダリングが実行され、ボクセルデータ列Ｅ４を用いてレイＬ４についてボリュームレンダリングが実行される。
【００６８】
したがって、本実施形態によれば、三次元データ空間に対して任意の位置に視点を設定した場合においても、ｘ軸上における正方向または負方向のいずれか適切な方向からスライスデータを読み出せば、各レイについてのボリュームレンダリング演算を適切に行うことが可能となる。
【００６９】
各レイ上における対象座標についてボクセル演算を実行する場合において、その対象座標に該当するボクセルデータが存在しない場合には、その対象座標の近傍に存在する複数のボクセルデータを用いて補間処理により対象座標に相当する補間データを生成し、それを用いてボクセル演算を行うのが望ましい。この場合において、補間演算は、転送されてきたスライスデータ上に存在するボクセルデータを用いてもよいし、Ｘ軸上に並ぶ複数のスライスデータを用いて例えば４点補間あるいは１６点補間などの処理を用いて補間データを生成するようにしてもよい。また、図８に示したように、対象座標に最も近いボクセルデータを当該対象座標のボクセルデータとして利用するようにしてもよい。これも広義の意味での補間処理である。
【００７０】
本実施形態においては、単位レイベクトルによってレイ方向における基本長が定義されており、その基本長が対象座標の間隔すなわちピッチとされている。このような方式によれば、各レイの向きによらずにボクセル演算の回数あるいは密度を均一化することができるので、視点を異ならせた場合において、ボクセル演算のピッチが不定の場合に生ずる画質の相違あるいは画像内容の変化といった問題を未然に防止することが可能となる。この度に、上述した単位レイベクトルの各成分が後述するように用いられている。
【００７１】
次に、図９〜図１１を用いて、図２に示した超音波診断装置の動作、特に３Ｄプロセッサの動作、について説明する。図９にはメインルーチンが示されており、Ｓ１０１では、図１０に示される初期化プロセスが実行される。Ｓ１０２では、単位レイベクトルの成分Δｘの符号を用いて、スライスデータの取り出し方向が選択され、すなわちＳ１０３のプロセスを実行するか、Ｓ１０４のプロセスを実行するかが選択される。
【００７２】
Ｓ１０３では、ｘ方向における正方向がスライスデータの取り出し方向として指定され、そのデータ転送にしたがった画像処理が実行される。これについては後に図１１を用いて詳述する。その一方において、Ｓ１０４においてはｘ方向における負方向がデータ取り出し方法として指定され、それに基づいた画像処理が実行される。Ｓ１０３のプロセスとＳ１０４のプロセスは基本的には同一であるがそこで設定されるパラメータがいくつか異なっている。これについては後に説明する。Ｓ１０５では、上記のいずれかのプロセスによって生成された三次元画像が３Ｄプロセッサから表示処理部へ転送される。
【００７３】
図１０には、図１に示したＳ１０１の初期化プロセスがフローチャートとして示されている。
【００７４】
まず、Ｓ２０１では、正規化された視線（単位レイ）ベクトルについて各軸ごとの成分すなわち要素Δｘ，Δｙ，Δｚが演算される。単位レイベクトルはその長さが１で、その向きが視点からスクリーンを見た方向として定義される。Ｓ２０２では、パラメータＹに０が代入され、Ｓ２０３ではパラメータＸに０が代入される。
【００７５】
Ｓ２０４では、スクリーン座標Ｘ，Ｙで特定されるレイについて、それが最初に三次元データ空間と交わる点（ｘs，ｙs、ｚs）が最初のボクセル演算の対象となる対象座標として演算される。そして、Ｓ２０５では、その対象座標が内部メモリ上に構成されるアドレステーブルに格納される。
【００７６】
Ｓ２０６では、パラメータＸが１つインクリメントされ、Ｓ２０７では、Ｘがその最大値を越えたか否かが判断され、越えていなければ、Ｓ２０４からの各工程が実行される。
【００７７】
一方、Ｓ２０８では、パラメータＹが１つインクリメントされ、Ｓ２０９ではパラメータＹがその最大値を越えたか否かが判断され、越えていなければＳ２０３からの各工程が繰り返し実行される。すなわち、パラメータＸ及びＹをそれぞれ１つずつ変えながら各レイについて最初の対象座標が演算され、それがアドレステーブルに格納されることになる。
【００７８】
図１１には、図９に示したＳ１０３のプロセスの具体的な内容がフローチャートとして示されている。
【００７９】
Ｓ３０１では、パラメータｘに０が代入される（図９に示したＳ１０４の場合には、ｘ＝ｘmaxが代入される）。Ｓ３０２では、スライスデータの転送が行われる。すなわち、ｘ，ｙ：０〜ｙmax，ｚ：０〜ｚmax，で特定されるボクセルデータが外部メモリから内部メモリへブロック転送される。そのデータ集合は上述したスライスデータを構成するものであり、すなわち実際のメモリ空間上で連続しているデータ集合である。このようなデータ集合を転送単位とすることにより従来のようなランダムアクセスは不要となり、必要なデータを一括して転送できるという利点がある。ちなみに、Ｓ３０１においてパラメータｘに０が代入され、後述するようにそのｘは１つずつインクリメントされるため、スライスデータはｘ方向における正方向に順次取り出される。
【００８０】
Ｓ３０３ではパラメータＹに０が代入され、Ｓ３０４ではパラメータＸに０が代入される。Ｓ３０５では、Ｘ及びＹで特定されるレイについて、それについてのボクセル演算が全て完了したレイであるか否かが判断される。ＹｅｓであればＳ３１２からの各工程が実行され、ＮｏであればＳ３０６からの各工程が実行される。
【００８１】
Ｓ３０６では、アドレステーブルからＸ及びＹで特定されるレイについて対象座標（ｘp，ｙp，ｚp）が読み出される。すなわち、当該レイについて現在演算対象となっている座標が特定される。そして、Ｓ３０７では、ｘpがｘに一致しているか否かが判断され、一致していなければ現在転送されてきたスライスデータ内に演算可能なボクセルデータは存在しないものとして処理がＳ３１２へ移行し、一方、一致していればそのスライスデータ内に当該レイについてボクセル演算の対象となるボクセルデータが存在しているものとして処理がＳ３０８へ移行する。
【００８２】
Ｓ３０８では、対象座標によって特定されるボクセルデータを用いて上記の（１）式を実行することにより、出力値が演算される。
【００８３】
Ｓ３０９では、上記の演算結果が内部メモリ上のテーブルに保存される。すなわち、上記の（１）式に従えば、当該レイについての演算結果であるＣoutXY及びαoutXYが保存される。ちなみに、この段階において例えばオパシティ値の累積加算値が１に到達した場合など所定の終了条件を満たす場合には、処理をＳ３１０へ移行させることなくデータの保存前あるいはデータの保存後に処理をＳ３１２へ移行させるのが望ましい。
【００８４】
Ｓ３１０では、当該レイについて対象座標が更新される。すなわち、ｘ座標、ｙ座標及びｚ座標のそれぞれについてΔｘ、Δｙ、Δｚが加算され、これによって対象座標が更新される。
【００８５】
Ｓ３１１においては、そのような更新された対象座標が三次元データ空間（あるいは有効な処理範囲）内にあるか否かが判断され、対象座標が三次元データ空間内に存在すれば処理がＳ３０７へ移行し、その一方、対象座標が三次元データ空間内でなければ処理がＳ３１２へ移行する。
【００８６】
ここで、Ｓ３１１から処理がＳ３０７へ移行した場合において、現在処理対象となっているスライスデータ内に更にボクセル演算実行可能なボクセルデータが存在するならばＳ３０８移行の各工程が繰り返し実行されることになる。すなわち、このようなプロセスにより。スライスデータごとにすなわちデータ転送ごとに、ボクセル演算実行可能なレイが判断され、しかもそのレイについてボクセル演算実行可能なところまでボクセル演算を進行させることができる。
【００８７】
Ｓ３１２においては、パラメータＸが１つインクリメントされ、Ｓ３１３ではそのパラメータＸがその最大値を越えたか否かが判断され、越えていなければ処理がＳ３０５へ移行し、越えていればＳ３１４においてパラメータＹが１つインクリメントされ、Ｓ３１５においてパラメータＹがその最大値が越えているか否かが判断される。Ｙがその最大値を超えていなければ処理がＳ３０４へ移行し、その一方、越えていれば処理がＳ３１６へ移行する。Ｓ３１６では、ｘが１つインクリメントされ（図９のＳ１０４の場合にはｘ＝ｘ−１）、Ｓ３１７においてはそのパラメータｘがその最大値を越えたか否かが判断され（図９のＳ１０４の場合にはｘ＜０が判断され）、越えていなければ処理がＳ３０２へ移行し、越えていれば処理がＳ３１８へ移行する。
【００８８】
すなわち、スライスデータの転送ごとに、各レイごとにボクセル演算の実行が可能か否かが判断され、それが可能であればボクセル演算が実行可能なところまでボクセル演算が進行する。そして、全てのレイについてそのような検証及び演算が実行された後、処理がＳ３０２に戻って次のスライスデータの転送が行われ、これがスライスデータの転送ごとに順次繰り返されることになる。したがって、最初のスライスデータから最後のスライスデータまで転送を完了すると、その結果として全レイについて実行可能な全てのボクセル演算が完結することになる。そこで、Ｓ１０８においては、各レイごとに求められた出力値であるＣoutXYを輝度変換して画素値として格納する処理が実行される。
【００８９】
次に、図１２〜図１５を用いて上記実施形態の変形例について説明する。
【００９０】
図２には１つの３Ｄメモリ２４及び１つの３Ｄプロセッサ２６が示されていたが、それぞれについては複数個設けることが可能である。すなわち、図１２に示されるように、３Ｄメモリ２４に対して複数の３Ｄプロセッサ２６Ａ，２６Ｂ，２６Ｃを設けるようにしてもよい。それぞれのプロセッサ２６Ａ，２６Ｂ，２６Ｃは複数のレイについてグルーピングされたそれぞれのグループを担当するものである。スライスデータは各プロセッサ２６Ａ，２６Ｂ，２６Ｃに対して並列転送される。
【００９１】
これと同様に、図１３に示すような構成を採用することができる。すなわち、３つの３Ｄメモリ２４Ａ，２４Ｂ，２４Ｃが設けられており、それらについては同じボリュームデータが重複して格納される。また３つの３Ｄプロセッサ２６Ａ，２６Ｂ，２６Ｃが設けられており、それらは３Ｄメモリ２４Ａ，２４Ｂ，２４Ｃから出力されたスライスデータにしたがって、自己が担当するグループ内のレイについてボクセル演算を進行させる。
【００９２】
図１２及び図１３に示した構成例によれば、複数の３Ｄプロセッサを並列動作させて複数のレイについて分担してボクセル演算を進行させることにより画像処理速度をより向上させることが可能となる。この場合において、３Ｄメモリから３Ｄプロセッサへのデータ転送はそれぞれの３Ｄプロセッサについて全く同じ内容とするのが望ましい。
【００９３】
図１４及び図１５には複数のレイについてのグルーピング方式が示されており、図１４の（ａ）は１つのレイを単位として所定のシーケンスで複数のレイを３つのグループに配分した方式を示している。例えば互いに並んだ３つのレイについてはそれぞれ画素５０，５１，５２が対応付けられる。このような方法によれば、図１５の（ａ）に示すようなパターンでそれぞれのレイについて画素値を演算することができる。また図１４の（ｂ）に示されるようにスクリーン４０上におけるラインを単位としてグルーピングを行うようにしてもよい。すなわちライン５３，５４，５５のそれぞれについて担当する３Ｄプロセッサを割り当てるものである。図１５の（ｄ）に示すようなパターンでグルーピングがなされることになる。
【００９４】
図１４の（ｃ）に示す例においては、スクリーン４０が複数のエリア５６，５７，５８に区分され、それらのエリアごとに担当する３Ｄプロセッサが割り当てられる。その結果、図１５の（ｃ）に示すようなパターンでグルーピングが行われることになる。
【００９５】
以上説明したように、上記実施形態によれば、３Ｄメモリ上においてメモリアドレスが連続しているデータ集合を単位として３Ｄプロセッサへの転送を行うことができるので、転送制御が簡便であり、また転送時間を著しく削減することが可能となる。その場合においてはバースト転送方式が採用され、３Ｄプロセッサ内に存在しているＤＭＡコントローラによりＤＭＡ転送を行わせるのが望ましい。ここで、一般に、３Ｄプロセッサと外部メモリとの間のバスの幅は例えば３２ｂｉｔといったように非常に広い。ボクセルデータが例えば８ｂｉｔとした場合に、ランダムアクセスによってボクセルデータを読み出そうとすると上記の広いバスを有効活用することができず、１回に８ｂｉｔしかデータの読み出しを行えない。これに対し、上記実施形態によれば、複数のボクセルデータを並列読み出しをすることも可能であり、例えばバス幅が３２ｂｉｔであれば４つのボクセルデータの並列読み出しを実現でき、バス幅が６４ｂｉｔであれば８つのボクセルデータを並列的に読み出せるという利点がある。このような観点からもデータ転送時間を短縮化できるという利点がある。
【図面の簡単な説明】
【００９６】
【図１】ボリュームレンダリングの原理を説明するための説明図である。
【図２】本実施形態に係る超音波診断装置の全体構成を示すブロック図である。
【図３】三次元データ空間の構造を概念的に示す図である。
【図４】３Ｄメモリにおけるアドレス構造を示す図である。
【図５】単位レイベクトルを説明するための説明図である。
【図６】スライスデータと各レイごとのボクセル演算との関係を示す図である。
【図７】各スライスデータが段階的にボクセル演算で利用される様子を示した説明図である。
【図８】各スライスデータが段階的にボクセル演算で利用される様子を示した説明図である。
【図９】装置の動作例を示すフローチャートである。
【図１０】図１に示す初期化プロセスの具体的な内容を示すフローチャートである。
【図１１】図９に示すＳ１０３のプロセスの具体的な内容を示すフローチャートである。
【図１２】１つの３Ｄメモリと３つの３Ｄプロセッサを設ける場合の構成例を示す図である。
【図１３】３つの３Ｄメモリと３つの３Ｄプロセッサを設ける場合の構成例を示す図である。
【図１４】グルーピングを説明するための説明図である。
【図１５】グルーピングを説明するための説明図である。
【符号の説明】
【００９７】
１０  ３Ｄプローブ、１２  送受波空間、２２  ３Ｄ変換部、２４  ３Ｄメモリ（外部メモリ）、２６  ３Ｄプロセッサ、２８  内部メモリ、３６  三次元データ空間、４０  スクリーン。
【図１】
2005165627.tif 000004
【図２】
2005165627.tif 000005
【図３】
2005165627.tif 000006
【図４】
2005165627.tif 000007
【図５】
2005165627.tif 000008
【図６】
2005165627.tif 000009
【図７】
2005165627.tif 000010
【図８】
2005165627.tif 000011
【図９】
2005165627.tif 000012
【図１０】
2005165627.tif 000013
【図１１】
2005165627.tif 000014
【図１２】
2005165627.tif 000015
【図１３】
2005165627.tif 000016
【図１４】
2005165627.tif 000017
【図１５】
2005165627.tif 000018