以下、図面を参照して、実施形態に係る超音波診断装置、超音波プローブ、及び制御プログラムを説明する。なお、実施形態は、以下の実施形態に限られるものではない。また、一つの実施形態に記載した内容は、原則として他の実施形態にも同様に適用可能である。
(第1の実施形態)
図1を用いて、第1の実施形態に係る超音波診断装置1の構成例を説明する。図1は、第1の実施形態に係る超音波診断装置1の構成例を示す図である。図1に示すように、第1の実施形態に係る超音波診断装置1は、装置本体100、超音波プローブ101、入力インタフェース102、及びディスプレイ103を有する。超音波プローブ101、入力インタフェース102、及びディスプレイ103は、装置本体100に接続される。なお、被検体Pは、超音波診断装置1の構成に含まれない。
超音波プローブ101は、複数の振動子(例えば、圧電振動子)を有し、これら複数の振動子は、装置本体100(後述する送信回路120)から供給される駆動信号に基づき超音波を発生する。また、超音波プローブ101が有する複数の振動子は、被検体Pからの反射波を受信して電気信号に変換する。
超音波プローブ101から被検体Pに超音波が送信されると、送信された超音波は、被検体Pの体内組織における音響インピーダンスの不連続面で次々と反射され、反射波信号(エコー信号)として超音波プローブ101が有する複数の振動子にて受信される。受信される反射波信号の振幅は、超音波が反射される不連続面における音響インピーダンスの差に依存する。なお、送信された超音波パルスが、移動している血流や心臓壁等の表面で反射された場合の反射波信号は、ドプラ効果により、移動体の超音波送信方向に対する速度成分に依存して、周波数偏移を受ける。
なお、本実施形態に係る超音波プローブ101としては、複数の圧電振動子が一列で配置された1次元超音波プローブや、複数の圧電振動子が格子状に2次元で配置された2次元超音波プローブなど、任意の超音波プローブが適用可能である。
入力インタフェース102は、マウス、キーボード、ボタン、パネルスイッチ、タッチコマンドスクリーン、フットスイッチ、トラックボール、ジョイスティック等を有し、超音波診断装置1の操作者からの各種設定要求を受け付け、装置本体100に対して受け付けた各種設定要求を転送する。
ディスプレイ103は、表示装置である。例えば、ディスプレイ103は、超音波診断装置1の操作者が入力インタフェース102を用いて各種設定要求を入力するためのGUI(Graphical User Interface)を表示したり、装置本体100において生成された超音波画像データ等を表示したりする。
装置本体100は、超音波プローブ101が受信した反射波信号に基づいて超音波画像データを生成する装置であり、図1に示すように、送受信制御回路110、送信回路120、受信回路130、信号処理回路140、メモリ150、画像生成回路160、記憶回路170、及び主制御回路180を有する。
送受信制御回路110は、主制御回路180から指示された各種のスキャン条件に基づいて、超音波送受信(超音波スキャン)を制御するプロセッサである。例えば、送受信制御回路110は、送信回路120、受信回路130、及び信号処理回路140等の回路を制御することで、超音波送受信を制御する。なお、送受信制御回路110によって超音波送受信が実行される領域は、2次元領域(平面領域)であっても3次元領域であっても良い。
例えば、送受信制御回路110は、スキャン条件として、撮像モード、ビーム数、フレームレート、送信深さ等の情報を主制御回路180から受信する。ここで、撮像モードとは、例えば、Bモードやドプラモード等を示す情報である。そして、送受信制御回路110は、受信したスキャン条件に基づいて、パルス繰り返し期間(PRI:Pulse Repetition Interval)を決定する。PRIは、超音波パルスが繰り返し送信される期間(周期)に対応し、パルス繰り返し周波数(PRF:Pulse Repetition Frequency)の逆数に対応する。
そして、送受信制御回路110は、決定したPRIごとに、各種の制御データを送信回路120、受信回路130、及び信号処理回路140等の回路に転送する。ここで、送受信制御回路110によって転送される制御データには、超音波の送信を制御するための送信制御パラメータ、超音波の受信を制御するための受信制御パラメータ、ビームフォーミングを制御するためのBF(Beam Forming)制御パラメータ、及びフィルタ処理などの信号処理を制御するための信号処理制御パラメータのうち、少なくとも一つが含まれる。
このうち、送信制御パラメータは、例えば、送信素子位置、送信開口、及び送信遅延などの送信に関するパラメータを含む。また、受信制御パラメータは、例えば、受信素子位置、受信開口、及び受信遅延などの受信に関するパラメータを含む。BF制御パラメータは、例えば、並列同時受信数などのパラメータを含む。信号処理制御パラメータは、例えば、受信ビームに対するフィルタ処理のフィルタ係数などのパラメータを含む。なお、ここで説明した送信制御パラメータ、受信制御パラメータ、BF制御パラメータ、及び信号処理制御パラメータはあくまで一例であり、超音波診断装置1の構成などによって適宜変更可能である。
送受信制御回路110は、送信回路120へ送信制御パラメータを転送し、受信回路130へ受信制御パラメータを転送し、信号処理回路140へBF制御パラメータ及び信号処理制御パラメータを転送する。また、送受信制御回路110は、信号処理回路140から受信ビームデータを受け付け、受け付けた受信ビームデータを画像生成回路160へ送る。
送信回路120は、送受信制御回路110から転送される制御データに基づいて、超音波の送信を制御する。例えば、送信回路120は、送受信制御回路110から転送される送信制御パラメータにしたがって所望の超音波を被検体Pの体内へ送信させる。
受信回路130は、送受信制御回路110から転送される制御データに基づいて、超音波の受信を制御する。例えば、受信回路130は、送受信制御回路110から転送される受信制御パラメータにしたがって反射波信号のA/D変換を行って、反射波データを生成する。
信号処理回路140は、送受信制御回路110から転送される制御データに基づいて、反射波データに対する各種の信号処理を行う。例えば、信号処理回路140は、送受信制御回路110から転送されるBF制御パラメータにしたがってビームフォーミングを行って、並列同時受信数に応じた数の受信ビームに対応する受信データを生成する。
また、信号処理回路140は、送受信制御回路110から転送される信号処理制御パラメータにしたがって各受信データに対するフィルタ処理を実行する。例えば、信号処理回路140は、対数増幅、包絡線検波処理等を行って、サンプル点ごとの信号強度が輝度の明るさで表現されるデータ(Bモードデータ)を生成する。また、信号処理回路140は、移動体のドプラ効果に基づく運動情報を、走査領域内の各サンプル点で抽出したデータ(ドプラデータ)を生成する。信号処理回路140は、生成したBモードデータ及び/又はドプラデータを画像生成回路160に出力する。
メモリ150は、超音波送受信を制御するための制御データを記憶する記憶回路である。例えば、メモリ150は、制御データとして、送信制御パラメータ、受信制御パラメータ、BF制御パラメータ、及び信号処理制御パラメータのうち、少なくとも一つの制御パラメータを記憶する。
また、メモリ150は、制御データとして、フレーム情報、ベクター情報、ビーム情報等を記憶する。フレーム(Frame)情報は、各フレームの画像を構成するための情報であり、例えば、各フレームの画像のスキャン範囲やスキャン順序を示す情報である。また、ベクター(Vector)情報は、1回の超音波送受信に関する情報であり、例えば、スキャン範囲におけるスキャンラインの位置やスキャン順序を示す情報である。なお、ベクターとは、1回の超音波送受信の単位を表す。また、ビーム情報は、1本の超音波ビーム(受信ビーム)に関する情報であり、例えば、各受信ビームを構成する各スキャンラインの位置や整相加算処理条件などの情報である。
画像生成回路160は、信号処理回路140により生成されたデータから超音波画像データを生成する。例えば、画像生成回路160は、一般的には、超音波走査の走査線信号列を、テレビ等に代表されるビデオフォーマットの走査線信号列に変換(スキャンコンバート)し、表示用の超音波画像データを生成する。具体的には、画像生成回路160は、超音波プローブ101による超音波の走査形態に応じて座標変換を行うことで、表示用の超音波画像データを生成する。
例えば、画像生成回路160は、超音波画像データとして、Bモード画像データ及び/又はドプラ画像データを生成する。Bモード画像データは、反射波の強度を輝度で表した画像データであり、Bモードデータから生成される。ドプラ画像データは、移動体情報を表す画像データであり、ドプラデータから生成される。ドプラ画像データには、例えば、速度画像データ、分散画像データ、パワー画像データ、及びこれらを組み合わせた画像データなどがある。
記憶回路170は、画像生成回路160が生成した超音波画像データやその付帯情報を記憶する記憶装置である。また、記憶回路170は、信号処理回路140が生成したデータを記憶することも可能である。例えば、記憶回路170は、HDD(Hard Disk Drive)やSSD(Solid State Drive)に対応する。
主制御回路180は、超音波診断装置1の処理全体を制御する。具体的には、主制御回路180は、入力インタフェース102を介して操作者から入力された各種設定要求や、記憶回路170から読込んだ各種制御プログラム及び各種データに基づき、送受信制御回路110、信号処理回路140、及び画像生成回路160の処理を制御する。また、主制御回路180は、記憶回路170が記憶する表示用の超音波画像データをディスプレイ103にて表示させる。
ここで、例えば、図1に示す送受信制御回路110及び主制御回路180が実行する各処理機能は、コンピュータによって実行可能なプログラムの形態で超音波診断装置1の記憶装置(例えば、記憶回路170)に記録されている。送受信制御回路110及び主制御回路180は、各プログラムを記憶装置から読み出し、実行することで各プログラムに対応する機能を実現するプロセッサである。
上記説明において用いた「プロセッサ(回路)」という文言は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、或いは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等の回路を意味する。プロセッサは記憶回路170に保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶回路170にプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。なお、本実施形態の各プロセッサは、プロセッサごとに単一の回路として構成される場合に限らず、複数の独立した回路を組み合わせて1つのプロセッサとして構成し、その機能を実現するようにしてもよい。更に、各図における複数の構成要素を1つのプロセッサへ統合してその機能を実現するようにしてもよい。
ここで、図2を用いて、PRIごとに転送されるデータについて説明する。図2は、PRIごとに転送されるデータについて説明するための図である。図2では、並列同時受信数が「4」である場合を説明する。図2において、横軸は、経過時間に対応する。また、「送信P」は、送信制御パラメータを示す。「受信P」は、受信制御パラメータを示す。「Beam1」、「Beam2」、「Beam3」、及び「Beam4」は、それぞれ1回目、2回目、3回目、及び4回目に生成される受信ビームである。「信号P1」、「信号P2」、「信号P3」、及び「信号P4」は、それぞれ1回目、2回目、3回目、及び4回目の受信ビームに対するBF(ビームフォーミング)制御パラメータおよびフィルタ処理に関する信号処理制御パラメータを示す。
図2に示すように、1回のPRIには、送信準備期間と、送信期間と、受信期間とが含まれる。送受信制御回路110は、各PRIにて用いられる制御データを、そのPRIの送信準備期間内に各回路へ転送する。
具体的には、送受信制御回路110は、送信準備期間内に、送信制御パラメータを送信回路120へ転送し、受信制御パラメータを受信回路130へ転送し、1ビーム分の信号処理制御パラメータとBF制御パラメータとを信号処理回路140へ転送する。これにより、送信期間に超音波の送信が行われる。そして、受信期間に、3ビーム分の信号処理制御パラメータとBF制御パラメータを転送し、反射波の受信、反射波から4本分の受信ビームが生成され、各受信ビームに対応する受信データに対してフィルタリング等の信号処理が行われる。なお、図2における例では、1ビーム分の信号処理制御パラメータとBF制御パラメータを示す「信号P1」は送信準備期間と送信期間とにまたがっているが、送信準備期間内に転送が完了することとしてもよい。
このように、送受信制御回路110は、並列同時受信数が「4」である場合、1つのPRIにおいて超音波を1回送信し、4ビーム分の受信ビームを生成することで、画像化を行う。なお、図2では、並列同時受信数が「4」である場合を説明したが、実施形態はこれに限定されるものではない。また、並列同時受信を行う場合を説明するが、実施形態はこれに限定されるものではなく、並列同時受信を行わない場合にも適用可能である。
近年、超音波診断装置1の高機能化に伴って、制御データのデータ量が増大したり、PRIが短縮したりする場合がある。例えば、超音波プローブ101のチャンネル数の増加や並列同時受信数の増加によって、制御データのデータ量が増大する。また、例えば、深度の浅い部位への高フレームレート撮像によってPRIが短縮する。制御データのデータ量が増大した場合またはPRIが短縮した場合は、超音波送受信に関するデータの転送効率の向上が必要となる。転送効率が低いと、各PRI内にて利用される制御データの転送が間に合わない場合があった。このような場合には、超音波送受信が停止してしまったり、画像が乱れたりすることがあった。
そこで、本実施形態に係る超音波診断装置1は、超音波送受信に関するデータの転送効率を向上させるために、以下の構成を備える。
図3を用いて、第1の実施形態に係る送受信制御回路110の構成例を説明する。図3は、第1の実施形態に係る送受信制御回路110の構成例を示す図である。図3に示すように、送受信制御回路110は、第1内部メモリ111、送信回路IF112、受信回路IF113、第2内部メモリ114、信号処理回路IF115、シーケンサ116、メモリIF117、データ収集IF118、及び主制御回路IF119を備える。第1内部メモリ111、送信回路IF112、受信回路IF113、第2内部メモリ114、信号処理回路IF115、シーケンサ116、メモリIF117、データ収集IF118、及び主制御回路IF119は、共用の内部バスにより接続されている。
第1内部メモリ111は、送信回路IF112及び受信回路IF113へ転送される制御データを記憶する。例えば、第1内部メモリ111は、シーケンサ116によって転送された送信制御パラメータ及び受信制御パラメータを一時的に記憶する。
送信回路IF112は、送信回路120に接続され、第1内部メモリ111に記憶された送信制御パラメータを送信回路120へ転送する。また、送信回路IF112は、主制御回路IF119から転送された送信制御パラメータを送信回路120へ転送する。例えば、送信回路IF112は、送信回路120へのデータ転送をFIFO(First In First Out)方式によって処理する。
受信回路IF113は、受信回路130に接続され、第1内部メモリ111に記憶された受信制御パラメータを受信回路130へ転送する。また、受信回路IF113は、主制御回路IF119から転送された受信制御パラメータを受信回路130へ転送する。例えば、受信回路IF113は、受信回路130へのデータ転送をFIFO方式によって処理する。
第2内部メモリ114は、信号処理回路IF115へ転送される制御データを記憶する。例えば、第2内部メモリ114は、シーケンサ116によって転送されたBF制御パラメータ及び信号処理制御パラメータを一時的に記憶する。
信号処理回路IF115は、信号処理回路140に接続され、第2内部メモリ114に記憶されたBF制御パラメータ及び信号処理制御パラメータを信号処理回路140へ転送する。また、受信回路IF113は、主制御回路IF119から転送されたBF制御パラメータ及び信号処理制御パラメータを信号処理回路140へ転送する。例えば、信号処理回路IF115は、信号処理回路140へのデータ転送をFIFO方式によって処理する。
シーケンサ116は、例えば、スキャン条件に応じてPRIを算出する。スキャン条件は、例えば、主制御回路180によって転送される。シーケンサ116は、算出したPRIに基づいて、送受信制御回路110によって行われるデータ転送を制御する。
例えば、シーケンサ116は、メモリIF117を介してメモリ150に接続し、メモリ150から制御データを読み出す。そして、シーケンサ116は、読み出した制御データを、第1内部メモリ111及び第2内部メモリ114に転送する。このとき、シーケンサ116は、転送する制御データの転送量を制御する。なお、シーケンサ116の機能については、後述する。
また、シーケンサ116は、PS(Packet Size)メモリ116Aを有する。PSメモリ116Aは、パケットサイズを記憶するメモリである。PSメモリ116Aは、例えば、FPGA内部で論理的に定義された記憶領域であるが、物理的な記憶媒体によって構成されても良い。PSメモリ116Aの機能については、後述する。
メモリIF117は、メモリ150に接続され、メモリ150に記憶された制御データをシーケンサ116に転送する。
データ収集IF118、信号処理回路140に接続され、信号処理回路140によって生成されたBモードデータ及び/又はドプラデータを主制御回路180へ転送する。
主制御回路IF119は、主制御回路180に接続され、主制御回路180からのデータ転送を制御する。例えば、主制御回路IF119は、撮像が開始される前に主制御回路180から転送されたデータを、メモリIF117を介してメモリ150へ転送する。また、主制御回路IF119は、撮像が開始された後に主制御回路180から転送されたデータを、送信回路IF112、受信回路IF113、又は信号処理回路IF115に転送する。
送受信制御回路110は、図3に示す構成により、データ転送を制御する。例えば、送受信制御回路110は、撮像(超音波送受信)を開始する旨の指示を主制御回路180から受け付けると、メモリ150から制御データを読み出し、読み出した制御データを第1内部メモリ111及び第2内部メモリ114に転送する。
具体的には、送受信制御回路110は、メモリ150から送信制御パラメータ及び受信制御パラメータを読み出し、読み出した送信制御パラメータ及び受信制御パラメータを第1内部メモリ111に転送する。また、送受信制御回路110は、メモリ150からBF制御パラメータ及び信号処理制御パラメータを読み出し、読み出したBF制御パラメータ及び信号処理制御パラメータを第2内部メモリ114に転送する。
そして、送受信制御回路110は、第1内部メモリ111及び第2内部メモリ114に一定量の制御データが蓄積された場合に、超音波送受信を開始する。例えば、送受信制御回路110は、1ベクター分の制御データが蓄積された場合に、蓄積された制御データの転送を開始することで、超音波送受信を開始する。この結果、1回目のPRIにおける超音波送受信、ビームフォーミング、及び信号処理が実行される。
なお、送受信制御回路110は、1回目の超音波送受信が行われる間に、再びメモリ150から制御データを読み出し、読み出した制御データを第1内部メモリ111及び第2内部メモリ114に転送する。このとき転送された制御データは、次回のPRIの送信準備期間において送信回路120、受信回路130、及び信号処理回路140へ転送される。
ここで、図4を用いて、第1の実施形態に係る制御データのデータ構造の一例を説明する。図4は、第1の実施形態に係る制御データのデータ構造の一例を説明するための図である。
図4に示すように、制御データは、第1内部メモリ111用の制御データと、第2内部メモリ114用の制御データとを含む。第1内部メモリ111用の制御データは、例えば、送信制御パラメータ及び受信制御パラメータに対応する。また、第2内部メモリ114用の制御データは、例えば、BF制御パラメータ及び信号処理制御パラメータに対応する。
第1内部メモリ111用の制御データは、1ベクター分のデータを含む。第1内部メモリ111用の制御データは、1ベクター分の中に数パケットの制御データを含む。1ベクターのデータ区分には、「End of Vector」の識別情報が用いられる。各パケットは、格納場所を示す「Address」と、パケットサイズを示す「Packet Size」と、当該パケットサイズに対応する「Data」とを含む。例えば、パケットサイズ「M」のデータは、「Data0」、「Data1」、・・・「DataM−1」で表される。また、パケットサイズ「N」のデータは、「Data0」、「Data1」、・・・「DataN−1」で表される。なお、M及びNは、それぞれ自然数である。所定のパケットサイズの集合は、所定の処理を示すものであり、例えば、パケットサイズMの集合とパケットサイズNの集合とは異なる処理を示している。
また、第2内部メモリ114用の制御データは、1ベクター分のデータの中に、並列同時受信数に応じた数のビームに関するデータを含む。第2内部メモリ114用の制御データは、1ベクター分のデータの中に数パケットの制御データを含む。1ビームのデータ区分には、「End of Beam」の識別情報が用いられる。並列同時受信数が「4」の場合、制御データには「End of Beam」の識別情報が4つ含まれる。各パケットは、格納場所を示す「Address」と、パケットサイズを示す「Packet Size」と、当該パケットサイズに対応する「Data」とを含む。例えば、パケットサイズ「I」のデータは、「Data0」、「Data1」、・・・「DataI−1」で表される。また、パケットサイズ「J」のデータは、「Data0」、「Data1」、・・・「DataJ−1」で表される。なお、I及びJは、それぞれ自然数である。
ここで、第1の実施形態に係るデータ転送を説明する前に、図5及び図6を用いて、比較例に係るデータ転送を説明する。図5及び図6は、比較例に係るデータ転送を説明するための図である。図5及び図6において、例えば、第1内部メモリ用の制御データは送信制御パラメータであり、第2内部メモリ用の制御データはBF制御パラメータである。図5及び図6において、データ転送は、比較例に係るシーケンサによって制御される。なお、比較例に係る構成については、符号を付けずに表記する。
図5に示すように、シーケンサは、様々な転送要求に係るデータ転送を均等に行うために、各転送要求に係るデータ転送を一定の転送量ごとに切り換えながら転送を行う。例えば、シーケンサは、2QW(Quad Word、64bit)ごとに、第1内部メモリ用の制御データと第2内部メモリ用の制御データとを交互に読み出して転送する。なお、図5では、2QWごとに切り換える場合を説明したが、これに限定されるものではなく、任意の転送量(例えば1QW)ごとに切り換え可能である。
ここで、各データ転送の間には、互いに転送権を譲り合うために、何も転送されない待機時間ΔTが設けられる。図5の転送方式では一定の転送量ごとに切り換えながら転送を行うので、転送される制御データのパケットサイズが多いほど待機時間ΔTの回数が増加し、転送効率を低下させる可能性がある。
また、制御データがメモリから第1内部メモリ及び第2内部メモリに転送される間に、主制御回路が付加的に制御データを転送する場合がある。例えば、超音波送受信の実行中にゲイン値(Gain値)を変更する旨の指示が入力された場合には、主制御回路は、変更後のゲイン値を含むパケットを受信回路IF及び信号処理回路IFへ転送する。
例えば、図6に示すように、主制御回路は、変更後のゲイン値を含むパケット(図6の二重線で囲まれたパケット)を、第1内部メモリ用の制御データと第2内部メモリ用の制御データとの間に挿入する。挿入されたパケットの前後にも待機時間ΔTが設けられるので、付加的な制御データが主制御部から転送された場合には、転送効率をさらに低下させる可能性がある。
そこで、第1の実施形態に係るシーケンサ116は、以下の方式によりデータ転送を行う。すなわち、シーケンサ116は、制御データの第1パケットサイズに基づいて、転送されるデータの第2パケットサイズを決定し、決定した第2パケットサイズで制御データの転送を制御する。例えば、シーケンサ116は、PRIごとに、制御データの転送を実行する。なお、シーケンサ116は、転送制御部の一例である。
例えば、シーケンサ116は、1回目の制御データの読み出しにおいて、第1パケットサイズが記載された情報を読み出す。そして、シーケンサ116は、2回目以降の制御データの読み出しにおいて、第2パケットサイズでの制御データの転送を実行させる。
図7を用いて、第1の実施形態に係るシーケンサ116によるデータ転送を説明する。図7は、第1の実施形態に係るシーケンサ116によるデータ転送を説明するための図である。図7において、例えば、第1内部メモリ用の制御データは送信制御パラメータであり、第2内部メモリ用の制御データはBF制御パラメータである。また、図7には、ある1回のベクターにおいて転送される制御データ(送信制御パラメータ及びBF制御パラメータ)を例示する。
図7に示すように、シーケンサ116は、まず、第1内部メモリ用の制御データから1QWのデータを読み出す。この1QWのデータには、第1内部メモリ用の制御データの「Address」と「Packet Size=M」とが含まれる。
次に、シーケンサ116は、第2内部メモリ用の制御データから1QWのデータを読み出す。この1QWのデータには、第2内部メモリ用の制御データの「Address」と「Packet Size=I」とが含まれる。
続いて、シーケンサ116は、第1内部メモリ用の制御データの「Packet Size=M」に基づいて、第2パケットサイズを決定する。例えば、シーケンサ116は、「Packet Size=M」と同じパケットサイズを、第2パケットサイズとして決定する。シーケンサ116は、第1内部メモリ用の制御データの第2パケットサイズ「M」をPSメモリ116Aに格納する。
また、シーケンサ116は、第2内部メモリ用の制御データの「Packet Size=I」に基づいて、第2パケットサイズを決定する。例えば、シーケンサ116は、「Packet Size=I」と同じパケットサイズを、第2パケットサイズとして決定する。シーケンサ116は、第2内部メモリ用の制御データの第2パケットサイズ「I」をPSメモリ116Aに格納する。
そして、シーケンサ116は、第1内部メモリ用の制御データを「Packet Size=M」のパケットとして転送する。例えば、シーケンサ116は、第1内部メモリ用の制御データの第2パケットサイズ「M」を、PSメモリ116Aから読み出す。そして、シーケンサ116は、第2パケットサイズ「M」に相当する数のデータ、つまり「Data0」、「Data1」、・・・「DataM−1」のデータを1回の読み出しで転送する。
また、シーケンサ116は、第2内部メモリ用の制御データを「Packet Size=I」のパケットとして転送する。例えば、シーケンサ116は、第2内部メモリ用の制御データの第2パケットサイズ「I」を、PSメモリ116Aから読み出す。そして、シーケンサ116は、第2パケットサイズ「I」に相当する数のデータ、つまり「Data0」、「Data1」、・・・「DataI−1」のデータを1回の読み出しで転送する。
ここで、シーケンサ116は、転送される制御データのパケットサイズに関わらず、「Data0」、「Data1」、・・・「DataM−1」のデータを一回の読み出しで転送する。このため、シーケンサ116は、パケットサイズに関わらず、各制御データの読み出しを、「Address」及び「Packet Size=M」の読み出し(1回目の読み出し)と、パケットサイズ分のデータの読み出し(2回目の読み出し)の2回で行うことができる。パケットサイズがIの時も同様である。
図7の例では、シーケンサ116は、第1内部メモリ用の制御データ及び第2内部メモリ用の制御データを、合計4回の読み出しで転送する。この結果、待機時間ΔTが設けられる回数が3回となる。この回数は、制御データのパケットサイズに関わらず一定であり、パケットサイズに応じて増加しない。このため、シーケンサ116は、制御データの転送効率を向上させることができる。
なお、図7では、第1内部メモリ及び第2内部メモリそれぞれに1つずつの制御データが転送される場合を説明したが、実施形態はこれに限定されるものではない。転送される制御データの数は、任意に変更可能である。
また、図7では、第1パケットサイズと第2パケットサイズが同じサイズに決定される場合を説明したが、実施形態はこれに限定されるものではない。例えば、第2パケットサイズは、第1パケットサイズを任意のサイズに分割したサイズに限定されても良い。ただし、第1パケットサイズの分割数が増加するほど制御データの読み出し回数が増加するため、第1パケットの分割数は小さい方が好適である。また、第1パケットサイズが分割された場合のサイズは、必ずしも一定でなくても良い。
また、第1パケットサイズを分割する場合、並列同時受信により生成される受信ビームごとに分割するのが好適である。すなわち、シーケンサ116は、第2パケットサイズとして、並列同時受信により生成される受信ビームごとに制御データを分割したパケットサイズを決定する。この場合、例えば、シーケンサ116は、制御データを「End of Beam」の位置で区切ったパケットサイズを、第2パケットサイズとして決定する。
また、図7にて説明した読み出し順序はあくまで一例であり、処理内容に矛盾しない範囲で任意に変更可能である。例えば、第2パケットサイズを決定する処理は、第2内部メモリ用の制御データから1QWのデータを読み出す処理の前に実行されても良い。また、第1内部メモリ用の制御データを読み出す処理を最初に実行するのではなく、第2内部メモリ用の制御データを読み出す処理を最初に実行しても良い。なお、第1内部メモリ用の制御データの読み出しと第2内部メモリ用の制御データの読み出しは、交互に読み出す形態に限定されるものではなく、パケットサイズ「I」を取得する前にM個のパケットからなる制御データが読み出されることとしてもよい。
上述してきたように、第1の実施形態に係るシーケンサ116は、制御データの第1パケットサイズに基づいて、転送されるデータの第2パケットサイズを決定し、決定した第2パケットサイズで制御データの転送を制御する。これにより、シーケンサ116は、超音波送受信に関するデータの転送効率を向上させることができる。
(第2の実施形態)
第1の実施形態では、1回目の制御データの読み出しにおいて、第1パケットサイズが記載された情報のみを読み出す場合を説明した。しかしながら、メモリ150に記憶されている制御データには、「Address」と「Packet Size」に加え、最小単位の情報として1QWのデータを有するものが一定数存在する。このような制御データを読み出す場合、第1の実施形態に係る処理では、1QWのデータを読み出すために2回目の制御データの読み出しを行うこととなる。
そこで、第2の実施形態に係るシーケンサ116は、以下の方式によりデータ転送を行う。すなわち、シーケンサ116は、1回目の制御データの読み出しにおいて、第1パケットサイズが記載された情報に加え、最小単位の情報量を読み出す。ここで、最小単位とは、メモリ150に記憶された複数の制御データのうち最小単位の情報量であり、例えば1QWである。
図8及び図9を用いて、第2の実施形態に係るシーケンサ116によるデータ転送を説明する。図8及び図9は、第2の実施形態に係るシーケンサ116によるデータ転送を説明するための図である。図8では、第1内部メモリ111用の制御データの「Packet Size=M」が「1」である場合を説明する。また、図9では、第1内部メモリ111用の制御データの「Packet Size=M」が「2以上の整数」である場合を説明する。
なお、図8及び図9において、例えば、第1内部メモリ用の制御データは送信制御パラメータであり、第2内部メモリ用の制御データはBF制御パラメータである。また、図8及び図9には、ある1回のベクターにおいて転送される制御データ(送信制御パラメータ及びBF制御パラメータ)を例示する。
図8に示すように、シーケンサ116は、まず、第1内部メモリ用の制御データから2QWのデータを読み出す。この2QWのデータには、第1内部メモリ用の制御データの「Address」と、「Packet Size=M」と、「Data0」とが含まれる。
次に、シーケンサ116は、第2内部メモリ用の制御データから2QWのデータを読み出す。この2QWのデータには、第2内部メモリ用の制御データの「Address」と、「Packet Size=I」と、「Data0」とが含まれる。
また、シーケンサ116は、第2内部メモリ用の制御データの「Packet Size=I」に基づいて、第2パケットサイズを決定する。例えば、シーケンサ116は、「Packet Size=I」から減算した「Packet Size=I−1」を、第2パケットサイズとして決定する。シーケンサ116は、第2内部メモリ用の制御データの第2パケットサイズ「I−1」をPSメモリ116Aに格納する。
そして、シーケンサ116は、第2内部メモリ用の制御データを「Packet Size=I−1」のパケットとして転送する。例えば、シーケンサ116は、第2内部メモリ用の制御データの第2パケットサイズ「I−1」を、PSメモリ116Aから読み出す。そして、シーケンサ116は、第2パケットサイズ「I−1」に相当する数のデータ、つまり「Data1」、「Data2」・・・「DataI−1」のデータを1回の読み出しで転送する。
ここで、図9に示す例では、第1内部メモリ111用の制御データは、「Data1」、「Data2」・・・「DataM−1」を含む。このため、図9に示す例では、シーケンサ116は、「Data1」、「Data2」・・・「DataM−1」のデータの読み出しを行う。
一方、図8に示す例では、第1内部メモリ111用の制御データは、「Data0」を含み、「Data1」、「Data2」・・・「DataM−1」を含まない。また、「Data0」の読み出しは、1回目の制御データの読み出しにおいて完了済みである。このため、第1内部メモリ111用の制御データは、2回目以降の読み出しが不要となる。この結果、シーケンサ116は、超音波送受信に関するデータの転送効率を向上させることができる。
なお、図8及び図9では、メモリ150に記憶された複数の制御データのうち最小単位の情報量が1QWのデータである場合を説明したが、実施形態はこれに限定されるものではない。例えば、本実施形態は、最小単位の情報量が2QW以上のデータである場合にも適用可能である。例えば、最小単位の情報量が2QWである場合、シーケンサ116は、1回目の制御データの読み出しにおいて3QWのデータを読み出す。この3QWのデータには、制御データの「Address」と「Packet Size=I」に加え、2QWのデータが含まれる。
また、シーケンサ116は、必ずしも最小単位の情報量を加えた値を読み出さなくてもよい。メモリ150に記憶された複数の制御データのうち最多の情報量が2QWである場合には、シーケンサ116は、1回目の制御データの読み出しにおいて3QWのデータを読み出しても良い。つまり、シーケンサ116は、1回目の制御データの読み出しにおいて、第1パケットサイズが記載された情報に加え、所定量の情報を読み出しても良い。この所定量は、メモリ150に記憶された複数の制御データのうち最小単位の情報量に基づいて決定されても良いし、メモリ150に記憶された複数の制御データのうち最多の情報量に基づいて決定されても良い。
(第3の実施形態)
また、上述した実施形態では、毎回のベクターにおけるデータ転送において各制御データのパケットサイズを読み出す場合を説明したが、実施形態はこれに限定されるものではない。例えば、シーケンサ116は、1回目のベクターにおけるデータ転送時に読み出した各制御データのパケットサイズを記憶しておき、記憶したパケットサイズを2回目以降のベクターにおけるデータ転送に適用することが可能である。これは、1回目のベクターと2回目のベクターにおいては超音波送信タイミングが異なるものの制御自体は同一である。これにより、シーケンサ116は、2回目以降のベクターにおけるデータ転送において、各制御データのパケットサイズの読み出しを省略することができる。
すなわち、第3の実施形態に係るシーケンサ116は、1回目のベクターにおけるデータ転送時に読み出した制御データの第1パケットサイズをPSメモリ116Aに記憶させる。そして、シーケンサ116は、2回目以降のベクターにおけるデータ転送時に、PSメモリ116に記憶済みの第1パケットサイズに基づいて、制御データの転送を制御する。例えば、シーケンサ116は、記憶済みの第1パケットサイズを第2パケットサイズとして利用して、制御データの転送を行う。なお、PSメモリ116Aは、記憶領域の一例である。
図10を用いて、第3の実施形態に係るシーケンサ116によるデータ転送を説明する。図10は、第3の実施形態に係るシーケンサ116によるデータ転送を説明するための図である。図10において、例えば、第1内部メモリ用の制御データは送信制御パラメータであり、第2内部メモリ用の制御データはBF制御パラメータである。また、図10には、2回目以降のベクターにおいて転送される制御データ(送信制御パラメータ及びBF制御パラメータ)を例示する。なお、1回目のベクターにおけるデータ転送は、例えば、図7にて説明した方式にて行われる。
例えば、図7に示したデータ転送において、シーケンサ116は、第1内部メモリ用の制御データの「Packet Size=M」と、第2内部メモリ用の制御データの「Packet Size=I」とを、PSメモリ116Aに記憶する。
そして、シーケンサ116は、図10に示すように、2回目以降のベクターにおけるデータ転送では、PSメモリ116Aに記憶した「Packet Size=M」に基づいて、第1内部メモリ用の制御データを転送する。例えば、シーケンサ116は、「Packet Size=M」に相当する数のデータ、つまり「Data0」、「Data1」・・・「DataM−1」のデータを1回の読み出しで転送する。なお、図10において「Packet Size=M+1」となっているのは、「Data0」〜「DataM−1」に加えて「Adress/Packet Size=M」のデータが含まれるためである。
続いて、シーケンサ116は、PSメモリ116Aに記憶した「Packet Size=I」に基づいて、第2内部メモリ用の制御データを転送する。例えば、シーケンサ116は、「Packet Size=I」に相当する数のデータ、つまり「Data0」、「Data1」・・・「DataI−1」のデータを1回の読み出しで転送する。
これにより、シーケンサ116は、2回目以降のベクターにおけるデータ転送において、各制御データのパケットサイズの読み出しを省略する。この結果、シーケンサ116は、2回目以降のベクターにおけるデータ転送において、待機時間ΔTが設けられる回数を更に低減させるので、超音波送受信に関するデータの転送効率を向上させることができる。
(第3の実施形態の変形例)
上述した第3の実施形態では、1回目のベクターにおけるデータ転送時に読み出した各制御データのパケットサイズを記憶しておく場合を説明したが、実施形態はこれに限定されるものではない。例えば、シーケンサ116は、ベクター情報及びビーム情報に基づいて、毎回のベクターのデータ転送における各制御データのパケットサイズを算出(推定)することも可能である。
すなわち、第3の実施形態の変形例に係るシーケンサ116は、ベクター情報及びビーム情報に基づいて、各ベクターのデータ転送における制御データの第1パケットサイズを算出し、算出した第1パケットサイズをPSメモリ116Aに記憶させる。そして、シーケンサ116は、各ベクターにおけるデータ転送時に、PSメモリ116Aに記憶済みの第1パケットサイズに基づいて、制御データの転送を制御する。例えば、シーケンサ116は、PSメモリ116に記憶済みの第1パケットサイズを第2パケットサイズとして利用して、制御データの転送を制御する。
これにより、シーケンサ116は、2回目以降のベクターだけでなく、1回目のベクターのデータ転送時にも各制御データのパケットサイズの読み出しを省略することができる。
(その他の実施形態)
上述した実施形態以外にも、種々の異なる形態にて実施されてもよい。
(高機能型超音波プローブへの適用)
近年、超音波の送受信に関する主要な機能を超音波プローブの筐体内に組み込み、この超音波プローブ(以下、「高機能型超音波プローブ」と称する)をパーソナルコンピュータやタブレット端末等の汎用的な情報処理装置に接続することで、超音波診断装置1を実現する技術が知られている。上述した実施形態に係る送受信制御回路110及びメモリ150は、高機能型超音波プローブに搭載することも可能である。この場合、高機能型超音波プローブに対応する超音波プローブ101は、必要に応じて図1に図示した各構成要素を備えることができる。
すなわち、高機能型超音波プローブに対応する超音波プローブ101は、メモリ150と、シーケンサ116とを備える。メモリ150は、超音波送受信を制御するための制御データを記憶する。シーケンサ116は、制御データの第1パケットサイズに基づいて、転送されるデータの第2パケットサイズを決定し、決定した第2パケットサイズで制御データの転送を制御する。これにより、高機能型超音波プローブに対応する超音波プローブ101は、超音波送受信に関するデータの転送効率を向上させることができる。
例えば、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。更に、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。
また、上述した各実施形態及び変形例において説明した各処理のうち、自動的に行なわれるものとして説明した処理の全部又は一部を手動的に行なうこともでき、或いは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的に行なうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、上述した各実施形態及び変形例で説明した超音波送受信の制御方法は、予め用意された制御プログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。この制御プログラムは、インターネット等のネットワークを介して配布することができる。また、この制御プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVD等のコンピュータで読み取り可能な非一過性の記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上説明した少なくとも1つの実施形態によれば、超音波送受信に関するデータの転送効率を向上させることができる。
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、実施形態同士の組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。