説明

超音波診断装置

【課題】超音波の送受波を制御することによってボリュームデータに基づく三次元超音波画像の形成を能率的に行う。
【解決手段】視点VPを起点とするレイ38がX軸の正の方向に向かって設定されている場合、ボクセル演算に必要な順で、つまり、フレーム番号の昇順でフレームデータが取得される。すなわち、視点位置データ(または単位レイベクトルのX軸成分)に基づいてレイの方向を判断して、3Dプローブ10内の2Dアレイ振動子を制御してフレーム番号の昇順に超音波ビームの走査を行い、その走査順に応じてエコーデータを取得する。一方、視点VPを起点とするレイ38がX軸の負の方向に向かって設定されている場合、ボクセル演算に必要な順で、つまり、フレーム番号の降順でフレームデータが取得される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は超音波診断装置に関し、特に、ボリュームデータに基づいて三次元画像を形成する技術に関する。
【背景技術】
【0002】
超音波診断装置において三次元超音波画像を形成する場合、生体内の三次元送受波空間に対して超音波が送受波されてフレームデータが取得され、さらに、複数のフレームデータからボリュームデータが形成される。ボリュームデータは、複数のボクセルデータによって構成されるものである。そのようなボリュームデータを用いて三次元超音波画像を形成する場合、例えば、ボリュームレンダリング法が用いられる。
【0003】
この手法では、一般には、三次元データ空間(ボリュームデータが存在するデータ空間)を挟むように、視点とスクリーンとが定義され、また視点からスクリーンへ複数のレイ(透視線)が定義される。そして、三次元データメモリから、各レイごとにそのレイ上に存在するボクセルデータが逐次的に読み出され、各ボクセルデータに対してボクセル演算(ここでは、ボリュームレンダリング法に基づくオパシティを利用した出力光量演算)が逐次的に実行される。最終的なボクセル演算結果(出力光量)が画素値に変換され、各レイごとの画素値をスクリーン上にマッピングすることにより、三次元超音波画像が構成される。
【0004】
従来において、三次元画像を形成する各種の演算に当たっては専用のハードウエア(機能が固定された高速演算器)を設計し、そのハードウエアで上記ボクセル演算などを実行させていた。
【0005】
その一方において、近時、プログラマブルな汎用プロセッサ(例えば、DSP(デジタル・シグナル・プロセッサ))の処理速度が向上し、機能設計やその変更が容易であることなどから、そのような汎用プロセッサを利用することが要請されている。
【0006】
上記の三次元画像処理を汎用プロセッサで実現する場合、一般には、(r,θ,φ)座標系の複数のフレームデータから補間処理等により(x,y,z)座標系のボリュームデータ(複数のボクセルデータ)を生成し、生成したボリュームデータを三次元データメモリ(外部メモリ)上に格納し、汎用プロセッサからその三次元データメモリへアクセスし、各レイごとにボクセル演算で必要なボクセルデータをその都度特定してそれを汎用プロセッサに取り込む必要がある。任意位置に視点を設定できる場合、各レイはほとんどの場合にボリュームデータを斜めに通過することになるが、その場合において、各レイごとにボクセル演算を同時進行させると、複数のレイについてのボクセル演算で必要なボクセルデータ群はボリュームデータ上で様々に分布し、すなわち、三次元データメモリに対して必要なボクセルデータを得るためにランダムアクセスをする必要がある。
【0007】
SRAMのようなメモリデバイスが三次元データメモリとして用いられる場合にはそのようなランダムアクセスを高速に行うことができるが、一般には安価且つ集積度が高いDRAMあるいはSDRAMなどが用いられ、それらのメモリデバイスの場合にランダムアクセスを行おうとすると、読み出し時間が増大し、高速転送の要請に反する結果となる。
【0008】
下記の特許文献1には超音波診断装置においてボリュームレンダリング法を基礎として三次元超音波画像を形成する技術が開示されている。しかし、データ転送の方式や各レイごとにどのようにボクセル演算を進行させるのかについては具体的に開示されていない。また、下記の特許文献2には、キャシュミスの発生を防止するために、特定のアドレス関係にあるデータブロックを単位として、三次元データ空間(メインメモリ)から画像処理プロセッサ内へデータ転送を行う装置が開示されている。この装置では、データの読み出し時に特別な演算を行って読み出しアドレス集合を求めており、ランダムアクセスの必要性を指摘できる。
【0009】
【特許文献1】特許第2883584号
【特許文献2】特開平9−134447号公報
【特許文献3】特開2002−224109号公報
【特許文献4】特開2003−19134号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
ボリュームレンダリング法において、三次元データメモリに対してランダムアクセスが必要となるのは、上述したように、ボクセル演算で必要なボクセルデータ群がボリュームデータ上で様々に分布しているためである。つまり、三次元データメモリ上において、ボクセル演算で必要なボクセルデータがランダムに記憶されているためである。
【0011】
三次元データメモリに記憶されるボクセルデータの記憶位置(アドレス)は、主に、エコーデータの取得順序によって決定される。例えば、超音波の走査に従って段階的に取得されるエコーデータがメモリ内のアドレスの小さい方から順に記憶される。
【0012】
したがって、三次元データメモリに対するランダムアクセスを回避する手法として、超音波の走査(超音波の送受波)をボクセル演算の演算状況に応じて適宜制御することが考えられる。ちなみに、ボクセル演算の演算状況に応じて超音波の送受波を制御することにより、三次元データメモリに対するランダムアクセスを回避できる他、場合によっては、三次元データメモリのメモリ容量を小さく抑えることや、究極的には、三次元データメモリを無くしてしまうことも不可能ではない。
【0013】
本発明では、ボクセル演算の演算状況を知るための指標として、データ空間内に設定される透視線の方向に着目した。ちなみに、特許文献3や特許文献4においても視線の方向に着目しているが、それらに記載の技術は超音波の送受波の制御を意図したものではない。
【0014】
本発明は、こうした背景においてなされたものであり、その目的は、超音波の送受波を制御することによってボリュームデータに基づく三次元超音波画像の形成を能率的に行うことにある。
【課題を解決するための手段】
【0015】
上記目的を達成するために、本発明の好適な態様である超音波診断装置は、三次元空間に超音波を送受波して複数のエコーデータを取得する送受波手段と、前記複数のエコーデータに基づいて三次元画像を形成する三次元画像形成手段と、を有し、前記三次元画像形成手段は、前記三次元空間に対応するデータ空間内に仮想的に設定された視点からの透視線として複数のレイを設定するレイ設定部と、前記複数のエコーデータから前記設定された複数のレイ上のボクセルデータを演算して各レイごとにボクセル演算を進行させるボクセル演算部と、を含み、前記各レイごとの最後のボクセル演算の結果として前記三次元画像を形成し、前記送受波手段は、前記各レイの向きに応じた順序で複数のエコーデータを取得する、ことを特徴とする。
【0016】
上記構成によれば、各レイの向きに応じた順序で、ボクセル演算に必要なものから順に複数のエコーデータを取得することができるため、例えば、超音波プローブによってエコーデータを取得した直後からボクセル演算を開始できる。このため、例えば、三次元データ空間内の多数のエコーデータを取得してからボクセル演算を開始する場合に比べて、極めて能率的な演算処理を実現できる。また、三次元データ空間内のエコーデータを記憶する三次元メモリの容量を小さくすることもでき、必要に応じて、三次元メモリを削除する構成も実現できる。
【0017】
上記構成において、送受波手段としては、二次元的に電子走査を行う送受波器が好適である。ただし、送受波手段として、電子走査と機械走査とを併用する送受波器を利用することも可能である。複数のレイは、互いに平行に設定されてもよいし非平行に設定されてもよい。また、三次元画像形成手段は、例えば、プログラム動作型のプロセッサで構成される。
【0018】
望ましくは、前記各レイに対応したレイベクトルの所定軸成分の符号から前記各レイの向きを判断することを特徴とする。望ましくは、前記データ空間内における視点の位置座標から前記各レイの向きを判断することを特徴とする。望ましくは、前記送受波手段は、前記各レイの向きに応じた順序で複数の走査面を形成し、各走査面ごとに、複数のエコーデータからなるフレームデータを取得する、ことを特徴とする。望ましくは、前記送受波手段は、前記視点に近い方から順に複数の走査面を形成し、複数の走査面に対応した複数のフレームデータを段階的に取得する、ことを特徴とする。
【0019】
望ましくは、前記ボクセル演算部は、前記段階的に取得される複数のフレームデータに基づいて前記設定された複数のレイ上のボクセルデータを段階的に演算し、各レイごとにボクセル演算を進行させる、ことを特徴とする。望ましくは、前記ボクセル演算部は、前記複数のフレームデータから補間処理によってボクセルデータを算出する、ことを特徴とする。望ましくは、前記ボクセル演算部は、前記複数の走査面をその位置に応じて前記データ空間内に配置した際に隣接して配置される二枚の走査面に対応したフレームデータから、それら二枚の走査面の間のフレーム間領域に存在するボクセルデータを算出する、ことを特徴とする。望ましくは、前記ボクセル演算部は、前記二枚の走査面に対応したフレームデータに含まれるエコーデータであってボクセル座標の近傍に存在するエコーデータから、そのボクセル座標に対応するボクセルデータを算出する、ことを特徴とする。
【0020】
望ましくは、前記三次元画像形成手段は、前記各レイごとに、それが前記データ空間に対して最初に通過する点として、前記データ空間における第1軸上の初期座標、第2軸上の初期座標及び第3軸上の初期座標を演算する初期座標演算部と、前記第1軸の刻み成分、前記第2軸の刻み成分及び前記第3軸の刻み成分を演算する刻み成分演算部と、前記各レイごとに、前記第1軸上の初期座標、前記第2軸上の初期座標及び前記第3軸上の初期座標に対して、それぞれ前記第1軸上の刻み成分、前記第2軸上の刻み成分及び前記第3軸上の刻み成分を累積的に加算することにより、前記各レイ上におけるボクセル演算対象座標を特定する対象座標特定部と、複数のフレームデータの段階的な取得に伴って段階的に移動する前記フレーム間領域の各移動位置ごとに、フレーム間領域内において前記ボクセル演算対象座標に該当するボクセルデータを前記補間処理により生成する補間処理部と、を含むことを特徴とする。
【0021】
また望ましくは、前記三次元画像形成手段は、前記データ空間内に処理プレーンを設定し、前記複数のフレームデータの段階的な取得に従って処理プレーンを段階的に移動させる処理プレーン設定部をさらに含み、前記ボクセル演算部は、段階的に移動する処理プレーンの各移動位置ごとに、前記複数のフレームデータから処理プレーン上のボクセルデータを演算し、処理プレーンの移動に従って各レイごとにボクセル演算を進行させる、ことを特徴とする。
【0022】
望ましくは、前記処理プレーンは、前記データ空間の所定軸に直交する平面であることを特徴とする。望ましくは、前記ボクセル演算部は、前記複数のフレームデータから補間処理によってボクセルデータを算出することを特徴とする。望ましくは、前記ボクセル演算部は、前記複数の走査面をその位置に応じて前記データ空間内に配置した際に、複数の走査面に対応した複数のフレームデータのうち、前記データ空間の座標であるボクセル座標の近傍に配置される複数のフレームデータから、そのボクセル座標に対応するボクセルデータを算出する、ことを特徴とする。望ましくは、前記ボクセル演算部は、前記複数のフレームデータに含まれるエコーデータであってボクセル座標の近傍に存在するエコーデータから、そのボクセル座標に対応するボクセルデータを算出する、ことを特徴とする。
【0023】
望ましくは、前記三次元画像形成手段は、前記各レイごとに、それが前記データ空間に対して最初に通過する点として、前記データ空間における第1軸上の初期座標、第2軸上の初期座標及び第3軸上の初期座標を演算する初期座標演算部と、前記第1軸の刻み成分、前記第2軸の刻み成分及び前記第3軸の刻み成分を演算する刻み成分演算部と、前記各レイごとに、前記第1軸上の初期座標、前記第2軸上の初期座標及び前記第3軸上の初期座標に対して、それぞれ前記第1軸上の刻み成分、前記第2軸上の刻み成分及び前記第3軸上の刻み成分を累積的に加算することにより、前記各レイ上におけるボクセル演算対象座標を特定する対象座標特定部と、前記段階的に移動する処理プレーン上において前記ボクセル演算対象座標に該当するボクセルデータを前記補間処理により生成する補間処理部と、を含むことを特徴とする。
【発明の効果】
【0024】
以上説明したように、本発明によれば、超音波の送受波を制御することによってボリュームデータに基づく三次元超音波画像の形成を能率的に行うことができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【0026】
図1は、ボリュームレンダリング法の原理を説明するための図である。三次元データ空間36は、超音波ビームを二次元走査することによって取得されたエコーデータから得られるボリュームデータを有し、超音波診断装置内において仮想的に構築される。ここでは、三次元データ空間36は、X,Y,Zの互いに直交する座標軸を有し、三次元データ空間36内の各座標にはボクセルデータが存在する。なお、三次元の超音波送受波空間がr,θ,φの極座標空間として構成される場合には、各ボクセルデータに対して、それが有する(r,θ,φ)の座標を(X,Y,Z)の座標に変換する処理が行われる。
【0027】
ボリュームレンダリングに際しては、通常、三次元データ空間36の外側に仮想的に視点VPが設定され、三次元データ空間を間に介して、視点VPと反対側に二次元平面としてのスクリーン40が仮想的に設定される。その視点VPを基準として複数のレイ(透視線)が定義される(図1には1つのレイ38が代表として示されている)。レイ38は、三次元データ空間36を貫通し、このため、レイ38には複数のボクセルデータからなるボクセルデータ列が対応することになる。レイ38に沿って、視点VP側から各ボクセルデータごとにボリュームレンダリング法に基づくボクセル演算を逐次的に実行すると、最終のボクセル演算の結果として画素値が決定される。その画素値がスクリーン上における当該レイ38に対応する座標Pにマッピングされる。
【0028】
スクリーンは、Xs,Ysの座標軸を有し、すなわち各座標はXs,Ysの座標で定義される。各座標ごとにレイが設定されており、上記のように、各レイについて求められた画素値をスクリーン40上にマッピングすることにより、そのスクリーン上に三次元画像が形成される。なお、複数のレイが互いに平行の場合もあるが、複数のレイが互いに非平行となる場合もある。
【0029】
ボリュームレンダリング法において、各ボクセルデータごとのボクセル演算の演算式としては各種のものが知られている。基本的には、いずれの演算式においても、各ボクセルデータのボクセル演算ごとに、不透明度(オパシティ)がパラメータとして利用される。そのようなパラメータを利用して、各ボクセル演算ごとに出力光量(出力値)が求められ、それが次のボクセル演算において入力光量(入力値)として利用される。そして、これが繰り返され、演算終了条件を満たした時点での出力光量が画素値に変換される。つまり、媒体中を光が散乱、減衰しながら伝搬するモデルを基礎とするものである。本実施形態では、ボクセル演算の演算式として、例えば、次の数1式が用いられる。
【0030】
【数1】

