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