説明

データ処理システムおよび方法

【課題】GPU(graphic processing unit)を用いて高速にデータのフィルタ処理を行うシステムおよび方法が開示されている。
【解決手段】本発明によるデータ処理システムおよび方法は、ビデオメモリを含むGPU(Graphic Processing Unit)を使用して、対象体から複数のピクセルを含むイメージフレームを取得し、そのイメージフレームを処理するためのユーザ入力に従ってイメージフレームの複数のピクセルを所定の個数のピクセルが一つのグループになるようにまとめ、前記グループのそれぞれをビデオメモリのそれぞれのブロックにアップロードし、そのビデオメモリのグループに演算を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システムに関し、特にGPU(graphic processing unit)を用いてデータにフィルタ処理を行うシステムおよび方法に関する。
【背景技術】
【0002】
データ処理システムは、デジタルデータを処理して映像を提供するシステムであって、多様な分野で用いられている。ここでは、データ処理システムの一例として、超音波診断のためのデータ処理システム(以下、超音波システムという)を説明する。
【0003】
超音波システムは、無侵襲および非破壊特性を有しており、対象体内部の情報を得るために医療分野で広く用いられている。超音波システムは、対象体を直接切開して観察する外科手術の必要がなく、対象体の内部組織を高解像度の映像で医師に提供できるので、医療分野で非常に重要なものとして用いられている。
【0004】
一般に、超音波システムは超音波プローブ(probe)、ビームフォーマ(beam former)、データ処理部、スキャン変換部およびディスプレイ部を備える。超音波プローブは、超音波信号を対象体に送信し、対象体から反射される超音波信号(即ち、超音波エコー信号)を受信して受信信号を形成する。超音波プローブは、超音波信号と電気信号を相互変換するように動作する少なくとも一つの変換素子(transducer element)を備える。ビームフォーマは、超音波プローブから提供される受信信号をアナログ/デジタル変換した後、デジタル信号を変換素子の位置および集束点を考慮して時間遅延させ、時間遅延されたデジタル信号を合算して超音波データ(即ち、RFデータ)を形成する。データ処理部は、超音波映像を形成するのに必要な多様なデータ処理を超音波データに行う。スキャン変換部は、データ処理された超音波データがディスプレイ部の表示領域に表示できるように超音波データにスキャン変換を行う。ディスプレイ部は、スキャン変換された超音波データを超音波映像として画面上に表示する。
【0005】
一方、超音波データのデータ処理およびスキャン変換を行うCPU(central processing unit)の負荷を減少させるために、最近は電子ゲーム装置のグラフィックに最適化されたグラフィックチップセット(graphic chipset)であるGPU(graphic processing unit)を用いて超音波データのデータ処理およびスキャン変換が行なわれている。
【0006】
従来は、GPUで超音波データにFIR(finite impulse response)またはIIR(infinite impulse response)フィルタ処理を行うために、フィルタ係数と超音波データとの間でコンボリューション(convolution)演算を行っていた。しかし、このコンボリューション演算を行うにはかなりの時間を要する。これを改善するため、超音波データとフィルタ係数との間でコンボリューション演算を行うことをせずに、速やかにフィルタ処理を行うことができるデータ処理システムが要求されている。
【先行技術文献】
【特許文献】
【0007】
特開2008−161289号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の課題は、GPUを用いてデータのフィルタ処理を高速に行うことができるデータ処理システムおよび方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明によるデータ処理方法は、複数のブロックを含むビデオメモリを備えるGPU(graphic processing unit)を用い、対象体から複数のピクセルで構成されるイメージフレームを得る段階と、前記イメージフレームを処理するためのユーザ入力を受信する段階と、前記イメージフレームの複数のピクセルを、所定の個数のピクセルが一つのグループになるようにまとめる段階と、前記グループのそれぞれを前記ビデオメモリのそれぞれのブロックにアップロードする段階と、前記のユーザ入力に基づいて前記ビデオメモリにアップロードされた前記グループに演算を行う段階と、を備える。
【0010】
本発明によるデータ処理システムは、複数のブロックを含むビデオメモリを備えるGPUを用い、対象体から複数のピクセルで構成されるイメージフレームを得るための手段と、前記イメージフレームを処理するためのユーザ入力を受信するための手段と、前記イメージフレームの複数のピクセルを所定の個数のピクセルが一つのグループになるようにまとめるための手段と、前記グループのそれぞれを前記ビデオメモリのそれぞれのブロックにアップロードする手段と、前記のユーザ入力に基づいて前記ビデオメモリにアップロードされた前記グループに演算を行う手段と、を備える。
【発明の効果】
【0011】
本発明によれば、GPUを用いて高速にデータのフィルタ処理を行うことができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施例における超音波システムの構成を示すブロック図である。
【図2】本発明の実施例におけるデータ取得部の構成を示すブロック図である。
【図3】本発明の実施例におけるプロセッサおよびGPUの構成を示すブロック図である。
【図4】本発明の実施例におけるテクスチャおよび頂点を示す例示図である。
【図5】本発明の実施例におけるイメージフレームおよびテクスチャを示す例示図である。
【図6a】本発明の実施例におけるループ別頂点移動開始ピクセルの位置を示す例示図である。
【図6b】本発明の実施例におけるループ別頂点移動開始ピクセルの位置を示す例示図である。
【図7a】本発明の実施例における頂点の移動方向を示す例示図である。
【図7b】本発明の実施例における頂点の移動方向を示す例示図である。
【図8a】本発明の実施例における再整列テクスチャを示す例示図である。
【図8b】本発明の実施例における再整列テクスチャを示す例示図である。
【図8c】本発明の実施例における再整列テクスチャを示す例示図である。
【図9a】本発明の実施例によって再整列テクスチャにフィルタ係数を加える例を示す例示図である。
【図9b】本発明の実施例によって再整列テクスチャにフィルタ係数を加える例を示す例示図である。
【図9c】本発明の実施例によって再整列テクスチャにフィルタ係数を加える例を示す例示図である。
【発明を実施するための最良の形態】
【0013】
以下、添付した図面を参照して本発明の実施例を説明する。
【0014】
一般に、1次元デジタルデータは1次元行列で表すことができる。また、FIR(finite impulse response)またはIIR(infinite impulse response)フィルタはテプリッツ(Toeplitz)行列で表すことができる。従って、1次元デジタルデータは、1次元行列とFIRまたはIIRフィルタに該当する行列(以下、フィルタ行列という)との間で行列演算を行って、フィルタ処理することができる。また、複数の1次元デジタルデータは、2次元行列で表すことができる。従って、複数の1次元デジタルデータは、2次元行列とFIRまたはIIRフィルタに該当するフィルタ行列との間で行列演算を行って、フィルタ処理することができる。
【0015】
ここで、1次元デジタルデータがn個であり、FIRフィルタ係数(filter coefficient)がh〜hμ、即ちフィルタタップ(tap)数がmであるFIRフィルタ(Ffir)は下記式のようにn×n行列で表すことができる。
【0016】
【数1】

【0017】
ここで、cは、mが偶数の場合、m/2となり、mが奇数の場合、(m+1)/2となる。
【0018】
本発明では、GPU(graphic processing unit)でデータのFIRまたはIIRフィルタ処理を素早く簡便に処理するために、上位シフト行列(upper shift matrix)および下位シフト行列(lower shift matrix)の概念を用いる。以下、4×4行列の例を通じて上位シフト行列および下位シフト行列の概念を説明する。第1の行列(A)、第2の行列(U)および第3の行列(D)は、下記式のような4×4行列と仮定する。ここで、第1の行列(A)はフィルタ処理しようとするデータの行列である。
【0019】
【数2】

【0020】
第1の行列(A)と第2の行列(U)との間の行列演算および第1の行列(A)と第3の行列(D)との間の行列演算は次の通りである。
【0021】
【数3】

【0022】
このように、第1の行列(A)と第2の行列(U)との間で行列演算を行うことにより、第1の行列(A)の行(elements)が上方に一段階シフトされ、また、第1の行列と第3の行列との間で行列演算を行うことによって、第1の行列(A)の行が下方に一段階シフトされる。従って、第2の行列(U)と第3の行列(D)とは、それぞれ上位シフト行列と下位シフト行列とを意味する。
【0023】
同様に、式3で行列演算された行列UAと第2の行列(U)との間で行列演算を行えば、下記式のように第1の行列(A)の行が上方に2段階シフトされ、式3で行列演算された行列DAと第3の行列(D)との間で行列演算を行えば、下記式のように第1の行列(A)の行が下方に2段階シフトされる。
【0024】
【数4】

【0025】
従って、FIRフィルタを示すn×n行列(Ffir)は上位シフト行列と下位シフト行列とを用いて次のように展開して表現される。
【0026】
【数5】

(タップ数であるmが奇数の場合)

(タップ数であるmが偶数の場合) −−−−−−(式5)
【0027】
ここで、各第2の行列(U)と第3の行列(D)との指数部分は第1の行列(A)の行のシフト段数を示す。即ち、第2の行列(U)と第3の行列(D)とが乗じられた個数を示す。
【0028】
IIRフィルタは、FIRフィルタと同様に、差数(degree)によって下記式とテプリッツ行列で示すことができるので、下位シフト行列、即ち第3の行列(D)を用いて差数だけ下位シフト行列に展開して表現される。
【0029】
【数6】

【0030】
もし、第1の行列(A)と第2の行列(U)との間の行列演算および第1の行列(A)と第3の行列(D)との間の行列演算が下記式のように行われれば、第1の行列(A)の行が右側または左側にシフトされる。従って、第2の行列(U)と第3の行列(D)それぞれは、右側シフト行列(right shift matrix)と左側シフト行列(left shift matrix)となる。
【0031】
【数7】

【0032】
このように、FIRまたはIIRフィルタのフィルタ行列は、上位シフト行列と下位シフト行列として展開することによりGPUで効果的に具現できる。
【0033】
以下、添付した図面を参照して本発明の実施例を説明する。本発明によるデータ処理システムの一例として超音波システムを説明する。
【0034】
図1は、本発明の実施例における超音波システム100の構成を示すブロック図である。超音波システム100は、ユーザ入力部110、データ取得部120、プロセッサ130およびGPU(graphic processing unit)140を備えている。この超音波システム100は更に、格納部150、映像形成部160、ディスプレイ部170および制御部180を備えている。
【0035】
ユーザ入力部110は、コントロールパネル(control panel)、マウス(mouse)、キーボード(keyboard)などで具現され、ユーザからユーザ設定情報の入力を受ける。本実施例で、ユーザ設定情報は、フィルタの選択、フィルタ係数(filter coefficient)の選択および頂点(vertex)移動方向の設定を含む。ここで、フィルタは、FIRフィルタおよびIIRフィルタである。頂点(vertex)および頂点移動方向については、後で説明する。このユーザ入力部110は更に、対象体の診断部位を示すアプリケーション(application)の選択、超音波映像を形成する診断モードの選択などの入力を受ける。
【0036】
データ取得部120は、超音波信号を対象体に送信して対象体から反射される超音波信号(即ち、超音波エコー信号)を受信して複数の超音波データを取得する。
【0037】
図2は、本発明の実施例におけるデータ取得部120の構成を示すブロック図である。データ取得部120は、送信信号形成部121、複数の変換素子(transducer element))(図示せず)を含む超音波プローブ122、ビームフォーマ(beam former)123および超音波データ形成部124を備える。
【0038】
送信信号形成部121は、変換素子の位置および集束点を考慮して複数の変換素子のそれぞれに印加される送信信号を形成する。本実施例で送信信号は、超音波映像のイメージフレームを得るための送信信号である。ここで、超音波映像は、対象体から反射される超音波エコー信号の反射係数を2次元の映像で示すBモード(brightness mode)映像、ドップラー効果(doppler effect)を用いて動いている対象体の速度をドップラースペクトル(doppler spectrum)で示すDモード(doppler mode)映像、ドップラー効果を用いて動いる対象体の速度をカラーで示すCモード(color mode)映像、対象体にストレスを加えない時と加えた時の媒質の機械的な反応差を映像で示すEモード(弾性モード)映像などがある。
【0039】
超音波プローブ122は、コンベックスプローブ(convex probe)、リニアプローブ(linear probe)、台形プローブ(trapezoidal probe)、血管内超音波プローブ(IVUS probe)などで具現され、送信信号形成部121から提供される送信信号を超音波信号に変換して対象体に送信し、対象体から反射される超音波エコー信号を受信して複数の受信信号を形成する。
【0040】
ビームフォーマ123は、超音波プローブ122から提供される複数の受信信号をアナログ/デジタル変換する。また、ビームフォーマ123は変換素子の位置および集束点を考慮してデジタル変換された複数の受信信号を受信集束させて複数の受信集束信号を形成する。
【0041】
超音波データ形成部124は、ビームフォーマ123から提供される複数の受信集束信号を用いてイメージフレームに該当する複数の超音波データを形成する。本実施例で超音波データはRF(radio frequency)データおよびIQ(in−phase/quadrature)データを含む。
【0042】
再び図1を参照して、プロセッサ130は、CPU(central processing unit)、FPGA(field programmable gate array)、ASIC(application specific integrated circuit)などで具現され、ユーザ入力部110から提供されるユーザ設定情報に従ってGPU140にテクスチャを形成し、複数の超音波データをGPU140にアップロードする。GPU140は、プロセッサ130によってアップロードされた複数の超音波データにFIRまたはIIRフィルタ処理を行う。
【0043】
以下、図3〜図9を参照して本発明の実施例におけるプロセッサ130およびGPU140を説明する。
【0044】
図3は、本発明の実施例におけるプロセッサ130およびGPU140の構成を示すブロック図である。プロセッサ130は、フレーム情報形成部131、テクスチャ(texture)形成部132、データアップロード部133およびテクスチャ情報形成部134を備える。GPU140は、ビデオメモリ141、頂点移動決定部142、頂点移動部143およびフィルタ処理部144を備える。
【0045】
フレーム情報形成部131は、データ取得部120から提供される複数の超音波データを分析してフレーム情報を形成する。本実施例で、フレーム情報は、超音波データを構成するイメージフレームの高さ(height)および幅(width)を表す第1のサイズ情報と、イメージフレームを構成するピクセルのビットサイズを表す第2のサイズ情報とを含む。
【0046】
テクスチャ形成部132は、フレーム情報形成部131から提供されるフレーム情報を用いてGPU140のビデオメモリ141にテクスチャを形成する。本実施例でテクスチャは、図4に示すように、4つの頂点(vertex)(V1〜V4)からなり、RGBA(Red、Green、Blue、Alpha)チャネルを含む複数のピクセルで構成されている。
【0047】
図4に示すように、テクスチャの複数のピクセルのそれぞれは4つのチャネルで構成されているので、テクスチャ形成部132は図5に示すように、イメージフレームの第1のサイズに対して1/4の広さを有するテクスチャを形成する。即ち、テクスチャ形成部132は、イメージフレームの幅に対して1/4の幅を有するテクスチャを形成する。一例として、テクスチャ形成部132は、図5に示すように、1600(高さ)×1600(幅)のサイズの第1のサイズ情報と、ピクセル当り32ビットサイズの第2のサイズ情報を含むフレーム情報が入力されると、テクスチャ形成部132は、4つの頂点(V1〜V4)を含む、1600(高さ)×400(幅)のサイズおよびピクセル当り128ビットサイズを有するテクスチャをGPU140のビデオメモリ141に形成する。
【0048】
データアップロード部133は、テクスチャがビデオメモリ141に形成されると、データ取得部120から提供される複数の超音波データを64ビットまたは128ビット単位でテクスチャにアップロードする。一例として、データアップロード部133は、図5に示すように、128ビット単位でフレームデータの4つの要素(value1〜value4)をテクスチャの1つのピクセルのRGBAチャネルのそれぞれにアップロードする。
【0049】
テクスチャ情報形成部134は、ユーザ入力部110から提供されるユーザ設定情報を用いて、複数の超音波データがアップロードされたテクスチャに関する情報(以下、テクスチャ情報という)を形成する。本実施例で、テクスチャ情報は、テクスチャのサイズおよび頂点、GPU140で1回に処理可能なテクスチャの個数、ループ(loop)回数、ループ別頂点移動ピクセル数およびフィルタ係数を含む。テクスチャのサイズは、テクスチャの高さおよび幅を表す第1のサイズと、テクスチャをなす複数のピクセルそれぞれのビットサイズを表す第2のサイズとからなる。ループ回数は、頂点の移動方向に沿うテクスチャの処理回数を表す。ループ別頂点移動ピクセル数は、フィルタの種類(FIRまたはIIRフィルタ)およびフィルタ係数によって頂点を移動する回数を表す。
【0050】
一例として、頂点の移動方向が高さ方向であり、フィルタの種類がFIRフィルタであり、フィルタ係数がh0〜h14(即ち、フィルタタップ数が15)であるユーザ設定情報がユーザ入力部110から提供されると、テクスチャ情報形成部134は、GPU140で1回に処理可能なテクスチャの個数(16個)とフィルタ係数の個数(15個)とを比較して1回に処理可能なテクスチャの個数がフィルタ係数の個数より大きければ、ループ回数を1に設定し、頂点移動ピクセル数を−7〜+7に設定する。ここで、−7は頂点を上側または右側に7つのピクセルだけ移動させることを表し、+7は頂点を下側または左側に7つのピクセルだけ移動させることを表す。即ち、−7は第2の行列(U)を7回乗じたことを意味し、+7は第3の行列(D)を7回乗じたことを意味する。テクスチャ情報形成部134は、GPU140に形成されたテクスチャのサイズ(ここで、サイズは1600(高さ)×400(幅)のサイズからなる第1のサイズおよびピクセル当り128ビットサイズからなる第2のサイズを含む)および頂点(V1〜V4)、GPU140で1回に処理可能なテクスチャの個数(16個)、ループ回数(1回)、頂点の移動ピクセル数(−7〜+7)およびフィルタ係数(h0〜h14)を含む第1のテクスチャ情報を形成する。
【0051】
他の例として、頂点の移動方向が高さ方向であり、フィルタの種類がFIRフィルタであり、フィルタ係数がh0〜h31(即ち、フィルタタップ数が32)であるユーザ設定情報がユーザ入力部110から提供されると、テクスチャ情報形成部134はGPU140で1回に処理可能なテクスチャの個数(16個)とフィルタ係数の個数(32個)とを比較して1回に処理可能なテクスチャの個数がフィルタ係数の個数より小さければ、ループ回数を2=32/16に設定し、頂点の移動ピクセル数を−15〜+16に設定する。テクスチャ情報形成部134は、GPU140に形成されたテクスチャのサイズおよび頂点(V1〜V4)、GPU140で1回に処理可能なテクスチャの個数(16個)、ループ回数(2回)、ループ別頂点移動ピクセル数(最初のループでの頂点移動ピクセル数(−15〜0)および2回目のループでの頂点移動ピクセル数(+1〜+16))およびフィルタ係数(h0〜h31)を含む第2のテクスチャ情報を形成する。
【0052】
更に他の例として、頂点の移動方向が高さ方向であり、フィルタの種類がIIRフィルタであり、フィルタ係数がk0〜k319のユーザ設定情報が入力されると、テクスチャ情報形成部134は、GPU140で1回に処理可能なテクスチャの個数(16個)とフィルタ係数の個数(320個)を比較してテクスチャの個数がフィルタタップの数より小さければ、ループ回数を20=320/16に設定し、ループ別頂点移動ピクセル数を0〜+15に設定する。テクスチャ情報形成部134は、GPU140に形成されたテクスチャのサイズおよび頂点(V1〜V4)、GPU140で1回に処理可能なテクスチャの個数(16個)、ループ回数(20回)、ループ別頂点移動ピクセル数(0〜+15)およびフィルタ係数(k0〜k319)を含む第3のテクスチャ情報を形成する。
【0053】
前述した例では、頂点の移動方向(高さ方向)に沿って、−7が頂点を上側に7つのピクセルだけ移動させ、+7が頂点を下側に7つのピクセルだけ移動させるものとして説明したが、他の例では−7が頂点を下側に7つのピクセルだけ移動させ、+7が頂点を上側に7つのピクセルだけ移動させることができ、頂点の移動方向(幅方向)に沿って、−7が頂点を左側または右側に7つのピクセルだけ移動させ、+7が頂点を右側または左側に7つのピクセルだけ移動させることもできる。
【0054】
GPU140のビデオメモリ141は、複数の格納領域を備える。ビデオメモリ141にはテクスチャが形成される。データアップロード部133によりアップロードされる複数の超音波データがテクスチャに格納される。更に、ビデオメモリ141にはユーザ入力部110からのユーザ設定情報およびテクスチャ情報形成部134からのテクスチャ情報も格納することができる。
【0055】
頂点移動決定部142は、データアップロード部133によって複数の超音波データがビデオメモリ141のテクスチャにアップロードされると、ユーザ入力部110から提供されるユーザ設定情報およびテクスチャ情報形成部134から提供されるテクスチャ情報を用いて頂点移動情報を形成する。本実施例で、頂点移動情報は、頂点の移動方向およびループ別頂点移動開始ピクセルの位置を含む。
【0056】
一例として、頂点の移動方向が高さ方向であり、フィルタの種類がFIRフィルタであり、フィルタ係数がh0〜h14であり、GPU140で1回に処理可能なテクスチャの個数が16個であり、図5に示すように1600(高さ)×400(幅)のサイズを有するテクスチャであり、ループ回数が1であり、ループ別頂点移動ピクセル数が−7〜+7の場合、頂点移動決定部142は図6aに示すように頂点(V1またはV2)を基準に頂点移動開始ピクセルの位置をピクセル(P1、1)に設定する。頂点移動決定部142は、頂点の移動方向(高さ方向)およびループ別頂点移動開始ピクセルの位置(P1、1)を含む第1の頂点移動情報を形成する。
【0057】
他の例として、頂点の移動方向が高さ方向であり、フィルタの種類がFIRフィルタであり、フィルタ係数がh0〜h31であり、GPU140で1回に処理可能なテクスチャの個数が16個であり、図5に示すように1600(高さ)×400(幅)のサイズを有するテクスチャであり、ループ回数が2であり、ループ別頂点移動ピクセル数が最初のループで−15〜0であり、2回目のループで+1〜+16の場合、頂点移動決定部142は図6aに示すように、頂点(V1またはV2)を基準にループ別頂点移動開始ピクセルの位置をピクセル(P1、1)に設定する。頂点移動決定部142は、頂点の移動方向(高さ方向)およびループ別頂点移動開始ピクセルの位置(P1、1)を含む第2の頂点移動情報を形成する。
【0058】
他の例として、頂点の移動方向が高さ方向であり、フィルタの種類がIIRフィルタであり、フィルタ係数がk0〜k319であり、GPU140で1回に処理可能なテクスチャの個数が16個であり、図5に示すように1600(高さ)×400(幅)のサイズを有するテクスチャであり、ループ回数が20であり、ループ別頂点移動ピクセル数が0〜+15の場合、頂点移動決定部142は図6bに示すように、頂点(V1またはV2)を基準に最初のループに該当する頂点移動開始ピクセルの位置をピクセル(P1、1)、2回目のループでの頂点移動開始ピクセルの位置をピクセル(P17、1)、3回目のループでの頂点移動開始ピクセルの位置をピクセル(P33、1)、4回目のループでの頂点移動開始ピクセルの位置をピクセル(P49、1)、5回目のループでの頂点移動開始ピクセルの位置をピクセル(P64、1)などに設定する。頂点移動決定部142は、頂点の移動方向(高さ方向)およびループ別頂点移動開始ピクセルの位置(P1、1、P17、1、P33、1、P49、1、P64、1、…)を含む第3の頂点移動情報を形成する。
【0059】
頂点移動部143は、テクスチャ情報形成部134から提供されるテクスチャ情報および頂点移動決定部142から提供される頂点移動情報を用いてテクスチャの頂点を移動させ、テクスチャの頂点位置情報を形成する。
【0060】
一例として、第1のテクスチャ情報および第1の頂点移動情報が入力されると、頂点移動部143は図7aに示すように、頂点移動開始ピクセルの位置(P1、1)を基準に頂点移動ピクセル数に応じてテクスチャの頂点を高さ方向に移動させ、図8aに示すような第1の頂点位置情報を形成する。図8aにおいて、RTは再整列テクスチャを示す。
【0061】
他の例として、第2のテクスチャ情報および第2の頂点移動情報が入力されると、頂点移動部143はループ別頂点移動開始ピクセルの位置(P1、1)を基準に頂点移動ピクセル数に応じてテクスチャの頂点を高さ方向に移動させ、図8bに示すような第2の頂点位置情報を形成する。図8bにおいて、RTは再整列テクスチャを示す。
【0062】
他の例として、第3のテクスチャ情報および第3の頂点移動情報が入力されると、頂点移動部143はループ別頂点移動開始ピクセルの位置(P1、1、P17、1、P33、1、P49、1、P64、1、…)を基準に頂点移動ピクセル数に応じてテクスチャの頂点を高さ方向に移動させ、図8cに示すような第3の頂点位置情報を形成する。図8cにおいて、RTは再整列テクスチャを示す。
【0063】
前述した例では頂点移動情報に従ってテクスチャの頂点を図7aに示すように、高さ方向に移動させるものとして説明したが、他の例では頂点移動情報に従ってテクスチャの頂点を図7bに示すように、幅方向に移動させることもできる。
【0064】
フィルタ処理部144は、テクスチャ情報形成部134から提供されるテクスチャ情報および頂点移動部143から提供される頂点位置情報を用いて複数の超音波データのフィルタ処理を行う。本実施例で、フィルタ処理部144は、頂点位置情報を用いてテクスチャを再整列して複数の再整列テクスチャを形成し、テクスチャ情報を用いて複数の再整列テクスチャRTそれぞれにフィルタ係数を乗じ、フィルタ係数が乗じられた再整列テクスチャRTを行列加算演算し、複数の超音波データにフィルタ処理を行う。
【0065】
一例として、フィルタ処理部144は、図9aに示すように、第1の頂点位置情報に従って最初のループで頂点移動開始ピクセルの位置(P1、1)を基準にテクスチャを再整列して15個の再整列テクスチャRT(−7〜+7)を形成する。フィルタ処理部144は、第1のテクスチャ情報に従って15個の再整列テクスチャRTそれぞれにFIRフィルタ係数(h0〜h14)を乗じる。フィルタ処理部144は、FIRフィルタ係数が乗じられた15個の再整列テクスチャRTを行列加算演算し、複数の超音波データにFIRフィルタ処理を行う。
【0066】
他の例として、フィルタ処理部144は、図9bに示すように、第2の頂点位置情報に従って最初のループで頂点移動開始ピクセルの位置(P1、1)を基準にテクスチャを再整列して16個の再整列テクスチャRT(−15〜0)を形成する。フィルタ処理部144は、第2のテクスチャ情報に従って16個の再整列テクスチャRTそれぞれにFIRフィルタ係数(h0〜h15)を乗じる。フィルタ処理部144は、FIRフィルタ係数が乗じられた再整列テクスチャRTを行列加算演算する。この時、GPU140で1回に処理可能なテクスチャの個数が16個であるので、フィルタ処理部144は行列加算演算されたテクスチャを格納部150に一時格納する。フィルタ処理部144は、第2の頂点位置情報に従って2回目のループで頂点移動開始ピクセルの位置(P1,1)を基準にテクスチャを再整列して16個の再整列テクスチャRT(+1〜+16)を形成する。フィルタ処理部144は、第2のテクスチャ情報に従って16個の再整列テクスチャRTそれぞれにFIRフィルタ係数(h16〜h31)を乗じる。フィルタ処理部144は、格納部150に一時格納されている行列加算演算されたテクスチャとFIRフィルタ係数(h16〜h31)が乗じられた再整列テクスチャRTを行列加算演算し、複数の超音波データにFIRフィルタ処理を行う。
【0067】
他の例として、フィルタ処理部144は、図9cに示すように、第3の頂点位置情報に従って最初のループで頂点移動開始ピクセルの位置(P1、1)を基準にテクスチャを再整列して16個の再整列テクスチャRT(0〜+15)を形成する。フィルタ処理部144は、第3のテクスチャ情報に従って16個の再整列テクスチャRTそれぞれにIIRフィルタ係数(k0〜k15)を乗じる。フィルタ処理部144は、IIRフィルタ係数が乗じられた再整列テクスチャRTを行列加算演算する。この時、GPU140で1回に処理可能なテクスチャの個数が16個であるので、フィルタ処理部144は行列加算演算されたテクスチャを格納部150に一時格納する。フィルタ処理部144は、第3の頂点位置情報に従って2回目のループで頂点移動開始ピクセルの位置(P17,1)を基準にテクスチャを再整列して16個の再整列テクスチャRT(0〜+15)を形成する。フィルタ処理部144は、第3のテクスチャ情報に従って16個の再整列テクスチャRTそれぞれにIIRフィルタ係数(k16〜k31)を乗じる。フィルタ処理部144は、格納部150に一時格納された行列加算演算されたテクスチャとIIRフィルタ係数が乗じられた再整列テクスチャRTを行列加算演算する。フィルタ処理部144は、前記のような過程をループ回数だけ行い、複数の超音波データにIIRフィルタ処理を行う。
【0068】
再び図1を参照して、格納部150は、フィルタ処理部144で行列加算演算されたテクスチャを一時的に格納する。前述した実施例では行列加算演算されたテクスチャは、格納部150に格納されるものとして説明したが、他の実施例では行列加算演算されたテクスチャをビデオメモリ141の格納領域に格納することもできる。
【0069】
映像形成部160は、GPU140でフィルタ処理された複数の超音波データを用いて超音波映像を形成する。ディスプレイ部170は映像形成部160で形成された超音波映像を表示する。
【0070】
制御部180は、超音波データの取得を制御する。また、制御部180は、テクスチャの形成および超音波データのアップロードを制御し、テクスャの処理および超音波データのフィルタ処理を制御する。
【0071】
本発明を望ましい実施例を用いて説明したが、当業者であれば添付の特許請求の範囲および範疇を逸脱せずに様々な変形および変更がなされることが分かるはずである。
【0072】
一例として、前述した実施例ではGPUで1回に処理可能なテクスチャの個数が16であるものとして説明したが、これに限定されることなく、当業者であれば必要に応じてテクスチャの個数を多様に変更することができる。
【符号の説明】
【0073】
100 超音波システム
110 ユーザ入力部
120 データ取得部
130 プロセッサ
140 GPU
150 格納部
160 映像形成部
170 ディスプレイ部
180 制御部
121 送信信号形成部
122 超音波プローブ
123 ビームフォーマ
124 超音波データ形成部
131 フレーム情報形成部
132 テクスチャ形成部
133 データアップロード部
134 テクスチャ情報形成部
141 ビデオメモリ
142 頂点移動決定部
143 頂点移動部
144 フィルタ処理部
V1〜V4 頂点
RT 再整列テクスチャ

【特許請求の範囲】
【請求項1】
複数のブロックを含むビデオメモリを備えるGPU(graphic processing unit)を用いるデータ処理方法であって、
対象体から複数のピクセルを含むイメージフレームを取得する段階と、
前記イメージフレームを処理するためのユーザ入力を受信する段階と、
前記イメージフレームの複数のピクセルを、所定の個数のピクセルが一つのグループになるようにまとめる段階と、
前記グループのそれぞれを前記ビデオメモリのそれぞれのブロックにアップロードする段階と、
前記ユーザ入力に基づいて前記ビデオメモリにアップロードされた前記グループに演算を行う段階と
を備えることを特徴とするデータ処理方法。
【請求項2】
前記グループのそれぞれは、前記ビデオメモリに行列構造に整列され、
前記演算を行う段階は、少なくとも一つのテクスチャを生成するために前記ビデオメモリの前記グループを列または行方向に少なくとも一回移動させる段階および前記少なくとも一つのテクスチャの加重平均を得る段階を備えることを特徴とする請求項1に記載のデータ処理方法。
【請求項3】
前記移動させる段階は、前記ビデオメモリの前記グループを前記ピクセルの前記所定の個数の倍数だけ列または行方向に移動させ、前記倍数は前記ユーザ入力に基づいて決定されることを特徴とする請求項2に記載のデータ処理方法。
【請求項4】
前記加重平均を得る段階は、前記テクスチャのそれぞれに前記ユーザ入力により特定されたそれぞれの重み係数を乗じる段階および前記乗じたテクスチャを加える段階を備えることを特徴とする請求項2に記載のデータ処理方法。
【請求項5】
前記イメージフレームは、超音波データを含むことを特徴とする請求項1に記載のデータ処理方法。
【請求項6】
前記イメージフレームを取得する段階は、
複数の送信信号を複数の超音波信号に変換する段階と、
前記複数の超音波信号を前記対象体に送信する段階と、
前記対象体から反射される複数の超音波エコー信号を受信する段階と、
前記複数の超音波エコー信号を受信集束して複数の受信集束信号を形成する段階と、
前記複数の受信集束信号を用いて前記超音波データを形成する段階と
を備えることを特徴とする請求項1に記載のデータ処理方法。
【請求項7】
複数のブロックを含むビデオメモリを備えるGPU(graphic processing unit)を用いるデータ処理システムであって、
対象体から複数のピクセルを含むイメージフレームを取得する手段と、
前記イメージフレームを処理するためのユーザ入力を受信する手段と、
前記イメージフレームの複数のピクセルを、所定の個数のピクセルが一つのグループになるようにまとめる手段と、
前記グループのそれぞれを前記ビデオメモリのそれぞれのブロックにアップロードする手段と、
前記ユーザ入力に基づいて前記ビデオメモリにアップロードされた前記グループに演算を行う手段と
を備えることを特徴とするデータ処理システム。
【請求項8】
前記グループのそれぞれは、前記ビデオメモリに行列構造に整列され、
前記演算を行う手段は、少なくとも一つのテクスチャを生成するために前記ビデオメモリの前記グループを列または行方向に少なくとも一回移動させる手段および前記少なくとも一つのテクスチャの加重平均を得る手段を含むことを特徴とするデータ処理システム。
【請求項9】
前記移動させる手段は、前記ビデオメモリの前記グループを前記ピクセルの前記所定の個数の倍数だけ列または行方向に移動させ、前記倍数は前記ユーザ入力に基づいて決定されることを特徴とする請求項8に記載のデータ処理システム。
【請求項10】
前記加重平均を得る手段は、前記テクスチャのそれぞれに前記ユーザ入力により特定された重み係数を乗じる手段および前記乗じたテクスチャを加える手段を含むことを特徴とする請求項8に記載のデータ処理システム。
【請求項11】
前記イメージフレームは、超音波データを含むことを特徴とする請求項7に記載のデータ処理システム。
【請求項12】
前記イメージフレームを取得する手段は、
複数の送信信号を複数の超音波信号に変換する手段と、
前記複数の超音波信号を前記対象体に送信する手段と、
前記対象体から反射される複数の超音波エコー信号を受信する手段と、
前記複数の超音波エコー信号を受信集束して複数の受信集束信号を形成する手段と、
前記複数の受信集束信号を用いて前記超音波データを形成する手段と、
を含むことを特徴とする請求項7に記載のデータ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6a】
image rotate

【図6b】
image rotate

【図7a】
image rotate

【図7b】
image rotate

【図8a】
image rotate

【図8b】
image rotate

【図8c】
image rotate

【図9a】
image rotate

【図9b】
image rotate

【図9c】
image rotate


【公開番号】特開2010−140489(P2010−140489A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2009−283037(P2009−283037)
【出願日】平成21年12月14日(2009.12.14)
【出願人】(597096909)株式会社 メディソン (269)
【氏名又は名称原語表記】MEDISON CO.,LTD.
【住所又は居所原語表記】114 Yangdukwon−ri,Nam−myun,Hongchun−gun,Kangwon−do 250−870,Republic of Korea
【Fターム(参考)】