もちろん、上記の数1式以外を用いるようにしてもよく、例えば、上記特許文献1に記載されたような演算式を用いてもよい。各レイごとのボクセル演算は、例えば、その対象座標が三次元データ空間を越えた場合、又は、各ボクセル演算で用いた不透明度の累積加算値が所定値(例えば1)を越えた場合など、所定の条件を満たす場合に終了する。そして、演算終了時点の出力光量が画素値に対応付けられる。
【0031】
なお、本実施形態に係る超音波診断装置は、上記のようなボリュームレンダリング法による画像処理を行う場合に特に好適であるが、各レイに沿って逐次演算を行う画像処理法にも適用可能である。例えば、積算法、最大値や最小値の検出法などである。
【0032】
図2には、本実施形態に係る超音波診断装置の全体構成がブロック図として示されている。3Dプローブ10は、三次元エコーデータ取得用の超音波探触子である。この3Dプローブ10は、体表面上に当接して用いられ、あるいは体腔内に挿入して用いられる。この3Dプローブ10によって超音波ビームが形成され、この超音波ビームは二次元走査される。この超音波ビームの二次元走査によって三次元の送受波空間12が形成される。
【0033】
送受波空間12は、ここではr,θ,φの3つの座標によって定義される三次元空間であり、例えば超音波ビームBをθ方向に走査すると走査面Sが形成され、この走査面Sをφ方向(エレベーション方向)に走査すると三次元の送受波空間12が構成される。3Dプローブ10は、電子走査と機械走査とを組み合わせたものであってもよいが、超音波ビームを二次元的に電子走査するものが好適である。後者の場合には公知の2Dアレイ振動子が用いられる。なお、図2においては角錐形状をもった送受波空間12が示されているが、その送受波空間12の形態は立方体であってもよく、あるいはそれ以外であってもよい。
【0034】
送信部14は送信ビームフォーマーとして機能する。すなわち、送信部14はアレイ振動子を構成する複数の振動素子の各々に対して送信信号を供給する。また、受信部16は受信ビームフォーマーとして機能し、アレイ振動子を構成する複数の振動素子の各々からの受信信号に対して整相加算処理を実行する。これによって各超音波ビームごとに受信部16から受信信号が出力される。受信部16はA/D変換器を有しており、受信部16から出力される整相加算後の受信信号はデジタルデータである。ここで、各データはエコーデータに相当する。なお、本実施形態では、送信部14に視点位置データが提供され、視点位置に基づいて送信制御が行われる。視点位置に基づく送信制御については後に詳述する。
【0035】
任意断面作成部18は、走査面Sに対応する二次元断層画像(Bモード画像)を形成するモジュールである。この任意断面作成部18は例えば従来から用いられているデジタルスキャンコンバータなどによって構成される。任意断面作成部18は任意の走査面Sにおいてr,θ座標をx,y座標に変換する処理、その他の補間処理などを実行する。この任意断面作成部18により形成された二次元断層画像のデータは表示処理部20へ出力される。
【0036】
2D変換部22は、受信部16から出力される各走査フレームごとの複数のエコーデータ、つまりフレームデータに対して二次元の座標変換を実行する。各エコーデータはr,θで定義される極座標を有しており、その座標をx,yの直交座標に変換する。座標変換後のフレームデータはフレームメモリ24上に格納される。
【0037】
フレームメモリ24は、後述する3Dプロセッサ26においてボクセルデータを生成するために必要なフレームデータを格納するメモリである。フレームメモリ24の各アドレスは、後に図3を利用して詳述するフレームデータ空間における各座標に対応付けられている。そして、入力される各フレームデータ内のエコーデータはそれが有する三次元座標に対応付けられたアドレスに格納される。フレームメモリ24は、後述する3Dプロセッサ26との関係から見れば外部メモリに相当しており、このフレームメモリは例えばDRAMなどによって構成され、特にSDRAMなどによって構成されるのが望ましい。すなわち、記憶されたデータを所定データ単位でブロック転送可能なメモリを用いるのが望ましい。この場合においてブロック転送の方式としてはDMA転送方式を用いることができる。
【0038】
3Dプロセッサ26は、本実施形態においてはプログラム動作するCPUやDSP(デジタル・シグナル・プロセッサ)などによって構成されるものであり、その内部には内部メモリ28が設けられている。内部メモリ28は、3Dプロセッサ26内におけるキャッシュメモリとして機能し、3Dプロセッサ26はその内部メモリ28に対して高速でアクセスすることが可能である。その一方において、フレームメモリ24から内部メモリ28へのデータ転送は一般にあまり高速に行うことができない。
【0039】
3Dプロセッサ26は、本実施形態においてDMAコントローラを内蔵しており、そのDMAコントローラによってフレームメモリ24から内部メモリ28へデータをDMA転送することができる。符号25で示すように、3Dプロセッサ26がフレームメモリ24へのデータの書き込みを制御するようにしてもよく、その場合においては2D変換部22から出力されるフレームデータが一旦3Dプロセッサ26に取り込まれた後に、それを経由してフレームメモリ24へ格納される。もちろん、フレームメモリ24へのデータの書き込みは他のプロセッサが行ってもよく、図2に示される制御部32の機能としてそれを実現するようにしてもよい。
【0040】
本実施形態においては、後に詳述するように、ボクセル演算におけるレイの向きに応じてフレームデータが取得される。つまり、ボクセル演算に必要な順にフレームデータが適切に取得される。このため、フレームメモリ24には、現時点のボクセル演算に必要なフレームデータのみを記憶すればよい。あるいは、フレームメモリ24を無くして、2D変換部22から出力されるフレームデータを3Dプロセッサ26が直接取得し、内部メモリ28のみを利用してボクセル演算を実行させてもよい。
【0041】
フレームメモリ24から内部メモリ28へのフレームデータの転送、あるいは、2D変換部22から内部メモリ28へのフレームデータの転送は、上述したように、レイの向きが考慮され、ボクセル演算に必要なフレームデータが適切に選択される。3Dプロセッサ26においては、従来のように各レイごとにボクセル演算を同時進行で進めるのではなく、送られてきたフレームデータを用いて補間演算により各レイ上のボクセルデータを算出することにより実行可能なボクセル演算が順次実行される。したがって、三次元データ空間とレイの交差関係にもよるが、通常は、各レイごとにボクセル演算の進行度合いは区々である。
【0042】
3Dプロセッサ26からフレームメモリ24へのランダムアクセスはデータ転送レートが低いなどの理由から画像処理上のボトルネックとなる。これに対し、本実施形態の手法によれば、ボクセル演算におけるレイの向きを考慮してフレームデータが取得されるため、フレームメモリ24へのランダムアクセスを、望ましくは、完全に無くすことができる。もちろん、フレームメモリ24を利用せずに、2D変換部22から出力されるフレームデータを3Dプロセッサ26に直接転送する場合にもランダムアクセスの問題を回避することができる。その結果、本実施形態では、能率的に画像処理を進めることが可能となる。さらに本実施形態の手法によれば、レイが通過するボクセルデータのみが補間処理により生成されるため、三次元空間内の全てのボクセルデータを補間処理で生成する場合に比べて、補間処理の演算量を低減することができる。なお、本実施形態の手法については後にさらに詳述する。
【0043】
本実施形態において、3Dプロセッサ26はボクセル演算の演算式として例えば上記数1式に示したものを利用している。したがって、各レイごとにその演算式が順次実行され、終了条件を満たした時点での出力値が画素値に変換される。その画素値は3Dプロセッサ26から表示処理部20に設けられたメモリ上に格納される。もちろん、そのようなメモリを3Dプロセッサ26内に設けることも可能である。いずれにしても、各レイごとにボクセル演算を繰り返し実行することによりスクリーン上に三次元画像が構成されることになる。
【0044】
表示処理部20は画像データとグラフィックデータの合成機能やその他の表示処理機能を有しており、装置の動作モードに応じて、表示部30に対して二次元断層画像のデータあるいは三次元画像のデータを出力する。表示部30は二次元断層画像及び三次元画像の両方又は一方が表示されることになる。
【0045】
制御部32はCPU及びそのための動作プログラムによって構成され、図2に示される各構成の動作制御を行っている。その制御部32には操作パネルによって構成される入力部34が接続されている。ユーザはその入力部34を用いてモードの選択やパラメータの指定などの各種の入力操作を行うことができる。また、ユーザは入力部34を用いてボリュームレンダリングにおける視点を好みの位置に設定することもできる。
【0046】
以上、本実施形態に係る超音波診断装置の構成の概要を説明した。ちなみに、ドプラ処理を行う構成などを図2の構成に追加するようにしてもよい。以下、図2に示した部分には図2の符号を付して本実施形態の手法について詳述する。
【0047】
図3には、フレームメモリ24上に仮想的に構築されるフレームデータ空間37が示されている。このフレームデータ空間37は複数のフレームデータによって形成され、複数のフレームデータのエコーデータがそれに対応付けられた座標に格納されている。つまり、各フレームデータにおいてx軸方向に並ぶエコーデータのアドレスが0〜n−1で定義され、y軸方向に並ぶエコーデータのアドレスが0〜m−1で定義され、さらに、フレームを特定するアドレスが0〜k−1で定義されている。なお、上述したように、フレームメモリ24には、図1の三次元データ空間36内の全てのフレームデータが格納される必要はなく、3Dプロセッサ26においてボクセルデータを生成するために必要な枚数分のフレームデータのみが格納されてもよい。図3に示す例は、k枚のフレームデータに相当する。なお、2D変換部22から3Dプロセッサ26へ直接フレームデータが転送される場合にも、転送されるフレームデータによるデータ空間の概念は、図3に示すフレームデータ空間37と同じである。
【0048】
本実施形態において、3Dプロセッサ26は、各フレームを仮想的ボリューム空間である三次元データ空間内に配置し、各フレームのエコーデータから仮想ボリューム内のレイ上のボクセルデータを算出してボリュームレンダリング法による演算を行う。
【0049】
図4には、三次元データ空間36とフレームとの対応関係が示されており、図示のように、複数のフレーム(♯0〜♯k−1)の各々が、電子走査による取得位置に応じて三次元データ空間36内に仮想的に配置される。三次元データ空間36内のレイ上のボクセルデータは、フレーム(♯0〜♯k−1)内のエコーデータから補間処理して生成される。
【0050】
図5には、フレームとレイとの対応関係が示されている。図示のように、三次元データ空間36に配置されたフレーム(♯f,♯f+1)を貫いてレイ38が仮想的に設定される。そして、レイ38上のボクセルデータPcが、フレーム(♯f,♯f+1)上のフレームデータ(エコーデータ)から補間処理によって算出される。
【0051】
図6には、ボクセルデータを生成する際の補間処理の概念図が示されており、図6は、図5の三次元データ空間36についてのXY断面の一部拡大図に相当する。図6では3本のレイ38が示されている。レイ38上の各ボクセルデータは、そのボクセルデータの近傍に位置する4つのエコーデータから生成される。例えば、図6において、ボクセルデータPcは、その近傍の4つのエコーデータP1,P2,P3,P4から補間処理によって生成される。エコーデータはフレーム上のフレームデータである。つまり、エコーデータP1,P2はフレーム♯f上のフレームデータであり、エコーデータP3,P4はフレーム♯f+1上のフレームデータである。また、補間処理としては、例えば、4つのエコーデータP1,P2,P3,P4の各々に補間係数を掛けて加算する処理などが挙げられる。各エコーデータごとの補間係数は、例えば、各エコーデータとボクセルデータとの相対位置に応じて設定される。
【0052】
補間処理に利用されるエコーデータP1〜P4は、二つの隣接するフレームデータ内のエコーデータ列であるため、3Dプロセッサ26は、フレームメモリ24から二つのフレームデータをDMA転送によりまとめて読み出し、補間処理を行ってボクセルデータを生成し、ボリュームレンダリング法に基づくボクセル演算を実行することができる。なお、フレームデータはボクセル演算に必要な順に取得されるため、超音波の送受波によって取得された順にフレームデータを次々に3Dプロセッサ26へ転送することもできる。以下、3Dプロセッサ26で実行されるボクセル演算について詳述する。
【0053】
図7には、単位レイベクトルVが示されている。この単位レイベクトルVは、レイの向きを判定し、また各レイにおいて演算対象となる座標を逐次的に求めるために用いられる。この単位レイベクトルは複数のレイが平行に設定される場合にはそれらについて共通に1つだけ設定され、複数のレイがそれぞれ非平行に設定される場合には、各レイごとに設定される。もちろん、その場合でも、代表として1つの単位レイベクトルを設定してもよい。例えば、ある代表レイについて、その向きと同一で大きさが1のベクトルとして、この単位レイベクトルVが定義される。単位レイベクトルの各座標軸上の成分はΔX,ΔY,ΔZである。単位レイベクトルの大きさは1であるため、各成分(ΔX,ΔY,ΔZ)の最大値は1である。3Dプロセッサ26は、例えば、各成分をs7.8(符号1bit、整数部7bit、小数部8bit)型の固定小数点型などで表現することにより、演算処理を高速化することができる。
【0054】
図8には、三次元データ空間36に対して複数のレイが設定された状態が示されている。三次元データ空間36は、三次元空間ではあるが、図8においては説明のために平面的に表されている。
【0055】
図8に示されるように、複数のレイが三次元データ空間36のX軸及びY軸に対して交差する斜め方向に設定された場合、各レイに注目すると、各レイが最初にフレームと交差する座標が図8において黒丸で示されている。各黒丸はボクセルデータに相当するものである。図8に示されるように、各レイの位置に応じてフレームと交差する最初の座標はそれぞれ異なっている。例えば、レイL3〜L12までの10本のレイについては進入位置が三次元データ空間36内において、X座標の原点側に最も近いフレーム(フレーム番号0)のフレーム上に存在し、それがボクセルデータe1〜e10で表されている。その一方、レイL1,L2についてはX座標の終端側に近い二つのフレームに進入しており、その最初の進入位置にあるボクセルデータが図8においてe11,e12で表されている。ちなみに、スクリーン40上における各座標(Xs,Ys)ごとに1つのレイが対応付けられており、また、図8の例では、各レイは平行であって、便宜上、レイL1上に単位レイベクトルVが表されている。
【0056】
3Dプロセッサ26は、各レイが最初にフレームに交差する座標である演算開始点をレンダリングレイの本数分だけ算出してアドレステーブルに保存する。処理を高速化するために、アドレステーブルは頻繁にアクセスを行うので、内部メモリ28に保持することが望ましい。本実施形態の装置においては、各レイ上に存在する複数のボクセルデータ(つまり、ボリュームデータ)が上述したように、各フレームのエコーデータから補間処理によって算出される。そこで、3Dプロセッサ26は、まずX座標における原点側に最も近い0番目のフレームとその隣の1番目のフレームの二つのフレームデータをフレームメモリ24から内部メモリ28に読み込む。そして、3Dプロセッサ26は、この二つのフレームデータから算出されるボクセルデータ(つまり、図8におけるボクセルデータe1〜e10)を含むレイに対して、前記数1式に基づくボクセル演算を行う。その際、演算に利用されるボクセルデータはフレームデータから補間処理して生成される。
【0057】
ボクセル演算の出力値Couti、αoutiは一時バッファに保持され、演算を行ったレンダリングレイはアドレステーブルの値にレイ単位ベクトルの各要素を加算し、次のボクセルデータを示すアドレスが生成される。生成された次データを示すアドレスが、0番目のフレームと1番目のフレームの間と各フレーム上を含む領域(以下、フレーム間領域)に存在するレンダリングレイは、そのフレーム間領域から抜け出すまでこの演算を繰り返す。全てのレンダリングレイが0番目のフレームと1番目のフレームの間のフレーム間領域のアドレスを持つデータを処理し終えた場合、または、三次元データ空間36のサイズを超えた場合にそのフレーム間領域における処理を完了する。
【0058】
さらに、1番目のフレームと2番目のフレーム、2番目のフレームと3番目のフレーム、3番目のフレームと4番目のフレーム、・・・の順に(つまり、超音波の送受信制御によって取得される順に)フレーム間領域を移動させ、フレームデータを段階的に取得しながらボクセル演算を行い、最後のフレームのフレームデータの処理が完了した時点におけるCoutiの値をスクリーン40上の投影データとして出力する。出力結果は表示処理部20において輝度変換され表示部30に出力される。その結果スクリーン40上に三次元画像を投影した表示画像が表示部30に表示される。
【0059】
本実施形態において特徴的なことの一つは、ボクセル演算におけるレイの向きに応じて、送信部14および受信部16によって、ボクセル演算に必要な順にフレームデータが適切に取得されることである。
【0060】
図9は、レイの向きに応じた送受信制御を説明するための図である。視点VPは、例えば、ユーザによって、三次元データ空間36内の所望の位置に設定される。設定された視点VPの位置は、三次元データ空間36内のX軸の座標値に応じて二つの場合に分けられる。つまり、X軸の座標値が負の場合(A)と、X軸の座標値が正の場合(B)とに分けることができる。なお、負の場合あるいは正の場合のいずれか一方に、X軸の座標値がゼロの場合を含めるようにしてもよい。
【0061】
視点VPのX軸の座標値が負の場合には、図9(A)に示すように、視点VPを起点とするレイ38は、X軸の正の方向に向かって設定される。このため、単位レイベクトル(図7参照)のX軸成分ΔXが正となる。つまり、視点VPのX軸の座標値が負の場合には単位レイベクトルのX軸成分が正となる。図9(A)に示すように、視点VPを起点とするレイ38がX軸の正の方向に向かって設定されている場合、レイ38が最初に交差するフレームはフレーム♯1であり、その後、フレーム♯2、フレーム♯3、・・・の順に交差していく。つまり、ボクセルデータを生成する際の補間処理に利用するフレームが、フレーム番号の昇順に必要となる。
【0062】
そこで、本実施形態においては、視点VPを起点とするレイ38がX軸の正の方向に向かって設定されている場合、送信部14および受信部16によって、ボクセル演算に必要な順で、つまり、フレーム番号の昇順でフレームデータが取得される。すなわち、送信部14は、視点位置データ(または単位レイベクトルのX軸成分)に基づいてレイの方向を判断して、3Dプローブ10内の2Dアレイ振動子(1Dアレイと機械式走査の組み合わせでもよい)を制御してフレーム番号の昇順に超音波ビームの走査を行い、受信部16がその走査順に応じてエコーデータを取得する。
【0063】
一方、視点VPのX軸の座標値が正の場合には、図9(B)に示すように、視点VPを起点とするレイ38は、X軸の負の方向に向かって設定される。視点VPを起点とするレイ38がX軸の負の方向に向かって設定されている場合、レイ38が最初に交差するフレームはフレーム♯k−1であり、その後、フレーム♯k−2、フレーム♯k−3、・・・の順に交差していく。つまり、ボクセルデータを生成する際の補間処理に利用するフレームがフレーム番号の降順に必要となる。このため、視点VPを起点とするレイ38がX軸の負の方向に向かって設定されている場合、ボクセル演算に必要な順で、つまり、フレーム番号の降順でフレームデータが取得される。
【0064】
以上のように、視点VPの位置(または単位レイベクトルのX軸成分)に応じて、ボクセル演算に必要な順でフレームデータが取得され、ボクセル演算が段階的に実行される。
【0065】
図10には、レイがX軸の正の方向に向かって設定されている場合のボクセル演算の実行過程が段階的に示されており、(a),(b),(c),(d)の順で工程が進行する。すなわち、まず(a)に示される、0番目のフレームと1番目のフレームの間のフレーム間領域E1を通るレイL3〜レイL12についてボクセルデータが生成されてボクセル演算が実行される。この時点において、それ以外のレイL1,L2についてのボクセル演算は見送られる。さらに(b)に示すようにフレーム間領域E2について、フレーム間領域E2を通るレイL3〜レイL12についてボクセルデータが生成されてボクセル演算が実行される。同様に(c),(d)に示すように、フレーム間領域E3,E4に関してボクセル演算が実行される。
【0066】
図示しないが、(d)以降もフレーム間領域が段階的に移動しながら、各移動位置においてそのフレーム間領域を通過するレイに関してボクセル演算が実行され、このような過程が繰り返されると、最終的に全レイについて必要なボクセル演算を行うことができ、その結果としてスクリーン40上に三次元画像を構築することが可能となる。ちなみに、各レイごとのボクセル演算の終了条件として、例えば、ボクセル演算の対象となる対象座標が三次元データ空間36から外れたこと、又は、累積加算した不透明度の値が所定値を越えたことなどが設定されており、そのような終了状況を満たした時点で各レイごとに個別的にボクセル演算が終了する。
【0067】
一方、図11には、レイがX軸の負の方向に向かって設定されている場合のボクセル演算の実行過程が段階的に示されており、(a),(b),(c),(d)の順で工程が進行する。すなわち、まず(a)に示される、k−2番目のフレームとk−1番目のフレームの間のフレーム間領域E1を通るレイL1〜レイL8についてボクセルデータが生成されてボクセル演算が実行される。この時点において、それ以外のレイL9〜レイL12についてのボクセル演算は見送られる。さらに(b)に示すようにフレーム間領域E2について、フレーム間領域E2を通るレイL2〜レイL9についてボクセルデータが生成されてボクセル演算が実行される。同様に(c),(d)に示すように、フレーム間領域E3,E4に関してボクセル演算が実行される。
【0068】
このように、本実施形態によれば、三次元データ空間36に対して任意の位置に視点を設定した場合においても、ボクセル演算の進行方向に沿ってフレームデータが取得され、フレーム間領域を移動させながらボクセルデータを生成することができる。こうして、各レイについてのボリュームレンダリング演算(ボクセル演算)を適切に行うことが可能となる。
【0069】
本実施形態においては、単位レイベクトルによってレイ方向における基本長が定義されており、その基本長が対象座標の間隔すなわちピッチとされている。このような方式によれば、各レイの向きによらずにボクセル演算の回数あるいは密度を均一化することができるので、視点を異ならせた場合において、ボクセル演算のピッチが不定の場合に生ずる画質の相違あるいは画像内容の変化といった問題を未然に防止することが可能となる。
【0070】
次に、図12〜図15を用いて、図2に示した超音波診断装置の動作、特に3Dプロセッサの動作について説明する。図12にはメインルーチンが示されており、S101では、図13に示される初期化プロセスが実行される。S102では、単位レイベクトルの成分ΔXの符号を用いて、ボクセル演算の方向が選択され、すなわちS103のプロセスを実行するか、S104のプロセスを実行するかが選択される。
【0071】
S103では、X方向における正方向がボクセル演算の方向として指定され、フレーム番号が増加する方向に順次フレームデータが取得され、ボクセルデータが生成されて画像処理が実行される。これについては後に図14を用いて詳述する。その一方において、S104においてはX方向における負方向がボクセル演算の方向として指定され、フレーム番号が減少する方向に順次フレームデータが取得され、それに基づいた画像処理が実行される。S103のプロセスとS104のプロセスは基本的には同一であるがそこで設定されるパラメータがいくつか異なっている。これについては後に説明する。S105では、上記のいずれかのプロセスによって生成された三次元画像が3Dプロセッサから表示処理部へ転送される。
【0072】
図13には、図12に示したS101の初期化プロセスがフローチャートとして示されている。まず、S201では、正規化された視線(単位レイ)ベクトルについて各軸ごとの成分すなわち要素ΔX,ΔY,ΔZが演算される。単位レイベクトルはその長さが1で、視点からスクリーンを見た方向として定義される。S202では、パラメータYscに0が代入され、S203ではパラメータXscに0が代入される。
【0073】
S204では、スクリーン座標Xsc,Yscで特定されるレイについて、それが最初に三次元データ空間と交わる点(Xs,Ys、Zs)が最初のボクセル演算の対象となる対象座標として演算される。そして、S205では、その対象座標が内部メモリ上に構成されるアドレステーブルに格納される。
【0074】
S206では、パラメータXscが1つインクリメントされ、S207では、Xscがその最大値を越えたか否かが判断され、越えていなければ、S204からの各工程が実行される。
【0075】
また、S208では、パラメータYscが1つインクリメントされ、S209ではパラメータYscがその最大値を越えたか否かが判断され、越えていなければS203からの各工程が繰り返し実行される。すなわちパラメータXsc及びYscをそれぞれ1つずつ変えながら、スクリーン上の全ての座標の各々に対応するレイについて最初の対象座標が演算され、それがアドレステーブルに格納されることになる。
【0076】
図14には、図12に示したS103のプロセスの具体的な内容がフローチャートとして示されている。S301では、フレーム番号に相当するパラメータfに0が代入される(図12に示したS104の場合には、f=k−1(fの最大値)が代入される)。ちなみに、S301においてパラメータfに0が代入され、後述するようにそのfは1つずつインクリメントされ、フレーム番号が増加する方向に処理が順次移動することで本プロセスが進行する。
【0077】
S302では、フレームデータの転送が行われる。すなわち、f番目およびf+1番目のフレームのフレームデータが受信部16および2D変換部22を介して内部メモリへ転送される(前述したように、フレームメモリ24を経由してフレームデータが転送されてもよい)。そして転送されたフレームデータを利用してボリュームデータが補間処理によって生成される。S302で転送される二つのフレームデータは図4を利用して説明したようにメモリ空間上で連続しているデータ集合である。
【0078】
S303ではパラメータYscに0が代入され、S304ではパラメータXscに0が代入される。S305では、Xsc及びYscで特定されるスクリーン座標に対応するレイについて、それについてのボクセル演算が全て完了したレイであるか否かが判断される。YesであればS315からの各工程が実行され、NoであればS306からの各工程が実行される。
【0079】
S306では、アドレステーブルからXsc及びYscで特定されるレイについて対象座標Pc(Xp,Yp,Zp)が読み出される。すなわち、当該レイについて現在演算対象となっている座標が特定される。そして、S307では、座標Pcがf番目およびf+1番目のフレームまたはこれらのフレームの間にあるか否かが判断される。Noであれば現在演算すべきボクセルデータは存在しないものとして処理がS315へ移行し、一方、Yesであればその当該レイについてボクセル演算の対象となるボクセルデータが存在しているものとして処理がS308へ移行する。
【0080】
S308では、座標Pcがf番目またはf+1番目のフレーム上ではなく、これらのフレームの間にあるか否かが判断される。Noであれば、つまり、座標Pcがf番目またはf+1番目のフレーム上に存在すればS309へ移行し、一方、YesであればS310へ移行する。S309では、座標Pcがフレーム上に存在するため、座標Pcの位置に相当するフレーム上のフレームデータ(エコーデータ)が座標Pcの位置におけるボクセルデータとして選択される。なお、座標Pcに完全に一致する位置にエコーデータが存在しなければ、最も近傍に位置するエコーデータをボクセルデータとして選択してもよく、あるいは、近傍のエコーデータから補間処理などによりボクセルデータを算出してもよい。
【0081】
S310では、座標Pcがフレーム上に存在しないため、座標Pcの位置におけるボクセルデータが、フレーム上の近傍エコーデータから補間処理によって算出される。なおS310において実行される補間処理の詳細は、後に図15を利用して詳述する。
【0082】
S311では、対象座標によって特定されるボクセルデータを利用して上記の数1式を実行することにより、出力値が演算される。S312では、上記の演算結果が内部メモリ上のテーブルに保存される。すなわち、上記の数1式に従えば、当該レイについての演算結果であるCoutXY及びαoutXYが保存される。ちなみに、この段階において例えばオパシティ値の累積加算値が1に到達した場合など所定の終了条件を満たす場合には、処理をS312へ移行させることなくデータの保存前あるいはデータの保存後に処理をS315へ移行させるのが望ましい。
【0083】
S313では、当該レイについて対象座標が更新される。すなわち、X座標、Y座標及びZ座標のそれぞれについてΔX、ΔY、ΔZが加算され、これによって対象座標が更新される。S314においては、そのような更新された対象座標が三次元データ空間(あるいは有効な処理範囲)内にあるか否かが判断され、対象座標が三次元データ空間内に存在すれば処理がS307へ移行し、その一方、対象座標が三次元データ空間内でなければ処理がS315へ移行する。
【0084】
ここで、S313から処理がS307へ移行した場合において、現在処理対象となっているボクセル演算実行可能なボクセルデータが存在するならばS308以降の各工程が繰り返し実行されることになる。すなわち、このようなプロセスにより、フレームデータのデータ転送ごとに、ボクセル演算実行可能なレイが判断され、しかもそのレイについてボクセル演算実行可能なところまでボクセル演算を進行させることができる。
【0085】
S315においては、パラメータXscが1つインクリメントされ、S316ではそのパラメータXscがその最大値を越えたか否かが判断され、越えていなければ処理がS305へ移行し、越えていればS317においてパラメータYscが1つインクリメントされ、S318においてパラメータYscがその最大値を越えているか否かが判断される。Yscがその最大値を超えていなければ処理がS304へ移行し、その一方、越えていれば処理がS319へ移行する。S319では、fが1つインクリメントされ(図12のS104の場合にはf=f−1)、S320においてそのパラメータfがその最大値k−1に達したか否かが判断され(図12のS104の場合にはf=0が判断され)、達していなければ処理がS321へ移行し、f+1番目のフレームに相当するフレームデータが転送されてS303以降の処理が実行される。一方、S320においてパラメータfがその最大値k−1に達したと判断されると処理がS322へ移行する。
【0086】
すなわち、フレームデータの転送ごとに、また、各レイごとに、ボクセル演算の実行が可能か否かが判断され、それが可能であればボクセル演算が実行可能なところまでボクセル演算が進行する。そして、全てのレイについてそのような検証及び演算が実行された後、処理がS321を介してS303に戻って次のフレームデータについての演算が行われ、これがフレームデータの転送ごとに順次繰り返されることになる。したがって、最初のフレームデータの転送から最後のフレームデータの転送までを完了すると、その結果として全レイについて実行可能な全てのボクセル演算が完結することになる。そこで、S322においては、各レイごとに求められた出力値であるCoutXYを輝度変換して画素値として格納する処理が実行される。
【0087】
図15には、図14に示したS310のプロセスの具体的な内容がフローチャートとして示されている。S401では、対象座標Pc(Zp,Yp,Xp)から、補間点INTpを算出するための4つのフレームデータ(エコーデータ)を得るために用いる補間基準点P1(f,y,x)を次の数2式に基づいて求める。
【数2】

