(57)【要約】【課題】超音波診断装置において、複数のプロセッサを用いて効率的な信号処理を実現する。【解決手段】ビーム処理部４６は、前処理ユニット４８、プロセッサＡ５０、プロセッサＢ５２、プロセッサＣ５４を有する。すなわち、３つのプロセッサ５０，５２，５４からなるプロセッサ列が構成されている。各プロセッサはそれぞれ同一のサブプログラム（ルーチン）集合を有している。動作モード及びプロセッサの配置順位に応じて、各プロセッサごとに動作モードに対応したルーチンが実行され、これによって入力される受信データが処理される。例えば、Ｂモード処理プログラムは３つのルーチンに分割され、プロセッサ５０，５２，５４のそれぞれにおいてそれらのルーチンが実行されるため、処理負担が分散される。また各プロセッサ５０，５２，５４に同一のルーチン集合を記憶できるため設計変更があっても柔軟に対応できる。【選択図】        図１
2004351083.tif 000002
【特許請求の範囲】
【請求項１】
受信データを出力するデータ出力手段と、
上位から下位へ直列的に接続された複数のプロセッサからなるプロセッサ列を有し、前記受信データを処理するデータ処理部と、
を含み、
前記プロセッサ列を構成する各プロセッサは、
複数の動作モードに対応する複数の処理プログラムを構成するサブプログラム集合を記憶したサブプログラム集合記憶部と、
前記サブプログラム集合の内で、処理対象となった受信データに対応する動作モード及び自己の順位に応じた特定のサブプログラムを実行することにより、前記処理対象となった受信データを処理するサブプログラム実行部と、
を有することを特徴とする超音波診断装置。
【請求項２】
請求項１記載の装置において、
前記プロセッサ列を構成する複数のプロセッサは、データ入力により動作を開始し、且つ、互いに独立して動作し、
前記受信データがパイプライン処理されることを特徴とする超音波診断装置。
【請求項３】
請求項１記載の装置において、
前記プロセッサ列を構成する各プロセッサは、各動作モードごとに自己が実行すべきサブプログラムを対応付けた対応表を記憶した対応表記憶部を有し、
前記サブプログラム実行部は、前記対応表を参照して前記特定のサブプログラムを選択するサブプログラム選択手段を含むことを特徴とする超音波診断装置。
【請求項４】
請求項３記載の装置において、
前記プロセッサ列を構成する各プロセッサは、前記対応表の内容のみが互いに異なり、それ以外のハードウエア及びソフトウエアが互いに同一であることを特徴とする超音波診断装置。
【請求項５】
請求項４記載の装置において、
前記プロセッサ列を構成する各プロセッサごとに前記対応表の内容を個別変更する手段を含むことを特徴とする超音波診断装置。
【請求項６】
請求項１記載の装置において、
前記プロセッサ列を構成する各プロセッサに対して前記サブプログラム集合の内容を一括変更する手段を含むことを特徴とする超音波診断装置。
【請求項７】
請求項１記載の装置において、
超音波ビームを単位とする受信データごとに属性情報を付加する前処理手段を含み、
前記サブプログラム選択手段は前記処理対象となった受信データに付加された属性情報を参照することにより前記特定のサブプログラムを選択することを特徴とする超音波診断装置。
【請求項８】
請求項７記載の装置において、
前記属性情報は動作モードを特定する情報であることを特徴とする超音波診断装置。
【請求項９】
請求項７記載の装置において、
前記属性情報は前記特定のサブプログラムを指定する情報であることを特徴とする超音波診断装置。
【請求項１０】
請求項７記載の装置において、
前記前処理手段は、
前記受信データを記憶するフレームメモリと、
送受波シーケンスに従って前記フレームメモリへの前記受信データの書き込みを行い、前記送受波シーケンスとは異なる所定シーケンスに従って前記フレームメモリからの前記受信データの読み出しを行うメモリ管理手段と、
を含むことを特徴とする超音波診断装置。
【請求項１１】
請求項１記載の装置において、
前記プロセッサ列における各プロセッサ間では受信データのＤＭＡ転送が実行されることを特徴とする超音波診断装置。
【請求項１２】
請求項１記載の装置において、
前記データ処理部は、並列配置された複数のプロセッサ列を有し、
前記複数のプロセッサ列に対して前記受信データが振り分けられることを特徴とする超音波診断装置。
【請求項１３】
超音波診断装置において、上位から下位へ直列的に接続された複数のプロセッサからなるプロセッサ列を用いて受信データをパイプライン処理する方法であって、
前記プロセッサ列における各プロセッサに対して同一のサブプログラム集合を記憶させておく工程と、
前記プロセッサ列における各プロセッサにおいて、前記サブプログラム集合の内で、前段から入力された受信データに対応する特定のサブプログラムを選択する工程と、
前記プロセッサ列における各プロセッサにおいて、前記選択された特定のサブプログラムを実行して前記入力された受信データを処理し、その処理後の受信データを後段へ出力する工程と、
を含み、
前記サブプログラム集合は、複数のサブプログラムグループによって構成され、各サブプログラムグループは各動作モードに対応する処理プログラムを構成することを特徴とする超音波診断装置におけるデータ処理方法。
【請求項１４】
請求項１３記載の方法において、
更に、前記プロセッサ列における各プロセッサに記憶されたサブプログラム集合の内容を一括変更する工程を含むことを特徴とする超音波診断装置におけるデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は超音波診断装置及びデータ処理方法に関し、特に信号処理部の構成に関する。
【０００２】
【従来の技術】
超音波診断装置は様々な動作モードを有する。例えば、Ｂモード（白黒二次元断層画像モード）、ＣＦＭ（カラーフローマッピングモード）、Ｄモード（ドプラモード）などである。またＢ／Ｄモードなども存在する。
【０００３】
それぞれのモードに応じて適切な信号処理を行うために、図１０に示すように、従来の超音波診断装置には、各モードに対応した複数の専用処理器１２，１４，１６が搭載されている。図１０には、Ｂモード処理器１２，ＣＦＭモード処理器１４，Ｄモード処理器１６が並列配置されている様子が示されている。各処理器１２，１４，１６は各モード専用のハードウエアによって構成される。よって、各処理器における信号処理内容を変えるためには、ハードウエアの交換が必要となる。また、特定の処理器において、その処理負担が高まっても、その負荷を他の処理器が負担することはできず、そのような処理負担の増大に対してはハードウエアの規模を増大させるしかなかった。
【０００４】
下記特許文献１には、信号処理ユニットを備えた超音波診断装置が開示されているが、１つの処理プログラムを分割してそれぞれのサブプログラムに分けて動作させるような発想は認められない。ちなみに、未公開の先願である特願２００２−１９９４７１号には受信信号パケットの処理について記載されている。
【０００５】
【特許文献１】
特開平１１−２３５３３９号公報
【０００６】
【発明が解決しようとする課題】
本発明の目的は、複数のプロセッサを用いて効率的な信号処理を実現することにある。
【０００７】
本発明の他の目的は、プログラムの変更などがあっても柔軟に対応できるようにすることにある。
【０００８】
【課題を解決するための手段】
（１）本発明に係る装置は、受信データを出力するデータ出力手段と、上位から下位へ直列的に接続された複数のプロセッサからなるプロセッサ列を有し、前記受信データを処理するデータ処理部と、を含み、前記プロセッサ列を構成する各プロセッサは、複数の動作モードに対応する複数の処理プログラムを構成するサブプログラム集合を記憶したサブプログラム集合記憶部と、前記サブプログラム集合の内で、処理対象となった受信データに対応する動作モード及び自己の順位に応じた特定のサブプログラムを実行することにより、前記処理対象となった受信データを処理するサブプログラム実行部と、を有することを特徴とする。
【０００９】
上記構成によれば、複数のプロセッサが直接接続されてプロセッサ列を構成し、そこにおける上位プロセッサから下位プロセッサにかけて、受信データは段階的に処理される。プロセッサ列を構成する複数のプロセッサは、それぞれサブプログラム集合を有し、その中から、入力される受信データを処理すべき特定のサブプログラムが選択され、その特定のプログラムが実行されることによって受信データが処理される。それぞれのプロセッサが独立して動作するので負荷の局所集中を避けて、負荷を分散でき、これによって効率的な処理を達成できる。また、それぞれのプロセッサの構成をその全部について又はその一部を除く大部分について共通にできるので、設計時及びメンテナンス時の負担が軽減される。つまり、それぞれのプロセッサごとにその全部を専用回路として設計する必要がなくなる。受信データ出力手段は、望ましくは超音波の送受波を行う送受波手段であるが、それ以外であってもよい。
【００１０】
望ましくは、前記プロセッサ列を構成する複数のプロセッサは、データ入力により動作を開始し、且つ、互いに独立して動作し、前記受信データがパイプライン処理される。この構成によれば、全プロセッサの動作を局所集中的にリアルタイムで管理するマスタープロセッサが不要となる。このためシステム構成の柔軟性及び設計の自由度に富むという利点がある。
【００１１】
望ましくは、前記プロセッサ列を構成する各プロセッサは、各動作モードごとに自己が実行すべきサブプログラムを対応付けた対応表を記憶した対応表記憶部を有し、前記サブプログラム実行部は、前記対応表を参照して前記特定のサブプログラムを選択するサブプログラム選択手段を含む。上記のように対応表を各プロセッサ内に記憶させておくのが望ましいが、その外部においておくこともできるし、受信データに対して、各プロセッサでサブプログラムを選択するための情報を付加するようにしてもよい。
【００１２】
望ましくは、前記プロセッサ列を構成する各プロセッサは、前記対応表の内容のみが互いに異なり、それ以外のハードウエア及びソフトウエアが互いに同一である。これにより、一部構成の個別設定だけで、全体を共通利用して設計効率を飛躍的に高められる。
【００１３】
望ましくは、前記プロセッサ列を構成する各プロセッサごとに前記対応表の内容を個別変更する手段を含む。望ましくは、前記プロセッサ列を構成する各プロセッサに対して前記サブプログラム集合の内容を一括変更する手段を含む。一括変更は同じ内容変更を行うことを意味し、全プロセッサに対して同時変更処理を行ってもよいし、順次変更処理を行ってもよい。
【００１４】
望ましくは、超音波ビームを単位とする受信データごとに属性情報を付加する前処理手段を含み、前記サブプログラム選択手段は前記処理対象となった受信データに付加された属性情報を参照することにより前記特定のサブプログラムを選択する。望ましくは、前記属性情報は動作モードを特定する情報である。望ましくは、前記属性情報は前記特定のサブプログラムを指定する情報である。
【００１５】
望ましくは、前記前処理手段は、前記受信データを記憶するフレームメモリと、送受波シーケンスに従って前記フレームメモリへの前記受信データの書き込みを行い、前記送受波シーケンスとは異なる所定シーケンスに従って前記フレームメモリからの前記受信データの読み出しを行うメモリ管理手段と、を含む。この構成によれば、送受波シーケンスとは非同期で受信データの処理を行える。つまり、転送タイミングや転送順序を変更できる。
【００１６】
望ましくは、前記プロセッサ列における各プロセッサ間では受信データのＤＭＡ転送が実行される。この構成によれば、ＤＭＡ（ダイレクトメモリアクセス）転送によって、プロセッサ内においてデータ処理からデータ転送を切り離すことができる。
【００１７】
望ましくは、前記データ処理部は、並列配置された複数のプロセッサ列を有し、前記複数のプロセッサ列に対して前記受信データが振り分けられる。この構成は、より高速処理が要求されるような場合に有利である。各プロセッサ列間では、同一のサブプログラム集合を用いてもよいし、場合によっては異ならせてもよい。後者の場合であっても、プロセッサ列単位では共通のサブプログラム集合が用いられるために上記の各種利点を得られる。
【００１８】
（２）本発明に係る方法は、超音波診断装置において、上位から下位へ直列的に接続された複数のプロセッサからなるプロセッサ列を用いて受信データをパイプライン処理する方法であって、前記プロセッサ列における各プロセッサに対して同一のサブプログラム集合を記憶させておく工程と、前記プロセッサ列における各プロセッサにおいて、前記サブプログラム集合の内で、前段から入力された受信データに対応する特定のサブプログラムを選択する工程と、前記プロセッサ列における各プロセッサにおいて、前記選択された特定のサブプログラムを実行して前記入力された受信データを処理し、その処理後の受信データを後段へ出力する工程と、を含み、前記サブプログラム集合は、複数のサブプログラムグループによって構成され、各サブプログラムグループは各動作モードに対応する処理プログラムを構成することを特徴とする。
【００１９】
望ましくは、更に、前記プロセッサ列における各プロセッサに記憶されたサブプログラム集合の内容を一括変更する工程を含む。
【００２０】
（３）図１１には比較例が示されている。この例では信号処理部１０がＢモード処理プログラム実行部１８、ＣＦＭモード処理プログラム実行部２０、Ｄモード処理プログラム実行部２２によって構成されている。しかし、それぞれがプログラム動作するものの専用的であることは図１０に示した従来例と同様であり、また負荷分散を行えない点でも同様である。
【００２１】
また、図１２には、参考例として、マスタースレーブ方式のプロセッサ構成が示されている。４つのスレーブプロセッサ２４，２６，２８，３０は、それぞれマスタープロセッサ３２による集中制御を受けて動作する。このような構成を超音波診断装置における信号処理に適用した場合、マスタープロセッサ３２の負担が増大し、そこがボトルネックとなる可能性がある。また、仕様変更の場合には全体を再設計しなければならない可能性がある。
【００２２】
これに対し、本発明によれば、負荷の局所集中を防止して効率的な処理を達成でき、しかも機能変更があってもシステムの基本構成を維持できるので合理的である。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２４】
図１には、本発明に係る超音波診断装置の好適な実施形態が示されており、図１はその全体構成を示すブロック図である。
【００２５】
プローブ４０は、生体の体表面上に当接して用いられ、あるいは体腔内に挿入して用いられる超音波探触子である。このプローブ４０は、複数の振動素子からなるアレイ振動子を有している。このアレイ振動子は複数の振動素子を直線的に配列した１Ｄアレイ振動子であってもよいし、複数の振動素子を二次元的に配列した２Ｄアレイ振動子であってもよい。このアレイ振動子にて超音波ビームが形成され、この超音波ビームは電子的に走査される。その電子走査方式としては、電子リニア走査、電子セクタ走査などの各種の走査方式をあげることができる。ちなみに、Ｂモード、ＣＦＭモード、Ｄモードなどの各種の動作モードごとに超音波ビームが形成される。ここで、ＣＦＭモードにおける超音波ビームはいわゆるカラードプラ法に対応した超音波ビームを意味する。例えば、Ｂ／Ｄの複合モードにおいては、Ｂモード用の超音波ビームとＤモード用の超音波ビームが所定の送受信シーケンスにしたがって交互に形成され、これは、他の複合モードにおいても同様である。
【００２６】
送信部４２は、送信ビームフォーマーとして機能し、複数の振動素子に対応する複数の送信回路を有している。それらの複数の送信回路によって複数の送信信号が生成され、それらの送信信号は複数の振動素子に対して供給される。これによって、プローブ４０から超音波が生体内へ放射される。
【００２７】
プローブ４０において生体内からの反射波が受波されると、複数の振動素子から複数の受信信号が出力される。それらの受信信号は受信部４４へ入力される。受信部４４はいわゆるデジタルビームフォーマーとして機能し、複数の振動素子に対応して設けられた複数の受信回路を有する。各受信回路は増幅器、Ａ／Ｄ変換器、遅延回路などを有する。各受信回路から出力される受信信号は加算器に入力され、その加算器においていわゆる整相加算が実行される。整相加算後の受信信号は信号処理部としてのビーム処理部４６へ出力される。
【００２８】
図１に示す例において、ビーム処理部４６は、前処理ユニット４８、プロセッサＡ５０、プロセッサＢ５２及びプロセッサＣ５４を有している。各プロセッサ５０，５２，５４はそれぞれ信号処理ユニットとして機能するものであり、一部のデータ（後述する対応表）を除いてそれらのプロセッサ５０，５２，５４は互いに同一の構成を有する。すなわち、一部を除いて、互いに同一のハードウエア及びソフトウエアを具備している。後述する対応表の内容は、それぞれのプロセッサ５０，５２，５４間において相違する。
【００２９】
前処理ユニット４８は、各超音波ビームごとの受信信号すなわち受信データに対して属性情報を付与する機能を有する。その属性情報は本実施形態において動作モードを識別する情報である。もちろん、その属性情報としてはさらに他の情報を含めるようにしてもよい。また、その属性情報として、後述する各プロセッサにおいて実行させるサブプログラム（ルーチン）を指定する情報を含めるようにしてもよい。また、本実施形態における前処理ユニット４８はフレームメモリを有している。すなわち、各超音波ビームごとの受信データはそのフレームメモリに一旦格納される。その場合における書き込みは送受信シーケンスにしたがったものである。一方、フレームメモリからの受信データの読み出しは送受信シーケンスとは非同期の所定のシーケンスにしたがって行うことが可能であり、これによって読み出しタイミングや読み出し順序の変更を行うことが可能となる。その結果、例えばビーム相関処理を行うような場合には有利である。もちろん、そのようなフレームメモリ及びメモリ制御機能は必要に応じて設ければよい。
【００３０】
図１に示すビーム処理部４６は、直列接続された３つのプロセッサ５０，５２，５４を有しているが、プロセッサの個数については３つには限られず２つあるいは４つ以上であってもよい。さらに、後に図９を用いて説明するように、直列接続されたプロセッサ列を複数並列的に設けることも可能である。各プロセッサ５０，５２，５４は本実施形態においてＤＳＰ（デジタルシグナルプロセッサ）によって構成されている。
【００３１】
もちろん、各プロセッサ５０，５２，５４をそのようなＤＳＰ以外のプロセッサで設けることもでき、例えばＣＰＵを備えた電子回路によって構成することもできる。いずれにしても、プログラム動作するプロセッサを用いるのが望ましい。各プロセッサ５０，５２，５４は上述したように、基本的に同一の構成を有しており、本実施形態においてはそれらのプロセッサ５０，５２，５４は互いに同一のサブプログラム集合としてのルーチン集合を有している。そして、各プロセッサ５０，５２，５４においては、入力される受信データに対応した動作モード及び自己が配置されている順位にしたがって、適切なサブプログラムすなわちルーチンを選択し、そのルーチンを実行することによって、入力される受信データの処理を実行している。各プロセッサ５０，５２，５４の構成例及び動作例については後に図２などを用いて詳述することにする。
【００３２】
このように、ビーム処理部４６は、各受信データごとにそれに対応付けられた動作モードに応じた信号処理を実行しており、具体的には、ビーム処理部４６全体として、Ｂモードに対応するデータ処理、ＣＦＭモードに対応するデータ処理、Ｄモードに対応するデータ処理などを実行している。ここで、Ｂモードに対応するデータ処理は、例えば、検波、対数圧縮、ゲイン調整、ノイズ除去などであり、ＣＦＭモードに対応したデータ処理は、直交検波、フィルタリング、自己相関演算などであり、Ｄモードに対応したデータ処理は、検波、フィルタリング、周波数解析処理などである。もちろん、上記にあげた各処理内容は一例であって、各種の動作モードに適用したデータ処理を具備させるのが望ましい。
【００３３】
表示処理部５６には、ビーム処理部４６から出力された処理後の受信データが入力される。表示処理部５６は例えばＤＳＣ（デジタルスキャンコンバータ）としての機能を有しており、各動作モードに対応して適切な画像を形成する機能を有している。例えばＣＦＭモードにおいては、血流速度を表す受信データとが入力され、それらのデータを座標変換しつつ互いに合成処理することによりいわゆるカラードプラ画像（二次元血流画像）を形成している。また、表示処理部５６はＤモードに対応する受信データが入力された場合には、いわゆるドプラ波形を形成している。
【００３４】
表示部５８には、表示処理部５６から出力される画像データが送られ、その表示部５８が有する表示画面上には動作モードに対応した超音波画像が表示される。
【００３５】
システムコントローラ６０はシステムプログラム及びＣＰＵなどによって構成され、本超音波診断装置内における各構成の動作制御を行っている。ただし、そのＣＰＵは図１２に示したようなマスタープロセッサ３２とは異なり、各プロセッサ５０，５２，５４についてその動作をリアルタイムに集中管理するものではなく、各プロセッサ５０，５２，５４に対してその動作パラメータの設定やプログラムのダウンロードなどを行っている。つまり、プロセッサ５０，５２，５４は、一定の設定がなされた後においては、それらが個別的に独立してすなわち自立的に動作することが可能である。本実施形態においては各プロセッサ５０，５２，５４がデータ入力をトリガとして動作を開始するデータ駆動型プロセッサを構成している。これによって、後述するように時系列順で入力される複数の受信データについていわゆるパイプライン処理が達成される。
【００３６】
操作パネル６２は、キーボードやトラックボールなどを備えており、ユーザーはその操作パネル６２を用いて装置に対して必要な動作命令やパラメータを入力することが可能である。
【００３７】
図２には、図１に示したプロセッサ５０，５２，５４の構成例が示されており、図２においてはプロセッサＡ５０を代表してその構成例が示されている。上述したように、他のプロセッサＢ５２及びプロセッサＣ５４も同一の構成を有している。なお、図２に示す構成はいわゆる機能ブロック図であり、実際のＤＳＰは様々な構成態様によって実現される。
【００３８】
メモリ１５０，１５２は入力バッファとして機能する。すなわち前段から出力される受信データがメモリ１５０又はメモリ１５２に格納される。このように２つのメモリ１５０，１５２が設けられているのは、一方に対して書き込みを行っている最中において他方から読み出しを行えるようにするためである。これは、出力バッファについても同様であり、出力バッファとしてはメモリ１６０及びメモリ１６２が設けられており、入力バッファと同様にいわゆるピンポン方式でアクセスが行えるように構成されている。ちなみに、前処理ユニット４８とプロセッサＡ５０との間、各プロセッサ５０，５２，５４の間、及び、プロセッサＣ５４と表示処理部５６の間においては受信データのＤＭＡ（ダイレクトメモリアクセス）転送が実行されており、これによって以下に説明するプログラム実行部１５４がデータ転送を直接制御する負担から解放されている。
【００３９】
プログラム実行部１５４はプログラムメモリ１５６を有しており、そのプログラムメモリ１５６には後に図４で説明する各種のプログラムあるいはルーチンが搭載されている。プログラム実行部１５４はそのプログラムメモリ１５６内に格納された特定のプログラム及びルーチンを実行し、その実行によって、入力される受信データに対して自己が担当する処理を施す。プログラム実行部１５４には、演算用メモリ１５８が設けられており、この演算用メモリ１５８はプログラムの実行に際して必要となる演算値などが一時的に格納される。
【００４０】
図３には、前処理ユニット４８から出力される単位データ６３の具体的な構成が示されている。その単位データ６３はパケットあるいはカプセルを構成し、その単位データ６３はデータ部６３Ｂとヘッダ部６３Ａとで構成され、データ部６３Ｂはビームデータすなわち超音波ビームごとの受信データで構成され、ヘッダ部６３Ａは属性情報で構成される。本実施形態において、この属性情報は、ビームデータに対応付けられた動作モードを識別する情報である。
【００４１】
以上のように、前処理ユニット４８においては受信データに対する属性情報の付加が行われており、このようにパケット化されたデータはプロセッサＡ５０、プロセッサＢ５２，プロセッサＣ５４のそれぞれにおいて必要な処理を経た後に、最終的に表示処理部５６へ渡される。その表示処理部５６では、画像形成の段階において属性情報が必要に応じて参照され、その後において不要となった属性情報が除去されている。
【００４２】
図４には、図２に示したプログラムメモリ１５６内のデータ構造が示されている。このプログラムメモリ１５６内には、メインルーチン６４、Ｂモード処理プログラム６８、ＣＦＭモード処理プログラム７０、Ｄモード処理プログラム７２等の各種のプログラムが格納されている。メインルーチン６４内にはあるいはその外部には実行ルーチン対応表６６が設けられており、この実行ルーチン対応表６６によって、それぞれのプロセッサにおいて動作モードごとに自己が担当するサブプログラムすなわちルーチンが選択されている。
【００４３】
すなわち、Ｂモード処理プログラム６８は、本実施形態において、Ｂルーチン＃１、Ｂルーチン＃２、Ｂルーチン＃３の３つのサブプログラムに分割されており、すなわちそれらの３つのルーチンの全体によってＢモード処理プログラム６８が構成されている。これと同様に、ＣＦＭモード処理プログラム７０は、ＣＦＭルーチン＃１、ＣＦＭルーチン＃２、ＣＦＭルーチン＃３の３つのルーチンによって構成され、また、Ｄモード処理プログラム７２は、Ｄルーチン＃１、Ｄルーチン＃２、Ｄルーチン＃３によって構成されている。このように本実施形態では分割数が同一である。
【００４４】
あるプロセッサにおいては、各プログラム６８，７０，７２における特定のルーチンのみが実際に使用されることになり、すなわち他のルーチンについては実際には使用されない。つまり、各プロセッサごとに同一内容のルーチンを格納しておいて、その中から各プロセッサごとに自己判断で必要なルーチンを選択させることによって、各プロセッサごとに専用の設計を行わなければならない煩雑さを回避するものである。
【００４５】
ここで、メインルーチン６４も基本的には各プロセッサ間において同一の内容を有しているが、上述したようにそれに含まれる実行ルーチン対応表６６の内容は各プロセッサ間において相違している。
【００４６】
図５及び図６には、上述した実行ルーチン対応表６６の具体例が示されており、例えば図５に示すものはプロセッサＡ５０に対応した実行ルーチン対応表であり、図６に示すものは例えばプロセッサＢ５２に対応した実行ルーチン対応表である。それぞれの対応表においては、各ビーム属性すなわち各動作モードに対応したルーチンが指定されている。このような指定は、それぞれのプロセッサの配置あるいは処理の順位に対応したものであり、図５及び図６に示すように、プロセッサＡ５０は先頭のプロセッサであるために、各動作モードについてルーチン＃１が割り当てられており、プロセッサＢは第２番目に配置されているために、各動作モードについてルーチン＃２が割り当てられている。これは第３番目のプロセッサＣ５４についても同様である。
【００４７】
このように、単一の処理プログラムを直列配置された複数のプロセッサに対して分割して割り当てることにより、ある動作モードが選択されたような場合において、その処理を複数のプロセッサで分担して処理することが可能となり、一定のプロセッサに処理が集中してしまうような問題を回避できるという利点がある。また、それぞれのプログラムについての内容が変更されたような場合には、複数のプロセッサについての共通のルーチン集合を一括して訂正するだけでよいので、設計者は実行ルーチン対応表の修正のみを行えばよいという利点がある。
【００４８】
次に、プロセッサＡ５０，プロセッサＢ５２，プロセッサＣ５４の動作例について図７及び図８を用いて説明する。図７にはビームデータのシーケンスが示されており、時刻Ｔ１〜Ｔ５までのそれぞれのタイミングにおいてそれぞれのビームデータが伝送されている。ここでは、Ｂ［０］、Ｄ［１］、Ｄ［２］、Ｂ［１］の順でビームデータが先頭のプロセッサに渡されている。
【００４９】
図８には、図７に示したような場合における各プロセッサの動作内容が示されている。ここで図８における横方向にはそれぞれのプロセッサが概念的に示されており、図８における縦方向には各時刻が示されている。最初の時刻Ｔ１においては、最初のビームデータＢ［０］がプロセッサＡ５０に渡され、そのデータは、当該プロセッサＡ５０における実行ルーチン対応表にしたがったＢルーチン＃１の実行により処理される。そして、その処理結果が時刻Ｔ２においてプロセッサＢ５２に渡され、そこで、当該データがプロセッサＢ５２の実行ルーチン対応表の記載にしたがったＢルーチン＃２の実行によって処理される。さらに、時刻Ｔ３においては、上記のプロセッサＢ５２で処理されたデータが次のプロセッサＣ５４においてその実行ルーチン対応表の記載にしたがって選択されたＢルーチン＃３の実行により処理される。
【００５０】
その一方において、時刻Ｔ２においては、プロセッサＡ５０に２番目のデータであるビームデータＤ［０］が入力され、それがＤルーチン＃１の実行により処理される。そして、そのデータは、時刻Ｔ３及び時刻Ｔ４の各時刻において、プロセッサＢ５２及びプロセッサＣ５４におけるＤルーチン＃２及びＤルーチン＃３によって段階的に処理される。これがそれ以降の各データについても繰り返し実行されることになる。したがって、図８に示されるように、上記のようなパイプライン処理により、各プロセッサは互いに独立して動作し、それぞれが自己の分担を実行するために全体として負荷が分散化され、その結果、効率的なデータ処理が実現されている。
【００５１】
ところで、図１において、プロセッサ５０，５２，５４内におけるルーチン集合について内容変更が生じた場合には、図示されていない通信ラインあるいは媒体からの読み取りによってシステムコントローラ６０の制御の下、プログラム修正部分あるいはプログラム全体が各プロセッサ５０，５２，５４に対して一括してダウンロードされる。この場合において、ユーザーあるいは設計者はいずれのプロセッサに対してどのプログラム部分をダウンロードするかを考慮する負担は生じない。その一方において、各プロセッサ５０，５２，５４が有する実行ルーチン対応表の修正を行う場合、システムコントローラ６０の制御の下、新しい対応表の内容が各プロセッサに対して書き込まれる。しかしながら、そのような実行ルーチン対応表のデータ容量は極めて小さく、その書き込みに当たってのシステム上の負担あるいはその設計上の負担は非常に小さい。
【００５２】
図９には、他の構成例が示されている。すなわち、この図９に示すビーム処理部４６は互いに並列して設けられた２つのプロセッサ列７４，７６を有している。各プロセッサ列７４，７６は直列接続された３つのプロセッサによって構成されている。プロセッサ列７４とプロセッサ列７６はその機能も含めて同一であってもよいが、それぞれ異なる動作モードに対応したものであってもよい。前者の場合には、先頭のプロセッサＡ１及びプロセッサＡ２への受信データの振り分け段階において処理可能なプロセッサが優先的に受信データを取り込むようにすればよく、後者の場合においては、前処理ユニット４８においていずれのプロセッサ列へ受信データを流すかを判断するようにしてもよい。もちろん、先頭のプロセッサＡ１又はＡ２において自己が担当する受信データを自ら取り込むようにしてもよい。
【００５３】
上述した実施形態においては、各プロセッサ５０，５２，５４ごとにそれぞれ実行ルーチン対応表が記憶されていたが、上述したように、前処理ユニット４８において、受信データに対して属性情報を付与する時に、その属性情報として各プロセッサごとのルーチン番号を指定するようにしてもよい。すなわち前処理ユニット４８に、それぞれのプロセッサにおける実行ルーチン対応表と同様の機能を持たせるものである。
【００５４】
【発明の効果】
以上説明したように、本発明によれば、複数のプロセッサを用いて効率的な信号処理を実現することができるという利点がある。また、本発明によれば、設計変更などに柔軟に対応できるという利点がある。
【図面の簡単な説明】
【図１】本発明に係る超音波診断装置の好適な実施形態を示すブロック図である。
【図２】図１に示す各プロセッサの具体的な構成例を示すブロック図である。
【図３】パケットの構成を説明するための図である。
【図４】図２に示すプログラムメモリ内のデータ構造を説明するための図である。
【図５】実行ルーチン対応表の一例を示す図である。
【図６】実行ルーチン対応表の他の例を示す図である。
【図７】送受信シーケンスに対応したビームデータの列を示す図である。
【図８】各時刻における各プロセッサの動作内容を説明するための図である。
【図９】図１に示したビーム処理部の他の構成例を示す図である。
【図１０】従来例を説明するためのブロック図である。
【図１１】比較例を説明するためのブロック図である。
【図１２】参考例を説明するためのブロック図である。
【符号の説明】
４０  プローブ、４２  送信部、４４  受信部、４６  ビーム処理部（信号処理部）、４８  前処理ユニット、５０，５２，５４  プロセッサ、５６  表示処理部、５８  表示部、６４  メインルーチン、６６  実行ルーチン対応表、６８Ｂモード処理プログラム、７０  ＣＦＭモード処理プログラム、７２  Ｂモード処理プログラム、１５４  プログラム実行部、１５６  プログラムメモリ。
【図１】
2004351083.tif 000003
【図２】
2004351083.tif 000004
【図３】
2004351083.tif 000005
【図４】
2004351083.tif 000006
【図５】
2004351083.tif 000007
【図６】
2004351083.tif 000008
【図７】
2004351083.tif 000009
【図８】
2004351083.tif 000010
【図９】
2004351083.tif 000011
【図１０】
2004351083.tif 000012
【図１１】
2004351083.tif 000013
【図１２】
2004351083.tif 000014