JP4716911B2 - Ultrasound diagnostic processor - Google Patents

Ultrasound diagnostic processor Download PDF

Info

Publication number
JP4716911B2
JP4716911B2 JP2006100226A JP2006100226A JP4716911B2 JP 4716911 B2 JP4716911 B2 JP 4716911B2 JP 2006100226 A JP2006100226 A JP 2006100226A JP 2006100226 A JP2006100226 A JP 2006100226A JP 4716911 B2 JP4716911 B2 JP 4716911B2
Authority
JP
Japan
Prior art keywords
data
string
processor
diagnostic apparatus
ultrasonic diagnostic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006100226A
Other languages
Japanese (ja)
Other versions
JP2007268156A (en
Inventor
太 尾形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Aloka Medical Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Aloka Medical Ltd filed Critical Hitachi Aloka Medical Ltd
Priority to JP2006100226A priority Critical patent/JP4716911B2/en
Publication of JP2007268156A publication Critical patent/JP2007268156A/en
Application granted granted Critical
Publication of JP4716911B2 publication Critical patent/JP4716911B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、超音波診断装置用プロセッサに関し、特に、超音波の送受信によって得られたデータを並列処理する超音波診断装置用プロセッサに関する。   The present invention relates to a processor for an ultrasonic diagnostic apparatus, and more particularly to a processor for an ultrasonic diagnostic apparatus that performs parallel processing on data obtained by transmitting and receiving ultrasonic waves.

医療用の超音波診断装置においては、超音波探触子が被検者の体表に当接あるいは体内に挿入されて超音波が発信され、超音波の反射波信号に基づいて体内の状態の診断画像等が得られる。一般に、超音波診断装置では装置内部での信号がデジタルデータに変換された上で処理されている。つまり、受信信号としてのアナログ信号はデジタル信号に変換され、その信号に対して多様な演算が何重にも施された結果、診断画像等が形成されている。そのために、超音波診断装置の内部で処理すべきデジタルデータの量は膨大なものとなる。そして、超音波診断装置の画像の応答性やリアルタイム表示性能を改善するためには、大量のデジタルデータを高速に処理し高速に画像化することは必要不可欠となっている。従って、超音波診断装置においてはそれぞれの処理の各段階において複数個のプロセッサが使用されており、膨大な量のデータを処理するために個々のプロセッサには、自ずと高速な処理速度が求められている。   In an ultrasonic diagnostic apparatus for medical use, an ultrasonic probe is brought into contact with or inserted into a body surface of a subject and an ultrasonic wave is transmitted, and an internal state of the body is determined based on a reflected wave signal of the ultrasonic wave. A diagnostic image or the like is obtained. In general, in an ultrasonic diagnostic apparatus, a signal inside the apparatus is converted into digital data and then processed. That is, an analog signal as a received signal is converted into a digital signal, and a variety of calculations are performed on the signal, resulting in the formation of a diagnostic image or the like. For this reason, the amount of digital data to be processed inside the ultrasonic diagnostic apparatus is enormous. In order to improve the image responsiveness and real-time display performance of the ultrasonic diagnostic apparatus, it is indispensable to process a large amount of digital data at high speed and image it at high speed. Therefore, in the ultrasonic diagnostic apparatus, a plurality of processors are used in each stage of each process, and each processor is required to have a high processing speed in order to process a huge amount of data. Yes.

ここで、中央演算処理装置(CPU)やデジタルシグナルプロセッサ(DSP)に代表されるプロセッサは、データ処理の高速化のための要となる部品である。DSPとは信号処理に特化した半導体デバイスであり、CPUと同様に信号処理プログラムを実行することで多様な機能を実現させることができる。これらのプロセッサは技術進歩に伴って、データの処理能力を向上させるための様々な高速化手段を搭載している。その高速化手段の一つとしてSIMD(Single Instruction Multiple Data)方式が挙げられる。SIMD方式とは、単一命令で複数個のデータを同時並列的に処理するデータ処理方式を意味する。SIMD方式を採用しているプロセッサにおいて、取り扱われるデータ形式や命令セットは、並列に入力される複数のデータに対して一括の操作を行うことができるようになっている。つまり、プロセッサの最大データバス幅を1個のデータだけで占有するのではなく、そのデータバス幅を機能的に分割することにより、複数のデータが同時に並列して扱えるようになっている。SIMD方式のプロセッサを用いると、データの並列処理が可能となるので、処理速度を高速化できる。   Here, a processor represented by a central processing unit (CPU) and a digital signal processor (DSP) is a key component for speeding up data processing. A DSP is a semiconductor device specialized for signal processing, and various functions can be realized by executing a signal processing program in the same manner as a CPU. These processors are equipped with various speed-up means for improving data processing capability as technology advances. One of the speed-up means is SIMD (Single Instruction Multiple Data). The SIMD system means a data processing system that processes a plurality of data simultaneously and in parallel with a single instruction. In a processor adopting the SIMD system, a data format and an instruction set to be handled can perform a batch operation on a plurality of data input in parallel. That is, instead of occupying the maximum data bus width of the processor with only one piece of data, the data bus width is functionally divided so that a plurality of data can be handled simultaneously in parallel. When a SIMD processor is used, parallel processing of data becomes possible, so that the processing speed can be increased.

以下、特許文献1にはSIMD方式を用いた演算器及びその演算器を用いた演算処理装置に関する技術が記されている。また、特許文献2にはSIMD方式のプロセッサを用いた超音波診断システムに関する技術が記されている。   In the following, Patent Document 1 describes a technique related to an arithmetic unit using the SIMD method and an arithmetic processing device using the arithmetic unit. Patent Document 2 describes a technique related to an ultrasonic diagnostic system using a SIMD processor.

特開2000−47998号公報JP 2000-47998 A 特開2000−189422号公報JP 2000-189422 A

背景技術として示したように、SIMDの機能を搭載したCPUやDSPを使って、データ演算を行うことは、処理速度の高速化のための有力な手段となっている。しかしながら、SIMDの機能を用いたとしても、高速な処理速度を維持できない場合がある。それは、if文に代表されるような条件分岐処理を実行する場合である。SIMD方式の演算を実行する場合において、演算の途中で演算結果の値を判定して、条件分岐を行うような処理はSIMD向きではない。つまり、ある所定の条件に合致するかどうかを判断して、プログラム内のジャンプ先を二者択一で選択するような条件分岐処理は、SIMD方式の処理になじまないのである。なぜなら、ある条件に合致するかどうかの判定を、複数のデータに対して行った場合には、全部のデータが条件に合致するケースや、あるいは逆に全部のデータが条件に合致しないケースはまれであり、通常の場合には条件に一致するデータと一致しないデータが混在するケースが多いからである。このように判定条件に対する一致と不一致が混在する場合には、判定結果に応じてデータ毎に個別の処理をする必要があり、並進処理の足並みが乱されてしまうことになる。このように、SIMDの演算機能を搭載したプロセッサにおいて条件分岐処理をそのまま実行しようとすると、データ列の並進処理が乱されてしまい、プログラムの処理速度を著しく低下させるという問題があった。   As shown in the background art, performing a data operation using a CPU or DSP equipped with a SIMD function is an effective means for increasing the processing speed. However, even if the SIMD function is used, a high processing speed may not be maintained. This is a case where conditional branch processing represented by an if statement is executed. In the case of executing a SIMD operation, a process that determines the value of the operation result in the middle of the operation and performs conditional branching is not suitable for SIMD. In other words, conditional branching processing that determines whether or not a certain predetermined condition is met and selects a jump destination in the program in an alternative is not compatible with SIMD processing. This is because when it is determined whether or not a certain condition is met for a plurality of data, there are rare cases where all the data matches the condition, or conversely, all the data does not match the condition. This is because there are many cases where data that matches the condition and data that does not match are usually mixed. In this way, when matching and mismatching with respect to the determination condition coexist, it is necessary to perform individual processing for each data according to the determination result, and the level of translation processing is disturbed. As described above, when a conditional branch process is executed as it is in a processor equipped with a SIMD arithmetic function, the translation process of the data string is disturbed, and there is a problem that the processing speed of the program is remarkably reduced.

なお、前述の特許文献1と特許文献2に記載のSIMD方式では、いずれにもこのような問題を解決するための特別な方式については提案されていない。特に、同時並列処理を行う上で操作テーブルを使用する概念は提示されていない。   Note that none of the SIMD methods described in Patent Document 1 and Patent Document 2 described above proposes a special method for solving such a problem. In particular, the concept of using an operation table for simultaneous parallel processing is not presented.

本発明の目的は、並列処理を維持した状態で高速なデータ演算を実行できる超音波診断装置用プロセッサを提供することにある。   An object of the present invention is to provide a processor for an ultrasonic diagnostic apparatus that can execute high-speed data computation while maintaining parallel processing.

(1)本発明は、超音波の送受信により得られた入力データ列を構成する各入力データを並列処理する超音波診断装置用プロセッサにおいて、前記入力データ列と比較データ列とを比較して、比較結果データ列を生成する第1の演算手段と、前記比較結果データ列を構成する各比較結果データから代表ビットを抽出し、それらの代表ビットによって代表ビット列を生成する代表ビット列抽出手段と、前記代表ビット列が表し得るビットパターンに対応した複数の操作データ列を格納した操作テーブルと、前記複数の操作データ列の中から前記代表ビット列に応じて選択された特定の操作データ列を用いて、前記入力データ列に対するデータ演算を実行し出力データ列を生成する第2の演算手段と、を有することを特徴とする。   (1) In the ultrasonic diagnostic apparatus processor for parallel processing each input data constituting the input data string obtained by transmitting and receiving ultrasonic waves, the present invention compares the input data string and the comparison data string, First arithmetic means for generating a comparison result data string; representative bit string extraction means for extracting a representative bit from each comparison result data constituting the comparison result data string and generating a representative bit string from the representative bits; and An operation table storing a plurality of operation data strings corresponding to bit patterns that can be represented by the representative bit string, and a specific operation data string selected according to the representative bit string from the plurality of operation data strings, And second calculation means for executing data calculation on the input data string and generating an output data string.

上記構成によれば、第1の演算手段において、入力データ列と比較データ列とが並列処理によって比較され比較結果データ列が生成される。そして、その比較結果データ列を構成する各比較結果データから代表ビットが抽出され、それらの代表ビットを並べた代表ビット列が生成される。ここで、代表ビット列によって表し得るビットパターンに対応して、複数の操作データ列が予め準備されており、具体的には、それらの操作データ列は操作テーブルの中に格納されている。そして、代表ビット列が構成するあるビットパターンに応じて、特定の操作データ列が選択される。選択された特定の操作データ列は、第2の演算手段において、入力データ列に対するデータ演算を実行するために用いられる。従って、このような構成においては、第1の演算手段及び第2の演算手段で行われる演算において、演算の並列性を維持したままの状態で、一括のデータ演算を行うことができる。つまり、演算の並列性が乱されることがないので、従来の演算処理と比較して高速な演算処理を行うことができる。また、例えば条件分岐処理を行う場合においても分岐が発生しないので、演算の並列処理を維持しつつ高速な処理速度を実現することができる。ちなみに、前記第1の演算手段と第2の演算手段は、共通の演算部で構成されていてもよい。また、操作テーブルは、プロセッサ内部に備わる内部メモリに構成されていてもよいし、プロセッサの外部に存在する周辺デバイスの記憶部上に構成されてもよい。   According to the above configuration, in the first calculation means, the input data string and the comparison data string are compared by parallel processing to generate a comparison result data string. Then, representative bits are extracted from each comparison result data constituting the comparison result data string, and a representative bit string in which these representative bits are arranged is generated. Here, a plurality of operation data strings are prepared in advance in correspondence with bit patterns that can be represented by representative bit strings, and specifically, these operation data strings are stored in an operation table. Then, a specific operation data string is selected according to a certain bit pattern formed by the representative bit string. The selected specific operation data string is used by the second calculation means to execute data calculation on the input data string. Therefore, in such a configuration, it is possible to perform a batch data calculation while maintaining the parallelism of the calculations performed by the first calculation unit and the second calculation unit. That is, since the parallelism of operations is not disturbed, high-speed arithmetic processing can be performed as compared with conventional arithmetic processing. Further, for example, even when conditional branch processing is performed, no branch occurs, so that high processing speed can be realized while maintaining parallel processing of operations. Incidentally, the first calculation unit and the second calculation unit may be configured by a common calculation unit. Further, the operation table may be configured in an internal memory provided in the processor or may be configured on a storage unit of a peripheral device existing outside the processor.

望ましくは、前記データ演算は、条件分岐処理に相当する論理演算を含むことを特徴とする。この構成によれば、演算対象であるデータの並列性を担保したままの状態で、論理演算による一括処理で条件分岐処理を行うことができる。すなわち、条件分岐処理を行う場合に、条件分岐命令に代えて、上記のようなテーブルの利用に加えて論理演算が用いられる。   Preferably, the data operation includes a logical operation corresponding to a conditional branch process. According to this configuration, it is possible to perform conditional branch processing by batch processing by logical operation while ensuring parallelism of data to be calculated. That is, when performing conditional branch processing, a logical operation is used in addition to the use of the table as described above, instead of the conditional branch instruction.

望ましくは、前記データ演算は、更に算術演算を含むことを特徴とする。この構成によれば、第2の演算手段において、論理演算と算術演算とを組み合わせることにより、所望の出力データ列を得ることができる。   Preferably, the data operation further includes an arithmetic operation. According to this configuration, a desired output data string can be obtained by combining the logical operation and the arithmetic operation in the second arithmetic means.

望ましくは、前記データ演算は、前記入力データ列を構成する各入力データに対して、前記特定の操作データ列を構成する各操作データを作用させて、前記各入力データの保存処理または変更処理を選択的に実行する演算を含むことを特徴とする。この構成によれば操作テーブルに格納されている操作データ列の中から特定の操作データ列として選定された各操作データは、各入力データに対する択一的な処理のための作用を発揮し、演算の同時並列性を維持したまま高速な演算を行うことができる。   Preferably, in the data calculation, the operation data constituting the specific operation data sequence is applied to the input data constituting the input data sequence, and the storage processing or change processing of the input data is performed. It includes a calculation that is selectively executed. According to this configuration, each operation data selected as a specific operation data string from among the operation data strings stored in the operation table exhibits an action for alternative processing for each input data, and is calculated. It is possible to perform high-speed computation while maintaining simultaneous parallelism.

望ましくは、前記データ演算は、前記入力データ列を構成する各入力データに対して、前記特定の操作データ列を構成する各操作データに応じて生成された派生操作データを作用させて、前記各入力データの保存処理または変更処理を選択的に実行する演算を含むことを特徴とする。例えば、互いに異なる複数の操作テーブルを使用すると、各々の操作テーブルから特定した操作データ列を相互に作用させることによって、派生操作データ列を生成することができる。派生操作データ列は複数の派生操作データから構成されており、その派生操作データを用いることによって、各入力データに対する択一的な処理のための作用をもって、演算の同時並列性を維持したまま高速な演算を行うことができる。   Preferably, the data calculation is performed by causing the derived operation data generated according to each operation data constituting the specific operation data sequence to act on each input data constituting the input data sequence, It includes an operation for selectively executing a storage process or a change process of input data. For example, when a plurality of different operation tables are used, a derived operation data string can be generated by causing the operation data strings specified from each operation table to interact with each other. Derived operation data strings are composed of multiple derived operation data. By using the derived operation data, it is possible to perform high-speed operations while maintaining the parallelism of operations with the action for alternative processing for each input data. Can be performed.

望ましくは、前記代表ビット列を構成する各代表ビットは、正負を表わす符号ビットであることを特徴とする。この構成によれば、例えば、第1の演算手段における演算操作が差分演算であるような場合に、大小判別のための比較結果が正であるか負であるかを、符号ビット列に基づいて判断することができる。   Preferably, each representative bit constituting the representative bit string is a sign bit representing positive or negative. According to this configuration, for example, when the calculation operation in the first calculation means is a difference calculation, it is determined based on the sign bit string whether the comparison result for size determination is positive or negative. can do.

望ましくは、前記比較データ列を構成する各比較データは、大小判別のための複数の閾値データであることを特徴とする。この構成によれば、第1の演算手段における演算操作は、条件分岐処理の手段としての数値の大小関係を判断する演算手段として用いることができる。   Preferably, each comparison data constituting the comparison data string is a plurality of threshold data for size discrimination. According to this configuration, the arithmetic operation in the first arithmetic means can be used as an arithmetic means for judging the magnitude relationship of numerical values as a means for conditional branch processing.

(2)本発明は、超音波の送受信により得られたN個(但し、Nは2以上の整数)の入力データを並列処理する超音波診断装置用プロセッサにおいて、前記N個の入力データとN個の比較データとを比較してN個の比較結果データを生成する第1の演算手段と、前記N個の比較結果データからN個の代表ビットを抽出し、それらの代表ビットによって代表ビット列を生成する代表ビット列抽出手段と、前記代表ビット列が表し得るビットパターンに対応する複数の操作データ列を格納した操作テーブルと、前記複数の操作データ列の中から前記代表ビット列に応じて特定の操作データ列を選択し、この特定の操作データ列を構成するN個の操作データを用いて、前記N個の入力データに対してデータ演算を実行し、N個の出力データを生成する第2の演算手段と、を有することを特徴とする。Nの取り得る値は、2、4、8または16などの2のべき乗で表される値が好ましいが、それ以外の数値であってもかまわない。ちなみに、Nの値は、プロセッサの仕様が許す限り大きな値を選定するのが望ましく、これによって並列処理能力は高くなる。   (2) The present invention provides an ultrasonic diagnostic apparatus processor for parallel processing of N pieces of input data (where N is an integer equal to or greater than 2) obtained by transmission / reception of ultrasonic waves. First arithmetic means for comparing N pieces of comparison data to generate N pieces of comparison result data, N representative bits are extracted from the N pieces of comparison result data, and a representative bit string is determined by the representative bits. Representative bit string extraction means to be generated, an operation table storing a plurality of operation data strings corresponding to bit patterns that can be represented by the representative bit string, and specific operation data according to the representative bit string from among the plurality of operation data strings A column is selected, and N operation data constituting this specific operation data sequence is used to perform data operation on the N input data to generate N output data. And having a second calculating means. The possible value of N is preferably a value represented by a power of 2, such as 2, 4, 8 or 16, but may be any other numerical value. Incidentally, it is desirable to select a value of N that is as large as the specifications of the processor allow, which increases the parallel processing capability.

(3)本発明は、超音波の送受信により得られた入力データ列を構成する各入力データを並列処理する超音波診断装置用プロセッサにおいて、前記超音波診断装置用プロセッサは、演算部と記憶部とを有し、前記演算部は、前記入力データ列と比較データ列との算術演算により比較結果データ列を生成し、前記比較結果データ列を構成する各比較結果データから代表ビットを抽出し、それらの代表ビットによって代表ビット列を生成し、予め用意された前記複数の操作データ列の中から前記代表ビット列に応じて選択された特定の操作データ列を用いて、前記入力データ列に対するデータ演算を実行して出力データ列を生成し、前記記憶部には、前記複数の操作データ列が格納され、前記複数の操作データ列は、前記代表ビット列が表し得るビットパターンに対応することを特徴とする。上記構成によれば、入力データ列と比較データ列との算術演算により比較結果データ列を生成する機能と、各比較結果データから代表ビットを抽出し代表ビット列を生成する機能と、予め用意された複数の操作データ列の中から選択された特定の操作データ列を用いて、入力データ列に対するデータ演算を実行して出力データ列を生成する機能が、共通の演算部によって達成される。   (3) The present invention relates to a processor for an ultrasonic diagnostic apparatus that processes in parallel each input data that constitutes an input data sequence obtained by transmission and reception of ultrasonic waves. The processor for an ultrasonic diagnostic apparatus includes a calculation unit and a storage unit. And the arithmetic unit generates a comparison result data string by an arithmetic operation of the input data string and the comparison data string, and extracts representative bits from each comparison result data constituting the comparison result data string, A representative bit string is generated from these representative bits, and a data operation on the input data string is performed using a specific operation data string selected according to the representative bit string from the plurality of operation data strings prepared in advance. And generating an output data string, and the storage unit stores the plurality of operation data strings, and the plurality of operation data strings may be represented by the representative bit string Characterized in that it corresponds to the Ttopatan. According to the above configuration, a function for generating a comparison result data string by an arithmetic operation of an input data string and a comparison data string, a function for extracting a representative bit from each comparison result data, and generating a representative bit string are prepared in advance. The function of executing the data operation on the input data string and generating the output data string using the specific operation data string selected from the plurality of operation data strings is achieved by the common calculation unit.

以上説明したように、本発明によれば、演算の並進処理を維持した状態で高速なデータ演算を実行できる。そのために、例えば、条件分岐処理に相当する処理であっても、分岐が発生しないので、入力データ列について処理の流れが乱されることなく、高速な演算処理が可能になる。   As described above, according to the present invention, high-speed data computation can be executed while maintaining the translation processing of computation. Therefore, for example, even in the process corresponding to the conditional branch process, no branch occurs, so that high-speed arithmetic processing can be performed without disturbing the process flow for the input data string.

以下、本発明の好適な実施の形態を図面に基づいて説明する。   DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described with reference to the drawings.

図1は本発明に係るプロセッサが搭載される超音波診断装置の全体的構成を示すブロック図である。図1のシステム制御部30は、当該超音波診断装置を統括的に制御する役割をもち、システム制御部30の中には全体制御を行うCPU31が搭載されている。また、このシステム制御部30は図1に示す各ユニットに対して制御タイミングの基本となる信号等を出力している。   FIG. 1 is a block diagram showing an overall configuration of an ultrasonic diagnostic apparatus in which a processor according to the present invention is mounted. The system control unit 30 in FIG. 1 has a role of comprehensively controlling the ultrasonic diagnostic apparatus, and the system control unit 30 includes a CPU 31 that performs overall control. Further, the system control unit 30 outputs a signal or the like as a basis of control timing to each unit shown in FIG.

送信ビームフォーマー18は、複数の送信遅延回路を有しており、各々の送信遅延回路の出力信号は、探触子10の内部にある各々の振動素子に供給される。複数の送信遅延回路は、システム制御部30から出力された制御タイミングの基本信号に基づいて駆動されており、探触子10の中に配列された複数の振動素子に対して、遅延時間が制御された送信信号が出力されている。   The transmission beam former 18 has a plurality of transmission delay circuits, and an output signal of each transmission delay circuit is supplied to each vibration element in the probe 10. The plurality of transmission delay circuits are driven based on the basic signal of the control timing output from the system control unit 30, and the delay time is controlled for the plurality of vibration elements arranged in the probe 10. The transmitted signal is output.

探触子10は、多数の振動素子を配列して構成されたアレイ振動子を有している。それぞれの振動素子は、生体に向けてタイミング制御された送信信号により超音波を送信する。生体に向けて送信した超音波は、生体からの反射波として受信される。図1において、この超音波の送受信の状態は1本の超音波ビームBとして概念的に示されている。この超音波ビームBを電子的に走査することによりセクタ形状の走査面14が形成される。この走査面14はデータ取り込み面であり、振動子からの距離を示すrと走査角θとを用いてデータの取り込み位置が把握される。本実施形態においてはセクタ走査方式を例示しているが、リニア走査、コンベックス走査、ラジアル走査及びその他の走査方式を採用することもできる。   The probe 10 has an array transducer configured by arranging a large number of transducer elements. Each vibration element transmits an ultrasonic wave by a transmission signal whose timing is controlled toward a living body. The ultrasonic wave transmitted toward the living body is received as a reflected wave from the living body. In FIG. 1, this ultrasonic transmission / reception state is conceptually shown as a single ultrasonic beam B. By scanning the ultrasonic beam B electronically, a sector-shaped scanning surface 14 is formed. The scanning plane 14 is a data capturing plane, and the data capturing position is grasped using r indicating the distance from the transducer and the scanning angle θ. In the present embodiment, the sector scanning method is illustrated, but linear scanning, convex scanning, radial scanning, and other scanning methods can also be employed.

受信ビームフォーマー16は、複数のA/D変換回路、複数の受信波位相整合回路、及び加算回路を備える。図示されていない各A/D変換回路は、各振動素子で受信されたエコー信号をデジタルデータに変換する機能をもつ。また、各受信波位相整合回路は各エコー信号の遅延量を制御して位相を揃える機能をもち、加算回路は位相整合された複数のエコー信号を加算する機能をもつ。探触子10で得られた複数のエコー信号は、受信ビームフォーマー16によって整相加算され1つのエコーデータが形成され、それがビーム処理部20に送られる。   The reception beam former 16 includes a plurality of A / D conversion circuits, a plurality of reception wave phase matching circuits, and an addition circuit. Each A / D conversion circuit (not shown) has a function of converting an echo signal received by each vibration element into digital data. Each received wave phase matching circuit has a function of controlling the delay amount of each echo signal to align the phases, and an adding circuit has a function of adding a plurality of phase-matched echo signals. The plurality of echo signals obtained by the probe 10 are phased and added by the reception beam former 16 to form one echo data, which is sent to the beam processing unit 20.

ビーム処理部20においては、受信ビームフォーマー16から送られるエコーデータに対して、以下のような信号処理が順次行われる。すなわち、受信した高周波信号の包絡線を検出するための検波処理、信号の輝度を補正するためのダイナミックレンジの圧縮処理などの処理である。このような信号処理を行うために、ビーム処理部には複数のDSP34が搭載されている。各DSP34は、所定のプログラムを実行して信号処理を行う。そして、信号処理が終了したエコーデータは次段の画像処理部22に送られる。   In the beam processing unit 20, the following signal processing is sequentially performed on the echo data transmitted from the reception beam former 16. That is, processing such as detection processing for detecting an envelope of a received high-frequency signal and dynamic range compression processing for correcting the luminance of the signal. In order to perform such signal processing, a plurality of DSPs 34 are mounted on the beam processing unit. Each DSP 34 performs signal processing by executing a predetermined program. The echo data for which signal processing has been completed is sent to the image processing unit 22 at the next stage.

画像処理部22においては、エコーデータに対する閾値処理、2値化処理などの変換処理が行われる。画像処理部22では、当該超音波診断装置の動作モードに応じて様々な処理が行われる場合がある。例えば、Bモード画像上でのカラードップラ法による血流画像の表示を行う場合には、画像処理部22では空間フィルタ処理などが行われる。この画像処理部22においても複数の画像データ処理用のDSP36が使用されている。画像処理部22から出力されたエコーデータは、次段のデジタルスキャンコンバータ(DSC)24に送られる。   In the image processing unit 22, conversion processing such as threshold processing and binarization processing is performed on the echo data. In the image processing unit 22, various processes may be performed depending on the operation mode of the ultrasonic diagnostic apparatus. For example, when displaying a blood flow image on a B-mode image by the color Doppler method, the image processing unit 22 performs spatial filter processing and the like. The image processing unit 22 also uses a plurality of image data processing DSPs 36. The echo data output from the image processing unit 22 is sent to a digital scan converter (DSC) 24 at the next stage.

DSC24においては画像データが作成される。DSC24の内部には画像メモリが設けられ、座標変換機能と補間処理機能とを備えている。座標変換処理を行うことによって、送受波座標系で管理されるエコーデータは、表示座標系で管理される画像データに変換される。このような画像データの作製処理にもDSP38が使用されている。   In the DSC 24, image data is created. An image memory is provided inside the DSC 24 and has a coordinate conversion function and an interpolation processing function. By performing the coordinate conversion process, the echo data managed in the transmission / reception coordinate system is converted into image data managed in the display coordinate system. The DSP 38 is also used for such image data production processing.

ビデオ出力部26は、DSC24から出力された画像データを、表示部28で画像表示するためのモニタ信号に変換する。表示部28としては一般的にCRTやLCDが用いられる。表示部28には、例えば、Bモード表示で、セクタ形状の走査面14に対応した断層画像が表示される。   The video output unit 26 converts the image data output from the DSC 24 into a monitor signal for displaying an image on the display unit 28. A CRT or LCD is generally used as the display unit 28. For example, a tomographic image corresponding to the sector-shaped scanning plane 14 is displayed on the display unit 28 in B mode display.

操作パネル32は、キーボードやトラックボール等のデータ入力機器を有している。操作パネルはシステム制御部30と電気的に接続されており、操作パネル32から入力されたデータは、システム制御部30において、そのデータを保存することができる。システム制御部30に保存されるデータとしては、閾値処理のための閾値や折り返し補正処理のための位相角などがあげられる。   The operation panel 32 has data input devices such as a keyboard and a trackball. The operation panel is electrically connected to the system control unit 30, and data input from the operation panel 32 can be stored in the system control unit 30. Examples of data stored in the system control unit 30 include a threshold value for threshold processing and a phase angle for aliasing correction processing.

以上、説明したように、超音波診断装置の内部には、本実施形態においてはシステム制御のためのCPU31と、エコーデータ処理のための複数のDSP34、36、38などの複数のプロセッサが使用されている。   As described above, in the present embodiment, a CPU 31 for system control and a plurality of processors such as a plurality of DSPs 34, 36, and 38 for echo data processing are used in this embodiment. ing.

図2には、本発明の実施形態である超音波診断装置用プロセッサの概略ブロック図が示されている。プロセッサ40は、演算器42と内部メモリ44を有し、演算器42は内部メモリ44を経由してデータバス46との間でデータを送受する。システム制御部のCPU31とDSP34,36,38は、データバス46を用いることにより、図示されていない外部メモリを経由して、相互にデータの送受をすることができる。動作の詳細については後述の図5から図21までの図を用いて説明する。   FIG. 2 shows a schematic block diagram of the ultrasonic diagnostic apparatus processor according to the embodiment of the present invention. The processor 40 includes a computing unit 42 and an internal memory 44, and the computing unit 42 transmits and receives data to and from the data bus 46 via the internal memory 44. By using the data bus 46, the CPU 31 and the DSPs 34, 36, and 38 of the system control unit can exchange data with each other via an external memory (not shown). Details of the operation will be described with reference to FIGS. 5 to 21 described later.

本発明の実施形態の具体例の説明に入る前に、従来のエコーデータの処理方法を図3を用いて説明する。図3を用いて説明する内容は、前述した従来技術の課題を補足説明するための内容である。   Prior to describing a specific example of the embodiment of the present invention, a conventional echo data processing method will be described with reference to FIG. The content described with reference to FIG. 3 is a content for supplementary explanation of the above-described problems of the prior art.

図3に示すC言語のプログラム50は閾値処理のためのプログラムである。これは、演算対象データであるエコーデータと閾値を比較して、閾値以上の値については、エコーデータを無処理のままで保存し、閾値未満の値についてはエコーデータを0にするための処理を記述したものである。比較の対象である閾値THは一定値である。このプログラム50の中で用いられるエコーデータは、図4に示すように配列data[i]54に格納されている。図3のプログラム50の1行目は、変数iを回数カウンタとして、繰り返し処理がN回実行されることを示している。2行目は、if文の条件分岐処理を示している。演算対象の値data[i]と閾値THとの大小関係が調べられて、その結果に応じて分岐先が決定される。もし、あるエコーデータdata[i]の値が閾値THより大きな値である場合には、プログラム50の3行目の分岐先に処理が移り、data[i]の値はそのまま配列output[i]に格納される。もし、data[i]の値が閾値TH以下である場合には、プログラム50の5行目の分岐先に処理が移り、output[i]には0が格納される。   A C language program 50 shown in FIG. 3 is a program for threshold processing. This is a process for comparing the echo data, which is data to be calculated, with a threshold value, storing the echo data without processing for values above the threshold value, and setting the echo data to 0 for values below the threshold value. Is described. The threshold value TH to be compared is a constant value. The echo data used in the program 50 is stored in the array data [i] 54 as shown in FIG. The first line of the program 50 in FIG. 3 indicates that the repetition process is executed N times using the variable i as a number counter. The second line shows conditional branch processing of the if statement. The magnitude relationship between the calculation target value data [i] and the threshold value TH is examined, and a branch destination is determined according to the result. If the value of certain echo data data [i] is larger than the threshold value TH, the processing moves to the branch destination of the third line of the program 50, and the value of data [i] is directly changed to the array output [i]. Stored in If the value of data [i] is less than or equal to the threshold value TH, the process moves to the branch destination on the fifth line of the program 50, and 0 is stored in output [i].

図3のプログラム50に示すような閾値処理をSIMD方式による並列演算によって行った場合には、上記のような条件分岐先を指定することができないか、あるいは、条件分岐先を指定できたとしても後続の処理が大幅に乱れてしまうという問題が発生する。例えば、4つのエコーデータを並列処理しようとする場合に、1つのケースとして、1つのデータが閾値THよりも大きく、残りのデータは閾値TH以下であるような場合は十分に発生しうる。このように、判定条件を満足するデータと満足しないデータが混在してしまうと、分岐先を二者択一で選択する処理を行うことは困難である。判定条件が混在するような事態が発生した場合には、一括で読み込んだ4つのデータの並列性を乱して、1つずつ分解して個別に処理するしかなくなり、結局は、1つずつのデータについて閾値との大小関係をそれぞれ判定し、逐次処理することになる。このようにSIMD演算機能を搭載したプロセッサを用いて、並列処理を維持したまま条件分岐処理を実行しようとしても、並列性を維持することができないために高速なデータ処理は望むことはできなかった。そこで、以下に本実施形態を説明する。   When the threshold processing as shown in the program 50 in FIG. 3 is performed by SIMD parallel computation, the conditional branch destination as described above cannot be specified, or the conditional branch destination can be specified. There arises a problem that subsequent processing is greatly disturbed. For example, when four echo data are to be processed in parallel, as one case, one data is larger than the threshold value TH and the remaining data is sufficiently lower than the threshold value TH. As described above, when data that satisfies the determination condition and data that does not satisfy the condition are mixed, it is difficult to perform a process of selecting a branch destination in one of two alternatives. When a situation occurs where the judgment conditions are mixed, the parallelism of the four data read in a batch is disturbed, and the data can only be decomposed and processed individually. The magnitude relationship with the threshold value is determined for each data, and the data is sequentially processed. Even when trying to execute conditional branch processing while maintaining parallel processing using a processor equipped with a SIMD operation function in this way, high-speed data processing cannot be desired because parallelism cannot be maintained. . Therefore, this embodiment will be described below.

図5は、本発明の好適な第1の実施形態の概念図を示したものである。具体的には、エコーデータの大小判断を行うための閾値処理に関する内容を示している。この閾値処理は、図1に記す画像処理部22の中にあるDSP36を用いて実行されるデータ処理である。以下、図5において、閾値処理の説明をデータ処理の流れに沿って詳述する。演算対象の入力データ列70は、4つの入力データから構成されている。具体的には、図5に示す入力データ列70は、各16ビットの4つの入力データ(data[0]、data[1]、data[2]、data[3])から構成されている。入力データ列70は、第1演算器72と第2演算器84に入力される。ここで、第1演算器72に入力される比較データ列74も、4つの比較データから構成されている。第1演算器72では、入力データ列70と比較データ列74とを用いて以下の並列演算が行われる。   FIG. 5 shows a conceptual diagram of a preferred first embodiment of the present invention. Specifically, the contents regarding threshold processing for determining the size of echo data are shown. This threshold processing is data processing executed using the DSP 36 in the image processing unit 22 shown in FIG. Hereinafter, in FIG. 5, the description of the threshold processing will be described in detail along the flow of data processing. The input data string 70 to be calculated is composed of four input data. More specifically, the input data string 70 shown in FIG. 5 is composed of four 16-bit input data (data [0], data [1], data [2], data [3]). The input data string 70 is input to the first calculator 72 and the second calculator 84. Here, the comparison data string 74 input to the first calculator 72 is also composed of four comparison data. In the first computing unit 72, the following parallel computation is performed using the input data string 70 and the comparison data string 74.

図6は、第1演算器72で行われる演算の詳細を示している。第1演算器72に入力された入力データ列70は、比較データ列74との比較のために減算されて、比較結果データ列88が得られる。すなわち、SIMD方式の減算操作により、4つの入力データ(data[0]、data[1]、data[2]、data[3])から、4つの比較データ(TH[0]、TH[1]、TH[2]、TH[3])を一括で減算することによって、4つの比較結果データ(tmp[0]、tmp[1]、tmp[2]、tmp[3])が得られる。ここでは減算を用いているが、比較結果データを得るために減算以外の算術演算、論理演算その他の演算を用いてもかまわない。4つの比較結果データは、入力データと比較データとの大小関係を判断するための手段となる。周知のことであるが、2進数表記の数値の最上位ビットは、数値の正負を表す符号ビットとして使用することができる。従って、この比較結果データ列88についても、各々の比較結果データの最上位ビットである16ビット目を、各々の符号ビット68として使用することができる。すなわち、図6において記号Sで表す4つの符号ビット(S0、S1、S2、S3)は、エコーデータと閾値との大小関係に応じて、“1”または“0”のいずれかの値になる(本明細書においては、2進数表記の数値を“ ”で括って表記する)。ここでは、具体例として、4つの符号ビットの値が決定し、S0=“0”、S1=“1”、S2=“0”、S3=“0”になったとする。この4つの符号ビットを抽出して順に並べると、4ビットの符号ビット列76が作成される。図6に示す例では、記号SIGNで表す符号ビット列76は、“0010”となる。本来、符号ビットは、“0”と“1”のいずれかの値を取るので、4ビットのビットパターンで識別できるのは24=16通りの組み合わせになる。 FIG. 6 shows details of the calculation performed by the first calculator 72. The input data string 70 input to the first calculator 72 is subtracted for comparison with the comparison data string 74 to obtain a comparison result data string 88. That is, four comparison data (TH [0], TH [1]) are converted from four input data (data [0], data [1], data [2], data [3]) by the subtraction operation of the SIMD method. , TH [2], TH [3]) are subtracted collectively to obtain four comparison result data (tmp [0], tmp [1], tmp [2], tmp [3]). Although subtraction is used here, arithmetic operations other than subtraction, logical operations, and other operations may be used to obtain comparison result data. The four comparison result data serve as means for judging the magnitude relationship between the input data and the comparison data. As is well known, the most significant bit of a numerical value in binary notation can be used as a sign bit representing the sign of the numerical value. Therefore, also in this comparison result data string 88, the 16th bit which is the most significant bit of each comparison result data can be used as each sign bit 68. That is, the four code bits (S 0 , S 1 , S 2 , S 3 ) represented by the symbol S in FIG. 6 are either “1” or “0” depending on the magnitude relationship between the echo data and the threshold value. (In this specification, a numerical value in binary notation is enclosed by “”). Here, as a specific example, it is assumed that the values of four sign bits are determined, and S 0 = “0”, S 1 = “1”, S 2 = “0”, and S 3 = “0”. When these four code bits are extracted and arranged in order, a 4-bit code bit string 76 is created. In the example illustrated in FIG. 6, the code bit string 76 represented by the symbol SIGN is “0010”. Originally, the sign bit takes either a value of “0” or “1”, so that there are 2 4 = 16 combinations that can be identified by a 4-bit bit pattern.