数2式において、mはフレームのy方向のピクセル数であり、nはフレームのx方向のピクセル数であり、kはフレーム数である(図3参照)。また、Ymax,Xmaxは、それぞれ、三次元データ空間のY軸方向サイズ、X軸方向のサイズである。さらに、φrotは、0番目のフレームと最終番号のフレームとの間の角度(図5参照)である。
【0088】
S402では、補間基準点P1(f,y,x)を基準として、残りの点P2〜P4を、P2=(f,y+1,x),P3=(f+1,y,x),P4=(f+1,y+1,x)として求める。こうして、補間点INTpを算出するための4つのフレームデータ(エコーデータ)P1〜P4が求められる(図6参照)。
【0089】
S403では、P1〜P4の各々に対応する補間係数w1〜w4を求める。補間係数w1〜w4は、例えば、フレームデータと補間点INTpとの位置関係(各フレームデータと補間点の距離など)から決定される。
【0090】
そして、S404では、次の数3式の補間処理によりINTpが求められる。
【数3】

数3式において、P1は点P1のフレームデータ、P2は点P2のフレームデータ、P3は点P3のフレームデータ、P4は点P4のフレームデータである。こうして、レイ上のボクセルデータ(補間点INTp)が算出される。
【0091】
以上説明したように、本実施形態においては、ボクセル演算におけるレイの向きを考慮して、ボクセル演算に必要な順にフレームデータが適切に取得され、ボリュームレンダリング演算が行われる。このため、三次元データ空間内の多数のエコーデータを取得してからボクセル演算を開始する場合に比べて、極めて能率的な演算処理を実現できる。
【0092】
図16は、本実施形態におけるエコーデータの取得から三次元画像の表示までの処理タイミングを説明するための図である。
【0093】
図16には、受信部16、2D変換部22、3Dプロセッサ26および表示部30の各々についての処理のタイミングが示されており、横軸が時間軸に相当する。図16において、♯0,♯1,・・・,♯k−1は、フレーム番号(図4参照)を示している。つまり、受信部16は、フレーム♯0,フレーム♯1,フレーム♯2,・・・の順でフレームデータを段階的に取得している。三次元データ空間内にはフレーム♯0からフレーム♯k−1までのk枚のフレームが存在する。これらk枚のフレームによって一つのボリュームが構成される。つまり、受信部16は、フレーム♯0からフレームデータを段階的に取得し、フレーム♯k−1までのフレームを取得した時点で、ボリューム1の全てのデータを取得したことになり、その後ボリューム2のフレーム♯0の取得を開始する。図示省略しているが、受信部16は、フレームデータの取得動作を継続させ、ボリューム2,ボリューム3,・・・の順にフレームデータを取得する。
【0094】
2D変換部22は、受信部16から出力されるフレームデータに対して二次元の座標変換を実行する。このため、2D変換部22によるフレーム♯0に処理の開始は、受信部16においてフレーム♯0のデータが取得された直後からとなる。さらに、受信部16においてフレーム♯1,フレーム♯2,・・・が次々に取得されると、2D変換部22は、各フレームが取得された直後から取得されたフレームの座標変換を実行する。
【0095】
なお、受信部16においてフレーム♯0のデータが完全に取得される前に、取得されたデータ部分のみを利用して2D変換部22が処理を開始するようにしてもよい。つまり、2D変換部22、3Dプロセッサ26および表示部30は、各々、前段における1フレーム分の処理が完全に終了する前に、前段において処理が終了した部分のみを利用して処理を開始することも可能である。ただし、以下の説明においては、前段において1フレーム分の処理が完全に終了してから、後段の処理を開始するものとして説明する。
【0096】
3Dプロセッサ26は、座標変換されたフレームデータに基づいてボクセル演算を実行する。ただし、上述したように、ボクセル演算の際には、隣接する二枚の走査面に対応したフレームデータが必要になる(図6参照)。このため、3Dプロセッサ26によるボクセル演算は、2D変換部22において二枚のフレームが処理された直後からとなる。つまり、2D変換部22において、フレーム♯0とフレーム♯1の変換が行われた直後に、これら二枚のフレーム(♯0,♯1)のデータに基づくボクセル演算が開始される。さらに、2D変換部22においてフレーム♯1,フレーム♯2,・・・が次々に変換されると、3Dプロセッサ26は、各フレームが変換された直後から変換されたフレームを含むボクセル演算を実行する。
【0097】
そして、3Dプロセッサ26において二枚のフレーム(♯k−2,♯k−1)を利用したボクセル演算が終了した時点で一つのボリューム(ボリューム1)に関するボクセル演算が完了し、その結果、ボリューム1の三次元画像が表示部30に表示される。
【0098】
図16に示したように、本実施形態によれば、エコーデータの取得開始から三次元画像を表示するまでに、「1ボリューム分のデータ取得時間+2フレーム分のデータ取得時間」のディレイのみとなる。
【0099】
従来は、例えば1ボリューム内全てのデータを三次元メモリに取得(1ボリューム分のデータ取得時間)してから、三次元メモリ内のデータを利用して三次元空間内のボクセルデータを演算し(例えば、1ボリューム分のデータ取得時間に相当)、その後、各レイごとにボクセル演算を実行(さらに、1ボリューム分のデータ取得時間に相当)していた。このため、従来は、例えば3ボリューム分のデータ取得時間分だけディレイが存在していた。これに比べて、本実施形態では、大幅にディレイ時間を短縮することができるのが理解できる。
【0100】
以上説明した本実施形態では、レイの向きに応じてボクセル演算に必要なものから順に複数のエコーデータを取得して、3Dプロセッサ26においてボクセル演算を実行している。3Dプロセッサ26によるボクセル演算については、図6から図15を利用して詳述したとおりである。ただし、本発明におけるボクセル演算の手法は、上述した手法に限定されない。例えば、3Dプロセッサ26において、処理プレーンを構成してからボクセル演算を行ってもよい。以下、処理プレーンを構成してからボクセル演算を行う変形例について説明する。
【0101】
変形例においても、レイの向きに応じてボクセル演算に必要なものから順に複数のエコーデータが取得される。例えば、上述した実施形態と同様に、視点に近いものから順にフレームデータ(エコーデータ)が取得される。そして、3Dプロセッサ26は、取得した各フレームを仮想的ボリューム空間である三次元データ空間内に配置し、各フレームのエコーデータから仮想ボリューム内の処理プレーン上のボクセルデータを算出してボリュームレンダリング法による演算を行う。
【0102】
図17には、変形例において、3Dプロセッサ26がボクセルデータを生成する際の補間処理の概念図が示されている。図17は、図4の三次元データ空間36についてのxy断面における一部拡大図に相当する。三次元データ空間36内の各ボクセルデータは、そのボクセルデータの近傍に位置する4つのエコーデータから生成される。例えば、図17において、ボクセルデータINTpは、その近傍の4つのエコーデータP1,P2,P3,P4から補間処理によって生成される。補間処理としては、例えば、4つのエコーデータP1,P2,P3,P4の各々に補間係数を掛けて加算する処理などが挙げられる。各エコーデータごとの補間係数は、例えば、各エコーデータとボクセルデータとの相対位置に応じて設定される。
【0103】
本変形例では、フレームデータ(♯j〜♯j+3)が三次元データ空間36のxy平面に垂直に配置されるため、三次元データ空間36内において、x座標値およびy座標値が同一でz軸方向に並ぶボクセルデータ列の各ボクセルデータに対して、同一の補間係数が利用される。
【0104】
図18には、補間処理によって生成される処理プレーン上のボクセルデータ列が示されている。図18のフレームデータ♯j内のエコーデータ列P1´は、図17のエコーデータP1の位置からフレームデータ座標系のα軸(z軸に平行)に沿って並ぶエコーデータのデータ列であり、図18のフレームデータ♯j内のエコーデータ列P2´は、図17のエコーデータP2の位置からα軸に沿って並ぶエコーデータのデータ列である。また、図18のフレームデータ♯j+1内のエコーデータ列P3´は、図17のエコーデータP3の位置からα軸に沿って並ぶエコーデータのデータ列であり、図18のフレームデータ♯j+1内のエコーデータ列P4´は、図17のエコーデータP4の位置からα軸に沿って並ぶエコーデータのデータ列である。
【0105】
図18のボクセルデータ列INTp´は、図17のボクセルデータINTpの位置からz軸(α軸に平行)に沿って並ぶボクセルデータのデータ列である。ボクセルデータ列INTp´上の各ボクセルデータは、そのボクセルデータが含まれるxy断面上に存在するエコーデータ列P1´〜P4´上のエコーデータから補間処理によって生成される。この補間処理は、ボクセルデータ列INTp´上の全てのボクセルデータに対して実行される。この際、エコーデータ列P1´上の全てのエコーデータに対して同一の補間係数が利用される。同様に、エコーデータ列P2´上の全てのエコーデータに対して同一の補間係数が利用され、エコーデータ列P3´上の全てのエコーデータに対して同一の補間係数が利用され、エコーデータ列P4´上の全てのエコーデータに対して同一の補間係数が利用される。
【0106】
補間処理に利用されるエコーデータ列P1´〜P4´は、二つの隣接するフレームデータ内のエコーデータ列であるため、3Dプロセッサ26は、段階的に取得されてフレームメモリ24に記憶された複数のフレームデータのうちから二つのフレームデータをDMA転送などによりまとめて読み出し、補間処理を行ってボクセルデータを生成し、ボリュームレンダリング法に基づくボクセル演算を実行することができる。以下、3Dプロセッサ26で実行されるボクセル演算について詳述する。
【0107】
図19には、三次元データ空間36に対して複数のレイが設定された状態が示されている。三次元データ空間36は、三次元空間ではあるが、図19においては説明のために平面的に表されている。
【0108】
図19に示されるように、複数のレイがx軸及びy軸に対して交差する斜め方向に設定された場合、各レイに注目すると、各レイが最初に三次元データ空間36に進入する座標が図19において黒丸で示されている。各黒丸はボクセルデータに相当するものである。図19に示されるように、各レイの位置に応じて三次元データ空間36に進入する最初の座標はそれぞれ異なっている。例えば、レイL5〜L12までの8つのレイについては進入位置はx座標における原点を横切るy−z面上(最初の処理プレーン上)に存在し、それがボクセルデータe1〜e8で表されている。その一方、レイL1〜L4についてはy方向の終端を横切るx−z面上に進入しており、その最初の進入位置にあるボクセルデータが図19においてe9〜e12で表されている。ちなみに、スクリーン40上における各座標ごとに1つのレイが対応付けられており、また、図19の例では、各レイは平行であって、便宜上、レイL1上に単位レイベクトルVが表されている。
【0109】
3Dプロセッサ26は、各レイが最初に三次元データ空間36に進入する座標である演算開始点をレンダリングレイの本数分だけ算出してアドレステーブルに保存する。処理を高速化するために、アドレステーブルは頻繁にアクセスを行うので、内部メモリ28に保持することが望ましい。本変形例においては、三次元データ空間36内に存在する複数のボクセルデータ(つまり、ボリュームデータ)が上述したように、各フレームのエコーデータから補間処理によって算出される。そこで、3Dプロセッサ26は、まずx座標における原点を横切るy−z面を処理プレーンとして、この処理プレーン上のボクセルデータ(つまり、図19におけるボクセルデータe1〜e8)を生成するために必要なフレームデータをフレームメモリ24から内部メモリ28に読み込む。そして、3Dプロセッサ26は、アドレステーブルを参照して、y−z面上のボクセルデータを含むレイに対して、前記数1式に基づくボクセル演算を行う。その際、演算に利用されるボクセルデータはフレームデータから補間処理して生成される。
【0110】
ボクセル演算の出力値Couti、αoutiは一時バッファに保持され、演算を行ったレンダリングレイはアドレステーブルの値にレイ単位ベクトルの各要素を加算し、次のボクセルデータを示すアドレスが生成される。生成された次データを示すアドレスが、x=0(y−z面上)になっているレンダリングレイはxアドレスが0以外になるまでこの演算を繰り返す。全てのレンダリングレイがx=0のアドレスを持つデータを処理し終えた場合、または、y,zのアドレスが三次元データ空間36のサイズを超えた場合にx=0の面における処理を完了する。
【0111】
さらに、x=1,2,3,・・・の順に処理プレーンを移動させながらボクセル演算を行い、最後の面の処理が完了した時点におけるCoutiの値をスクリーン40上の投影データとして出力する。出力結果は表示処理部20において輝度変換され表示部30に出力される。その結果スクリーン40上に三次元画像を投影した表示画像が表示部30に表示される。
【0112】
図20には、ボクセル演算の実行過程が段階的に示されており、(a),(b),(c),(d)の順で工程が進行する。すなわち、まず(a)に示される、レイL5〜レイL12についてボクセルデータ列E1が生成されてボクセル演算が実行される。この時点において、それ以外のレイL1〜4についてのボクセル演算は見送られる。次に(b)に示すように今度はボクセルデータ列E2を生成してレイL4〜L12についてボクセル演算が実行される。すなわち、(a)に示した場合に比べてボクセル演算実行可能なレイとしてレイL4が加えられている。
【0113】
次に、(c)に示されるボクセルデータ列E3を生成してレイL4〜L12についてボクセル演算が実行され、この段階においては新しくボクセル演算実行可能なレイは加えられていない。そして、(d)に示されるように、更にボクセルデータ列E4を生成してレイL3〜L12についてボクセル演算が実行される。このような過程が繰り返されると、最終的に全レイについて必要なボクセル演算を行うことができ、その結果としてスクリーン40上に三次元画像を構築することが可能となる。ちなみに、各レイごとのボクセル演算の終了条件として、例えば、ボクセル演算の対象となる対象座標が三次元データ空間36から外れたこと、又は、累積加算した不透明度の値が所定値を越えたことなどが設定されており、そのような終了状況を満たした時点で各レイごとに個別的にボクセル演算が終了する。
【0114】
図20に示した例では、左上から右下の方向に各レイの向きが定められており、ボクセル演算がx方向における正方向に順次進行している。この場合の視点の位置は、図9の(A)の状態に対応する。したがって、図20に示した例では、図9(A)に示すように、視点VPを起点とするレイ38が最初に交差するフレームはフレーム♯1であり、その後、フレーム♯2、フレーム♯3、・・・の順に交差していくため、送信部14および受信部16によって、フレーム番号の昇順にフレームデータが取得される。
【0115】
なお、図20とは逆に、右上から左下の方向に各レイの向きが設定されているような場合には、ボクセル演算がx方向における負方向に順次進行する。この場合においては、図9(B)に示すように、視点VPを起点とするレイ38が最初に交差するフレームはフレーム♯k−1であり、その後、フレーム♯k−2、フレーム♯k−3、・・・の順に交差していくため、送信部14および受信部16によって、フレーム番号の降順にフレームデータが取得される。
【0116】
本変形例においても、ボクセル演算におけるレイの向きを考慮して、ボクセル演算に必要な順にフレームデータが適切に取得され、ボリュームレンダリング演算が行われる。このため、三次元データ空間内の多数のエコーデータを取得してからボクセル演算を開始する場合に比べて、極めて能率的な演算処理を実現できる。
【0117】
図21は、本変形例におけるエコーデータの取得から三次元画像の表示までの処理タイミングを説明するための図である。
【0118】
図21の(A)には、フレームと処理プレーンの配置関係が図示されている。なお、図21の(A)は、図4の三次元データ空間36についてのxy断面に相当する。図21の(A)において、Frame♯0,Frame♯1,・・・Frame♯k−1はフレーム番号(図4参照)を示している。また、Plane♯0,Plane♯1,・・・Plane♯(Xmax−1)は処理プレーン番号を示している。
【0119】
本変形例において、処理プレーン上のボクセルデータは、フレーム上のフレームデータから補間処理によって求められる(図17参照)。このため、処理プレーン上のボクセルデータを全て生成するためには、その処理プレーンの生成に利用されるフレームデータを全て取得する必要がある。例えば、図21の(A)において、処理プレーンPlane♯1を生成するためには、二枚のフレームFrame♯0,Frame♯1が必要になる。そして、処理プレーンの番号が大きくなるにつれて処理プレーンとフレームの交点が増えることに伴い、処理プレーンを生成するために必要とされるフレーム数が増加することがわかる。そして、フレームFrame♯((k−1)/2)までのフレームデータを取得すると、中央に位置する処理プレーンPlane♯((Xmax−1)/2)よりも左側(X軸の負方向側)に位置する処理プレーンについては生成可能になる。
【0120】
そこで、本変形例では、フレームFrame♯((k−1)/2)までのフレームデータを取得してからボクセル演算(処理プレーンの生成)を開始する。
【0121】
図21の(B)には、受信部16、2D変換部22、3Dプロセッサ26および表示部30の各々についての処理のタイミングが示されており、横軸が時間軸に相当する。
【0122】
図21の(B)において、F♯0,F♯1,・・・,F♯(k−1)は、フレーム番号(図4参照)を示している。つまり、例えば、受信部16は、フレーム♯0,フレーム♯1,フレーム♯2,・・・の順でフレームデータを段階的に取得している。三次元データ空間内にはフレーム♯0からフレーム♯(k−1)までのk枚のフレームが存在する。これらk枚のフレームによって一つのボリュームが構成される。つまり、受信部16は、フレーム♯0からフレームデータを段階的に取得し、フレーム♯(k−1)までのフレームを取得した時点で、ボリューム1の全てのデータを取得したことになり、その後ボリューム2のフレーム♯0の取得を開始する。図示省略しているが、受信部16は、フレームデータの取得動作を継続させ、ボリューム2,ボリューム3,・・・の順にフレームデータを取得する。
【0123】
2D変換部22は、受信部16から出力されるフレームデータに対して二次元の座標変換を実行する。このため、2D変換部22によるフレーム♯0の処理の開始は、受信部16においてフレーム♯0のデータが取得された直後からとなる。さらに、受信部16においてフレーム♯1,フレーム♯2,・・・が次々に取得されると、2D変換部22は、各フレームが取得された直後から取得されたフレームの座標変換を実行する。
【0124】
なお、受信部16においてフレーム♯0のデータが完全に取得される前に、取得されたデータのみを利用して処理を開始するようにしてもよい。つまり、2D変換部22、3Dプロセッサ26および表示部30は、各々、前段における1フレーム分の処理が完全に終了する前に、前段において処理が終了した部分のみを利用して処理を開始することも可能である。ただし、以下の説明においては、前段において1フレーム分の処理が完全に終了してから、後段の処理を開始するものとして説明する。
【0125】
3Dプロセッサ26は、座標変換されたフレームデータに基づいてボクセル演算を実行する。ただし、上述したように、ボクセル演算の際には、処理プレーンの生成に利用されるフレームデータを全て取得する必要がある。このため、3Dプロセッサ26によるボクセル演算は、2D変換部22においてフレーム♯((k−1)/2)が処理された直後からとなる。つまり、2D変換部22において、フレーム♯((k−1)/2)の変換が行われた直後に、最初の処理プレーンP♯0が生成される。さらに、2D変換部22においてフレームが次々に変換されるに従って、3Dプロセッサ26は、各フレームが変換された直後から処理プレーンP♯1,P♯2,・・・の順に処理プレーンを生成し、ボクセル演算を実行する。
【0126】
そして、3Dプロセッサ26において処理プレーンP♯(Xmax−1)を利用したボクセル演算が終了した次点で一つのボリューム(ボリューム1)に関するボクセル演算が完了し、その結果、ボリューム1の三次元画像が表示部30に表示される。
【0127】
図21の(B)に示したように、本変形例によれば、エコーデータの取得開始から三次元画像を表示するまでに、「1.5ボリューム分のデータ取得時間+1フレーム分のデータ取得時間」のディレイのみとなる。このため、従来の3ボリューム分のデータ取得時間分だけディレイが存在していた場合に比べて、本変形例によっても大幅にディレイ時間を短縮することができるのが理解できる。
【0128】
以上説明した実施形態(その変形例を含む)によって形成される三次元画像は、低侵襲治療におけるモニタとしての利用が期待できる。例えば、腹腔鏡下手術における手術器具のモニタである。通常、腹腔鏡下手術では小型カメラにより器具のモニタリングを行っているが、手術器具の先端が臓器内に入っている場合や臓器の裏にある場合には、先端の様子を見ることが困難であった。そこで、本実施形態の超音波診断装置を利用して臓器内や臓器裏を表示することによって、手術器具の先端の様子を把握することが可能になる。特に、本実施形態の超音波診断装置は、エコーデータの取得から三次元画像の形成までのディレイが小さいため、器具や臓器の動きを捉えるのに好適である。
【0129】
以上、本発明の好適な実施形態を説明したが、上述した実施形態は、あらゆる点で単なる例示にすぎず、本発明の範囲を限定するものではない。
【図面の簡単な説明】
【0130】
【図1】ボリュームレンダリングの原理を説明するための説明図である。
【図2】本実施形態に係る超音波診断装置の全体構成を示すブロック図である。
【図3】フレームデータ空間の構造を概念的に示す図である。
【図4】三次元データ空間とフレームとの対応関係を示す図である。
【図5】フレームとレイとの対応関係を示す図である。
【図6】ボクセルデータを生成する際の補間処理を説明するための図である。
【図7】単位レイベクトルを説明するための説明図である。
【図8】フレームと各レイごとのボクセル演算との関係を示す図である。
【図9】レイの向きに応じた送受信制御を説明するための図である。
【図10】段階的にボクセル演算される様子を示した説明図である。
【図11】段階的にボクセル演算される様子を示した説明図である。
【図12】装置の動作例を示すフローチャートである。
【図13】初期化プロセスの具体的な内容を示すフローチャートである。
【図14】図12に示すS103のプロセスの具体的な内容を示すフローチャートである。
【図15】図14に示すS310のプロセスの具体的な内容を示すフローチャートである。
【図16】エコーデータの取得から三次元画像の表示までの処理タイミングを説明するための図である。
【図17】ボクセルデータを生成する際の補間処理の概念図である。
【図18】補間処理で生成されるボクセルデータ列を説明するための図である。
【図19】三次元データ空間と各レイごとのボクセル演算との関係を示す図である。
【図20】段階的にボクセル演算される様子を示した説明図である。
【図21】変形例におけるエコーデータの取得から三次元画像の表示までの処理タイミングを説明するための図である。
【符号の説明】
【0131】
10 3Dプローブ、12 送受波空間、22 2D変換部、24 フレームメモリ(外部メモリ)、26 3Dプロセッサ、28 内部メモリ、36 三次元データ空間、40 スクリーン。

