図1は、本発明の実施において好適な超音波診断装置の全体構成図である。図1の超音波診断装置は、血流(血液の流れ)の移動情報を得る機能を備えており、特に、生体の心臓内における血流の診断に好適である。
プローブ10は、例えば生体内の心臓などの診断対象を含む領域に超音波を送受波する超音波探触子である。プローブ10は、複数の振動素子を備えており、複数の振動素子が電子的に走査制御されて、心臓を含む空間内で超音波ビームが走査される。プローブ10は、例えば、医師等のユーザ(検査者)に把持されて被検者の体表面上に当接して用いられる。なお、プローブ10は、被検者の体腔内に挿入して用いられるものであってもよいし、電子的な走査と機械的な走査とを組み合わせた探触子であってもよい。プローブ10としては例えばコンベックス型が望ましいもののセクタ型やリニア型等であってもよい。
送受信部12は、送信ビームフォーマーおよび受信ビームフォーマーとしての機能を備えている。つまり、送受信部12は、プローブ10が備える複数の振動素子の各々に対して送信信号を出力することにより送信ビームを形成し、さらに、複数の振動素子から得られる複数の受波信号に対して整相加算処理などを施して受信ビームを形成する。これにより、超音波ビーム(送信ビームと受信ビーム)が走査面内において走査され、超音波ビームに対応した受信信号が形成される。
なお、送受信部12において、超音波の受信信号に対して、検波処理やフィルタ処理やAD変換処理等が施されてもよい。また、超音波の受信信号を得るにあたって、超音波ビームが三次空間内で立体的に走査されてもよいし、送信開口合成等の技術が利用されてもよい。
画像形成部20は、走査面内から得られる超音波の受信信号に基づいて、超音波画像のデータ(画像データ)を形成する。画像形成部20は、例えば、検波処理やフィルタ処理やAD変換処理等が施された超音波の受信信号に基づいて、Bモード画像用のフレームデータを形成する。もちろん、Bモード画像以外の公知の超音波画像に係る画像データが形成されてもよい。
ドプラ処理部30は、超音波ビームに対応した受信信号に含まれるドプラシフト量を計測する。ドプラ処理部30は、例えば公知のドプラ処理により、血流によって超音波の受信信号内に生じるドプラシフトを計測し、血流についての超音波ビーム方向の速度情報(ドプラ情報)を得る。
速度ベクトル演算部40は、血流についての超音波ビーム方向の速度情報から、走査面内における2次元の速度ベクトルの分布を形成する。速度ベクトル演算部40は、例えば特許文献1(特開2013−192643号公報)に説明されるように、血流についての超音波ビーム方向の速度情報に加えて、心臓壁の運動情報を利用して、走査面内の各位置における血流の2次元速度ベクトルを得る。
なお、超音波ビーム方向に沿った1次元の速度情報を利用して、走査面内における2次元の速度ベクトルの分布を形成するにあたっては、公知の様々な手法を利用することができる。もちろん、互いに方向が異なる2本の超音波ビームを形成して、2本の超音波ビームの各々から速度情報を得て、2次元の速度ベクトルを形成するようにしてもよい。
速度ベクトル演算部40は、超音波が送受される空間に対応した演算用座標系において複数のサンプル点について、各サンプル点ごとに速度ベクトルを得る。例えば、演算用座標系をxyz直交座標系で表し、超音波の走査面に対応したxy平面内で、各サンプル点ごとに速度ベクトルを得て2次元の速度ベクトルの分布を形成する。なお、超音波の走査に対応した走査座標系、例えばビームの深さ方向rとビームの走査方向θによるrθ座標系において2次元の速度ベクトルの分布が形成されてもよい。
速度ベクトル演算部40は、複数のサンプル点(複数座標)に対応した速度ベクトルで構成される2次元の速度ベクトルの分布を示す各ベクトルフレームを生成する。また、速度ベクトル演算部40は、複数時相に亘って複数のベクトルフレームを次々に生成する。
内腔ライン設定部42は、画像形成部20による処理で得られた画像データ内において心臓内腔の外縁となる内腔ラインを設定する。また、流入流出ライン設定部44は、画像データ内において、心臓内腔へ流入する血流の流路に流入ラインを設定し、心臓内腔から流出する血流の流路に流出ラインを設定する。そして、内腔ラインと流入ラインと流出ラインにより囲まれた領域が関心領域とされる。
図2は、心臓内腔に対応した関心領域の具体例を示す図である。図2には、画像形成部20において得られる画像データ22の具体例が図示されており、図2の画像データ22内には、周囲を心筋や弁によって囲まれた心臓左室の内腔(心腔)が含まれている。
内腔ライン52は、心腔(例えば心臓左室の内腔)の外縁に対応した複数のトレースポイントに基づいて形成される。例えば、画像データ22に対応した表示画像が表示部82に表示され、医師等のユーザがその表示画像を見ながら操作デバイス90を利用して、心腔と心筋の境界上または境界付近にいくつかの(数個程度でよい)トレース基準ポイントを設定する。また、内腔ライン設定部42が、ユーザによって設定されたトレース基準ポイントに基づいて、例えば補間処理等によりトレース基準ポイント間に複数のトレースポイントを追加する。
そして、いくつかのトレース基準ポイントと追加された複数のトレースポイントからなる複数のサンプル点(例えば100点程度)に基づいて、内腔ライン設定部42が内腔ライン52を形成する。例えば、複数のサンプル点を互いに連結するように内腔ライン52が形成される。なお、画像データ22に対する二値化処理等の画像処理により、心腔と心筋の境界が特定され、その境界に沿って内腔ライン52が形成されてもよい。
流入ライン54と流出ライン56は、ユーザからの操作に応じて、流入流出ライン設定部44により設定される。例えば、画像データ22に対応した表示画像を見ながら、医師等のユーザが、流入ライン54と流出ライン56のそれぞれの始点Sと終点Eの位置を指定する。例えば、流入ライン54の始点Sと終点E、流出ライン56の始点Sと終点Eの順にこれら4点が設定される。
ユーザにより流入ライン54と流出ライン56のそれぞれの始点Sと終点Eの位置が設定されると、流入流出ライン設定部44は、内腔ライン52と流入ライン54を接続するように流入ライン54を設定し、内腔ライン52と流出ライン56を接続するように流出ライン56を設定する。
例えば、流入流出ライン設定部44は、流入ライン54の始点Sを、その始点Sに最も近い内腔ライン52上のサンプル点(トレースポイント又はトレース基準ポイント)の位置に移動し、流入ライン54の終点Eを、その終点Eに最も近い内腔ライン52上のサンプル点(トレースポイント又はトレース基準ポイント)の位置に移動する。
また、流入流出ライン設定部44は、流出ライン56の始点Sを、その始点Sに最も近い内腔ライン52上のサンプル点(トレースポイント又はトレース基準ポイント)の位置に移動し、流出ライン56の終点Eを、その終点Eに最も近い内腔ライン52上のサンプル点(トレースポイント又はトレース基準ポイント)の位置に移動する。なお、流入ライン54の終点Eと流出ライン56の始点Sとを結ぶ直線または曲線が形成されることが望ましい。
こうして、内腔ライン52と流入ライン54と流出ライン56によって囲まれた領域が形成され、その領域が関心領域とされる。なお、図2には、流入ライン54と流出ライン56を直線とする具体例を示したが、直線以外のラインが利用されてもよい。
図3は、流入ライン54と流出ライン56の他の具体例を示す図である。例えば、図3(A)に示す具体例のように、閉曲線の内腔ライン52が得られている場合には、図3(B)に示すように、始点Sと終点Eを内腔ライン52に沿って結んだ曲線状の流入ライン54と流出ライン56が形成されてもよい。
図1に戻り、内腔ライン速度演算部46は、画像形成部20において形成された画像データに基づいて、内腔ライン(図2の符号52)上における心筋(心臓壁)の速度情報を生成する。内腔ライン速度演算部46は、内腔ライン上の複数サンプル点について、各サンプル点ごとに心筋の速度情報を生成する。
内腔ライン速度演算部46は、例えば、複数フレームに亘って得られる画像データのフレーム間において、画像データの画素値(輝度値等)に基づく相関演算等を利用したパターンマッチングにより、内腔ライン上の各サンプル点ごとに、複数フレームに亘ってそのサンプル点の移動位置を2次元平面内で追跡する。これにより、各サンプル点ごとに、2次元的な移動情報が得られ、例えば、フレーム間における移動量(移動ベクトル)とフレーム間の時間に基づいて、2次元の速度ベクトルが算出される。画像データがxy直交座標系に対応したデータであれば、xy直交座標系における速度ベクトルが算出され、画像データがrθ座標系に対応したデータであれば、rθ座標系における速度ベクトルが算出される。
また、内腔ライン速度演算部46による内腔ライン上の各サンプル点の追跡結果は、内腔ライン設定部42に送られ、内腔ライン設定部42は、複数サンプル点の移動に追従するように内腔ラインの形状を変化させる。
さらに、流入ライン54と流出ライン56のそれぞれの始点Sと終点E(図2参照)がそれらに対応した各サンプル点(内腔ライン上の各サンプル点)の移動に追従する。こうして、流入流出ライン設定部44により、内腔ラインの形状の変化に応じて、つまり画像データ内における心臓の運動に追従するように、流入ライン54と流出ライン56が設定される。
なお、速度ベクトル演算部40において、特許文献1に説明される手法により血流の2次元速度ベクトルを得る場合には、心臓壁の運動情報を利用するが、この場合には、心臓壁の運動情報として、内腔ライン速度演算部44において算出された内腔ライン上の各サンプル点における速度ベクトルが利用される。
補間処理部50と粒子生成部60と粒子演算部70における処理と機能については、後に図面を参照して詳述する。
表示処理部80は、画像形成部20から得られる超音波画像の画像データと、粒子演算部70から得られる演算結果に基づいて、血流表示画像を形成する、表示処理部80において形成された血流表示画像は表示部82に表示される。
制御部100は、図1の超音波診断装置内を全体的に制御する。制御部100による全体的な制御には、操作デバイス90を介して、医師や検査技師などのユーザから受け付けた指示も反映される。
図1に示す構成(符号を付された各部)のうち、送受信部12,画像形成部20,ドプラ処理部30,速度ベクトル演算部40,内腔ライン設定部42,流入流出ライン設定部44,内腔ライン速度演算部46,補間処理部50,粒子生成部60,粒子演算部70,表示処理部80の各部は、例えば電気電子回路やプロセッサ等のハードウェアを利用して実現することができ、その実現において必要に応じてメモリ等のデバイスが利用されてもよい。また、上記各部に対応した機能の少なくとも一部がコンピュータにより実現されてもよい。つまり、上記各部に対応した機能の少なくとも一部が、CPUやプロセッサやメモリ等のハードウェアと、CPUやプロセッサの動作を規定するソフトウェア(プログラム)との協働により実現されてもよい。
表示部82の好適な具体例は、液晶ディスプレイ等であり、操作デバイス90は、例えば、マウス、キーボード、トラックボール、タッチパネル、その他のスイッチ類等のうちの少なくとも一つにより実現できる。そして、制御部100は、例えば、CPUやプロセッサやメモリ等のハードウェアと、CPUやプロセッサの動作を規定するソフトウェア(プログラム)との協働により実現することができる。
図1の超音波診断装置の全体構成は以上のとおりである。次に、図1の超音波診断装置により実現される機能の具体例について詳述する。なお、図1に示した構成(符号を付された各部)については、以下の説明において図1の符号を利用する。
図4は、速度ベクトル分布の具体例を示す図である。速度ベクトル演算部40は、例えば特許文献1(特開2013−192643号公報)に説明されるように、血流についての超音波ビーム方向の速度情報と心臓壁の運動情報を利用して、走査面内の各位置における血流の2次元速度ベクトルを得る。具体的には、ドプラ処理部30から得られる超音波ビーム方向の速度情報(ドプラ情報)と、内腔ライン速度演算部46から得られる内腔ライン52上の各サンプル点における速度情報に基づいて、例えば、図4に示す速度ベクトル分布が形成される。
図4に示す速度ベクトル分布は、心臓の内腔ライン52(図2参照)を含むxy座標系(直交座標系)で表現されており、xy座標系内の複数座標において算出された複数の速度ベクトル(血流の速度ベクトル)Vで構成されている。速度ベクトル演算部40は、例えば、超音波の走査に対応した走査座標系、例えばビームの深さ方向rとビームの走査方向θによるrθ座標系において2次元の速度ベクトル分布を形成してから、座標変換処理を行って図4に示すxy座標系の速度ベクトル分布を得る。
速度ベクトル演算部40は、複数のサンプル点(複数座標)に対応した速度ベクトルVで構成される各ベクトルフレーム、つまり2次元の速度ベクトル分布を示す各ベクトルフレームを生成する。速度ベクトル演算部40は、複数時相に亘って複数のベクトルフレームを次々に生成する。これにより、複数のベクトルフレームからなるベクトルフレーム列が得られる。
図5は、フレーム列を説明するための図であり、図5(A)には、ベクトルフレーム列の具体例が図示されている。図5(A)に示す具体例において、ベクトルフレーム列は、複数のベクトルフレーム(1〜5を代表的に図示)で構成される。
複数座標における速度ベクトルで構成された各ベクトルフレームは、ドプラ処理部30から得られる超音波ビーム方向の速度情報(ドプラ情報)を利用して生成される。ドプラ情報を得るにあたり、例えばカラードプラ法の送受信を利用すると、同じビーム方向に超音波が繰り返し送受されるため、例えばBモード画像を得る場合等に比べて、ドプラ情報を得る場合の送受信フレームレートは低くなってしまう。各ベクトルフレームを構成する速度ベクトルはドプラ情報を利用して算出されるため、ベクトルフレーム列のフレームレートも比較的低いものとなる。
そこで、補間処理部50により、ベクトルフレーム列に対してフレーム間補間処理が実行される。図5(B)は、フレーム間補間処理を施された補間後のフレーム列の具体例が図示されている。図5(B)に示す具体例において、補正後のフレーム列は、複数のベクトルフレーム(図5(A)に代表的に図示された1〜5)と、それらのベクトルフレーム間に追加された複数の補間フレームで構成される。各補間フレームは、互いに隣接する2つのベクトルフレーム間に速度ベクトルに基づく補間処理を適用して生成される。
なお、補間後のフレーム列のフレームレートは、例えば、表示部82における表示フレームレートに応じて決定するようにしてもよい。具体的には、例えば、表示フレームレートが60Hzであれば、補間後のフレーム列のフレームレートも60Hzとなるように、追加される補間フレームの枚数等が決定される。もちろん、表示フレームレートと補間後のフレーム列のフレームレートは必ずしも一致させる必要はない。
図6は、フレーム間の補間処理を説明するための図である。補間処理部50は、複数のベクトルフレームからなるベクトルフレーム列(図5参照)内において、互いに隣接する2つのベクトルフレーム間に補間処理を適用し、そのベクトルフレーム間に1又は複数の補間フレームを追加する。各補間フレームは、複数座標における補間ベクトルで構成される。
補間処理部50は、各座標ごとに、互いに隣接する2つのベクトルフレームから得られる当該座標に対応した2つの速度ベクトルに基づく補間処理により、当該座標に対応した補間ベクトルを算出する。
図6には、座標(x,y)におけるフレーム間補間処理の具体例が図示されている。図6において、ベクトルフレーム(n)とベクトルフレーム(n+1)は、ベクトルフレーム列内において互いに隣接する2つのベクトルフレームである。図6に示す具体例では、ベクトルフレーム(n)とベクトルフレーム(n+1)の間に、等間隔で4つの補間フレーム(1)〜(4)が追加される。ベクトルフレーム(n)とベクトルフレーム(n+1)の時間間隔はΔTであり、ΔT内において4つの補間フレーム(1)〜(4)が等間隔Δtで追加される。したがって、ΔT=5×Δtとなる。
補間処理部50は、例えば、時間間隔に応じた線形補間により、各補間フレームを構成する補間ベクトルを算出する。例えば、ベクトルフレーム(n)内の座標(x,y)における速度ベクトル(x方向成分,y方向成分)が(Vx0,Vy0)であり、ベクトルフレーム(n+1)内の座標(x,y)における速度ベクトル(x方向成分,y方向成分)が(Vx1,Vy1)である場合に、補間フレーム(1)〜(4)の各々の座標(x,y)における補間ベクトルのx方向成分とy方向成分は、それぞれ数1式から数4式により算出される。
[数1]
補間フレーム(1)の座標(x,y)における補間ベクトル
x方向成分={(Vx0・4Δt)+(Vx1・Δt)}/5Δt
y方向成分={(Vy0・4Δt)+(Vy1・Δt)}/5Δt
[数2]
補間フレーム(2)の座標(x,y)における補間ベクトル
x方向成分={(Vx0・3Δt)+(Vx1・2Δt)}/5Δt
y方向成分={(Vy0・3Δt)+(Vy1・2Δt)}/5Δt
[数3]
補間フレーム(3)の座標(x,y)における補間ベクトル
x方向成分={(Vx0・2Δt)+(Vx1・3Δt)}/5Δt
y方向成分={(Vy0・2Δt)+(Vy1・3Δt)}/5Δt
[数4]
補間フレーム(4)の座標(x,y)における補間ベクトル
x方向成分={(Vx0・Δt)+(Vx1・4Δt)}/5Δt
y方向成分={(Vy0・Δt)+(Vy1・4Δt)}/5Δt
なお、数1式から数4式は、時間間隔に応じた線形補間を利用した場合における一つの具体例に過ぎず、他の数式を利用して線形補間が実現されてもよいし、線形補間以外の補間処理を利用して補間ベクトルが算出されてもよい。さらに、各座標における補間ベクトルを算出する際に、その座標以外の、例えばその座標近傍の速度ベクトルが参照されてもよい。また、例えば、ベクトルフレーム(n)とベクトルフレーム(n+1)の間における補間処理に、これら2つのベクトルフレーム以外の、例えばこれら2つのベクトルフレームの近傍のベクトルフレーム内における速度ベクトルが利用されてもよい。
補間処理部50は、速度ベクトル分布が得られた複数座標について、各座標ごとにフレーム間補間処理を実行して補間ベクトルを得ることにより、複数座標における補間ベクトルで構成された各補間フレームを形成する。こうして、複数のベクトルフレームとそれらのベクトルフレーム間に追加された複数の補間フレームで構成される補間後のフレーム列(図5(B)参照)が得られる。そして、補間後のフレーム列に基づいて、血流に関する仮想的な複数粒子の移動先が算出される。仮想的な複数粒子は、粒子生成部60により生成される。
図7は、複数粒子の生成を説明するための図である。粒子生成部60は、血流が含まれる座標系内、つまり超音波画像と2次元速度ベクトル分布が形成された座標系内に、血流に関する複数粒子を設定する。粒子生成部60は、例えば、超音波画像内において心臓に対して設定された流入ライン54上に複数粒子を生成する。この場合には、流入ライン54が複数粒子を生成する生成ラインとなる。
例えば、図7において基本例(1)として示すように、始点Sと終点Eを直線で結んだ流入ライン54上に、等間隔で一例に並ぶ複数粒子が生成される。例えば50個の粒子が流入ライン54上に等間隔で生成される。なお、流入ライン54の長さが50画素(ピクセル)以下の場合には、流入ライン54上の1画素につき1個の粒子が生成される。もちろん、50個以外の設定個数で複数粒子が生成されてもよい。ユーザが複数粒子の個数を設定又は変更できるようにしてもよい。
粒子生成部60は、特定の1フレームのみ(1時相のみ)で複数粒子を発生させてもよいが、複数フレームに亘って定期的に各フレーム内に複数粒子を発生させることが望ましい。例えば、複数のベクトルフレームからなるベクトルフレーム列(図5(A))において、各ベクトルフレームごとに複数粒子を発生させてもよいし、補正後のフレーム列(図5(B))において、各ベクトルフレーム内と各補間フレーム内に複数粒子を発生させてもよい。もちろん、数フレーム間隔で各フレーム内に複数粒子が生成されてもよい。
流入流出ライン設定部44により、超音波画像の画像データ内における心臓の運動に追従するように流入ライン54が設定されていれば、心臓の運動に追従するように位置を修正しつつ複数粒子を発生させることができる。
また、図7において変形例(2)として示すように、流入ライン54上における速度ベクトルVの大きさや向きに応じて、複数粒子の発生態様を異ならせてもよい。変形例(2)では、速度ベクトルVの大きさ(例えば流入ライン54に対する垂直成分)が大きいほど、その速度ベクトルVの位置における粒子個数を増大させている。また、変形例(2)では、速度ベクトルVが正方向の場合にのみ、その速度ベクトルVの位置に粒子が生成されている。粒子を生成させる向き(正方向または負方向)は、例えばユーザにより設定されてもよい。
また、図7に示す具体例に代えて、粒子生成部60は、例えば、曲線状の流入ライン54(図3参照)上に複数粒子を生成してもよい。さらに、流入ライン54上に限らず、例えばユーザにより指定された生成ライン上または生成領域内に複数粒子が生成されてもよいし、例えば関心領域内において2次元的に均等に(例えば格子状に)複数粒子が生成されてもよい。
図8は、複数粒子の2次元的な生成の具体例を示す図である。図8の具体例1には、粒子生成エリアG内において2次元的に複数粒子を生成する例が図示されている。粒子生成エリアGの位置と形状と大きさは、例えば、ユーザにより調整できる構成としてもよい。図8に示す粒子生成エリアGの形状は矩形であるが、粒子生成エリアGの形状は、矩形以外の多角形、円形、楕円形など、例えば診断内容等に応じて適宜な形状が選択されてもよい。また、粒子生成エリアG内に生成される複数粒子の個数や密度なども、例えばユーザにより適宜にできることが望ましい。なお、粒子生成エリアGが設定される場合には、流入ライン54(図2参照)の設定が省略されてもよい。
さらに、図8の具体例2に示すように、内腔ライン52内において2次元的に均等に複数粒子が生成されてもよい。具体例2においても、複数粒子の個数や密度などをユーザが適宜に設定できることが望ましい。また、具体例2においても、流入ライン54(図2参照)の設定が省略されてもよい。
粒子生成部60により複数粒子が生成されると、粒子演算部70は、補正後のフレーム列(図5(B))に基づいて、各粒子ごとにその粒子の移動先を算出する。
図9は、各粒子の移動先の演算の具体例を説明するための図である。図9には、ベクトルフレーム(n)とベクトルフレーム(n+1)の間に、等間隔で4つの補間フレーム(1)〜(4)が追加された補正後のフレーム列(図6参照)に基づく、一つの粒子Pに関する演算の具体例が示されている。
ベクトルフレーム(n)内において粒子Pが位置P0(座標P0)に存在する場合、例えばベクトルフレーム(n)内の位置P0に粒子Pが生成された場合、まず、位置P0における血流の速度ベクトルV0が利用される。ベクトルフレーム(n)を構成する複数座標の速度ベクトルの中に、位置P0(座標P0)に対応する座標の速度ベクトルが存在すれば当該速度ベクトルが速度ベクトルV0とされる。もし、位置P0に対応する座標の速度ベクトルがなければ、位置P0の近傍にある複数座標の速度ベクトルに基づく線形補間処理(フレーム内補間処理)等により速度ベクトルV0が算出される。
そして、速度ベクトルV0とフレーム間隔Δt(図6参照)を乗算することにより移動ベクトル(大きさが速度ベクトルV0のΔt倍で速度ベクトルV0と同じ方向)が算出され、位置P0からその移動ベクトルだけ移動した位置P1(座標P1)が導出される。これにより得られた位置P1が、ベクトルフレーム(n)の次のフレーム(次の時相)である補間フレーム(1)における粒子Pの位置(移動先の座標)となる。
次に、位置P1における血流の速度ベクトルV1が利用される。補間フレーム(1)を構成する複数座標の補間ベクトルの中に、位置P1(座標P1)に対応する座標の補間ベクトルが存在すれば当該補間ベクトルが速度ベクトルV1とされ、位置P1に対応する座標の補間ベクトルがなければ、位置P1の近傍にある複数座標の補間ベクトルに基づく線形補間処理(フレーム内補間処理)等により速度ベクトルV1が算出される。
そして、速度ベクトルV1とフレーム間隔Δtを乗算することにより移動ベクトル(大きさが速度ベクトルV1のΔt倍で速度ベクトルV1と同じ方向)が算出され、位置P1からその移動ベクトルだけ移動した位置P2(座標P2)が導出される。これにより得られた位置P2が、補間フレーム(1)の次のフレーム(次の時相)である補間フレーム(2)における粒子Pの位置(移動先の座標)となる。
補間フレーム(2)に続く補間フレーム(3)と補間フレーム(4)についても、上記と同様な処理が実行される。つまり、粒子Pの位置における速度ベクトル(V2,V3)とフレーム間隔Δtを乗算することにより得られる移動ベクトルに基づいて粒子Pの移動先の座標が算出される。図9の具体例において、補間フレーム(3)における位置P3と補間フレーム(4)における位置P4が粒子Pの移動先の座標である。
さらに、位置P4における血流の速度ベクトルV4が利用される。補間フレーム(4)を構成する複数座標の補間ベクトルの中に、位置P4(座標P4)に対応する座標の補間ベクトルが存在すれば当該補間ベクトルが速度ベクトルV4とされ、位置P4に対応する座標の補間ベクトルがなければ、位置P4の近傍にある複数座標の補間ベクトルに基づく線形補間処理(フレーム内補間処理)等により速度ベクトルV4が算出される。
そして、速度ベクトルV4とフレーム間隔Δtを乗算することにより移動ベクトル(大きさが速度ベクトルV4のΔt倍で速度ベクトルV4と同じ方向)が算出され、位置P4からその移動ベクトルだけ移動した位置P5(座標P5)が導出される。これにより得られた位置P5が、補間フレーム(5)の次のフレーム(次の時相)であるベクトルフレーム(n+1)における粒子Pの位置(移動先の座標)となる。
こうして、粒子演算部70は、ベクトルフレーム(n+1)の以降に続く複数フレーム(補間フレームまたはベクトルフレーム)においても、上記と同様な処理を実行し、後に説明する終了条件が満たされるまで、次々に粒子Pの移動先を導出する。また、粒子演算部70は、粒子生成部60が生成した複数粒子の各々について、各粒子が生成されたフレーム(時相)から、その粒子の移動先を導出する。
図9に示す具体例によれば、ベクトルフレーム間に複数の補間フレームが追加された補間後のフレーム列に基づいて各粒子の移動先が導出されるため、複数の補間フレームを追加しない場合に比べて、移動先の推定精度が高められる。
例えば、図9において補間フレーム(1)〜(4)を利用せずに、ベクトルフレーム(n)における粒子Pの位置P0から、速度ベクトルV0にベクトルフレーム間隔ΔT(図6参照)を乗算して得られる移動ベクトル(大きさが速度ベクトルV0のΔT倍で速度ベクトルV0と同じ方向)だけ移動した位置をベクトルフレーム(n+1)における粒子Pの移動先としてしまうと、図8の具体例で得られる位置P5(座標P5)とは大きく異なる移動先が得られてしまう。補間フレーム(1)〜(4)を利用しないと、ベクトルフレーム(n)とベクトルフレーム(n+1)との間における粒子Pの速度ベクトルの変化が反映されないためである。
図10は、各粒子の移動先の演算の例外処理を説明するための図である。粒子演算部70は、図9を利用して説明した基本処理により各粒子の移動先を導出するが、図10に示すように、各粒子の移動先が内腔ライン52を超えてしまう場合には、各粒子の移動先を内腔ライン52上または内腔ライン52の内側(心腔側)近傍に移動先を修正する。
例えば、図10に示す具体例のように、各フレーム(ベクトルフレーム又は補間フレーム)において粒子Pが位置P6にあり、基本処理により得られる次フレーム(ベクトルフレーム又は補間フレーム)における移動先が位置P7となる場合、つまり移動ベクトル(破線矢印)と内腔ライン52が交差する場合には、次フレームにおける移動先が位置P7から位置P7´に修正される。図10の具体例において、位置P7´は、内腔ライン52と移動ベクトルの交点であるが、当該交点の近傍に、例えば内腔ライン52の内側(心腔側)の近傍が位置P7´とされてもよい。
図11は、各粒子の移動先の演算の終了条件を説明するための図である。粒子演算部70は、図9を利用して説明した基本処理と図10を利用して説明した例外処理により各粒子の移動先を次々に導出し、図11に示すように、各粒子の移動先が流出ライン56を通過した場合に、その粒子の移動先の演算を終了する。
例えば、図11に示す具体例のように、各フレーム(ベクトルフレーム又は補間フレーム)において粒子Pが位置P8にあり、次フレーム(ベクトルフレーム又は補間フレーム)における移動先が位置P9となる場合、つまり移動ベクトル(破線矢印)と流出ライン56が交差する場合に、粒子演算部70は、次フレームにおける移動先を位置P9から位置P9´に修正して、粒子Pの移動先の演算を終了する。
なお、図11の具体例において、位置P9´は、流出ライン56と移動ベクトルの交点であるが、当該交点の近傍、例えば流出ライン56の上側(心腔側)の近傍が位置P9´とされてもよい。
図12は、移動先演算の他の終了条件を説明するための図である。図12に示す具体例では、各粒子の移動先が消滅領域に入った場合にその粒子の移動先の演算が終了となる。
消滅領域は、流出ライン56を境界として、関心領域(内腔ライン52と流入ライン54と流出ライン56で構成される)の外側に設定される。心腔の形状変化に追従するように内腔ライン52と流出ライン56が設定されるため、消滅領域の位置や形状も心腔の形状変化に追従する。そして、各粒子の移動先の座標値が消滅領域内の座標値となった場合に、その粒子の移動先が消滅領域に入ったと判定されて、その粒子の移動先の演算が終了となる。なお、各粒子の移動先の演算を終了させた場合には、図11に示した具体例の場合と同様に、終了直前の最終的な粒子の移動先を流出ライン56上又はその近傍に修正することが望ましい。
粒子生成部60により複数粒子が生成され、粒子演算部70により各粒子ごとにその粒子の複数時相(複数フレーム)に亘る移動先が次々に算出されると、表示処理部80は、複数時相に亘る各粒子の移動先の座標を画像内に示した血流表示画像を形成する。表示処理部80は、例えば、複数時相に亘る各粒子の移動先の座標を点と線の少なくとも一方による軌跡で示した流跡線の画像を形成する。
図13は、流跡線の具体例を示す図である。図13には、複数粒子のうちの一つである粒子Pに関する1本の流跡線Lが図示されている。流跡線Lは、補正後のフレーム列(図5(B),図6)内において複数時相(複数フレーム)に亘って次々に算出された粒子Pの移動先(複数時相に対応した複数位置)の軌跡である。例えば、粒子Pの複数時相における移動先(例えば図9の位置P0,P1,P2,P3,P4,P5,・・・)を時相順に直線又は曲線(例えばスプライン補間に基づく曲線)で結ぶことにより流跡線Lが形成される。なお、流跡線L上に又は流跡線Lに代えて、粒子Pの複数時相における移動先(例えば図9の位置P0,P1,P2,P3,P4,P5,・・・)が複数の点による列で表示されてもよい。
また、表示される流跡線Lの長さは適宜に調整されることが望ましい。例えば表示処理部80は、各粒子の軌跡が表示される時相(現時相)から所定時間前の時相(残存時相)までの流跡線Lを形成する。つまり、図13に示す具体例のように、粒子Pの流跡線Lとして、現時相における粒子Pの位置Pnから、現時相よりも所定時間前の残存時相までの流跡線Lの部分(実線部分)のみが表示され、残存時相よりも前に形成された流跡線Lの部分(破線部分)が表示されない。さらに、ユーザが所定時間を設定できることが望ましい。例えば操作デバイス90が備えるキーをユーザが操作することにより、100ms〜1000msの設定可能範囲内において100ms単位で所定時間をユーザが決定できるようにしてもよい。
なお、表示処理部80は、例えば、各粒子が生成された時相から所定時間後の時相までの流跡線Lの部分のみを表示するようにしてもよい。
図14は、血流表示画像の具体例を示す図である。表示処理部80は、複数粒子について各粒子ごとに流跡線Lを形成し、例えば、画像形成部20から得られる心臓の超音波画像上に複数粒子の流跡線Lを示した血流表示画像を形成する。また、ドプラ処理部30から得られるドプラ情報を利用して形成されるカラードプラ画像上に複数粒子の流跡線Lを示した血流表示画像が形成されてもよい。表示処理部80において形成された血流表示画像は表示部82に表示される。
また、生成された全粒子に対応した複数の流跡線Lを全て表示せずに、流跡線Lの表示本数を間引いてもよい。例えば形成された多数の流跡線Lの中で10本につき1本のみを表示させるなどにより、血流表示画像内において多数の流跡線Lが混雑することを解消して見易い画像が形成されてもよい。さらに、例えば、操作デバイス90が備えるキーをユーザが操作することにより、表示させる流跡線Lの本数又は間引きの割合をユーザが設定できるようにしてもよい。
表示処理部80は、複数の表示時相に亘って、各表示時相ごとに血流表示画像を形成する。例えば、各表示時相に対応した心臓の超音波画像又はカラードプラ画像上に、その表示時相に対応した血流表示画像(図14)が形成される。これにより、複数時相に亘って動的に変化する心臓の動きを超音波画像又はカラードプラ画像で確認しつつ、複数時相に亘って複数粒子の流跡線Lが変化する様子を視覚的に且つ動的に確認できるようになる。もちろん、ユーザが望む特定の心拍時相(拡張末期や収縮末期など)における静止画(フリーズ画像)を表示させてもよい。これにより、例えば、心臓内における血液の渦流、乱流、停滞などの状態を視覚的且つ直感的に確認できるようになる。
以上、本発明の好適な実施形態を説明したが、上述した実施形態は、あらゆる点で単なる例示にすぎず、本発明の範囲を限定するものではない。本発明は、その本質を逸脱しない範囲で各種の変形形態を包含する。