次に、図5に示した符号ビット列76と操作テーブルA80について、図7を用いて詳述する。図7においては、符号ビット列76は、前述した“0010”のビットパターンとして例示されている。一方、操作テーブルA80は、16組(16列)の操作データ列92から構成されており、それぞれの操作データ列92は、4つの操作データ90a、90b、90c、90dから構成されている。ある符号ビット列76のビットパターンが決定すると、それに応じて、ある特定の操作データ列82が決定されることが、図に示す矢印94によって示されている。   Next, the code bit string 76 and the operation table A80 shown in FIG. 5 will be described in detail with reference to FIG. In FIG. 7, the code bit string 76 is exemplified as the bit pattern of “0010” described above. On the other hand, the operation table A80 includes 16 sets (16 columns) of operation data strings 92, and each operation data string 92 includes four operation data 90a, 90b, 90c, and 90d. When a bit pattern of a certain code bit string 76 is determined, an arrow 94 shown in the figure indicates that a specific operation data string 82 is determined accordingly.

符号ビット列76を構成する各々の符号ビットの値は、入力データと、閾値の比較データとの大小関係の情報を抽出したものである。閾値処理を実行するためには、符号ビットが“0"であれば、入力データを無変換のまま処理すればよく、逆に、符号ビットが“1"であれば、入力データを0に変換して処理すればよい。これらの変換の必要あるいは不要の選択を行うために、符号ビットの値に応じた操作データとして、0xFFFFあるいはOx0000のいずれかを選択する。0xFFFFと0x0000の閾値処理における選択方法は、以下の2つの方法によって行う。(i)符号ビットが“0”の場合は操作データとして0xFFFFを選択する。(ii)符号ビットが“1”の場合には操作データとして0x0000を選択する。ちなみに、0xFFFFと0x0000はいずれも16進数表記の数値である。ここで、例示した符号ビット列76は、“0010”であるので、4つの符号ビットS0=“0”、S1=“1”、S2=“0”、S3=“0”に応じて選択される4つの操作データを列記すると、0xFFFF、0x0000、0xFFFF、0xFFFFとなる。この4つの操作データは、図7に示した矢印94で指し示す#2の位置の操作データ列としてTABLE_A[8]=0xFFFF、TABLE_A[9]=0x0000、TABLE_A[10]=0xFFFF、TABLE_A[11]=0xFFFFと記されている。この例から分かるように、4つの符号ビットが全て定まれば、それに対応する特定の操作データ列82の組み合わせも自動的に決定することができる。ここで、符号ビット列76が取り得るビットパターンは、“0000”から“1111”までの16通りであるので、特定の操作データ列82は図7に示す#0から#15までの16組の操作データ列のいずれか一つに該当する。操作テーブルA80は、これらの16組の操作データ列を集合することで構成されている。更に、操作データ列92を構成する4つの操作データは、前述の(i)と(ii)の2つのルールに従って、0xFFFF又は0x0000のいずれかに決定される。符号ビット列76で取り得る値がどのような値であっても、それに対応する特定の操作データ列82は操作テーブルA80の中に予め格納してある。なお、操作テーブルA80の実体的な構成は、図2に示すプロセッサ40内の内部メモリ44上に構成されるデータ列の集合である。符号ビット列76のビットパターンに応じて、ある操作データ列92を特定する際には、プログラム内で管理している相対的なメモリアドレス管理番号を使用してもよいし、メモリに割り当てられているハードウェアのアドレス番号を直接に利用してもよい。図7に示すTABLE_A[i]の記号は、メモリアドレス管理番号を示している。ちなみに、操作テーブルA80は、プロセッサ40の外部にある周辺デバイスの記憶部内に構成されてもよい。また、不揮発性のメモリに書き込むことによって、消去できない操作テーブルA80を構成することも可能である。 The value of each code bit constituting the code bit string 76 is obtained by extracting information on the magnitude relationship between the input data and the threshold comparison data. In order to execute threshold processing, if the sign bit is “0”, the input data may be processed without conversion. Conversely, if the sign bit is “1”, the input data is converted to 0. And then process it. In order to select whether conversion is necessary or not, either 0xFFFF or Ox0000 is selected as the operation data corresponding to the value of the sign bit. The selection method in the threshold processing of 0xFFFF and 0x0000 is performed by the following two methods. (I) When the sign bit is “0”, 0xFFFF is selected as operation data. (Ii) When the sign bit is “1”, 0x0000 is selected as operation data. Incidentally, both 0xFFFF and 0x0000 are numbers in hexadecimal notation. Here, since the illustrated code bit string 76 is “0010”, it corresponds to four code bits S 0 = "0", S 1 = "1", S 2 = "0", and S 3 = "0". When the four pieces of operation data selected are listed, they become 0xFFFF, 0x0000, 0xFFFF, and 0xFFFF. These four pieces of operation data are TABLE_A [8] = 0xFFFF, TABLE_A [9] = 0x0000, TABLE_A [10] = 0xFFFF, TABLE_A [11] as the operation data sequence at position # 2 indicated by the arrow 94 shown in FIG. = 0xFFFF. As can be seen from this example, when all four code bits are determined, a combination of specific operation data strings 82 corresponding thereto can be automatically determined. Here, since the bit patterns that can be taken by the code bit string 76 are 16 patterns from “0000” to “1111”, the specific operation data string 82 includes 16 sets of operations from # 0 to # 15 shown in FIG. Corresponds to one of the data columns. The operation table A80 is configured by collecting these 16 sets of operation data strings. Further, the four pieces of operation data constituting the operation data string 92 are determined to be either 0xFFFF or 0x0000 in accordance with the two rules (i) and (ii) described above. Whatever value the sign bit string 76 can take, a specific operation data string 82 corresponding to the value is stored in advance in the operation table A80. The substantial configuration of the operation table A80 is a set of data strings configured on the internal memory 44 in the processor 40 shown in FIG. When a certain operation data string 92 is specified according to the bit pattern of the sign bit string 76, a relative memory address management number managed in the program may be used or assigned to the memory. The hardware address number may be used directly. The symbol TABLE_A [i] shown in FIG. 7 indicates a memory address management number. Incidentally, the operation table A80 may be configured in a storage unit of a peripheral device outside the processor 40. It is also possible to configure an operation table A80 that cannot be erased by writing to a non-volatile memory.