【特許請求の範囲】
【請求項1】
三次元空間に超音波を送受波して複数のエコーデータを取得する送受波手段と、
前記複数のエコーデータに基づいて三次元画像を形成する三次元画像形成手段と、
を有し、
前記三次元画像形成手段は、
前記三次元空間に対応するデータ空間内に仮想的に設定された視点からの透視線として 複数のレイを設定するレイ設定部と、
前記複数のエコーデータから前記設定された複数のレイ上のボクセルデータを演算して各レイごとにボクセル演算を進行させるボクセル演算部と、
を含み、前記各レイごとの最後のボクセル演算の結果として前記三次元画像を形成し、
前記送受波手段は、前記各レイの向きに応じた順序で複数のエコーデータを取得する、
ことを特徴とする超音波診断装置。
【請求項2】
請求項1に記載の超音波診断装置において、
前記各レイに対応したレイベクトルの所定軸成分の符号から前記各レイの向きを判断する、
ことを特徴とする超音波診断装置。
【請求項3】
請求項1に記載の超音波診断装置において、
前記データ空間内における視点の位置座標から前記各レイの向きを判断する、
ことを特徴とする超音波診断装置。
【請求項4】
請求項1に記載の超音波診断装置において、
前記送受波手段は、前記各レイの向きに応じた順序で複数の走査面を形成し、各走査面ごとに、複数のエコーデータからなるフレームデータを取得する、
ことを特徴とする超音波診断装置。
【請求項5】
請求項4に記載の超音波診断装置において、
前記送受波手段は、前記視点に近い方から順に複数の走査面を形成し、複数の走査面に対応した複数のフレームデータを段階的に取得する、
ことを特徴とする超音波診断装置。
【請求項6】
請求項5に記載の超音波診断装置において、
前記ボクセル演算部は、前記段階的に取得される複数のフレームデータに基づいて前記設定された複数のレイ上のボクセルデータを段階的に演算し、各レイごとにボクセル演算を進行させる、
ことを特徴とする超音波診断装置。
【請求項7】
請求項6に記載の超音波診断装置において、
前記ボクセル演算部は、前記複数のフレームデータから補間処理によってボクセルデータを算出する、
ことを特徴とする超音波診断装置。
【請求項8】
請求項7に記載の超音波診断装置において、
前記ボクセル演算部は、前記複数の走査面をその位置に応じて前記データ空間内に配置した際に隣接して配置される二枚の走査面に対応したフレームデータから、それら二枚の走査面の間のフレーム間領域に存在するボクセルデータを算出する、
ことを特徴とする超音波診断装置。
【請求項9】
請求項8に記載の超音波診断装置において、
前記ボクセル演算部は、前記二枚の走査面に対応したフレームデータに含まれるエコーデータであってボクセル座標の近傍に存在するエコーデータから、そのボクセル座標に対応するボクセルデータを算出する、
ことを特徴とする超音波診断装置。
【請求項10】
請求項9に記載の超音波診断装置において、
前記三次元画像形成手段は、
前記各レイごとに、それが前記データ空間に対して最初に通過する点として、前記データ空間における第1軸上の初期座標、第2軸上の初期座標及び第3軸上の初期座標を演算する初期座標演算部と、
前記第1軸の刻み成分、前記第2軸の刻み成分及び前記第3軸の刻み成分を演算する刻み成分演算部と、
前記各レイごとに、前記第1軸上の初期座標、前記第2軸上の初期座標及び前記第3軸上の初期座標に対して、それぞれ前記第1軸上の刻み成分、前記第2軸上の刻み成分及び前記第3軸上の刻み成分を累積的に加算することにより、前記各レイ上におけるボクセル演算対象座標を特定する対象座標特定部と、
複数のフレームデータの段階的な取得に伴って段階的に移動する前記フレーム間領域の各移動位置ごとに、フレーム間領域内において前記ボクセル演算対象座標に該当するボクセルデータを前記補間処理により生成する補間処理部と、
を含むことを特徴とする超音波診断装置。
【請求項11】
請求項5に記載の超音波診断装置において、
前記三次元画像形成手段は、前記データ空間内に処理プレーンを設定し、前記複数のフレームデータの段階的な取得に従って処理プレーンを段階的に移動させる処理プレーン設定部をさらに含み、
前記ボクセル演算部は、段階的に移動する処理プレーンの各移動位置ごとに、前記複数のフレームデータから処理プレーン上のボクセルデータを演算し、処理プレーンの移動に従って各レイごとにボクセル演算を進行させる、
ことを特徴とする超音波診断装置。
【請求項12】
請求項11に記載の超音波診断装置において、
前記処理プレーンは、前記データ空間の所定軸に直交する平面である、
ことを特徴とする超音波診断装置。
【請求項13】
請求項12記載の超音波診断装置において、
前記ボクセル演算部は、前記複数のフレームデータから補間処理によってボクセルデータを算出する、
ことを特徴とする超音波診断装置。
【請求項14】
請求項13に記載の超音波診断装置において、
前記ボクセル演算部は、前記複数の走査面をその位置に応じて前記データ空間内に配置した際に、複数の走査面に対応した複数のフレームデータのうち、前記データ空間の座標であるボクセル座標の近傍に配置される複数のフレームデータから、そのボクセル座標に対応するボクセルデータを算出する、
ことを特徴とする超音波診断装置。
【請求項15】
請求項14に記載の超音波診断装置において、
前記ボクセル演算部は、前記複数のフレームデータに含まれるエコーデータであってボクセル座標の近傍に存在するエコーデータから、そのボクセル座標に対応するボクセルデータを算出する、
ことを特徴とする超音波診断装置。
【請求項16】
請求項15に記載の超音波診断装置において、
前記三次元画像形成手段は、
前記各レイごとに、それが前記データ空間に対して最初に通過する点として、前記データ空間における第1軸上の初期座標、第2軸上の初期座標及び第3軸上の初期座標を演算する初期座標演算部と、
前記第1軸の刻み成分、前記第2軸の刻み成分及び前記第3軸の刻み成分を演算する刻み成分演算部と、
前記各レイごとに、前記第1軸上の初期座標、前記第2軸上の初期座標及び前記第3軸上の初期座標に対して、それぞれ前記第1軸上の刻み成分、前記第2軸上の刻み成分及び前記第3軸上の刻み成分を累積的に加算することにより、前記各レイ上におけるボクセル演算対象座標を特定する対象座標特定部と、
前記段階的に移動する処理プレーン上において前記ボクセル演算対象座標に該当するボクセルデータを前記補間処理により生成する補間処理部と、
を含むことを特徴とする超音波診断装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate