(57)【特許請求の範囲】
【請求項１】
超音波動作を並列に実行するように構成された複数のＣＰＵを有する超音波情報処理システムでの超音波情報処理方法において、
関心領域に対する超音波走査により、各々が単一の画像フレームに関連するデータ・セットを収集するデータセット収集ステップと、
前記超音波動作を、並列処理可能な複数の並列超音波タスクに分割すると共に、前記収集データセットを前記複数の超音波タスクに割り付けて、分割する分割ステップであって、単一の画像フレームに関連する１つのデータ・セットを、前記画像フレームの一意的な１つのセグメントに対応する複数のデータサブセットであって、ＣＰＵの数に対応した数の前記データ・サブセットに分割する、前記分割ステップと、
前記複数のＣＰＵに、前記分割された複数の超音波タスクを前記割り付けられたデータセットについて並列処理して処理済みデータ・セットを形成させるよう、命令する命令ステップであって、単一の画像フレームの対応するデータ・サブセットについての並列信号処理タスクを実行するよう各ＣＰＵに命令する、命令ステップと、
タスク処理済みの前記データ・セットに基づいて前記超音波走査を表す超音波情報をユーザに提示する提示ステップとを含む超音波情報処理方法であって、
前記複数の超音波タスクの完了と未完了を検出するステップと、
少なくとも１つの超音波タスクの完了と未完了の超音波タスクを検出すると、前記未完了の超音波タスクを再分割し、分割された超音波タスクに、前記未完了の超音波タスクに割り当てられていた未了のデータセットの一部を割り当てる再分割ステップであって、前記データ・セットを、超音波走査の少なくとも２つの一意的な象限に対応するデータサブセットであって、少なくとも２つのデータ・サブセットに分割する前記再分割ステップと、  を具備し、
前記複数の超音波動作が超音波信号処理動作を含み、前記複数の並列超音波タスクは並列信号処理タスクであり、
セットアップ動作を並列セットアップ・タスクに分割するステップであって、前記並列セットアップ・タスクの少なくとも第１および第２の並列セットアップ・タスクが、それぞれビームフォーマ・テーブルおよび走査変換テーブルの生成を行う、テーブル生成ステップと、
前記第１および第２の並列セットアップ・タスクを同時にそれぞれ実行するよう前記複数のＣＰＵの内の第１および第２のＣＰＵに命令するステップ、
とをさらに含むことを特徴とする超音波情報並列処理方法。
【発明の詳細な説明】
【０００１】
（関連出願の相互参照）
該当なし。
【０００２】
（連邦政府の助成による研究または開発に関する陳述）
該当なし。
【０００３】
（発明の背景）
本発明は一般に超音波システムに関し、詳細には、並列に動作し、処理責任を分担するように制御された複数のプロセッサを利用した、パーソナル・コンピュータ（ＰＣ）ベースの超音波システムに関する。
【０００４】
超音波システムは、医学の分野で、人間の様々な領域、心臓や動脈、臓器、胎児などを検査するために医師によって長年にわたって使用されている。超音波システムは、通常は２つの主要なセクション、つまりフロント・エンドおよびバック・エンドを含む。フロント・エンド・セクションは、患者体内の関心領域を走査するための１つまたは複数の超音波プローブを含む。従来のフロント・エンド・セクションは、患者体内に超音波信号を送信し、そこからエコー超音波信号を獲得する、ビームフォーマ・ハードウェア・ユニットをも含む。フロント・エンド・セクションは、獲得したエコー信号を、獲得したエコー信号の信号処理を実行するバック・エンド・セクションに渡す。バック・エンド・セクションは、処理済みのエコー信号をＣＲＴ上に表示できるフォーマットに変換し、グラフや２次元画像、３次元画像、解剖学的構造の白黒画像（Ｂモード画像）、移動流体の着色画像（カラー・フロー画像）など、所望のフォーマットでエコー信号を表示する。
【０００５】
従来は、超音波システムのフロント・エンド・セクションとバック・エンド・セクションは、所定の専用動作をそれぞれ実行する複数のハードウェア・ボードを利用したハードウェア中心の方法で構築されていた。過去の超音波システムでは、信号処理を実行するために専用のハードウェア・ボードを含め、走査変換（着信データを、そのビームの座標空間、通常は極座標空間からデカルト座標空間に翻訳するタスク）を実行するために別個の専用ハードウェア・ボードを設けていた。さらに、過去の超音波システムは、様々な専用ハードウェア・ボードを制御する別個の中央プロセッサを必要とした。中央プロセッサは、信号処理または走査変換を実行しない。その代わりに、中央プロセッサは、システムがオンになったときにハードウェア・ボードを構成するためのセットアップ機能や、動作中の専用ハードウェア・ボードの管理など、システム制御動作を主に実行する。
【０００６】
さらに最近になって、デジタル信号プロセッサ（ＤＳＰ）を利用して信号処理および走査変換を実行する超音波システムが提案された。１つまたは複数のＤＳＰは、協働して信号処理を実行するようにプログラムされる。信号処理専用のＤＳＰは、１つまたは複数のプリント回路基板のセット上に収容される。別のプリント回路基板のセット上に収容された別のＤＳＰのセットが、走査変換を実行するようにプログラムされる。しかし、ＤＳＰを使用したシステムでも、ＤＳＰの各セットは、特定の処理動作の専用である。したがって、ドップラー信号処理を実行するように構成されたＤＳＰは、走査変換を実行することができない。さらに、ＤＳＰを利用した超音波システムは、システム制御を維持するために依然として別個の中央ＣＰＵを必要とする。
【０００７】
さらに最近になって１９９０年代初頭に、本願の譲受人は、パーソナル・コンピュータ（ＰＣ）のアーキテクチャをベースとする超音波システムを導入した。これらの超音波システムは、ＥＳＩ５０００TMシステムおよびＳｙｎｅｒｇｙTMシステムと呼ばれる。ＥＳＩ５０００TMシステムおよびＳｙｎｅｒｇｙTMシステムは、信号処理用のＤＳＰボード、および超音波システム全体の動作を制御する中央プロセッサを含む。ＰＣの中央プロセッサを使用して、セットアップ動作を実行し、ＤＳＰボードを制御する。ＳｙｎｅｒｇｙTMシステム中の中央ＣＰＵは、極座標からデカルト座標へのカラー・ドップラー画像の走査変換も実行する。また、ＥＳＩ５０００TMシステムおよびＳｙｎｅｒｇｙTMシステムは、フロント・エンド・サブシステム中で別個のビームフォーマ・ハードウェアを使用する。
【０００８】
しかし、従来の超音波システムにはいくつかの制限がある。具体的に言うと、従来の超音波システムは、システムのセットアップおよび全体の制御も含めた専用動作を実行するための中央プロセッサと、別個のビームフォーマ・ハードウェアとを使用することを必要とする。また、従来のシステムでは、空間的および時間的なフィルタリングや、組織運動のフィルタリング、ドップラー処理などの専用信号処理を実行するために、少なくともいくつかのハードウェア・ボードおよび／またはＤＳＰボードも必要となる。信号処理用にプログラムされたハードウェア・ボードおよびＤＳＰボードは、信号処理以外のいかなる動作も行うことができない。従来のシステムでは、動作中に、専用ＤＳＰが信号処理を実行している間、中央ＣＰＵおよびビームフォーマが遊休状態のままとなることがある。同様に、専用ＤＳＰおよびビームフォーマはシステムのセットアップ中を通じて遊休状態のままであるが、中央ＣＰＵは全てのセットアップ動作を実行しなければならない。したがって、従来のシステムでは、ビームフォーマ、ＤＳＰ、および中央ＣＰＵの完全な処理能力を実現することができなかった。
【０００９】
上記で特定した難点を克服するための改良した超音波システムが依然として必要とされている。本発明の目的は、この必要に応えることである。
【００１０】
（発明の概要）
本発明の好ましい実施態様の目的は、複数のＣＰＵを並列動作させて、セットアップやシステム制御、ビーム形成、信号処理、走査変換など全ての超音波機能を実行する、超音波システムを提供することである。
【００１１】
本発明の別の目的は、システム中の利用可能なプロセッサを最大限に使用する超音波システムを提供することである。
【００１２】
本発明の別の目的は、諸機能を任意の所与のプロセッサの専用にする必要がない超音波システムを提供することである。
【００１３】
本発明の別の目的は、別個のプロセッサに割り当てることができる複数のタスクに超音波動作を分割する超音波システムを提供することである。
【００１４】
本発明のさらに別の目的は、プロセッサ時間を最大限に使用するために、プロセッサ間での動作のタスクへの好ましい分割を推奨する超音波システムを提供することである。
【００１５】
本発明の別の目的は、超音波動作を逐次的に１ステップずつ実行することによって処理全体を簡略化する超音波システムを提供することである。
【００１６】
本発明の別の目的は、ユーザ応答時間を改善するために、ユーザ・インタフェース・サービスなど優先順位の高い機能が、１つまたは複数のＣＰＵに割り当てられたサブ動作に割込むことができるようにする、超音波システムを提供することである。
【００１７】
本発明の別の目的は、別個のビームフォーマ・ハードウェアを必要としないフロント・エンド・サブシステムを提供することである。
【００１８】
その結果として生じる本発明の目的は、ソフトウェアを介してビーム形成動作を実行する超音波システムを提供することである。
【００１９】
本発明の上述したおよびその他の目的は、並列に動作してそのシステムの超音波機能を分担するように制御された複数のプロセッサを含むパーソナル・コンピュータ・アーキテクチャに基づいて動作する超音波システムによって達成される。複数のプロセッサは、ソフトウェアにより、システム・セットアップ、システム制御、走査、データ獲得、ビーム形成、ユーザ・インタフェース・サービス、信号処理、および走査変換に関連する動作を分担するように制御される。この超音波システムでは、各機能（信号処理や走査変換など）に関連する動作を並列サブ動作またはタスクに分割する管理ソフトウェアを利用する。各タスクは、オペレーティング・システムによって一意的なＣＰＵに割り当てられる。任意のＣＰＵが任意のタスクを実行することができる。ＣＰＵは並列に動作し、割り当てられたタスクを実行する。全てのＣＰＵが割り当てられたタスクを完了した後で、システムは次の超音波機能に逐次的に進むことができる。
【００２０】
（好ましい実施形態の詳細な説明）
図１は、本発明の好ましい実施形態による超音波システム１０を示している。超音波システム１０は、ユーザ・インタフェース１２と、プローブ１４に給電するための少なくとも１つの音響パワー・ユニット１７を有するフロント・エンド・サブシステム１５と、ディスプレイ１６と、パーソナル・コンピュータ・システム２０とを含む。任意選択で、フロント・エンド・サブシステム１５は、ビームフォーマ１９を含むこともできる。別法として、ビームフォーマ１９を除去し、以下で説明するようにソフトウェアとして実装することもできる。ユーザ・インタフェース１２は、ユーザが、患者情報の入力や動作モードの選択、パラメータの選択などを介して、超音波システム１０と対話することができるようにする。プローブ１４は、患者体内の関心領域に超音波信号を送信し、そこから超音波信号を受信する。送信される超音波信号は、動作モードおよびユーザが選択したパラメータに基づき、ビームフォーマ１９またはパーソナル・コンピュータ・システム２０中のビームフォーマ・ソフトウェア・モジュールによって集束され、関心領域に向けられる（以下でより詳細に説明する）。プローブ１４は、エコー信号の強度情報やドップラー情報なども含めたエコー信号を受信する。ビームフォーマは、エコー信号を表すデータ・ポイントを収集し、それらから関心領域の各フレームまたは走査ごとにデータ・セットを形成し、それらのデータ・セットをバック・エンド・パーソナル・コンピュータ・システム２０の画像ポート・メモリ３６に画像フレームとして記憶する。
【００２１】
バック・エンド・パーソナル・コンピュータ（ＰＣ）システム２０は、複数のＣＰＵ２２と、ＣＩＮＥループ・メモリ２４と、メモリ２６と、累算器バッファ３４と、画像ポート・メモリ３６とを含む。画像ポート・メモリ３６は省略することもでき、メモリ２６は、ビーム形成動作についてのデータの記憶専用のセグメントを含むように構成することもできる。ＰＣシステム２０は、超音波システムの全ての動作を実行するために、以下で説明するようにＣＰＵ２２を制御するためのソフトウェア・モジュールをさらに含む。システム・ソフトウェアは、概念的には、参照番号２８、３０、および３２で図１に示す３つの構成要素に分割することができる。参照番号２８は、システムのセットアップや、ユーザ・インタフェースを用いた対話、ビーム形成、信号処理、走査変換などの超音波動作を表す。超音波動作ソフトウェア２８は、ビーム形成動作、信号処理動作、および走査変換動作などを逐次実行し、各動作ステージで最大数のＣＰＵ２２を処理に利用できることを保証することができる。
【００２２】
以下で説明するように、超音波動作の１つまたは複数を、複数のＣＰＵ２２によって並列に実行されるサブ動作または「タスク」に分割することができる。並列タスクは、参照番号３０で示すタスク・マネージャによって管理される。タスク・マネージャ３０は、タスクの動作順序を管理する。ＰＣシステム２０は、ＷｉｎｄｏｗｓＮＴTMや、対称型マルチプロセッシング（ＳＭＰ）または同様のマルチＣＰＵ能力をサポートするそれと同様の任意のオペレーティング・システムなど、従来のオペレーティング・システム（ＯＳ）を使用することができる。好ましい実施形態の超音波動作ソフトウェア２８およびその中のタスク・マネージャ３０は、任意の超音波動作をＣＰＵ２２のいずれかまたは全てによって実行することができるように構成することができる。特定のＣＰＵが、システム制御、ビーム形成、信号処理、走査変換などの実行の専用となることはない。例えば、超音波動作ソフトウェア２８は、システム制御機能を実行するときには、システム制御機能に必要な動作を複数のサブ動作またはタスクに分割する。分割されたシステム制御タスクは、タスク・マネージャ３０によって管理され、ＳＭＰ−ＯＳ３２によって対応するＣＰＵ２２に個別に割り当てられる。各ＣＰＵ２２は、割り当てられた１つのシステム制御タスクを実行する。場合によっては、あるタスクを特定のＣＰＵにバインドし、後にそのタスクをアンバインドすることが望ましいこともある。これにより、そのタスクのキャッシュの使用が改善される。タスクを特定のＣＰＵにバインドする決定は、実行時に行うことができる。タスク・マネージャ３０は、タスクをＣＰＵにバインドするためにＳＭＰ−ＯＳ３２と協働することができる。
【００２３】
好ましい実施形態では、超音波動作ソフトウェア２８は、ＳＭＰ−ＯＳ３２がＣＰＵ２２に割り当てるタスクの分割を推奨することができる。ＳＭＰ−ＯＳ３２は、非優先方式で各タスクをいずれかのＣＰＵ２２に割り当てる。ＳＭＰ−ＯＳ３２は、ＣＰＵ２２の間で平等にタスクを分割することが好ましい。別法として、超音波動作ソフトウェア２８は、ユーザ・インタフェース・サービスなどの特定の動作に、より高い優先順位を割り当てることもできる。より高い優先順位を割り当てられた動作は、１つまたは複数のＣＰＵ２２がその時に実行しているより優先順位の低い１つまたは複数のタスクに割込むことができる。例えば、ユーザ・インタフェース動作を実行しなければならないときに、図１の好ましい実施形態の４つのＣＰＵ２２が全て走査変換動作を実行している場合には、超音波動作ソフトウェア２８は、走査変換処理に割込んでユーザ・インタフェース要求を実行するよう１つまたは複数のＣＰＵ２２に指示し、それによりユーザ入力に対する応答の遅延を回避することができる。超音波動作ソフトウェア２８はＣＰＵ２２の間でのタスクを分配を推奨することができるが、あるＣＰＵが別のＣＰＵより早く終了した場合には、ＳＭＰ３８が残りの未完了のタスクを再分配し、並列プロセッサの全容量を利用することができる。４つのＣＰＵ２２を図示してあるが、任意数のＣＰＵを使用することができる。超音波動作ソフトウェア２８は、ＣＰＵの数に基づいて超音波動作をいくつかのタスクに分割するように構成される。したがって、２つのＣＰＵを使用する場合には、各超音波動作を２つのタスクに分割することができる。いくつかのＣＰＵの間でタスクを分割するときには、キャッシュ・メモリの利用状況がより良好であること、タスク切替え管理のオーバヘッドが最小限であること、およびＣＰＵ間の負荷バランスがとれていることといった点を考慮に入れる。
【００２４】
図２は、超音波動作ソフトウェア２８と、ＣＰＵ２２による並列タスクの実施との間の一般的な処理の流れを示している。ブロック２００は、ボリューム・レンダリング／レイキャスティング・モジュール２０１、ビームフォーマ・モジュール２０２、スキャナ・モジュール２０３、獲得モジュール２０４、ユーザ・インタフェース・モジュール２０５、信号処理モジュール２０６、走査変換モジュール２０７、およびプレゼンテーション・モジュール２０８を含む、超音波動作ソフトウェア２８内に含まれる例示的なモジュールを概略的に示している。ブロック２００内の各モジュール２０１〜２０８は、対応する超音波動作をＣＰＵ２２によって実行される並列サブ動作またはタスクに分割することも含めた後述の所望の動作および責任を全て実行する、自立型ソフトウェア・モジュールを表している。
【００２５】
ボリューム・レンダリング／レイキャスティング・モジュール２０１は、一連の２次元画像から３次元ボリュームを構築する。次いで、モジュール２０１は、既知のボリューム・レンダリングおよび／またはレイキャスティングの技法を実行して、表示する画像を生成する。３Ｄボリュームは、Ｂモード画像またはカラー・ドップラー画像、あるいはその両方を含むことができる。
【００２６】
プレゼンテーション・モジュール２０８は、画像やトレースなどの超音波情報を処理し、表示する。プレゼンテーション・モジュール２０８は、ＣＩＮＥループの処理、超音波データベースの管理、患者情報の管理、および任意の測定アプリケーションとの対話を担当することもできる。プレゼンテーション・モジュール２０８は、組織、ＣＦＭ、ドップラー、トレースなど、着信する超音波データについてのプロセスの管理も含めた、システムが必要とする任意の管理または制御動作を含むこともできる。
【００２７】
スキャナ・モジュール２０３は、ユーザ・インタフェース・モジュールから受信したユーザ・インタフェース事象を処理し、行うべき走査のモードを決定し、その走査モードに基づく走査パラメータを獲得モジュール２０４に渡す。獲得モジュール２０４は、走査パラメータの変更を求める要求を処理し、走査パラメータの変更を実施し、プローブ１４内のハードウェアの必要に応じて走査パラメータを変換する。獲得モジュール２０４は、所望の方法で走査シーケンスを実行し、ハードウェア事象（例えば過電力やプローブの切断など）を転送する。また、獲得モジュール２０４は、ビームフォーマ・モジュール２０２によって収集され形成された超音波データ・セットを受信し、これらのデータ・セットをプレゼンテーション・モジュールに中継する。
【００２８】
ユーザ・インタフェース・モジュール２０５は、ユーザにメニューを提供し、走査パラメータを表示し、フロント・パネルおよびトラックボールを監視する。ユーザ・インタフェース・モジュール２０５は、画像の表示、メニューのセットアップ、ならびにメニュー事象、フロント・パネル事象、およびトラックボール事象のスキャナ・モジュールへの委託も担当する。ユーザ・インタフェース２０５は、トラックボール割当て（trackball assignment）を処理し、フロント・パネル・ダイアログ（ソフトウェア・デバッグのためなど）をセットアップし、走査パラメータおよび超音波画像を表示する。
【００２９】
信号処理モジュール２０６は、動作モードに基づいてデータ・セットの全ての信号処理を実行する。信号処理は、ドップラー、ＣＦＭ、画像処理などのベクトル処理を含むことができる。走査変換モジュール２０７は、着信データを極座標系からデカルト座標系に変換する。前述のモジュール２０１〜２０８は、各モジュールに関連する動作を、後にＳＭＰ−ＯＳ３２によって対応するＣＰＵ２２に割り当てられるタスクに分割することができる。
【００３０】
任意選択で、各モジュールに関連する超音波動作に優先順位を割り当てることもできる。したがって、超音波動作は概ね逐次的な動作の流れに従うが、この逐次的な流れは、より高い優先順位を有する動作によって断続的に割込まれることがある。例えば、諸動作は一般に、ビーム形成、獲得、信号処理、および走査変換の順となることができる。しかし、走査変換動作は、ユーザ・インタフェース・サービス要求またはビームフォーマ動作（新しい超音波信号を送信する、またはエコー信号に基づいてデータ・セットを形成するためなど）によって割込まれることがある。
【００３１】
図２に戻り、好ましい実施形態では、モジュール２０１〜２０８は、対応する動作を、ＰＣシステム２０中の４つのＣＰＵ２２に割り当てられる４つのタスクに分割する。図２で、矢印２１０〜２１６は、モジュール２０１〜２０８のうちの１つから４つのＣＰＵそれぞれへのサブ動作またはタスクの割当てを表している。矢印２１０〜２１４をタスクと呼ぶこともある。ＳＭＰ−ＯＳ３２は、各タスク２１０〜２１４をＣＰＵに割り当てる。各ＣＰＵ２２が関連するタスクを受信すると、ＣＰＵ２２は完了する、またはより高い優先順位のタスクによって割込まれるまで、その関連するタスクを実行する。図２の例では、第１から第４のＣＰＵは、並列タスク＃１〜４を実行する。各ＣＰＵは、それに関連するタスクを完了したときに、要求された動作が完了したことを超音波動作ソフトウェア２８に通知する事象を、超音波動作ソフトウェア２８に戻す。この戻り事象は、図２では、矢印２１８〜２２４で図示してある。超音波動作ソフトウェア２８は、４つ全てのＣＰＵから完了事象２１８〜２２４を受信した後で、順次処理を進める。
【００３２】
任意選択で、モジュール２０１〜２０８による動作の並列タスク３０への分割は、必ずしもオペレーティング・システムが従う必要のない、推奨された動作の分配であるとオペレーティング・システムがみてもよい。それどころか、オペレーティング・システムは、１つのＣＰＵに困難が生じている、または過度に重い処理負荷がかかっているときに、この推奨のタスク分配を無効にし、より効率的な方法で複数のＣＰＵの間でタスクを割当てし直すこともできる。
【００３３】
単なる一例であるが、信号処理モジュール２０６は、ドップラー処理を４つのタスクに分割することができ、各カラー・ドップラー処理タスクは、セクタ走査の４分の１（例えば１つの象限）についてのドップラー処理を実行する。しかし、セクタ走査の４つの象限のうち第１象限が、ドップラー情報をほとんどまたは全く有さず、第２象限が大量のドップラー情報を有することがある。したがって、第１象限についてのドップラー処理を実行するために割り当てられたＣＰＵは短時間で終了して遊休状態となるが、第２象限に割り当てられたＣＰＵはそうではない。第１象限用のＣＰＵが処理を完了したときに、ＳＭＰ−ＯＳ３２は、第２象限または残りの象限についてのドップラー処理の全てまたは一部分を再分割し、遊休状態のＣＰＵに割り当てし直すことができる。同様に、１つのＣＰＵがそれに割り当てられたサブタスクを完了していないが、その他３つのＣＰＵがそれらに割り当てられたサブタスクを完了しているときには、この残り１つのサブタスクを全てのＣＰＵの間で再分割し、完全なタスクがより早く終了するようにすることができる。推奨のタスク分配を無効にするオプションを設けることにより、このシステムは、超音波動作ソフトウェア２８が、１つの特定のＣＰＵを待機する間、遅延する、または「ハングアップ」することを防止する。
【００３４】
任意選択で、モジュール２０１〜２０８は、動作をフレームごとにサブタスクに分割することができる。例えば、信号処理モジュール２０６および走査変換器モジュール２０７は、フロント・エンド１５から受信した第１のフレームに関連する全ての信号処理および走査変換を実行するよう第１のＣＰＵに指示することができる。第２のＣＰＵは、第２のフレームに関連する全ての信号処理および走査変換を実行することができる。フレームごとの実施態様では、各ＣＰＵは、あるフレームに関連する動作全体を実行することができるが、新しいフレームは、ＣＰＵが利用可能となるにつれて新しいＣＰＵに割り当てられる。
【００３５】
別法として、ＣＰＵのあるサブセットを「優先プロセッサ」として指定し、それによりシステムが特定の機能について優先プロセッサを利用しようと試みるように複数のＣＰＵを管理することもできる。例えば、システムは、優先プロセッサを全ての信号処理のために利用しようと試みることができ、別個のプロセッサのサブセットが好ましくは制御動作などを実行する。この代替構成は、システム内のプロセッサの処理能力が等しくないときに望ましいことがある。好ましい実施形態では、ＣＰＵの処理能力が等しく、したがってＣＰＵが全ての超音波動作を等しく分担することができるものと仮定している。
【００３６】
図５は、セットアップ動作中の超音波動作ソフトウェア２８とＣＰＵ２２の間の例示的なプロセスの流れを示している。ブロック５００は、単なる一例であるが、少なくとも４つのセットアップ動作を含むことができるセットアップ動作を概略的に示している。セットアップ動作は、システム１０が最初に始動されるときに実行される。セットアップ動作は、超音波画像走査および画像表示中にシステム１０が利用するテーブルの生成を含むことができる。ブロック５００は、４つのセットアップ・タスク、すなわちビームフォーマ・セットアップ・タスク５０２、送信機セットアップ・タスク５０３、音響パワー・セットアップ・タスク５０４、および走査変換器セットアップ・タスク５０５を示している。図５の例では、セットアップ・タスク５０２〜５０５はそれぞれ、プレゼンテーション・モジュール２０８の実施中に実行される別個のソフトウェア機能に対応する。ＣＰＵ２２はそれぞれ、ＳＭＰ−ＯＳ３２によって、一意的なセットアップ・タスク５０２〜５０５に割り当てられる。タスク５０２〜５０５は、矢印５１０〜５１６で示す命令を介して対応するＣＰＵ２２に渡される。第１のＣＰＵは、ビームフォーマ・モジュール２０２が動作中に使用するテーブルの生成を含むビームフォーマ・セットアップ・タスク５０２を実行する。第１のＣＰＵが生成したビームフォーマ・テーブルは、選択された動作モードに基づいている。第４のＣＰＵは、走査データを極座標系からデカルト座標系に変換するために必要な走査変換器テーブルを生成する。第４のＣＰＵが生成したテーブルは、選択された動作モードに依存している。第２および第３のＣＰＵも同様に、送信機が使用するテーブル、および音響パワーについてのテーブルをそれぞれ生成する。複数のＣＰＵ全ての間でセットアップ動作を分割することにより、セットアップ時間が大幅に短縮され、システムの性能が大幅に向上する。
【００３７】
図３および図４は、Ｂモード画像の獲得および表示と、カラーフロー画像の獲得および表示とを実行するように複数のＣＰＵを制御するための例示的な処理シーケンスを示している。図３から開始して、ステップ３０２で、ビームフォーマ・モジュール２０２が、関心領域の超音波セクタ走査または画像フレームに対応する極座標データ値（polar data value）のセットを形成する。極座標データ・セットは、１回または複数回発出した関心領域に集束させた超音波信号からプローブ１４が検出するデジタル表現のエコー信号を収集することによって形成される。ビームフォーマ・モジュール２０２は、デジタル化されたエコー信号を収集し、このデジタル化されたエコー信号についてビーム形成機能を実行して、極座標データ・セットを形成する。別法として、ビームフォーマ・モジュール２０２を省略し、その代わりに従来のビームフォーマ・フロントエンド・ハードウェア・ユニットを用いることもできる。従来のビームフォーマ・フロント・エンドは、プローブ１４とＰＣシステム１０の間に位置することができる。従来のビームフォーマ・フロント・エンドを利用するときには、獲得モジュール２０４はフロント・エンドおよびビームフォーマとの対話を実行する。
【００３８】
図３に戻り、ステップ３０２で極座標データ・セットが収集された後で、ビームフォーマ・モジュール２０２は、極座標データ・セットを画像ポート・メモリ３６に記憶し、超音波画像走査が完了したことをプレゼンテーション・モジュール２０８に通知する（ステップ３０４）。プレゼンテーション・モジュール２０８は、極座標データ・セットをＣＩＮＥメモリ２４に記憶するよう獲得モジュール２０４に指示する。好ましい実施形態では、オペレーティング・システムは、複数のＣＰＵ２２それぞれを、メモリやプリンタなどシステム内のその他任意の資源として扱う。オペレーティング・システムは各タスクを次の利用可能なＣＰＵ２２に渡し、そのＣＰＵがそのタスクを実行する。ステップ３０４に続いて、獲得モジュール２０４が、Ｎ個のタスクのセット（例えば極座標データ・セットの時間的フィルタリングを行うためのタスク）を発行する（ステップ３０６）。各時間的フィルタリング・タスクは、オペレーティング・システムによって、利用可能なＣＰＵ２２に渡される。例えば、システムが４つのＣＰＵを利用している場合には、獲得モジュール２０４は、ステップ３０４で、４つの時間的フィルタリング・タスクを発行し、画像フレームの離散した４つの象限の時間的フィルタリングを開始することができる。各時間的フィルタリング・タスクは、別個のＣＰＵに割り当てられる。ステップ３０８で、タスクを受信した各ＣＰＵは、画像フレームの関連する象限についての極座標データについての時間的フィルタリングを別個に実行する。
【００３９】
連続した画像フレーム間のフレーム平均などの時間的フィルタリングを実行して、順次表示される画像の時間的連続性を改善する。任意選択で、ＣＰＵは、無限インパルス応答（ＩＩＲ）フィルタを使用して時間的フィルタリングを実行することもできる。各ＣＰＵは、そのＣＰＵに割り当てられた画像象限の極座標データ・セットの時間的フィルタリングを完了したときに、対応する画像象限についてのフィルタリング済みデータ・セットをメモリに記憶する。ＣＰＵは、次いで「フィルタリング完了事象」を戻し、極座標データ・セットの対応する象限について時間的フィルタリング動作が完了したことを獲得モジュール２０４に通知する。獲得モジュール２０４は、あらゆるタスクが「フィルタリング完了事象」を戻すまで待機してから、次の逐次操作に進む。ステップ３１０で全てのフィルタリング完了事象が受信されると、獲得モジュール２０４は制御をプレゼンテーション・モジュール２０８に戻し、プレゼンテーション・モジュールは、走査変換を実行するタスクを発行するよう走査変換モジュール２０７に指示する。走査変換モジュール２０７は、フィルタリング済み画像フレームをセグメントに分割する複数のタスクを含む。オペレーティング・システムは、各走査変換タスクを異なるＣＰＵに割り当て、システム内の複数のＣＰＵが走査変換動作を分担し、並列に動作するようにする。複数のＣＰＵは、割り当てられたフィルタリング済み画像フレームのセグメントに別個に作用することによって、走査変換動作を並列に実行する。ＣＰＵは、並列に動作して、極座標データ・セットをデカルト座標データ・セットに変換する。各タスクによって実行される走査変換機能は、補間などを介する方法など、いくつかの既知の方法で実行することができる。各走査変換タスクは、走査変換済み画像の関連部分をメモリの所定のセグメントに記憶するよう、対応するＣＰＵに命令する。走査変換済み画像の諸部分がメモリに記憶された後で、各走査変換タスクは、「走査変換完了事象」をプレゼンテーション・モジュール２０８に戻し、対応する走査変換タスクがそれに割り当てられた部分の画像フレームの変換を完了したことをプレゼンテーション・モジュール２０８に通知する（ステップ３１２）。プレゼンテーション・モジュール２０８は、全てのタスクから「走査変換完了事象」を受信した後で、画像を表示することなどにより、引き続き処理を行う（ステップ３１４）。
【００４０】
図４は、ドップラー情報に基づくカラーフロー画像の表示中に実行される処理シーケンスを示している。ステップ４０２から始まり、図３に関連して上記で論じたステップ３０２〜３１２を繰り返す。ステップ３０２で、関心領域の超音波セクタ走査に対応する極座標データ・セットを収集する。極座標データ・セットは、エコー強度情報（Ｂモード情報）と、ドップラー信号情報（例えば連続したエコー信号間の周波数および／または位相のずれ）とを含む。ビームフォーマ・モジュール２０２は、ドップラー情報と、Ｉ及びＱ情報（例えばインライン（in-line）および直角位相情報）を含む複素情報とを収集する。ドップラー情報は、ステップ４０２〜４１２に関連して以下で説明するように処理され、エコー強度（Ｂモード）情報はステップ３０４〜３１２に関連して上述したように処理される。
【００４１】
単なる一例であるが、プレゼンテーション・モジュール２０８は、最初に、エコー強度情報の時間的フィルタリングおよびその極座標データ・セットからの２Ｄ  Ｂモード走査変換を実行することができる。Ｂモード情報が走査変換された後で、プレゼンテーション・モジュール２０８は、ドップラー情報の連続した極座標データ・セット間の自己相関を開始するためのタスクを発行する信号処理モジュール２０６に通知する（ステップ４０４）。信号処理モジュール２０６は、ドップラー情報を画像フレームの象限に対応するセグメントに分割するタスクを発行する。各ＣＰＵが、一意的な、ただし好ましくは均等に分担された画像フレームからのドップラー情報を処理することができるように、タスクの数はシステム内のＣＰＵの数に基づいている。したがって、４プロセッサ・システムでは、信号処理モジュール２０６は、ドップラー情報を、４つの信号処理タスクの間で分配される４つのセグメントに分割することができる。
【００４２】
オペレーティング・システムは、各信号処理タスクを、画像フレームの関連部分についての自己相関を実行する別個のＣＰＵに割り当てる。タスクは、エコー情報の速度および／または分散を提供する従来の自己相関技法を利用する。各ＣＰＵは、画像フレームのそれと関連する部分の自己相関を完了した後で、画像フレームの関連する部分についてのエコー情報の局所的な速度および／または分散のマップをメモリに記憶する。次に、各ＣＰＵは、「自己相関完了事象」をプレゼンテーション・モジュール２０８に戻す。ステップ４０６でプレゼンテーション・モジュール２０８が全ての自己相関完了事象を受信した後で、プレゼンテーション・モジュール２０８は次に、各信号処理モジュールに、画像フレームの関連する部分についてのフィルタリングを実行するタスクを発行するよう通知する（ステップ４０８）。フィルタリングは、定常ノイズ・フィルタリング、空間的フィルタリング、時間的フィルタリングなどを含むことができる（ステップ４１０）。定常ノイズ・フィルタリングは、移動する組織に関連するドップラー情報を除去するために利用することができる。ウォール・フィルタ（wall filter）など、いくつかの定常ノイズ・フィルタがある。空間的フィルタリングは、画像フレーム部分内の隣接するデータ・ポイントからの速度情報および／または分散情報の平均をとることを必要とすることがある。時間的フィルタリングは、連続した画像フレーム部分内の関連するデータ・ポイントについての速度情報および／または分散情報の平均をとることを必要とすることがある（ステップ４０８）。
【００４３】
各ＣＰＵは、フィルタリングを完了した後で、画像フレームの対応する部分についてのドップラー・フィルタリング済みデータをメモリに記憶し、「フィルタ完了事象」をプレゼンテーション・モジュール２０８に戻す（ステップ４１０）。ステップ４１２で、プレゼンテーション・モジュール２０８は、ＣＰＵから全てのフィルタ完了事象を受信したときに、ドップラー・フィルタリング済みデータのカラー走査変換を実行するタスクを発行するよう走査変換モジュール２０７に命令する。オペレーティング・システムは、各走査変換タスクを、ドップラー・フィルタリング済みデータの関連するセグメントに対してカラー走査変換を実行するＣＰＵに割り当てる。次いで、ＣＰＵは、走査変換したドップラー・フィルタリング済みデータをメモリに記憶し、カラー走査変換完了事象をプレゼンテーション・モジュール２０８に戻す。プレゼンテーション・モジュール２０８は、全てのカラー走査変換完了事象を受信した後で、その結果生じたカラー・フロー画像を表示する（ステップ４１６）。前述のプロセスを、連続した画像フレームについて連続的に繰り返す。
【００４４】
超音波動作ソフトウェア２８は、処理シーケンスが複数のモジュール２０２〜２０８中のタスクを要求するように構成することができる。例えば、Ｂモード画像を表示する処理シーケンスは、ビームフォーマ・モジュール２０２、獲得モジュール２０４、および走査変換モジュール２０７中のタスクを要求することができる。各処理シーケンスは、「スレッド」または機能と呼ばれることもある。例示的なスレッドについて、以下でさらに詳細に論じる。
【００４５】
単なる一例であるが、２次元組織走査を実行するときには、２つの別個の処理機能、つまり獲得およびイメージングを実行することができる。獲得機能は、ＣＩＮＥメモリ中のデータを獲得すること、および無限インパルス応答（ＩＩＲ）フィルタや新しい音響フレームを累算器バッファと組み合わせる同様のフィルタなどを用いてフレーム間で時間的フィルタリングを実行することを含む。時間的フィルタリングは、各音響フレームごとに行うことができる。イメージング機能は、時間的フィルタの出力で実行され、幾何学的変換およびフィルタリングを必要とすることがある。イメージングは、最大表示速度（maximum display rate）まで、あらゆる音響フレームについて実行されるであろう。
【００４６】
獲得タスクは標準以上の優先順位を有することができ、ビームフォーマ・モジュール２０２が新しい画像フレームを受信したときにＰＣシステム１０によって発行される「新フレーム事象」によってトリガすることができる。獲得タスクは、新しいフレームをＣＩＮＥループ・メモリ２４中の正しい位置に置き、その新しいフレームに対して時間的フィルタリングを実行する。獲得タスクは、フィルタリング済み画像フレームをＰＣシステム１０中の累算器バッファ３４に記憶し、２次元イメージング事象をトリガし、それによりＰＣシステム１０に２−Ｄイメージングを開始するよう指示する。
【００４７】
また、超音波動作ソフトウェア２８は、定期的にシステムをテストするための「定期スレッド」と、ユーザ・インタフェース事象を処理し、システム・パラメータを更新し、ユーザへのフィードバックを提供する「ユーザ事象スレッド」と、獲得を停止し、フロント・エンドおよびバック・エンドを更新し、獲得を再開する「ＳｙｓＵｐｄａｔｅスレッド」とを含む。定期スレッドおよびユーザ事象スレッドは高い優先順位を有することができるが、ＳｙｓＵｐｄａｔｅスレッドは標準の優先順位を有することもある。プレゼンテーション・モジュール２０８は、「スレッド」と呼ばれる、実時間で実行される超音波機能の２つの主要なグループを含むことができる。実時間スレッドは、一般に、データ生成スレッドとイメージング・スレッドに分割することができる。データ生成スレッドおよびイメージング・スレッドは、プレゼンテーション・モジュール２０８中で開始するが、その他のモジュール２０２〜２０７中のタスクと対話し、各超音波機能を実行するようそれらに要求する。
【００４８】
例えば、データ生成スレッド（機能）は、獲得スレッド、シミュレータ・スレッド、およびＣＩＮＥスレッドを含むことができる。獲得スレッドは獲得モジュール２０４の一部分である。シミュレータ・スレッドは、実際のデータが獲得されないときに獲得をシミュレートする。ＣＩＮＥスレッドは、ＣＩＮＥループ・メモリ２６中に記憶されたデータおよびタイム・スタンプを使用して、データの獲得をシミュレートする。データ生成スレッドは、現在の動作モードに基づいて、イメージング・スレッド・グループから適切なスレッドをトリガする。イメージング・スレッドは、「ＢＣスレッド」、「Ｄｏｐスレッド」、および「Ｍスレッド」を含む。ＢＣスレッドは、２−ＤかつＣＦＭのベクトル処理、走査変換、および表示を実行することができる。Ｄｏｐスレッドは、ドップラー・ベクトル処理、音声再生、およびドップラー・スペクトル表示を実行することができる。Ｍスレッドは、Ｍモード・ベクトル処理、走査変換、および表示を実行することができる。
【００４９】
獲得タスクが２−Ｄイメージングをトリガしたときに、「ＢＣスレッド」（Ｂモード・タスク）は、累算器バッファ３４から新しい画像フレームを得、走査変換モジュール２０７にその新しい画像フレームを走査変換するよう指示する。次に、ＢＣスレッドは、新しい画像フレームを表示する。
【００５０】
カラー・フロー・イメージングを実行するときには、獲得タスクは、累算器バッファ３４から新しい画像フレームを得る「Ｄｏｐスレッド」（ドップラー信号処理タスク）をトリガし、その画像フレームにドップラー処理を実行するよう信号処理モジュール２０６に指示する。次いで、Ｄｏｐスレッドは、処理済みの画像を走査変換モジュール２０７に渡す。同様に、Ｍモード走査を実行するときには、「Ｍスレッド」が獲得タスクによってトリガされ、Ｍモード処理、走査変換、および画像表示を実行する。ＢＣスレッド、Ｄｏｐスレッド、およびＭスレッドは、低い優先順位を有することがある。
【００５１】
ビームフォーマ・モジュール２０２が新しい画像フレームを収集し、形成した後で、獲得モジュール２０４は、「新フレーム割込み」を受信する。獲得モジュール２０４は、「新フレーム事象」を、ＣＩＮＥループ・メモリにデータを記憶し、新フレーム事象を適当なイメージング・スレッドにディスパッチする獲得スレッドに送信する。新しいフレーム／パケットが画像ポート・メモリ３６に記憶された後で、ビームフォーマ・モジュール２０２は、新事象割込みを発行する。獲得スレッドは、ダイレクト・メモリ・アクセス（ＤＭＡ）を発行し、画像ポート・メモリ３６から、プレゼンテーション・モジュール２０８によって決定されたＣＩＮＥループ・メモリ２６中の正しいアドレスにフレームをコピーすることができる。フレーム／パケットあたりのベクトルの数は、プログラマブルにすることができる。
【００５２】
図６は、ユーザ・インタフェース事象を処理するための処理シーケンスの一例を示している。図６には、並列に動作する４つの別個のスレッド、すなわちユーザ・インタフェース（ＵＩ）スレッド６０２、データ生成スレッド６０３、イメージング・スレッド６０４、およびシステム更新（ＳｙｓＵｐｄａｔｅ）スレッド６０５が示してある。最初に、ＵＩスレッド６０２およびＳｙｓＵｐｄａｔｅスレッド６０５は遊休状態であり、データ生成スレッド６０３およびイメージング・スレッド６０４はランしている。ユーザ・インタフェース・モジュール２０５は、ＵＩ事象６０８を受信し、ＵＩスレッド６０２を活動化する。ＵＩスレッド６０２は、フロント・エンド・サブシステム１５およびビームフォーマ・モジュール２０２を停止させ、スレッド６０３および６０４中のタスクに休止するよう命令する（図６に命令６１０および６１１で示す）。スレッド６０３および６０４は休止状態に入り、休止確認事象６１４および６１５を戻す。ＵＩスレッド６０２は、ＵＩ事象６０８に基づいてシステム・パラメータを更新し、ＳｙｓＵｐｄａｔｅスレッド６０５を開始する（図６の命令６２０）。ＳｙｓＵｐｄａｔｅスレッド６０５はシステムを更新し、命令６２１および６２２でランを再開するようスレッド６０３および６０４に命令する。
【００５３】
ＣＰＵは、通常の走査中の時間を１００％使用中にすることができる。一般に、超音波動作ソフトウェア２８は、フレームが適切にＣＩＮＥループ・メモリに記憶され、時間的に処理されるようにあらゆる音響フレームを処理するように構成することができる。残りの任意のＣＰＵ能力を、走査変換および画像表示に使用することができる。超音波動作ソフトウェア２８は、稀なシステム管理タスクのためのタイム・スロットも提供する。
【００５４】
図７は、フロント・エンド・サブシステム７０２の代替実施形態を示している。フロント・エンド・サブシステム７０２は、プローブ７００およびバック・エンドＰＣシステム７２０に接続される。フロント・エンド・サブシステム７０２は、ハイブリッド型システムを構成し、それによりビーム形成動作の一部分は、モジュール２０２に似た、ＰＣシステム７２０のソフトウェア・ビーム形成モジュール中に移動している。フロント・エンド・サブシステム７０２は、超音波走査中にプローブ７００に電力を提供するための音響パワー・ユニット７０４を含む。プローブ７００はエコー信号を受信し、これらのエコー信号は音響パワー・ユニット７０４を通って、着信するアナログ表現のエコー信号をデジタル化するＡ／Ｄ変換器７０６に渡される。Ａ／Ｄ変換器７０６は、プローブ７００内のトランスデューサ素子の数に対応する複数の並列チャネルＮを含む。着信するＮ個のアナログ・エコー信号は、デジタル化され、同数の複数の並列デジタル信号Ｎとして出力される。Ａ／Ｄ変換器７０６から出力されたＮ個のデジタル信号は、デジタル化されたエコー信号を一時的に記憶するための一時的バッファ・メモリ７０８に渡される。デジタル化されたエコー信号は、バッファ・メモリ７０８から、デジタル・インタフェース・ユニット７１０、デジタル・インタフェース・コネクタ７１４、およびＰＣシステム７２０中のデジタル・インタフェース・ユニット７１２を含むデジタル・インタフェース・リンクに渡される。デジタル・インタフェース・リンク７１０〜７１４は、デジタル化されたエコー信号をビーム形成ソフトウェア・モジュールでの処理のためにＰＣシステム７２０に渡すための極めて高速のリンクを提供する。ＰＣシステム７２０は、デジタル・インタフェース・ユニット７１２を介してデジタル化されたエコー信号を、後続のビーム形成処理に備えてその標準メモリに記憶する。
【００５５】
ビーム形成タスクは、上記で説明したように、利用可能なＣＰＵの間で分割される。例えば、各ＣＰＵは、トランスデューサ素子（サブアパーチャとも呼ばれる）のサブセットに関連するチャネルのサブセットについてビーム形成動作を実行することができる。ビーム形成ソフトウェア・モジュール２０２は、チャネル間の適当な遅延とともにチャネルを合計して有効な音響集束を達成することを含むビーム形成動作を実行する。さらに、デジタル化されたエコー信号はＰＣのメモリに記憶されるので、ビーム形成ソフトウェア・モジュール２０２は、複数の走査から受信した情報についてのビーム形成を実行することができる（合成アパーチャ・イメージングとも呼ばれる）。別法として、デジタル・インタフェース・ユニット７１２およびバッファ・メモリ７０８は、隣接するトランスデューサ素子に関連するデジタル化されたエコー信号のサブセットのグループ化を実行してサブアパーチャに関連するデジタル情報のサブセットを生成するように、フロント・エンド・サブシステム７０２内で制御することもできる。次いで、その結果生じるデータのサブセットをデジタル・インタフェース・リンク７１０〜７１２を介してＰＣシステム７２０に渡すことができ、それにより、ビーム形成に関連するＰＣシステム７２０に要求される処理の量が減少し、ビームフォーマが完全に分離しているフロント・エンド・サブシステム７０２ほどの複雑さは不要となる。この代替構成では、ＰＣシステム７２０中のビーム形成モジュール７０２は、サブアパーチャについてのデータのサブセットを組み合わせてビームに関連するデータ・セットにし、それにより、ビーム形成動作の大部分をソフトウェアとして実装することによってもたらされるフレキシビリティを保持しながら、必要とされるソフトウェアの複雑さを軽減する。
【００５６】
ビーム形成動作の全てまたは一部分をＰＣシステム７２０内のソフトウェアとして実装することにより、いくつかのソフトウェア・ビーム形成動作を単一のデータ・セットについて実行する、またはサブアパーチャのセットと関連づける（マルチライン獲得とも呼ばれる）ことが可能となる。
【００５７】
特定の実施形態に関連して本発明について述べたが、添付の特許請求の範囲に記載の本発明の範囲および趣旨を逸脱することなく、これらに変更を加えることができることを当業者なら理解するであろう。
【図面の簡単な説明】
【図１】  並列タスクを実行するように制御された複数のＣＰＵを含む、本発明の好ましい実施形態による超音波システムを示す図である。
【図２】  本発明の好ましい実施形態による、超音波動作と複数のＣＰＵの間の例示的なプロセスの流れを示す図である。
【図３】  Ｂモード画像について信号処理および走査変換を実行するために本発明の好ましい実施形態がたどる処理シーケンスを示す図である。
【図４】  カラー・フロー画像の信号処理および走査変換を行うために本発明の好ましい実施形態で実行する処理シーケンスを示す図である。
【図５】  本発明の好ましい実施形態による、プレゼンテーション・モジュールと複数のＣＰＵの間の例示的な処理の流れを示す図である。
【図６】  本発明の好ましい実施形態による、ユーザ・インタフェース事象中に実行される例示的な処理シーケンスを示す図である。
【図７】  本発明の代替実施形態によるフロント・エンド・サブシステムを示す図である。
【図１】
0004795538.tif 000002
【図２】
0004795538.tif 000003
【図３】
0004795538.tif 000004
【図４】
0004795538.tif 000005
【図５】
0004795538.tif 000006
【図６】
0004795538.tif 000007
【図７】
0004795538.tif 000008