次に、図5に示した特定の操作データ列82、入力データ列70及び第2演算器84の関係を図8に基づいて詳述する。図8は、第2演算器84で行われる演算の内容を示している。第2演算器84に入力された入力データ列70は、特定の操作データ列82との論理積演算を行うことにより、出力データ列86に変換される。すなわち、SIMD方式の論理演算により、4つの入力データ(data[0]、data[1]、data[2]、data[3])に、4つの特定の操作データ(0xFFFF、0x0000、0xFFFF、0xFFFF)を作用させて、一括で論理積を取ることにより、4つの出力データ(out[0]、out[1]、out[2]、out[3])が得られる。周知のことであるが、論理積演算においては、双方のビット単位の入力値が“1”の場合にだけビット単位の出力値が“1”になる。また、ビット単位の入力値に1つでも“0”がある場合にはビット単位の出力値は“0”となる。本実施形態において閾値処理を行うための特定の操作データ列82を構成する4つの特定の操作データは、0xFFFFまたは0x0000のいずれかの値であり、論理積の演算において、0xFFFFを作用させるということは、演算対象である入力データに対して、全く何の変換処理も行わない操作であることを意味する。つまり、入力データは保存処理されてそのまま出力される。一方、0x0000を作用させるということは、演算対象である入力データを0に置き換える変更処理となる。すなわち、0x0000を作用させることは、ゼロへの置換処理となる。図8に示す具体例では、論理積演算にてdata[1]だけを0x0000と作用させているので、out[1]だけが0になる。その他の3つのデータout[0]、out[2]、out[3]は、それぞれの入力データdata[0]、data[2]、data[3]のそのままの値になる。結果として、第2演算部84での論理積演算により適正な閾値処理が行われることにより、出力データ列86が一括で得られる。   Next, the relationship among the specific operation data string 82, the input data string 70, and the second calculator 84 shown in FIG. 5 will be described in detail with reference to FIG. FIG. 8 shows the contents of the calculation performed by the second calculator 84. The input data string 70 input to the second calculator 84 is converted into an output data string 86 by performing a logical AND operation with a specific operation data string 82. That is, four input operation data (data [0], data [1], data [2], data [3]) are converted into four specific operation data (0xFFFF, 0x0000, 0xFFFF, 0xFFFF) by SIMD logical operation. ) To obtain a logical product in a lump, thereby obtaining four output data (out [0], out [1], out [2], out [3]). As is well known, in a logical product operation, the output value in bit units becomes “1” only when the input values in both bit units are “1”. In addition, when even one input value in bit units has “0”, the output value in bit units is “0”. In the present embodiment, the four specific operation data constituting the specific operation data string 82 for performing threshold processing are either 0xFFFF or 0x0000, and 0xFFFF is applied in the logical product operation. Means an operation that does not perform any conversion processing on the input data to be calculated. That is, the input data is stored and output as it is. On the other hand, applying 0x0000 is a change process for replacing the input data to be calculated with 0. That is, applying 0x0000 is a replacement process to zero. In the specific example shown in FIG. 8, only data [1] is operated with 0x0000 in the logical product operation, so only out [1] becomes 0. The other three data out [0], out [2], and out [3] are the values of the input data data [0], data [2], and data [3] as they are. As a result, an appropriate threshold value process is performed by a logical product operation in the second operation unit 84, whereby an output data string 86 is obtained in a lump.

以上、図5の概念図に示したように、エコーデータである入力データ列70が第1演算器72と第2演算器84に入力された段階から、第2演算器84によって出力データ列86が出力される段階に至るまで、4つのデータは全て並進処理されており、演算の足並みが乱されることはない。このように、データ処理の同時並列性を保つことは、高速な実行速度を保つ上で極めて有効である。   As described above, as shown in the conceptual diagram of FIG. 5, the output data string 86 is output by the second calculator 84 from the stage when the input data string 70 as echo data is input to the first calculator 72 and the second calculator 84. The four data are all processed in translation until the stage of outputting is output, so that the order of operations is not disturbed. Thus, maintaining the parallelism of data processing is extremely effective in maintaining a high execution speed.

ちなみに、本実施例においては、前述の(i)と(ii)の2つのルールに従って、符号ビットが“0”の場合は0xFFFFを対応させており、符号ビットが“1”の場合には0x0000を対応させている。しかし、別の適用例としては、符号ビットが“0”の場合は0x0000を対応させて、符号ビットが“1”の場合には0xFFFFを適用させるような他の操作テーブルA2を閾値処理に使用することも可能である。他の操作テーブルA2を用いて閾値処理を行う場合には、符号ビット列76のビットパターンが決定した直後であって、特定の操作データ列82を決定する前に、そのビットパターンを否定論理演算(NOT演算)によって反転させる必要がある。つまり、符号ビット列76の否定論理演算を追加することにより、他の操作テーブルA2を用いても正しい閾値処理の結果を得ることができる。ところが、他の操作テーブルA2を用いると、否定論理演算を実行するための演算の時間が余計に累積されてしまい、処理速度の面で不利な点が生じてしまうことになる。すなわち、演算の高速化を目的として考えると、図示されていない操作テーブルA2を用いるよりも、図7に示す操作テーブルA80を使用することが望ましい。 Incidentally, in this embodiment, according to the two rules (i) and (ii) described above, 0xFFFF is associated when the sign bit is “0”, and 0x0000 when the sign bit is “1”. It corresponds. However, as another application example, another operation table A 2 that corresponds to 0x0000 when the sign bit is “0” and applies 0xFFFF when the sign bit is “1” is used for threshold processing. It is also possible to use it. When threshold processing is performed using another operation table A 2 , immediately after the bit pattern of the sign bit string 76 is determined and before the specific operation data string 82 is determined, the bit pattern is subjected to a negative logic operation. It is necessary to invert by (NOT calculation). That is, it is possible to by adding negative logical operation of the code bit string 76 to obtain a correct result of the threshold processing be another operation table A 2. However, when the other operation table A 2 is used, the calculation time for executing the negative logic operation is accumulated, resulting in a disadvantage in terms of processing speed. That, considering the speed of computation purposes, rather than using the operation table A 2 which are not shown, it is desirable to use an operating table A80 shown in FIG.

次に、参考までに、図9を用いて、図5の概念図に示した閾値処理をプロセッサに実行させる具体的なプログラムの説明を示す。図9に示すプログラム96は全部で4行の式からなっている。なお、C言語にはSIMD演算を表現する演算子が無いため、データを並列に扱う演算子として暫定的に“[]”の記号を使用する。   Next, for reference, a specific program for causing the processor to execute the threshold processing shown in the conceptual diagram of FIG. 5 will be described with reference to FIG. The program 96 shown in FIG. 9 consists of four lines in total. Since there is no operator that expresses SIMD operations in the C language, the symbol “[]” is provisionally used as an operator that handles data in parallel.

プログラム96の1行目に記す式tmp[]=data[]−TH[]は、SIMD方式による並列の減算処理を示す式であり、第1演算器72で行う演算に相当する。すなわち、入力データ列data[]を構成する4つの入力データ(data[0]、data[1]、data[2]、data[3])から、比較データ列TH[]を構成する4つの比較データ(TH[0]、TH[1]、TH[2]、TH[3])を一括で減算することによって、比較結果データ列tmp[]を構成する4つの比較結果データ(tmp[0]、tmp[1]、tmp[2]、tmp[3])が得られる。   An expression tmp [] = data [] − TH [] written in the first line of the program 96 is an expression indicating parallel subtraction processing by the SIMD method, and corresponds to an operation performed by the first calculator 72. That is, four comparisons constituting the comparison data string TH [] are made from the four input data (data [0], data [1], data [2], data [3]) constituting the input data string data []. By subtracting the data (TH [0], TH [1], TH [2], TH [3]) all at once, the four comparison result data (tmp [0]) constituting the comparison result data string tmp [] , Tmp [1], tmp [2], tmp [3]).

プログラム96の2行目に記す式は、比較結果データ列tmp[]から符号ビットSが抽出されて、符号ビット列SIGNが生成される処理を示す式である。本実施形態のSIMD処理が可能なプロセッサでは、符号ビットに相当するビットを検出する機能を内蔵している。そのため、2行目の式に示したようなシフト命令や論理積演算等を行うことなく、直接的にSIGNのビットパターンに相当するデータを導出することができる。従って、符号ビットの抽出処理及び符号ビット列SIGNの生成処理において並列演算の足並みを乱すことはない。ちなみに、2行目に記す式は、符号ビットの抽出処理と符号ビット列SIGNの生成処理について演算方法を例示したものである。まず(tmp[3]>>12)の部分については、2進数表記のデータとしての比較結果データtmp[3]を右に12桁シフトさせる。すると、tmp[3]の最上位16ビット目に位置していた符号ビットの数値は、最下位ビットから数えて4番目のビットに移動される。12桁右シフトした後の2進数表記データに対して0x8との論理積を行うことにより4桁目のみが“1”か“0”かのビット判定が行われる。他の3つの入力データtmp[2]、tmp[1]、tmp[0]についても同様の処理が行われる。すなわち、tmp[2]の符号ビットは、右に13桁シフトさせることで3桁目に移動し0x4との論理積を行うことで3桁目のみのビット判定が行われる。tmp[1]の符号ビットは、右に14桁シフトさせることで2桁目に移動し0x2との論理積を行うことで2桁目のみのビット判定が行われる。tmp[0]の符号ビットは、右に15桁シフトさせることで1桁目に移動し0x1との論理積を行うことで1桁目のみのビット判定が行われる。4桁目、3桁目、2桁目及び1桁目の各々についてビット判定が行われた4つのビット判定のデータは、4つの論理和を取ることにより1つのデータに集約される。4つの符号ビットを1つのデータに集約することにより、4ビットの符号ビット列SIGNのビットパターンが形成される。(実際にはプロセッサ内ではシフト命令や論理積に相当する抽出処理が実行されるだけであり、各データごとの並列性が乱されることはない)なお、正負の判定を行う手段としては、符号ビットが最適であるので利用されるが、抽出されるビットは任意の桁のビットを抽出してもかまわない。例えば、第1演算器72で算術演算を行った上で、最上位ビット以外のある特定のビットを代表ビットとして抽出し、それらの代表ビットから代表ビット列を集積することも可能である。   The expression described in the second line of the program 96 is an expression showing a process in which the sign bit S is extracted from the comparison result data string tmp [] and the sign bit string SIGN is generated. The processor capable of SIMD processing according to the present embodiment has a function of detecting a bit corresponding to a sign bit. Therefore, data corresponding to the SIGN bit pattern can be directly derived without performing a shift instruction, a logical product operation, or the like as shown in the expression on the second row. Accordingly, the parallel operation is not disturbed in the sign bit extraction process and the sign bit string SIGN generation process. Incidentally, the expression described in the second row illustrates the calculation method for the sign bit extraction process and the sign bit string SIGN generation process. First, for the part (tmp [3] >> 12), the comparison result data tmp [3] as data in binary notation is shifted to the right by 12 digits. Then, the numerical value of the sign bit located at the 16th most significant bit of tmp [3] is moved to the 4th bit counted from the least significant bit. By performing a logical product with 0x8 on the binary notation data after the right shift by 12 digits, bit determination is made as to whether only the fourth digit is “1” or “0”. Similar processing is performed for the other three input data tmp [2], tmp [1], and tmp [0]. In other words, the sign bit of tmp [2] is shifted to the right by 13 digits and moved to the third digit, and bit judgment of only the third digit is performed by performing a logical product with 0x4. The sign bit of tmp [1] is shifted to the right by 14 digits, moved to the second digit, and is subjected to a logical AND with 0x2, whereby only the second digit is determined. The sign bit of tmp [0] is shifted to the right by 15 digits, moved to the first digit, and is subjected to a logical product with 0x1 to determine the bit of only the first digit. The data of the four bit determinations for which the bit determination is performed for each of the fourth digit, the third digit, the second digit, and the first digit are collected into one data by taking four logical sums. By consolidating four code bits into one data, a bit pattern of a 4-bit code bit string SIGN is formed. (In fact, only the extraction process corresponding to the shift instruction and logical product is executed in the processor, and the parallelism for each data is not disturbed.) The sign bit is used because it is optimal, but the extracted bit may be any number of bits. For example, it is also possible to extract a specific bit other than the most significant bit as a representative bit after the arithmetic operation is performed by the first arithmetic unit 72 and accumulate the representative bit string from these representative bits.

プログラム96の3行目に示す式は、操作データ列が格納された操作テーブルA80の中から1つの操作データ列を特定する処理を示す式である。特定の操作データ列は符号ビット列SIGNのビットパターンによって決定される。つまり、符号ビット列SIGNのビットパターンに応じて、操作テーブルA80である配列TABLE_A[]の中から1つの操作データ列が特定される。特定された操作データ列は、式の左辺に記す変数としてのMASKに代入される。   The expression shown in the third line of the program 96 is an expression indicating a process for specifying one operation data string from the operation table A80 in which the operation data string is stored. The specific operation data string is determined by the bit pattern of the sign bit string SIGN. That is, one operation data string is specified from the array TABLE_A [] that is the operation table A80 according to the bit pattern of the sign bit string SIGN. The identified operation data string is substituted into MASK as a variable written on the left side of the expression.

プログラム96の4行目に記す式out[]=data[]&MASK[]は、SIMD方式による並列の論理積演算を示す式である。MASK[]は特定の操作データ列82を示しており、3行目の式で決定した変数MASKと同値である。4行目の式によって、入力データ列70としてのdata[]を構成する4つの入力データ(data[0]、data[1]、data[2]、data[3])と、特定の操作データ列82としてのMASK[]との論理積を取ることによって、出力データ列86としての(out[0]、out[1]、out[2]、out[3])を得ることができる。   The expression out [] = data [] & MASK [] written in the fourth line of the program 96 is an expression showing parallel logical product operation by the SIMD method. MASK [] indicates a specific operation data string 82, which is equivalent to the variable MASK determined by the expression in the third row. Four input data (data [0], data [1], data [2], data [3]) that constitute data [] as the input data string 70 and specific operation data are obtained by the expression in the fourth row. By taking a logical product with MASK [] as the column 82, (out [0], out [1], out [2], out [3]) as the output data sequence 86 can be obtained.

以上のような手順で 閾値処理を行うことにより、4つの入力データを一括して処理することができる。最初の入力データ列(data[0]、data[1]、data[2]、data[3])の閾値処理が完了した後には、後続の入力データ列である(data[4]、data[5]、data[6]、data[7])の閾値処理が順次実行されることは言うまでもない。条件分岐命令を使った逐次判定処理を行わないので、判定条件に相当する処理を高速に行うことができ、逐次処理と比較すると数倍の処理速度を期待できる。   By performing threshold processing according to the above procedure, four input data can be processed in a batch. After the threshold processing of the first input data string (data [0], data [1], data [2], data [3]) is completed, the subsequent input data strings (data [4], data [ It goes without saying that threshold processing of 5], data [6], data [7]) is executed sequentially. Since sequential determination processing using a conditional branch instruction is not performed, processing corresponding to the determination condition can be performed at high speed, and a processing speed several times higher than that of sequential processing can be expected.

次に、本発明の第2の実施形態としてカラードップラ法による血流画像の形成を行う場合における折り返し現象の補正処理について詳述する。カラードップラ法とは、血流で発生する超音波ドップラ効果を利用した血流状態の表示方法である。カラードップラ法は血流を視覚化して表示するための有効な方法であるが、血流速度がサンプリング周期で決定される上限値よりも大きい場合には、血流方向が探触子に近づく方向であるのか、遠ざかる方向であるのか判定できなくなるという側面を有している。これは、偏移周波数がいわゆるナイキスト周波数を越えた場合に発生する折り返し現象として知られており、適切な血流速度の算出を阻害する現象である。そこで、この折り返し速度近傍において、適切な血流速度の平均値を求めるために、速度データに対しては、折り返し補正処理が行われる。   Next, as a second embodiment of the present invention, a correction process for the aliasing phenomenon when a blood flow image is formed by the color Doppler method will be described in detail. The color Doppler method is a method for displaying a blood flow state using an ultrasonic Doppler effect generated in the blood flow. The color Doppler method is an effective method for visualizing and displaying blood flow. However, when the blood flow velocity is larger than the upper limit determined by the sampling period, the direction of blood flow approaches the probe. Or the direction of moving away from each other. This is known as a folding phenomenon that occurs when the deviation frequency exceeds the so-called Nyquist frequency, and is a phenomenon that hinders calculation of an appropriate blood flow velocity. Therefore, in order to obtain an appropriate average value of blood flow velocity in the vicinity of the folding speed, folding correction processing is performed on the speed data.

一般に、カラードップラ法において超音波は生体に対して同一方向に複数回送受信されて、それぞれのエコーデータを基に血流速度の平均値が求められる。この場合に、血流速度の検出上下限が存在するために、血流速度値の中には、折り返したデータが混在する。この血流速度に対して平均化処理などを行う場合、折り返し速度をまたぐデータ同士については、折り返し補正処理をデータ毎に選択的に行う必要がある。以下には、折り返し補正処理に関して、図10から図18までを用いて詳述する。   In general, in the color Doppler method, ultrasonic waves are transmitted / received to / from a living body a plurality of times in the same direction, and an average value of blood flow velocity is obtained based on respective echo data. In this case, since there is an upper and lower limit of blood flow velocity detection, the blood flow velocity value includes folded data. When the averaging process or the like is performed on the blood flow velocity, it is necessary to selectively perform the aliasing correction process for each piece of data between the aliasing speeds. Hereinafter, the aliasing correction process will be described in detail with reference to FIGS. 10 to 18.

図10に示す複素平面のグラフ114は、超音波ドップラ効果に基づいて得られる血流の速度と血流の方向を図示するための概要図を示したものである。速度情報は複素平面上において位相角θをもつベクトルとして記載することができる。図10に示す複素平面グラフ114上では、2つの速度情報の位相としてθ1(符号116)とθ2(符号118)が示されている。θ1とθ2のいずれも、探触子に近づく同一方向の血流を観測することで得られた測定値とする。そうすると、θ1もθ2も正の値(例えば、θ1=130°、θ2=200°)として測定されるのが適切である。しかしながら、ドップラ法で測定される測定値としては、θ2は負の値(例えばθ2=−160°)として測定されてしまう。これを折り返し現象という。測定値をそのまま用いて、単純な平均値である(θ1+θ2)/2の計算をすると、θ2が見かけ上、負の値であるので、図10のグラフ114に記すθaのベクトル120で示される角度が求められる。しかし、θ2は実際には正の値なので、θaのベクトル120の位置は不適切となる。正しい平均値(θ1+θ2)/2の値は、グラフ114に示したθbのベクトル122として表されるのが適正である。   A complex plane graph 114 shown in FIG. 10 is a schematic diagram for illustrating the blood flow velocity and the blood flow direction obtained based on the ultrasonic Doppler effect. The velocity information can be described as a vector having a phase angle θ on the complex plane. On the complex plane graph 114 shown in FIG. 10, θ1 (reference numeral 116) and θ2 (reference numeral 118) are shown as phases of two pieces of velocity information. Both θ1 and θ2 are measured values obtained by observing blood flow in the same direction approaching the probe. Then, it is appropriate that both θ1 and θ2 are measured as positive values (for example, θ1 = 130 °, θ2 = 200 °). However, as a measurement value measured by the Doppler method, θ2 is measured as a negative value (for example, θ2 = −160 °). This is called a folding phenomenon. If the measured value is used as it is and (θ1 + θ2) / 2, which is a simple average value, is calculated, θ2 is apparently a negative value, so the angle indicated by the θa vector 120 shown in the graph 114 of FIG. Is required. However, since θ2 is actually a positive value, the position of the vector 120 of θa is inappropriate. The correct average value (θ1 + θ2) / 2 is properly represented as the vector 122 of θb shown in the graph 114.

そこで、正しい平均値を求めるために、以下に述べる手順で2段階の処理を行う。まず、第1段階の処理として、演算対象の2つの値の角度差の絶対値を求め、その角度差△θが所定角度180°より大きいかどうかを調べる。角度差△θは△θ=|θ1−θ2|の式で表される。角度差△θが180°よりも大きい場合にはベクトルを表す矢印を反転させる必要があると判断し、反対に180°以下である場合には反転させないので何の処理も行わない。反転する必要があると判断された場合には、次の第2段階の処理を行う。第2段階の処理においては、ベクトルを表す矢印を反転させるのに、時計周りの回転方向に180°に反転するか、それとも反時計方向に180°に反転するかを決定する処理を行う。具体的には第2段階の処理においては、単純平均値θavgの計算結果が判断に使用される。単純平均値θavgはθavg=(θ1+θ2)/2の式で表される。θavgの値が0以上の値であれば、単純平均した値から180°を引く。つまり、時計周りの方向に180°回転させることで反転処理を行う。一方、θavgの値が0より小さい値であれば、単純平均した値に180°を加える。つまり、反時計方向に180°回転させることで反転処理を行う。以上のように、単純平均値θavgと角度差△θを求めて、第1段階と第2段階の処理を併せて行うことによって、折り返し補正処理を行うことができる。この2段階の併合処理自体は公知技術と言えるが、本実施形態ではそれをSIMD方式で実現している。   Therefore, in order to obtain a correct average value, a two-stage process is performed according to the procedure described below. First, as a first stage process, an absolute value of an angle difference between two values to be calculated is obtained, and it is checked whether or not the angle difference Δθ is larger than a predetermined angle 180 °. The angle difference Δθ is expressed by the equation Δθ = | θ1-θ2 |. If the angle difference Δθ is greater than 180 °, it is determined that the arrow representing the vector needs to be reversed. Conversely, if it is 180 ° or less, no reversal is performed, so no processing is performed. If it is determined that it is necessary to invert, the next second stage processing is performed. In the second stage of processing, in order to invert the arrow representing the vector, processing for determining whether to invert 180 ° in the clockwise rotation direction or 180 ° in the counterclockwise direction is performed. Specifically, in the second stage process, the calculation result of the simple average value θavg is used for the determination. The simple average value θavg is expressed by the equation θavg = (θ1 + θ2) / 2. If the value of θavg is 0 or more, 180 ° is subtracted from the simple average value. That is, the reversal process is performed by rotating 180 ° in the clockwise direction. On the other hand, if the value of θavg is smaller than 0, 180 ° is added to the simple average value. That is, the reversal process is performed by rotating 180 ° counterclockwise. As described above, the aliasing correction process can be performed by obtaining the simple average value θavg and the angle difference Δθ and performing the first and second stage processes together. Although the two-stage merge process itself can be said to be a known technique, in the present embodiment, this is realized by the SIMD method.

図11は、カラードップラ法の折り返し補正処理の概念図を示したものである。この処理は図1に記す画像処理部22の中にあるDSP36を用いて実行されるデータ処理である。以下、図11を用いて、折り返し補正処理の説明をデータ処理の流れに沿って詳述する。演算対象の入力データ列124は、4つの入力データave_TH[0]、ave_TH[1]、ave_TH[2]、ave_TH[3]から構成されている。ここで、ave_TH[P]は単純平均値{θ(2P+1)+θ(2P+2)}/2(但し、Pは0以上の整数)の値であり、例えばave_TH[0]=(θ1+θ2)/2で求められ、ave_TH[1]=(θ3+θ4)/2で求められる。更に、θ5及びθ6を用いてave_TH[2]の値が求められ、θ7及びθ8を用いてave_TH[3]の値が求められる。ここでそれぞれのθが取り得る値は単なる例示であり、同じ値が含まれていてもよいし、異なる値であってもよい。これらの単純平均値ave_TH[P]は、入力データ列124に代入される前の段階で予め計算で求められている。入力データ列124は、第1演算器126と第2演算器148に入力される。   FIG. 11 shows a conceptual diagram of the aliasing correction processing of the color Doppler method. This processing is data processing executed using the DSP 36 in the image processing unit 22 shown in FIG. Hereinafter, the aliasing correction processing will be described in detail along the flow of data processing with reference to FIG. The calculation target input data string 124 includes four input data ave_TH [0], ave_TH [1], ave_TH [2], and ave_TH [3]. Here, ave_TH [P] is a value of a simple average value {θ (2P + 1) + θ (2P + 2)} / 2 (where P is an integer of 0 or more), for example, ave_TH [0] = (θ1 + θ2) ) / 2, and ave_TH [1] = (θ3 + θ4) / 2. Further, the value of ave_TH [2] is obtained using θ5 and θ6, and the value of ave_TH [3] is obtained using θ7 and θ8. Here, the values that each θ can take are merely examples, and the same values may be included or different values. These simple average values ave_TH [P] are obtained in advance by calculation at a stage before being assigned to the input data string 124. The input data string 124 is input to the first calculator 126 and the second calculator 148.

図12を用いて、第1演算器126で行われる演算の内容を説明する。第1演算器126では、入力データ列124から比較データ列140を減算することにより比較結果データ列152が得られる。折り返し補正処理の実施形態においては、比較データ列140の値は全て0であるので、比較結果データ列152から抽出した4つの符号ビット(S0、S1、S2、S3)の各々の値は、各々の単純平均値ave_TH[]の正負を示すことになる。 The contents of the calculation performed by the first calculator 126 will be described with reference to FIG. In the first computing unit 126, the comparison result data string 152 is obtained by subtracting the comparison data string 140 from the input data string 124. In the embodiment of the aliasing correction process, since all the values of the comparison data string 140 are 0, each of the four code bits (S 0 , S 1 , S 2 , S 3 ) extracted from the comparison result data string 152 is displayed. The value indicates the sign of each simple average value ave_TH [].

次に、図11に示す符号ビット列128と操作テーブルB130との関係について、図13を用いて説明する。図13においては、符号ビット列128は、“0101”を例示のビットパターンとして示している。符号ビット列128を構成する各々の符号ビットの値が“0”であれば、単純平均値を示すベクトル120は、図10に示すグラフ114の実数軸(横軸)より上方の領域に位置していることを示す。従って、符号ビットが“0”であることは、そのベクトル120を反転させようとすると時計回りの方向が適切であることを示している。また、逆に、符号ビットの値が“1”であれば、単純平均値を示すベクトル120は、図10に示すグラフ114の実数軸(横軸)より下方の領域に位置していることを示している。従って、符号ビットが“1”であることは、そのベクトル120を反転させようとすると反時計回りの方向が適切であることを示している。整理すると、符号ビットが“0”であれば、−180°回転の操作データを作用させ、符号ビットが“1”であれば、+180°回転の操作データを作用させればよい。10進数表記の180は16進数表記で0x00B4であることから、図13に示す操作デーブルB130においては、(iii)符号ビットが“0”の場合は0xFF4Cを選択し、(vi)符号ビットが“1”の場合には0x00B4を選択する。操作テーブルB130に格納される操作データの値は、(iii)と(vi)との2つのルールに従って決定されている。図13に示すように、例示のビットパターン“0101”に対応する特定の操作データ列132は、矢印154で指し示す#5の位置の操作データ列132であって、TABLE_B[20]=0xFF4C、TABLE_B[21]=0x00B4、TABLE_B[22]=0xFF4C、TABLE_B[23]=0x00B4となる。特定の操作データ列132は、後述の第2演算器148での論理演算を行う段階では、OFFSET[]という名称の配列に代入される。符号ビット列128のビットパターンがどのような値を取っても、そのビットパターンに対応する特定の操作データ列が操作テーブルB130の中に予め準備されている。例示した符号ビット列128は4ビットであるため、操作テーブルB130は16組の操作データ列から構成されている。もし、SIMDの演算の並列性が高い場合であって、符号ビット列128が8ビットであれば、それに対応して予め準備される操作テーブルB130は256組の操作データ列から構成されることになる。一般的には、代表ビット列がN桁である場合には、予め準備される操作テーブルは2N組の操作データ列から構成される。なお、ここでは角度補正を理解しやすいように±180°を整数値で表現したが、実際には精度を確保するため、±180°を±1.0に正規化して16ビット固定小数点で処理する方がよい。 Next, the relationship between the code bit string 128 and the operation table B130 shown in FIG. 11 will be described with reference to FIG. In FIG. 13, the code bit string 128 indicates “0101” as an example bit pattern. If the value of each code bit constituting the code bit string 128 is “0”, the vector 120 indicating the simple average value is located in a region above the real number axis (horizontal axis) of the graph 114 shown in FIG. Indicates that Therefore, the sign bit being “0” indicates that the clockwise direction is appropriate when the vector 120 is inverted. Conversely, if the value of the sign bit is “1”, it means that the vector 120 indicating the simple average value is located in a region below the real number axis (horizontal axis) of the graph 114 shown in FIG. Show. Therefore, the sign bit being “1” indicates that the counterclockwise direction is appropriate when the vector 120 is inverted. In summary, if the sign bit is “0”, operation data rotated by −180 ° may be applied, and if the sign bit is “1”, operation data rotated by + 180 ° may be applied. Since 180 in decimal notation is 0x00B4 in hexadecimal notation, in the operation table B130 shown in FIG. 13, when the code bit is “0”, 0xFF4C is selected, and (vi) the code bit is “ In the case of “1”, 0x00B4 is selected. The value of the operation data stored in the operation table B130 is determined according to two rules (iii) and (vi). As shown in FIG. 13, the specific operation data string 132 corresponding to the exemplary bit pattern “0101” is the operation data string 132 at the position # 5 indicated by the arrow 154, and TABLE_B [20] = 0xFF4C, TABLE_B [21] = 0x00B4, TABLE_B [22] = 0xFF4C, TABLE_B [23] = 0x00B4. The specific operation data string 132 is assigned to an array named OFFSET [] at the stage of performing a logical operation in the second arithmetic unit 148 described later. Whatever value the bit pattern of the sign bit string 128 takes, a specific operation data string corresponding to the bit pattern is prepared in advance in the operation table B130. Since the illustrated code bit string 128 is 4 bits, the operation table B130 is composed of 16 sets of operation data strings. If the parallelism of SIMD operations is high and the code bit string 128 is 8 bits, the operation table B130 prepared in advance corresponding to the code bit string 128 is composed of 256 sets of operation data strings. . In general, when the representative bit string has N digits, the operation table prepared in advance includes 2 N sets of operation data strings. Here, ± 180 ° is expressed as an integer value so that angle correction can be easily understood. However, in order to ensure accuracy, ± 180 ° is normalized to ± 1.0 and processed with a 16-bit fixed point. Better to do.

図11に戻ってこれまでの演算を確認すると、入力データ列124、第1演算器126、符号ビット列128及び操作テーブルB130に基づいて、特定の操作データ列132が決定され、それによって血流の速度を示すベクトル120を反転する方向を決定する演算を行ってきた。ところで、ベクトルの回転方向の決定とは別に、反転の必要または不要の判定については別の判定条件を必要とするので、その判定条件を導くための演算を行う必要がある。以下には、図11に示す参照データ列156、第3演算器134、符合ビット列136及び操作テーブルC138を用いて決定される反転の必要、不要の判定処理について記す。   Returning to FIG. 11 and confirming the calculation so far, a specific operation data sequence 132 is determined based on the input data sequence 124, the first calculator 126, the sign bit sequence 128, and the operation table B130. An operation for determining the direction in which the vector 120 indicating the speed is reversed has been performed. By the way, in addition to the determination of the vector rotation direction, another determination condition is required for the determination of whether reversal is necessary or unnecessary. Therefore, it is necessary to perform an operation for deriving the determination condition. In the following, the necessity / unnecessity determination processing determined by using the reference data string 156, the third arithmetic unit 134, the sign bit string 136 and the operation table C138 shown in FIG. 11 will be described.

演算対象の参照データ列156は、4つの入力データdelt_TH[0]、delt_TH[1]、delt_TH[2]、delt_TH[3]から構成されている。ここで、delt_TH[P]は、位相差{θ(2P+1)−θ(2P+2)}の絶対値(但し、Pは0以上の整数)の値を示しており、例えばdelt_TH[0]=|θ1−θ2|により求められ、delt_TH[1]=|θ3−θ4|で求められる。これらの角度差delt_TH[P]は、参照データ列156に代入される前の段階で予め計算で求められている。参照データ列156は、第3演算器134に入力される。   The reference data string 156 to be calculated is composed of four input data delt_TH [0], delt_TH [1], delt_TH [2], and delt_TH [3]. Here, delt_TH [P] indicates the absolute value of the phase difference {θ (2P + 1) −θ (2P + 2)} (where P is an integer equal to or greater than 0). For example, delt_TH [0 ] = | Θ1-θ2 |, and delt_TH [1] = | θ3-θ4 |. These angle differences delt_TH [P] are calculated in advance before being assigned to the reference data string 156. The reference data string 156 is input to the third calculator 134.

図11に示す第3演算器134で行われる演算の内容を、図14を用いて説明する。第3演算器134では、参照データ列156から比較データ列158を減算して比較結果データ列160が得られる。反転の要不要の判定が180°との大小関係で判定されるので、比較データ列158に代入される値は全て180となる。つまり、PI[0]=0x00B4、PI[1]=0x00B4、PI[2]=0x00B4、PI[3]=0x00B4となる。比較結果データ列160から抽出した4つの符号ビット(S0、S1、S2、S3)の各々の値は、反転の要不要の判定情報を有している。 The contents of the calculation performed by the third calculator 134 shown in FIG. 11 will be described with reference to FIG. The third computing unit 134 subtracts the comparison data string 158 from the reference data string 156 to obtain a comparison result data string 160. Since the determination as to whether the inversion is necessary is determined based on the magnitude relationship with 180 °, all the values assigned to the comparison data string 158 are 180. That is, PI [0] = 0x00B4, PI [1] = 0x00B4, PI [2] = 0x00B4, PI [3] = 0x00B4. Each value of the four sign bits (S 0 , S 1 , S 2 , S 3 ) extracted from the comparison result data string 160 has determination information that does not need to be inverted.

次に、符号ビット列136と操作テーブルC138の関係について、図15を用いて記す。図15においては、符号ビット列136は、“0110”を例示のビットパターンとして示している。符号ビット列136を構成する各々の符号ビットの値が“0”であれば、角度差の絶対値から180°を減算した値が正または0であることを示しており、反転処理が必要であることを意味する。操作テーブルC138の中から特定される操作データ列162は、前述した回転方向を決定するための特定の操作データ列132と作用させることを前提としている。従って、反転が必要な場合には、0xFFFFの演算子を選択すればよい。あるいは逆に、符号ビットの値が“1”であれば、角度差の絶対値から180°を減算した値が負であることを示しており、反転処理が不要であることを意味する。従って、反転が不要な場合には0x0000の演算子を選択すればよい。図15に示す操作テーブルC138においては、(v)符号ビットが“0”の場合は0xFFFFを選択し、(vi)符号ビットが“1”の場合には0x0000を選択する。操作テーブルC138に格納される全ての操作データの値は、(v)と(vi)との2つのルールに従って決定されている。図15に示すように、例示のビットパターン“0110”に対応する特定の操作データ列162は、矢印164で指し示す#6の位置の操作データ列であってTABLE_B[24]=0xFFFF、TABLE_B[25]=0x0000、TABLE_B[26]=0x0000、TABLE_B[27]=0xFFFFとなる。特定の操作データ列162は、後述の第2演算器148での論理演算を行う段階では、MASK[]という名称の配列に代入される。ちなみに、反転の要不要を決定する目的である操作テーブルC138と、閾値処理を行う目的である操作テーブルA80とは、実質的に同じ操作テーブルとなっている。   Next, the relationship between the code bit string 136 and the operation table C138 will be described with reference to FIG. In FIG. 15, the code bit string 136 indicates “0110” as an example bit pattern. If the value of each sign bit constituting the sign bit string 136 is “0”, it indicates that the value obtained by subtracting 180 ° from the absolute value of the angle difference is positive or 0, and inversion processing is required. Means that. The operation data string 162 specified from the operation table C138 is premised on acting with the specific operation data string 132 for determining the rotation direction described above. Therefore, when inversion is necessary, an operator of 0xFFFF may be selected. On the contrary, if the value of the sign bit is “1”, it indicates that the value obtained by subtracting 180 ° from the absolute value of the angle difference is negative, which means that the inversion process is unnecessary. Therefore, if inversion is not necessary, an operator of 0x0000 may be selected. In the operation table C138 shown in FIG. 15, (v) 0xFFFF is selected when the sign bit is “0”, and (vi) 0x0000 is selected when the sign bit is “1”. The values of all the operation data stored in the operation table C138 are determined according to two rules (v) and (vi). As shown in FIG. 15, the specific operation data string 162 corresponding to the exemplary bit pattern “0110” is the operation data string at position # 6 indicated by the arrow 164, and TABLE_B [24] = 0xFFFF, TABLE_B [25 ] = 0x0000, TABLE_B [26] = 0x0000, TABLE_B [27] = 0xFFFF. The specific operation data string 162 is assigned to an array named MASK [] at the stage of performing a logical operation in the second arithmetic unit 148 described later. Incidentally, the operation table C138, which is the purpose of determining whether reversal is necessary, and the operation table A80, which is the purpose of performing threshold processing, are substantially the same operation table.

次に、図11の第2演算器148で行われる演算について記す。第2演算器148は、論理演算器164と算術演算器166の2つの演算器からなっている。図16には、第2演算器148の一部である論理演算器164で行われるデータ演算の内容が示されている。論理演算器164には、操作テーブルB130の中から導き出された特定の操作データ列132と、操作テーブルC138の中から導き出された特定の操作データ列162と、が入力される。論理演算器164では論理積演算が行われて、派生操作データ列168が求められる。すなわち論理演算器164では、4つの操作テーブルB130から導出された操作データ(OFFSET[0]、OFFSET[1]、OFFSET[2]、OFFSET[3])と、4つの特定の操作データ(MASK[0]、MASK[1]、MASK[2]、MASK[3])との論理積により得られた4つのデータを、再度(OFFSET[0]、OFFSET[1]、OFFSET[2]、OFFSET[3])に上書きして格納する。特定の操作データ列132には、反転の回転方向を指定する+180あるいは−180のいずれかの値が格納されており、特定の操作データ列162に格納されている0xFFFFあるいは0x0000のいずれかの値と作用して、論理積の演算が行われ、派生操作データ列168が得られる。論理積演算が行われることによって、以下に記す3つの処理の中から1つの処理が選択される。つまり、1つは反転が不要な処理であり、もう1つは反転が必要であって反時計回りに180°回転させる処理であり、残りの1つは反転が必要であって時計回りに180°回転させる処理である。このように、異なる2つの操作テーブルから導出される2つの操作データ列を相互に作用させることによって、多様な演算を実行することが可能となる。本実施形態においては、反転が不要な処理については、更に2つに細分化する必要がないので3つのオペレーションからなる処理を並列演算で行うことができる。ちなみに、一般的には2つの操作テーブルを用いれば互いに異なる4つの処理を同時並列の処理で行うことができる。得られた演算結果はOFFSET[]に再度格納されて、次段の算術演算器166で用いられる。   Next, the calculation performed by the second calculator 148 in FIG. 11 will be described. The second computing unit 148 includes two computing units, a logical computing unit 164 and an arithmetic computing unit 166. FIG. 16 shows the contents of the data calculation performed by the logical calculator 164 that is a part of the second calculator 148. A specific operation data string 132 derived from the operation table B130 and a specific operation data string 162 derived from the operation table C138 are input to the logical operator 164. The logical operator 164 performs a logical product operation to obtain a derived operation data string 168. That is, in the logical operator 164, operation data (OFFSET [0], OFFSET [1], OFFSET [2], OFFSET [3]) derived from the four operation tables B130 and four specific operation data (MASK [ 0], MASK [1], MASK [2], MASK [3]), and the four data obtained again (OFFSET [0], OFFSET [1], OFFSET [2], OFFSET [ 3]) is overwritten and stored. The specific operation data string 132 stores either a value of +180 or −180 that specifies the reverse rotation direction, and a value of 0xFFFF or 0x0000 stored in the specific operation data string 162 As a result, a logical product operation is performed, and a derivative operation data string 168 is obtained. By performing the logical product operation, one process is selected from the following three processes. That is, one is a process that does not require reversal, the other is a process that requires reversal and rotates 180 ° counterclockwise, and the other one requires reversal and rotates 180 degrees clockwise. This is a rotation process. In this way, various operations can be executed by causing two operation data strings derived from two different operation tables to interact with each other. In the present embodiment, the processing that does not need to be inverted does not need to be further subdivided into two, so that the processing consisting of three operations can be performed in parallel. By the way, in general, if two operation tables are used, four different processes can be performed simultaneously and in parallel. The obtained calculation result is stored again in OFFSET [] and used in the arithmetic operation unit 166 in the next stage.

図17は、第2演算器148の一部である算術演算器166で行われるデータ演算の内容を示している。算術演算器166には、論理演算器164から出力されるOFFSET[]の派生操作データ列168と、ave_TH[]の入力データ列124とが入力される。算術演算器166では入力データ列124と、論理演算器164の演算結果である派生操作データ列168との加算が行われて、出力データ列170が得られる。算術演算器166で行う操作は、まだ折り返し補正処理が行われていない個々の入力データave_TH[0]、ave_TH[1]、ave_TH[2]、ave_TH[3]を、適切に折り返し補正処理が施されたデータに修正するための操作とみなすことができる。適切なデータに修正するために、前述した3つのオペレーションのいずれか1つの操作が選択的に行われて、出力データ列を構成する各データ(out[0]、out[1]、out[2]、out[3])が作成される。   FIG. 17 shows the contents of the data calculation performed by the arithmetic calculator 166 that is a part of the second calculator 148. The arithmetic operation unit 166 receives the OFFSET [] derived operation data sequence 168 output from the logical operation unit 164 and the input data sequence 124 of ave_TH []. The arithmetic operator 166 adds the input data string 124 and the derived operation data string 168, which is the operation result of the logical operator 164, to obtain an output data string 170. The operation performed by the arithmetic operation unit 166 is performed by appropriately performing the aliasing correction processing on individual input data ave_TH [0], ave_TH [1], ave_TH [2], and ave_TH [3] that have not yet been aliasing corrected. It can be regarded as an operation for correcting the generated data. In order to correct to the appropriate data, any one of the three operations described above is selectively performed, and each data (out [0], out [1], out [2] ], Out [3]).

以上、図11の概念図に示すような演算を行うことにより、流速の単純平均値である入力データ列124が第1演算器126に入力されて符号ビット列128が生成され、操作テーブルB130の中から特定の操作データ列132が選択される。また、参照データ列156が第3演算器134に入力されて符号ビット列136が生成され、操作テーブルC138の中から特定の操作データ列162が選択される。そして、第2演算器148において、操作データ列132と操作データ列162との論理演算が行われる。その論理演算で得られた派生操作データ列168に対して入力データ列124が加算されて、出力データ列170が得られる。このように、演算の全ての段階において4つのデータは全て並進して処理が行われており、演算の足並みが乱されることはない。操作テーブルB130と操作テーブルC138との2つの操作テーブルを用いることによって、3つの操作から選択的に1つの操作を特定するような処理を行うことができる。   As described above, by performing the calculation as shown in the conceptual diagram of FIG. 11, the input data string 124, which is a simple average value of the flow velocity, is input to the first calculator 126 to generate the sign bit string 128, A specific operation data string 132 is selected from the above. Further, the reference data string 156 is input to the third computing unit 134 to generate a sign bit string 136, and a specific operation data string 162 is selected from the operation table C138. Then, the second arithmetic unit 148 performs a logical operation on the operation data string 132 and the operation data string 162. The input data string 124 is added to the derived operation data string 168 obtained by the logical operation, and an output data string 170 is obtained. In this way, all four data are translated and processed at all stages of the calculation, and the steps of the calculation are not disturbed. By using the two operation tables of the operation table B130 and the operation table C138, it is possible to perform processing for selectively specifying one operation from the three operations.

参考までに、次に、図11の概念図に示した折り返し補正処理を、プロセッサに実行させる具体的なプログラムとして記述する。図18に示すプログラム174が、その折り返し補正処理のためのプログラムであり全部で7行の式からなっている。このプログラム174においては、単純平均値のデータ列ave_TH[P]と角度差delt_TH[P]とを演算対象として用いる。ただし、プログラム174を実行する前段階において、単純平均値のデータ列ave_TH[P]と角度差delt_TH[P]は既に求められているものとしている。すなわち、単純平均値{θ(2P+1)+θ(2P+2)}/2(但し、Pは0以上の整数)の値は、配列ave_TH[]に格納済みであり、角度差の絶対値|θ(2P+1)−θ(2P+2)|(但し、Pは0以上の整数)の値についても、配列delt_TH[]に格納済みであるとして、それらのデータを用いた演算を開始する部分から説明を記す。   For reference, next, the aliasing correction process shown in the conceptual diagram of FIG. 11 is described as a specific program for causing the processor to execute. A program 174 shown in FIG. 18 is a program for the aliasing correction process, and is composed of seven lines in total. In the program 174, a simple average value data string ave_TH [P] and an angle difference delt_TH [P] are used as calculation targets. However, it is assumed that the data string ave_TH [P] of the simple average value and the angle difference delt_TH [P] have already been obtained before the execution of the program 174. That is, the value of the simple average value {θ (2P + 1) + θ (2P + 2)} / 2 (where P is an integer greater than or equal to 0) is already stored in the array ave_TH [], and the absolute value of the angle difference For the value of | θ (2P + 1) −θ (2P + 2) | (where P is an integer equal to or greater than 0), it is assumed that the value is already stored in the array delt_TH [], and calculation using those data is started. I will explain from the part to be.

図18に示すプログラム174の1行目に記す式tmp[]=delt_TH[]−PI[]は、SIMD方式による並列の減算処理を示す式である。図14に示す第3演算器134で行われる比較演算に相当する。すなわち、入力データ列delt_TH[]を構成する4つの入力データ(delt_TH[0]、 delt_TH[1]、 delt_TH[2]、 delt_TH[3])から、比較データ列PI[]を構成する4つの比較データ(PI[0]、PI[1]、PI[2]、PI[3])を一括で減算することによって、比較結果データ列tmp[]を構成する4つの比較結果データ(tmp[0]、tmp[1]、tmp[2]、tmp[3])が得られる。   An expression tmp [] = delt_TH []-PI [] written in the first line of the program 174 shown in FIG. 18 is an expression showing parallel subtraction processing by the SIMD method. This corresponds to the comparison calculation performed by the third calculator 134 shown in FIG. That is, four comparisons constituting the comparison data string PI [] from the four input data (delt_TH [0], delt_TH [1], delt_TH [2], delt_TH [3]) constituting the input data string delt_TH []. By subtracting the data (PI [0], PI [1], PI [2], PI [3]) at once, the four comparison result data (tmp [0]) constituting the comparison result data string tmp [] , Tmp [1], tmp [2], tmp [3]).

プログラム174の2行目に記す式は、比較結果データ列tmp[]から符号ビットSが抽出されて、符号ビット列SIGNが生成される処理を示す式である。図14に示す符号ビット列136の生成処理に相当する。2行目の式の右辺の処理について記す。まず(tmp[3]>>12)の部分については、比較結果データtmp[3]の2進数表記のデータを右に12桁シフトさせる。そうすると、tmp[3]の最上位16ビット目に位置していた符号ビットの数値は、最下位ビットから数えて4番目のビットに移動される。次に12桁右シフトした後の数値に対して0x8との論理積を行うこと[(tmp[3]>>12)& 0x8]により、4桁目のみが“1”か“0”かのビット判定が行われる。他の3つの入力データtmp[2]、tmp[1]、tmp[0]についても、同様の処理が行われる。すなわち、tmp[2]の符号ビットは、右に13桁シフトさせることで3桁目に移動し、0x4との論理積を行うことで、3桁目のみが“1”か“0”かのビット判定が行われる。tmp[1]の符号ビットは、右に14桁シフトさせることで2桁目に移動し、0x2との論理積を行うことで、2桁目のみが“1”か“0”かのビット判定が行われる。tmp[0]の符号ビットは、右に15桁シフトさせることで1桁目に移動し、0x1との論理積を行うことで、1桁目のみが“1”か“0”かのビット判定が行われる。4桁目、3桁目、2桁目及び1桁目の合計4つのビット判定のデータは、4つの論理和を取ることにより、1つのデータに集約される。2行目に示す式の中の&記号は論理積を、|記号は論理和の演算を表す。4つの符号ビットを1つのデータに集約することにより符号ビット列SIGNのビットパターンが形成される。   The expression described in the second line of the program 174 is an expression indicating a process in which the sign bit S is extracted from the comparison result data string tmp [] and the sign bit string SIGN is generated. This corresponds to the generation process of the code bit string 136 shown in FIG. The processing on the right side of the expression on the second line will be described. First, for the part (tmp [3] >> 12), the data in binary notation of the comparison result data tmp [3] is shifted to the right by 12 digits. Then, the numerical value of the sign bit located at the 16th most significant bit of tmp [3] is moved to the 4th bit counted from the least significant bit. Next, perform logical AND with 0x8 on the numeric value after shifting right by 12 digits [(tmp [3] >> 12) & 0x8], so that only the fourth digit is “1” or “0” Bit determination is performed. Similar processing is performed for the other three input data tmp [2], tmp [1], and tmp [0]. That is, the sign bit of tmp [2] is moved to the third digit by shifting it to the right by 13 digits, and is logically ANDed with 0x4 so that only the third digit is “1” or “0”. Bit determination is performed. The sign bit of tmp [1] is shifted to the right by 14 digits, moved to the second digit, and logical AND with 0x2 is performed to determine whether only the second digit is “1” or “0” Is done. The sign bit of tmp [0] is shifted to the right by 15 digits to move to the first digit, and by performing a logical AND with 0x1, only the first digit is determined to be “1” or “0”. Is done. A total of four bit determination data in the fourth digit, the third digit, the second digit, and the first digit are collected into one data by taking four logical sums. The & symbol in the expression shown in the second line represents a logical product, and the | symbol represents a logical sum operation. The bit pattern of the sign bit string SIGN is formed by aggregating the four sign bits into one data.

プログラム174の3行目に示す式は、操作データ列が格納された操作テーブルC138の中から、1つの操作データ列を特定する処理を示す式である。図15に示すような、特定の操作テーブル162を特定する処理に相当する。符号ビット列136の操作テーブルC138の符号ビット列SIGNのビットパターンに応じて、操作テーブルC138の配列TABLE_C[]の中から1つの操作データ列が特定され、MASKという特定された操作データ列として決定される。図15に示すように、符号ビット列136がSIGN=“0110”であった場合には、TABLE_C[24]=0xFFFF, TABLE_C[25]=0x0000, TABLE_C[26]=0x0000, TABLE_C[27]=0xFFFFの4つのデータを、特定の操作データとして使用する。図18のプログラムにおいて特定の操作データ列は、MASKという名称で指定される。   The expression shown in the third line of the program 174 is an expression indicating a process for specifying one operation data string from the operation table C138 in which the operation data string is stored. This corresponds to processing for specifying a specific operation table 162 as shown in FIG. One operation data string is specified from the array TABLE_C [] of the operation table C138 according to the bit pattern of the code bit string SIGN of the operation table C138 of the code bit string 136, and determined as the specified operation data string called MASK. . As shown in FIG. 15, when the sign bit string 136 is SIGN = “0110”, TABLE_C [24] = 0xFFFF, TABLE_C [25] = 0x0000, TABLE_C [26] = 0x0000, TABLE_C [27] = 0xFFFF Are used as specific operation data. In the program of FIG. 18, a specific operation data string is designated by the name MASK.

プログラム174の4行目に記す式は、入力データ列ave_TH[]から符号ビットSが抽出されて、符号ビット列SIGN2が生成される処理を示す式である。4行目の式の右辺の処理について記すと、まず(ave_TH[3]>>12)の部分については、入力データave_TH[3]の2進数表記のデータとして右に12桁シフトさせる。そうすると、ave_TH[3]の最上位16ビット目に位置していた符号ビットの数値は、最下位ビットから数えて4番目のビットに移動される。次に12桁右シフトした後の数値に対して0x8との論理積を行うこと{(ave_TH[3]>>12)&0x8}により、4桁目のみが“1”か“0”かのビット判定が行われる。他の3つの入力データave_TH[2]、ave_TH[1]、ave_TH [0]についても、同様の処理が行われる。すなわち、ave_TH [2]の符号ビットは、右に13桁シフトさせることで3桁目に移動し、0x4との論理積を行うことにより3桁目のみが“1”か“0”かのビット判定が行われる。ave_TH[1]の符号ビットは、右に14桁シフトさせることで2桁目に移動し、0x2との論理積を行うことにより2桁目のみが“1”か“0”かのビット判定が行われる。ave_TH [0]の符号ビットは、右に15桁シフトさせることで1桁目に移動し、0x1との論理積を行うことにより1桁目のみが“1”か“0”かのビット判定が行われる。4桁目、3桁目、2桁目及び1桁目の合計4つのビット判定のデータは、4つの論理和を取ることにより、1つのデータに集約される。4つの符号ビットを1つのデータに集約することにより符号ビット列SIGN2のビットパターンが形成される。   The expression described in the fourth line of the program 174 is an expression indicating a process in which the sign bit string SIGN2 is generated by extracting the sign bit S from the input data string ave_TH []. The processing on the right side of the expression on the fourth line will be described. First, the part of (ave_TH [3] >> 12) is shifted to the right by 12 digits as binary notation data of the input data ave_TH [3]. Then, the numerical value of the sign bit located at the 16th most significant bit of ave_TH [3] is moved to the 4th bit counted from the least significant bit. Next, perform logical AND with 0x8 on the numeric value after shifting right by 12 digits {(ave_TH [3] >> 12) & 0x8} so that only the 4th digit is “1” or “0” A determination is made. Similar processing is performed for the other three input data ave_TH [2], ave_TH [1], and ave_TH [0]. In other words, the sign bit of ave_TH [2] is shifted to the third digit by shifting it to the right by 13 digits, and by performing an AND operation with 0x4, only the third digit is a bit that is “1” or “0”. A determination is made. The sign bit of ave_TH [1] moves to the second digit by shifting it 14 digits to the right, and by performing a logical product with 0x2, only the second digit is judged to be “1” or “0”. Done. The sign bit of ave_TH [0] is shifted to the right by 15 digits and moved to the first digit. By performing logical AND with 0x1, only the first digit is judged as “1” or “0”. Done. A total of four bit determination data in the fourth digit, the third digit, the second digit, and the first digit are collected into one data by taking four logical sums. The bit pattern of the sign bit string SIGN2 is formed by aggregating the four sign bits into one data.

5行目に示す式は、操作データ列が格納された操作テーブルB130の中から、1つの操作データ列を特定する処理を示す式である。符号ビット列SIGN2のビットパターンに応じて、操作テーブルB130の配列TABLE_B[]の中から1つの操作データ列が特定され、OFFSETという名称の特定の操作データ列として決定される。具体的な数値を用いると、例えば、符号ビット列SIGN2が“0101”であった場合には、TABLE_B[20]=0xFF4C, TABLE_B[21]=0x00B4, TABLE_B[22]= 0xFF4C, TABLE_B[23]= 0x00B4の4つのデータを、特定の操作データとして使用する。図18のプログラムにおいて特定の操作データ列132は、OFFSETという名称で指定される。   The expression shown in the fifth row is an expression indicating a process for specifying one operation data string from the operation table B130 in which the operation data string is stored. According to the bit pattern of the sign bit string SIGN2, one operation data string is specified from the array TABLE_B [] of the operation table B130, and is determined as a specific operation data string named OFFSET. When a specific numerical value is used, for example, when the code bit string SIGN2 is “0101”, TABLE_B [20] = 0xFF4C, TABLE_B [21] = 0x00B4, TABLE_B [22] = 0xFF4C, TABLE_B [23] = Four pieces of data of 0x00B4 are used as specific operation data. In the program of FIG. 18, a specific operation data string 132 is designated by the name OFFSET.

6行目に記す式OFFSET[]=OFFSET[]&MASK[]は、SIMD方式による並列の論理積演算を示す式である。MASK[]は特定の操作データ列162を示しており、3行目の式で決定した変数MASKと同値である。4行目の式によって、操作データ列132を構成する4つの入力データ(OFFSET[0]、OFFSET[1]、OFFSET[2]、OFFSET[3])と、特定の操作データ列162としてのMASK[]との論理積を取ることによって、派生操作データ列としての(OFFSET[0]、OFFSET[1]、OFFSET[2]、OFFSET [3])を得ることができる。   The expression OFFSET [] = OFFSET [] & MASK [] described in the sixth line is an expression indicating parallel AND operation by the SIMD method. MASK [] indicates a specific operation data string 162, which is equivalent to the variable MASK determined by the expression in the third row. The four input data (OFFSET [0], OFFSET [1], OFFSET [2], OFFSET [3]) constituting the operation data string 132 and the MASK as a specific operation data string 162 are obtained by the expression in the fourth row. By taking a logical product with [], (OFFSET [0], OFFSET [1], OFFSET [2], OFFSET [3]) as a derived operation data string can be obtained.

7行目に記す式out[]=ave_TH[]+OFFSET[]は、SIMD方式による並列の加算演算を示す式である。まだ折り返し補正処理がなされていない入力データ列ave_TH[]に対して、派生操作データ列OFFSET[]を加算することによって、各々のデータに対して選択的に適切な折り返し補正処理がなされて、結果がout[]に格納される。   The expression out [] = ave_TH [] + OFFSET [] written in the seventh line is an expression indicating a parallel addition operation by the SIMD method. By adding the derived operation data string OFFSET [] to the input data string ave_TH [] that has not yet undergone aliasing correction processing, appropriate aliasing correction processing is selectively performed on each data, and the result Is stored in out [].

次に、変形例としてエコーデータの2値化処理について詳述する。本明細書に記す2値化処理とは、画像を構成する画素の輝度値が判定基準値より大きければ1に、小さければ0にする処理のことを示す。具体的な適用例としては、心臓の断層面に係るエコーデータを処理する場合に生体組織部である心筋と、心腔との境界を検出するような場合に適用できる。この2値化処理は、図1に記す画像処理部22の中にあるDSP36によって行われるデータ処理である。   Next, echo data binarization processing will be described in detail as a modification. The binarization process described in this specification indicates a process for setting the luminance value of the pixels constituting the image to 1 if the luminance value is larger than the determination reference value, and to 0 if the luminance value is smaller. As a specific application example, the present invention can be applied to the case where the boundary between the myocardium, which is a biological tissue part, and the heart chamber is detected when echo data relating to the tomographic plane of the heart is processed. This binarization processing is data processing performed by the DSP 36 in the image processing unit 22 shown in FIG.

以下、図19を用いて、2値化処理の演算の流れに沿って詳述する。演算対象の入力データ列178は、4つの入力データから構成されており、第1演算器180に入力される。4つの比較データから構成される比較データ列182も、第1演算器180に入力される。比較データ列182に格納されている値は、例えば、画素の輝度値の明暗を判定するための判定基準値である。第1演算器180では、入力データ列178から比較データ列182を引く減算が行われて、比較結果データ列が生成される。従って、比較結果データ列から抽出した4つの符号ビット(S0、S1、S2、S3)の各々の値は、判定基準値との大小関係の判定結果の情報を有している。符号ビット列184は、4つの符号ビットを集合したものである。 Hereinafter, detailed description will be given along the flow of the binarization processing using FIG. The input data string 178 to be calculated is composed of four input data and is input to the first calculator 180. A comparison data string 182 composed of four comparison data is also input to the first calculator 180. The value stored in the comparison data string 182 is, for example, a determination reference value for determining the brightness of the pixel luminance value. In the first computing unit 180, subtraction is performed by subtracting the comparison data string 182 from the input data string 178 to generate a comparison result data string. Therefore, each value of the four code bits (S 0 , S 1 , S 2 , S 3 ) extracted from the comparison result data string has information on a determination result having a magnitude relationship with the determination reference value. The code bit string 184 is a set of four code bits.

次に、図19に示した符号ビット列184と操作テーブルD186について、図20を用いて詳述する。図20に示す符号ビット列184は、“0010”のビットパターンとして例示されている。一方、図20に示す操作テーブルD186は、16組(16列)の操作データ列から構成されており、それぞれの操作データ列は4つの操作データから構成されている。符号ビット列184のビットパターンが決定すると、それに応じて16組の中から、ある特定の操作データ列188が決定されることが、図20に示す矢印190によって示されている。   Next, the code bit string 184 and the operation table D186 shown in FIG. 19 will be described in detail with reference to FIG. The code bit string 184 shown in FIG. 20 is exemplified as a bit pattern “0010”. On the other hand, the operation table D186 shown in FIG. 20 includes 16 sets (16 columns) of operation data strings, and each operation data string includes four operation data. When the bit pattern of the sign bit string 184 is determined, it is indicated by an arrow 190 shown in FIG. 20 that a specific operation data string 188 is determined from among the 16 sets.

符号ビット列184を構成する各々の符号ビットの値は、入力データと、閾値の比較データとの大小関係の情報を抽出したものである。従って、2値化処理を実行するためには、符号ビットが“0”であれば、入力データを1に置換処理すればよい。逆に、符号ビットが“1”であれば、入力データを0に置換処理すればよい。これらの置換処理の必要、不要の選択を行うために、符号ビットの値に応じた操作データとして、0x0001あるいはOx0000のいずれかを選択する。0x0001と0x0000の2値化処理における選択方法は、以下の2つの方法によって行う。(vii)符号ビットが“0”の場合は0x0001を選択する。(viii)符号ビットが“1”の場合には0x0000を選択する。ここで、例示した符号ビット列184は、“0010”であるので、4つの符号ビットS0=“0”、S1=“1”、S2=“0”、S3=“0”に応じて選択される4つの操作データを列記すると、0x0001、0x0000、0x0001、0x0001となる。この4つの操作データは、図20に示した矢印190で指し示す#2の位置の操作データ列としてTABLE_D[8]=0x0001、TABLE_D[9]=0x0000、TABLE_D[10]=0x0001、TABLE_D[11]=0x0001と記されている。この例から分かるように、4つの符号ビットが全て定まれば、それに対応する特定の操作データ列188の組み合わせも自動的に決定することができる。操作テーブルD186は、この16組の操作データ列を集合することで構成されている。更に、操作データ列を構成する4つの操作データは、前述の(vii)と(viii)の2つのルールに従って、0x0001又は0x0000のいずれかが決定される。符号ビット列184で取り得る値がどのような値であっても、それに対応する特定の操作データ列188は操作テーブルD186の中に予め格納してある。 The value of each code bit constituting the code bit string 184 is obtained by extracting information on the magnitude relationship between the input data and the threshold comparison data. Therefore, in order to execute the binarization process, if the sign bit is “0”, the input data may be replaced with 1. Conversely, if the sign bit is “1”, the input data may be replaced with 0. In order to select whether or not the replacement processing is necessary, either 0x0001 or Ox0000 is selected as operation data corresponding to the value of the sign bit. The selection method in the binarization processing of 0x0001 and 0x0000 is performed by the following two methods. (Vii) When the sign bit is “0”, 0x0001 is selected. (Viii) When the sign bit is “1”, 0x0000 is selected. Here, since the exemplified code bit string 184 is “0010”, it corresponds to four code bits S 0 = "0", S 1 = "1", S 2 = "0", and S 3 = "0". The four pieces of operation data selected in this way are listed as 0x0001, 0x0000, 0x0001, and 0x0001. These four pieces of operation data are TABLE_D [8] = 0x0001, TABLE_D [9] = 0x0000, TABLE_D [10] = 0x0001, TABLE_D [11] as the operation data string at position # 2 indicated by the arrow 190 shown in FIG. = 0x0001. As can be seen from this example, when all four code bits are determined, a combination of specific operation data strings 188 corresponding thereto can be automatically determined. The operation table D186 is configured by collecting these 16 sets of operation data strings. Further, the four operation data constituting the operation data string is determined as either 0x0001 or 0x0000 according to the two rules (vii) and (viii) described above. Whatever value the sign bit string 184 can take, a specific operation data string 188 corresponding to the value is stored in the operation table D186 in advance.

図19に示すように、特定された操作データ列188はそのまま出力データ列192として使用することができる。操作テーブルD186には、2種類の値を予め格納しておくことができるので、2値化処理の場合には、第2演算器を特には必要としない。   As shown in FIG. 19, the specified operation data string 188 can be used as the output data string 192 as it is. Since two types of values can be stored in the operation table D186 in advance, the second arithmetic unit is not particularly required in the case of binarization processing.

図21に示すプログラム194は、2値化処理のためのプログラムを例示したものである。プログラム194の1行目及び2行目で行われる処理は、図9に示す閾値処理のプログラム96の1行目及び2行目で行う処理と実質的に同じである。すなわち、プログラム194の1行目に記す処理によりSIMD方式による並列の減算処理が行われる。そして、プログラム194の2行目に記す処理によって、SIGNで表される4ビットの符号ビット列184が作成される。プログラム194の3行目に示す式は、複数の操作データ列が格納された操作テーブルD186の中から、1つの操作データ列を特定する処理を示す式である。つまり、プログラム194の2行目に示すSIGNのビットパターンに応じて、図20に示す操作テーブルD186の配列TABLE_D[]の中から1つの操作データ列が特定される。そして、その特定の操作データ列188の値は、配列out[]にそのまま代入される。   A program 194 shown in FIG. 21 exemplifies a program for binarization processing. The processing performed in the first and second lines of the program 194 is substantially the same as the processing performed in the first and second lines of the threshold processing program 96 shown in FIG. That is, parallel subtraction processing by the SIMD method is performed by the processing described in the first line of the program 194. Then, a 4-bit code bit string 184 represented by SIGN is created by the processing described in the second line of the program 194. The expression shown in the third line of the program 194 is an expression indicating a process for specifying one operation data string from the operation table D186 in which a plurality of operation data strings are stored. That is, one operation data string is specified from the array TABLE_D [] of the operation table D186 shown in FIG. 20 according to the SIGN bit pattern shown in the second row of the program 194. Then, the value of the specific operation data string 188 is directly assigned to the array out [].

以上のように、2値化処理を行う場合にも、2値化処理のための操作テーブルD186を用いることによって、4つの入力データを一括して処理することが可能となる。但し、図19の概念図に示す2値化処理を行う場合は、図5及び図11等に示した実施形態とは異なり、第2演算器に相当するものは含まれていない。   As described above, even when the binarization process is performed, it is possible to process the four input data at once by using the operation table D186 for the binarization process. However, when the binarization processing shown in the conceptual diagram of FIG. 19 is performed, unlike the embodiments shown in FIGS. 5 and 11 and the like, those corresponding to the second arithmetic unit are not included.

これまで詳述した閾値処理、カラードップラ法による折り返し補正処理及び2値化処理の説明においては、最大のデータバス幅が64ビットの演算器を用いるものであった。そして、1つのデータ長を16ビットとし、16ビット×4データの並列演算が可能なSIMD方式の演算器での例を示した。しかし、SIMD方式のプロセッサで行える演算は、16ビット×4データの場合に限定されるものではない。プロセッサの仕様によっては、32ビット、128ビットもしくは256ビットのデータバス幅を有する場合があり、それらのデータバス幅を、2分割、4分割、8分割又は16分割等のいずれかの分割値の中から1つを選択して並列処理を実行させることも可能である。並列処理を行う場合に、同時に処理できるデータ数はN個(但し、Nは2以上の整数)となる。その場合には、入力データ列、比較データ列、比較結果データ列、特定の操作データ列、出力データ列は全てN個のデータから構成される。なお、代表ビット列の桁数もN桁となる。これらのデータ列の個数あるいは桁数に関してNという数が一致していることは、演算の過程で一貫して並列処理が行われていることを示している。なお、SIMD方式の演算器を複数個備えている場合には、高速化処理の性能改善度は更に大きくなる。   In the description of the threshold processing, the aliasing correction processing using the color Doppler method, and the binarization processing described in detail so far, an arithmetic unit having a maximum data bus width of 64 bits is used. An example of a SIMD type arithmetic unit capable of parallel calculation of 16 bits × 4 data with one data length of 16 bits is shown. However, operations that can be performed by a SIMD processor are not limited to 16 bits × 4 data. Depending on the specifications of the processor, it may have a data bus width of 32 bits, 128 bits, or 256 bits, and the data bus width is divided into two division values, four divisions, eight divisions, 16 divisions, etc. It is also possible to select one of them and execute parallel processing. When performing parallel processing, the number of data that can be processed simultaneously is N (where N is an integer of 2 or more). In that case, the input data string, the comparison data string, the comparison result data string, the specific operation data string, and the output data string are all composed of N pieces of data. The number of digits in the representative bit string is N digits. The coincidence of the numbers N with respect to the number of data strings or the number of digits indicates that parallel processing is consistently performed during the operation. When a plurality of SIMD type arithmetic units are provided, the performance improvement degree of the high-speed processing is further increased.

本発明に係るプロセッサが搭載される超音波診断装置の全体的構成を示すブロック図である。1 is a block diagram showing an overall configuration of an ultrasonic diagnostic apparatus in which a processor according to the present invention is mounted. 本発明の実施形態である超音波診断装置用プロセッサの概略ブロック図である。1 is a schematic block diagram of a processor for an ultrasonic diagnostic apparatus according to an embodiment of the present invention. 従来技術によるエコーデータの処理方法を示すプログラム例を示す図である。It is a figure which shows the example of a program which shows the processing method of the echo data by a prior art. 演算対象のデータを格納する配列data[i]の概要図である。FIG. 5 is a schematic diagram of an array data [i] that stores data to be calculated. 本発明の好適な実施形態の概念図を示した図である。It is the figure which showed the conceptual diagram of suitable embodiment of this invention. 第1演算器で行われる演算の概要説明図である。It is outline | summary explanatory drawing of the calculation performed with a 1st calculator. 符号ビット列と操作テーブルAの対応関係を例示する図である。4 is a diagram illustrating a correspondence relationship between a code bit string and an operation table A. FIG. 第2演算器で行われる演算の概要説明図である。It is outline | summary explanatory drawing of the calculation performed with a 2nd calculator. 図5の概念図に示した閾値処理を、プロセッサに実行させるためのプログラム例を示す図である。It is a figure which shows the example of a program for making a processor perform the threshold value process shown in the conceptual diagram of FIG. 超音波ドップラ効果に基づいて得られる血液情報の速度と向きを図示する複素平面のグラフを示す図である。It is a figure which shows the graph of the complex plane which illustrates the speed and direction of the blood information obtained based on an ultrasonic Doppler effect. カラードップラ法の折り返し補正処理の演算の概念図を示した図である。It is the figure which showed the conceptual diagram of the calculation of the folding correction process of a color Doppler method. 第1演算器で行われる演算の概要説明図である。It is outline | summary explanatory drawing of the calculation performed with a 1st calculator. 符号ビット列と操作テーブルBの対応関係を例示する図である。4 is a diagram illustrating a correspondence relationship between a code bit string and an operation table B. FIG. 第3演算器で行われる演算の概要説明図である。It is a schematic explanatory drawing of the calculation performed with a 3rd calculator. 符号ビット列と操作テーブルCの対応関係を例示する図である。4 is a diagram illustrating a correspondence relationship between a code bit string and an operation table C. FIG. 第2演算器の一部である論理演算器で行われるデータ演算の概念説明図である。It is a conceptual explanatory drawing of the data calculation performed with the logic calculator which is a part of 2nd calculator. 第2演算器の一部である算術演算器で行われるデータ演算の概要説明図である。It is a schematic explanatory drawing of the data calculation performed with the arithmetic calculator which is a part of 2nd calculator. 図11の概念図に示した折り返し補正処理を、プロセッサに実行させるためのプログラム例を示す図である。It is a figure which shows the example of a program for making a processor perform the folding correction | amendment process shown to the conceptual diagram of FIG. 2値化処理の演算の概念図を示した図である。It is the figure which showed the conceptual diagram of the calculation of a binarization process. 符号ビット列と操作テーブルDの対応関係を例示する図である。4 is a diagram illustrating a correspondence relationship between a code bit string and an operation table D. FIG. 図19の概念図に示した2値化処理を、プロセッサに実行させるためのプログラム例を示す図である。It is a figure which shows the example of a program for making a processor perform the binarization process shown to the conceptual diagram of FIG.

符号の説明Explanation of symbols

70 入力データ列、72 第1演算器、74 比較データ列、76 符号ビット列、80 操作テーブルA、82 特定の操作データ列、84 第2演算器、86 出力データ列。   70 input data string, 72 first operator, 74 comparison data string, 76 sign bit string, 80 operation table A, 82 specific operation data string, 84 second operator, 86 output data string.

Claims (9)

超音波の送受信により得られた入力データ列を構成する各入力データを並列処理する超音波診断装置用プロセッサにおいて、
前記入力データ列と比較データ列とを比較して、比較結果データ列を生成する第1の演算手段と、
前記比較結果データ列を構成する各比較結果データから代表ビットを抽出し、それらの代表ビットによって代表ビット列を生成する代表ビット列抽出手段と、
前記代表ビット列が表し得るビットパターンに対応した複数の操作データ列を格納した操作テーブルと、
前記複数の操作データ列の中から前記代表ビット列に応じて選択された特定の操作データ列を用いて、前記入力データ列に対するデータ演算を実行し出力データ列を生成する第2の演算手段と、
を有することを特徴とする超音波診断装置用プロセッサ。
In the processor for an ultrasonic diagnostic apparatus that processes in parallel each input data constituting an input data string obtained by transmission / reception of ultrasonic waves,
A first computing means for comparing the input data string and the comparison data string to generate a comparison result data string;
Representative bit string extracting means for extracting representative bits from each comparison result data constituting the comparison result data string, and generating a representative bit string by those representative bits;
An operation table storing a plurality of operation data strings corresponding to bit patterns that can be represented by the representative bit string;
Using a specific operation data string selected according to the representative bit string from among the plurality of operation data strings, a second calculation means for executing a data operation on the input data string and generating an output data string;
A processor for an ultrasonic diagnostic apparatus, comprising:
請求項1記載の超音波診断装置用プロセッサにおいて、
前記データ演算は、条件分岐処理に相当する論理演算を含むことを特徴とする超音波診断装置用プロセッサ。
The processor for an ultrasonic diagnostic apparatus according to claim 1,
The processor for an ultrasonic diagnostic apparatus, wherein the data operation includes a logical operation corresponding to a conditional branch process.
請求項2記載の超音波診断装置用プロセッサにおいて、
前記データ演算は、更に算術演算を含むことを特徴とする超音波診断装置用プロセッサ。
The processor for an ultrasonic diagnostic apparatus according to claim 2,
The processor for an ultrasonic diagnostic apparatus, wherein the data calculation further includes an arithmetic calculation.
請求項1記載の超音波診断装置用プロセッサにおいて、
前記データ演算は、前記入力データ列を構成する各入力データに対して、前記特定の操作データ列を構成する各操作データを作用させて、前記各入力データの保存処理または変更処理を選択的に実行する演算を含むことを特徴とする超音波診断装置用プロセッサ。
The processor for an ultrasonic diagnostic apparatus according to claim 1,
In the data calculation, each input data constituting the input data string is caused to act on each operation data constituting the specific operation data string, so that the storage process or change process of each input data is selectively performed. A processor for an ultrasonic diagnostic apparatus, comprising an operation to be executed.
請求項1記載の超音波診断装置用プロセッサにおいて、
前記データ演算は、前記入力データ列を構成する各入力データに対して、前記特定の操作データ列を構成する各操作データに応じて生成された派生操作データを作用させて、前記各入力データの保存処理または変更処理を選択的に実行する演算を含むことを特徴とする超音波診断装置用プロセッサ。
The processor for an ultrasonic diagnostic apparatus according to claim 1,
The data calculation is performed by causing derived operation data generated according to each operation data constituting the specific operation data sequence to act on each input data constituting the input data sequence, and A processor for an ultrasonic diagnostic apparatus, comprising an operation for selectively executing a storage process or a change process.
請求項1記載の超音波診断装置用プロセッサにおいて、
前記代表ビット列を構成する各代表ビットは、正負を表わす符号ビットであることを特徴とする超音波診断装置用プロセッサ。
The processor for an ultrasonic diagnostic apparatus according to claim 1,
The processor for an ultrasonic diagnostic apparatus, wherein each representative bit constituting the representative bit string is a sign bit representing positive or negative.
請求項1記載の超音波診断装置用プロセッサにおいて、
前記比較データ列を構成する各比較データは、大小判別のための複数の閾値データであることを特徴とする超音波診断装置用プロセッサ。
The processor for an ultrasonic diagnostic apparatus according to claim 1,
Each of the comparison data constituting the comparison data string is a plurality of threshold data for size discrimination, the ultrasonic diagnostic apparatus processor.
超音波の送受信により得られたN個(但し、Nは2以上の整数)の入力データを並列処理する超音波診断装置用プロセッサにおいて、
前記N個の入力データとN個の比較データとを比較してN個の比較結果データを生成する第1の演算手段と、
前記N個の比較結果データからN個の代表ビットを抽出し、それらの代表ビットによって代表ビット列を生成する代表ビット列抽出手段と、
前記代表ビット列が表し得るビットパターンに対応する複数の操作データ列を格納した操作テーブルと、
前記複数の操作データ列の中から前記代表ビット列に応じて特定の操作データ列を選択し、この特定の操作データ列を構成するN個の操作データを用いて、前記N個の入力データに対してデータ演算を実行し、N個の出力データを生成する第2の演算手段と、
を有することを特徴とする超音波診断装置用プロセッサ。
In a processor for an ultrasonic diagnostic apparatus that processes N pieces of input data (where N is an integer of 2 or more) obtained by transmission / reception of ultrasonic waves in parallel,
First arithmetic means for comparing the N input data and the N comparison data to generate N comparison result data;
Representative bit string extracting means for extracting N representative bits from the N comparison result data and generating a representative bit string by using the representative bits;
An operation table storing a plurality of operation data strings corresponding to bit patterns that can be represented by the representative bit string;
A specific operation data string is selected from the plurality of operation data strings according to the representative bit string, and N pieces of operation data constituting the specific operation data string are used for the N pieces of input data. Second calculation means for executing data calculation and generating N pieces of output data;
A processor for an ultrasonic diagnostic apparatus, comprising:
超音波の送受信により得られた入力データ列を構成する各入力データを並列処理する超音波診断装置用プロセッサにおいて、
前記超音波診断装置用プロセッサは、演算部と記憶部とを有し、
前記演算部は、
前記入力データ列と比較データ列との算術演算により比較結果データ列を生成し、
前記比較結果データ列を構成する各比較結果データから代表ビットを抽出し、それらの代表ビットによって代表ビット列を生成し、
予め用意された前記複数の操作データ列の中から前記代表ビット列に応じて選択された特定の操作データ列を用いて、前記入力データ列に対するデータ演算を実行して出力データ列を生成し、
前記記憶部には、前記複数の操作データ列が格納され、
前記複数の操作データ列は、前記代表ビット列が表し得るビットパターンに対応することを特徴とする超音波診断装置用プロセッサ。

In the processor for an ultrasonic diagnostic apparatus that processes in parallel each input data constituting an input data string obtained by transmission / reception of ultrasonic waves,
The ultrasonic diagnostic apparatus processor includes a calculation unit and a storage unit,
The computing unit is
A comparison result data string is generated by an arithmetic operation of the input data string and the comparison data string,
A representative bit is extracted from each comparison result data constituting the comparison result data string, and a representative bit string is generated by the representative bits,
Using a specific operation data string selected according to the representative bit string from the plurality of operation data strings prepared in advance, generating an output data string by performing a data operation on the input data string,
The storage unit stores the plurality of operation data strings,
The processor for an ultrasonic diagnostic apparatus, wherein the plurality of operation data strings correspond to bit patterns that can be represented by the representative bit string.

JP2006100226A 2006-03-31 2006-03-31 Ultrasound diagnostic processor Expired - Fee Related JP4716911B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006100226A JP4716911B2 (en) 2006-03-31 2006-03-31 Ultrasound diagnostic processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006100226A JP4716911B2 (en) 2006-03-31 2006-03-31 Ultrasound diagnostic processor

Publications (2)

Publication Number Publication Date
JP2007268156A JP2007268156A (en) 2007-10-18
JP4716911B2 true JP4716911B2 (en) 2011-07-06

Family

ID=38671550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006100226A Expired - Fee Related JP4716911B2 (en) 2006-03-31 2006-03-31 Ultrasound diagnostic processor

Country Status (1)

Country Link
JP (1) JP4716911B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05189585A (en) * 1992-01-14 1993-07-30 Nippon Telegr & Teleph Corp <Ntt> Conditional operation control circuit for parallel processing
JPH1153189A (en) * 1997-07-31 1999-02-26 Toshiba Corp Operation unit, operation method and recording medium readable by computer
JP3652518B2 (en) * 1998-07-31 2005-05-25 株式会社リコー SIMD type arithmetic unit and arithmetic processing unit
US6139498A (en) * 1998-12-29 2000-10-31 Ge Diasonics Israel, Ltd. Ultrasound system performing simultaneous parallel computer instructions
JP3487421B2 (en) * 2000-02-16 2004-01-19 日本電気株式会社 SIMD parallel computing device

Also Published As

Publication number Publication date
JP2007268156A (en) 2007-10-18

Similar Documents

Publication Publication Date Title
JP5048175B2 (en) An ultrasound system that executes computer instructions in parallel
CN100373912C (en) Quick double linear interpolating method in image amplification process
JP5022700B2 (en) Ultrasonic diagnostic equipment
JP4716911B2 (en) Ultrasound diagnostic processor
CN104688190A (en) Device for detecting conditions of inner support adhering wall of coronary artery
WO2016204205A1 (en) Detection device, rotation angle detection device, detection method, and program
JP7019803B2 (en) Meteorological radar device, meteorological observation method, and meteorological observation program
CN113839711B (en) Peak detection method based on dynamic threshold distance centroid algorithm
US5910117A (en) Real time color doppler ultrasound imaging
US20130212362A1 (en) Image processing device and data processor
TWI634872B (en) Method for improving quality of an ultrasound image
CN110009559B (en) Image processing method and device
KR101510678B1 (en) Method for Forming Harmonic Image, Ultrasound Medical Apparatus Therefor
US8098913B2 (en) Ultrasonic diagnostic apparatus and image filtering method of the same
JP2000254123A (en) Ultrasoniograph
KR101535854B1 (en) Discrete Fourier transform method using parallel processing algorithm
JP2000339441A (en) Coordinate transformation device
CN116228531A (en) High-performance fan-shaped interpolation method applied to high-frequency multi-beam image sonar
US5388582A (en) Data interpolation processing apparatus
EP4101392A1 (en) Information processing program, information processing apparatus, and method for processing information
JPH10165402A (en) Two-dimensional doppler type ultrasonic diagnostic instrument
JP2008173448A (en) Ultrasonic doppler diagnostic apparatus
KR102031461B1 (en) Apparatus for measuring retained slag in converter and computer readable recording medium
JP4891721B2 (en) Ultrasonic diagnostic equipment
JP4933462B2 (en) Image processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4716911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees