JP2016087468A - 医用画像診断装置及び医用画像処理装置 - Google Patents

医用画像診断装置及び医用画像処理装置 Download PDF

Info

Publication number
JP2016087468A
JP2016087468A JP2015216866A JP2015216866A JP2016087468A JP 2016087468 A JP2016087468 A JP 2016087468A JP 2015216866 A JP2015216866 A JP 2015216866A JP 2015216866 A JP2015216866 A JP 2015216866A JP 2016087468 A JP2016087468 A JP 2016087468A
Authority
JP
Japan
Prior art keywords
processing unit
real
time controller
image
medical image
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.)
Granted
Application number
JP2015216866A
Other languages
English (en)
Other versions
JP6602646B2 (ja
Inventor
ディー スラチェク ピーター
D Sulatycke Peter
ディー スラチェク ピーター
ニン フイ
Hui Ning
ニン フイ
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.)
Toshiba Corp
Canon Medical Systems Corp
Original Assignee
Toshiba Corp
Toshiba Medical Systems Corp
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 Toshiba Corp, Toshiba Medical Systems Corp filed Critical Toshiba Corp
Publication of JP2016087468A publication Critical patent/JP2016087468A/ja
Application granted granted Critical
Publication of JP6602646B2 publication Critical patent/JP6602646B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/18Timing circuits for raster scan displays
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications
    • G09G2380/08Biomedical applications

Abstract

【課題】 目的は、従来に比してリアルタイム性の高い画像処理、画像表示を実行可能な医用画像処理装置及びその制御方法を提供すること。
【解決手段】 リアルタイムコントローラと、グラフィック処理ユニットと、所定のオペレーティングシステム及び所定のアプリケーションを実行する中央演算処理装置とを備える医用画像診断装置である。リアルタイムコントローラは、グラフィック処理ユニットのメモリに接続され、中央演算処理装置に関して非同期にそれぞれの動作を実行し、医用画像診断装置から画像データを取得し、画像データ及び当該画像データに関する所定の処理に用いられる少なくとも一つのパラメータをグラフィック処理ユニットのメモリに送信し、グラフィック処理ユニットは、リアルタイムコントローラからの少なくとも一つのパラメータ、及び中央演算処理装置から独立して送られる命令に基づいて、画像データに関し所定の処理を実行する。
【選択図】 図1A

Description

本実施形態は、医用画像など画像の表示におけるリアルタイム処理およびデータの移動をサポートするための医用画像診断装置及び医用画像処理装置に関する。
リアルタイムの画像表示の分野では、周辺機器相互接続エクスプレス(PCIe)を介して画像をグラフィックカードメモリに直接入れる(ダイレクトメモリアクセス(DMA)配信される)ことが可能なシステムを考案する試みがいくつかある。しかしながら、同じオペレーティングシステム下で表示とリアルタイム処理の両方を実行することが可能なシステムはない。たとえば、「サンゴ」と名付けられた1つのシステムは、グラフィックカードのメモリに画像を直接入れ、外部PCIeカードが次のVsync信号に基づいてグラフィックカード内の次の画像の提示をトリガできるようにする。これによって、ホストマシンのオペレーティングシステム(OS)を必要とすることなく、画像を更新することができる。Vsyncは、垂直同期を表し、グラフィック処理ユニット(GPU)および表示デバイスが新しい画像の表示を同期できるようにする。名前は、陰極線管ベースのディスプレイの垂直リフレッシュの使用に由来する。
上記の例示的な従来技術の試みに鑑み、リアルタイムの撮影の分野は、検査セッションの間にプローブ位置を追跡するための改良された方法およびデバイスを依然として必要とする。
目的は、従来に比してリアルタイム性の高い画像処理、画像表示を実行可能な医用画像診断装置及び医用画像処理装置を提供することにある。
本実施形態に係る医用画像診断装置は、リアルタイムコントローラと、表示デバイスに接続可能なグラフィック処理ユニットと、所定のオペレーティングシステム及び所定のアプリケーションを実行する中央演算処理装置と、を備え、前記リアルタイムコントローラは、前記グラフィック処理ユニットのメモリに接続され、前記中央演算処理装置に関して非同期にそれぞれの動作を実行し、画像撮影系から画像データを取得し、前記画像データ及び当該画像データに関する所定の処理に用いられる少なくとも一つのパラメータを前記グラフィック処理ユニットの前記メモリに送信し、前記グラフィック処理ユニットは、前記リアルタイムコントローラからの前記少なくとも一つのパラメータ、及び前記中央演算処理装置から独立して送られる命令に基づいて、前記画像データに関し前記所定の処理を実行することを特徴とする。
実施形態に係る医用画像処理装置のブロック構成を示した図。 実施形態に係る医用画像処理装置において実現される、リアルタイム画像表示を実現するための構成を説明するための概念図。 一実施形態による非同期の医用画像処理を実行するためのプロセスを示すフロー図。 一実施形態によるグラフィック処理ユニットを示す概略図。 核医学診断装置の一例を示す説明図。 実施形態によるコンソールデバイスの例示的な構成のブロック図。
リアルタイムの画像表示は、多くの医学的コンテキストにおいて必要である。たとえば、X線血管造影法は、システムが不具合なしでリアルタイム画像を表示することが必要である。加えて、互換性の問題のため、リアルタイム画像を表示するユーザインターフェースが、たとえばWindows(登録商標)など、市販のオペレーティングシステムにおいて動作するものであることがしばしば好まれる。しかしながら、Windowsはリアルタイムではないので、たとえばWindowsなどのOSにおいて動作しているグラフィックカード上にリアルタイム画像を表示することは、従来困難だった。特に、Windowsは、GPUにストールさせる可能性がある大きい遅延(不具合)がしばしばある。医療処置の間、これが起こる場合、医師は、古い画像を見るかまたは画像が見られなくなっており、このことは、患者を傷つける可能性がある。リアルタイムの画像の表示に加えて、グラフィックカードがリアルタイム画像処理を実行することも、非常に有益である。既知のシステムは、表示とリアルタイム処理の両方を実行することができない。
医学用表示装置の例示的な実施形態は、添付の図面を参照して以下で詳細に説明される。同様の参照番号は、いくつかの図にわたって同一または対応する部分を示す。
図1Aは、実施形態に係る医用画像処理装置1のブロック構成を示した図である。同図に示したように、医用画像処理装置1は、LAN等のネットワークを介して医用画像診断装置2、リモートデバイス1217と接続される。
医用画像診断装置は、例えば、X線診断装置(X線血管造影装置等も含む)、X線コンピュータ断層撮像装置、磁気共鳴イメージング装置、超音波診断装置、核医学診断装置、PET−CT装置等である。
なお、本実施形態においては、医用画像処理装置1は、医用画像診断装置2と別体として構成する場合を例示した。しかしながら、当該例に拘泥されず、医用画像診断装置2が医用画像処理装置1を内蔵する構成としてもよい。
医用画像処理装置1は、コンピュータシステム1201、ディスプレイ1210、ポンティングデバイス1212、キーボード1220を具備する。
コンピュータシステム1201は、リアルタイムコントローラ(FPGA)10、プロセッサ(CPU)20、ディスプレイコントローラ(GPU)30、バス1202、メインメモリ1204、ROM1205、ディスクコントローラ1206、磁気ハードディスク1207、取外し式媒体ドライブ1208、通信インターフェース1213を具備している。
ディスクコントローラ1206は、バス1202に結合され、磁気ハードディスク1207および取外し式媒体ドライブ1208など(たとえば、フロッピー(登録商標)ディスクドライブ、読取り専用コンパクトディスクドライブ、読取り/書込みコンパクトディスクドライブ、コンパクトディスクジュークボックス、テープドライブ、および取外し式光磁気ドライブなど)、情報および命令を記憶するための1つまたは複数の記憶デバイスを制御する。
記憶デバイスは、(たとえば、小型コンピュータシステムインターフェース(SCSI)、集積デバイス電子機器(IDE)、拡張IDE(E−IDE)、ダイレクトメモリアクセス(DMA)、またはウルトラDMAなど)適切なデバイスインターフェースを使用しているコンピュータシステム1201に追加され得る。
コンピュータシステム1201は、特殊目的論理デバイス(たとえば、特定用途向け集積回路(ASIC))、または構成可能論理デバイス(たとえば、単純プログラマブル論理装置(SPLD)、複合プログラマブル論理装置(CPLD)、およびフィールドプログラマブルゲートアレイ(FPGA)など)も含み得る。
コンピュータシステム1201は、情報をコンピュータユーザに表示するために、液晶ディスプレイ(LCD)などのディスプレイ1210(または表示)を制御するために、バス1202に結合されたGPU(またはディスプレイアダプタ)などのディスプレイコントローラ30も含み得る。コンピュータシステムは、コンピュータユーザと対話し、CPUなどのプロセッサ20(または処理デバイス/ユニット)に情報を提供するための、入力デバイス、たとえばキーボード1211およびポインティングデバイス1212などを含む。ポインティングデバイス1212は、たとえば、マウス、トラックボール、タッチスクリーンセンサのための指、またはプロセッサ20に対して方向情報およびコマンド選択を通信するための、およびディスプレイ1210上のカーソルの移動を制御するためのポインティングスティックでもよい。
なお、後述するリアルタイム処理においては、ディスプレイコントローラ30がプロセッサ20と非同期に動作することで、従来に比して、画像処理及び画像表示においてリアルタイム性を向上させる。当該処理については、後で詳しく説明する。
コンピュータシステム1201は、プロセッサ20がメインメモリ1204などのメモリに含まれる1つまたは複数の命令の1つまたは複数のシーケンスを実行することに応答して、本開示の処理ステップの一部またはすべてを実行する。そのような命令は、たとえばハードディスク1207または取外し式媒体ドライブ1208など、別のコンピュータ可読媒体からメインメモリ1204に読み込まれ得る。メインメモリ1204に含まれる命令のシーケンスを実行するために、多重処理構成の1つまたは複数のプロセッサも使用され得る。代替の実施形態では、ソフトウェア命令の代わりに、またはそれとの組み合わせでハードワイヤード回路が使用され得る。このように、実施形態は、ハードウェア回路およびソフトウェアの任意の特定の組み合わせに限定されない。
上記のように、コンピュータシステム1201は、少なくとも1つのコンピュータ可読媒体または本開示の教示に従ってプログラムされる命令を保持するための、および本実施形態に記載されているデータ構造、テーブル、記録、または他のデータを含むためのメモリを含む。コンピュータ可読媒体の例には、コンパクトディスク、ハードディスク、フロッピーディスク、テープ、光磁気ディスク、PROM(EPROM、EEPROM(登録商標)、フラッシュEPROM)、DRAM、SRAM、SDRAM、または任意の他の磁気媒体、コンパクトディスク(たとえば、CD−ROM)、または任意の他の光媒体、パンチカード、紙テープ、あるいは穴のパターンを有する他の物理的な媒体がある。
コンピュータ可読媒体のうちの任意の1つまたは組み合わせに記憶されており、本開示は、コンピュータシステム1201を制御するため、本発明を実施するための1つまたは複数のデバイスを駆動するため、およびコンピュータシステム1201が人間のユーザと対話できるようにするためのソフトウェアを含む。そのようなソフトウェアには、それだけには限定されないが、デバイスドライバ、オペレーティングシステム、およびアプリケーションソフトがある。そのようなコンピュータ可読媒体にはさらに、本発明を実施する際に実行される処理の全部または一部(処理が分散されている場合)を実行するための本開示のコンピュータプログラム製品がある。
本実施形態のコンピュータコードデバイスは、それだけには限定されないが、スクリプトと、解釈可能なプログラムと、ダイナミックリンクライブラリ(DLL)と、Java(登録商標)クラスと、完全な実行可能プログラムとを含む、任意の解釈可能または実行可能コード機構でもよい。さらに、本実施形態の処理の部分は、より良い性能、信頼性、および/またはコストのために分散され得る。
本実施形態で使用する「コンピュータ可読媒体」という用語は、命令を実行のためにプロセッサ20に提供することに関係する任意の非一時的媒体を指す。コンピュータ可読媒体は、それだけには限定されないが、不揮発性媒体または揮発性媒体を含む、多くの形をとることができる。不揮発性媒体には、たとえば、光学、磁気ディスク、および光磁気ディスク、たとえばハードディスク1207または取外し式媒体ドライブ1208がある。揮発性媒体には、ダイナミックメモリ、たとえばメインメモリ1204がある。これに反して、送信媒体には、バス1202を構成するワイヤを含む同軸ケーブル、銅線、および光ファイバがある。送信媒体は、たとえば電波および赤外線通信の間に生成されるものなど、音響または光波の形をとることもできる。
様々な形のコンピュータ可読媒体は、実行のためにプロセッサ20に1つまたは複数の命令の1つまたは複数のシーケンスを実行することに関与し得る。たとえば、命令は、最初に、リモートコンピュータの磁気ディスクで運ばれ得る。リモートコンピュータは、ダイナミックメモリに遠隔で本開示の全部または一部を実施するための命令をロードし、モデムを使用して電話線を介して命令を送ることができる。コンピュータシステム1201にローカルのモデムは、電話線を介してデータを受信することができ、データをバス1202に配置することができる。バス1202は、データをメインメモリ1204に運び、そこから、プロセッサ20は、命令を取り出し、実行する。メインメモリ1204によって受信される命令は、プロセッサ20による実行の前または後のいずれかに、記憶デバイス1207または1208に随意記憶され得る。
コンピュータシステム1201は、バス1202に結合された通信インターフェース1213も含む。通信インターフェース1213は、たとえば、ローカルエリアネットワーク(LAN)1215に接続されているネットワークリンク1214、または、インターネットなど、別の通信ネットワーク1216に結合する双方向データ通信を提供する、たとえば、通信インターフェース1213は、任意のパケット交換LANに接続するためのネットワークインターフェイスカードでもよい。別の例として、通信インターフェース1213は、統合サービスデジタルネットワーク(ISDN)カードでもよい。ワイヤレスリンクも実装され得る。任意のそのような実装では、通信インターフェース1213は、様々なタイプの情報を表すデジタルデータストリームを運ぶ、電気、電磁気、または光学信号を送受信する。
ネットワークリンク1214は、一般的に、1つまたは複数のネットワークを介したデータ通信を別のデータデバイスに提供する。たとえば、ネットワークリンク1214は、ローカルネットワーク1215(たとえば、LAN)を介して、または通信ネットワーク1216を介して通信サービスを提供するサービスプロバイダによって動作される機器を介して別のコンピュータへの接続を提供することができる。ローカルネットワーク1214および通信ネットワーク1216は、たとえば、デジタルデータストリームおよび関連の物理層(たとえば、CAT5ケーブル、同軸ケーブル、光ファイバなど)を運ぶ電気、電磁気、または光学信号を使用する。様々なネットワークを介した信号、ならびにネットワークリンク1214上の、および通信インターフェース1213を介した信号は、コンピュータシステム1201から、およびそこにデジタルデータを運び、ベースバンド信号または搬送波ベースの信号で実装される。ベースバンド信号は、デジタルデータビットのストリームを記述する変調されていない電気的パルスとして、デジタルデータを運び、ここでは、「ビット」という用語は、概して、シンボルを意味するものと解釈され、各シンボルは、少なくとも1つまたは複数の情報ビットを運ぶ。デジタルデータは、たとえば、導電媒体を介して伝搬される、または伝搬媒体を介して電磁波として送信される、振幅、位相および/または周波数シフトキー信号などで、搬送波を変調するためにも使用され得る。このように、デジタルデータは、「ワイヤード」通信チャネルを介して、変調されていないベースバンドデータとして送られ得る、および/または搬送波を調整することによって、ベースバンドとは異なる所定の周波数帯域内で送られ得る。コンピュータシステム1201は、ネットワーク1215および1216、ネットワークリンク1214、ならびに通信インターフェース1213を介してプログラムコードを含むデータを送受信することができる。さらに、ネットワークリンク1214は、LAN1215を介した接続をリモートデバイス1217、たとえば携帯情報端末(PDA)、モバイル機器、サーバ、デスクトップまたはラップトップコンピュータ、あるいはセルラー電話などに提供することができる。データは、リアルタイムコントローラ、GPU、またはCPUからリモートデバイスに送信され得る。
本実施形態は、重要な利点を提供する。たとえば、システムは、同じシステム上のリアルタイムの表示および処理を可能にする。さらに、システムの部分のために、既製のグラフィックカードが使用され得る。グラフィックカード(たとえば、GPU30)は、画像処理を実行することもでき、リアルタイムコントローラ処理回路10に、画像処理の代わりに他のタスクを実行させる。処理された画像は、リアルタイムコントローラ処理回路10に送り返され得る。システムは、複数のGPUをサポートすることもでき、各GPUは、複数のデータフローをサポートすることができる。複数のGPUが使用されるとき、1)GPUの間の通信はなく、すべてのGPUは、リアルタイムコントローラ処理回路と直接通信する、または2)いくつかまたはすべてのGPUは互いに、およびリアルタイムコントローラ処理回路の一部もしくは全部と通信することができ、トポロジは、実際に変わり得る(また、GPU間で利用可能な通信メカニズムに応じて)。
CPU20、リアルタイムコントローラ処理回路10、およびGPU30の間で同期が必要とされないので、低レベルの制御情報および画像は、リアルタイムコントローラ処理回路10によって直接GPU30に送られ得る。次いで、GPU30は、どんな入力データが、どんなパラメータで、処理されるべきかを決定する。CPU20は、画像においてどんなカーネルプロセスを実行すべきか、およびいつ結果を表示すべきかのみを決定し、それによって、CPU20を高レベル制御に制限する。その結果、CPU20のオペレーティングシステムが一時的に利用できないときでも、GPU30は、最大限のパフォーマンスで動作することができる。
図1Bは、実施形態に係る医用画像処理装置1において実現される、リアルタイム画像表示を実現するための構成を説明するための概念図である。図1A、図1Bに示したように、本実施形態は、リアルタイムコントローラとして動作する処理回路10を含む。リアルタイムコントローラ処理回路10は、例えばフィールドプログラマブルゲートアレイ(FPGA)として、特定用途向け集積チップ(ASIC)、GPU、PCIベースの回路、または何らかの他の好適なデバイスとして実装され得る。リアルタイムコントローラ処理回路10は、たとえば、医用画像診断装置から撮影情報の入力を受信する。リアルタイムコントローラ処理回路10は、GPU30およびCPU20に接続されている。リアルタイムコントローラ処理回路10は、DMAを介してGPU30に接続されており、GPU30のメモリに情報を直接送る。リアルタイムコントローラ処理回路10は、CPUを動作させているオペレーティングシステムを介してCPU20に接続されている。特に、リアルタイムコントローラ処理回路10は、アプリケーションプログラミングインターフェース(API)を介してCPU20に接続されている。リアルタイムコントローラ処理回路10、CPU20、およびGPU30はすべて、非同期に通信する。また、CPU20は、GPU30に接続されており、GPUおよびCPUの待ち行列に、処理のためのコマンドおよび複数(たとえば16)の将来の画像フレームの表示を送る。コマンドは、最初に関連のCPUコンテキストの待ち行列に入れられ、次いで、それ自体の待ち行列に、GPU30によって別々にフェッチされる。結果として、CPU20がストールした場合、GPU30は、問題なく動作し続ける。CPU20とGPU30との間の通信に関して、あたかもリアルタイムコントローラ処理回路10が存在することさえそれらが認識しないかのようにCPU20およびGPU30が対話するように、これは、リアルタイムコントローラ処理回路10と独立して実行される。
システムの遅れを引き起こすことになる、リアルタイムコントローラ処理回路10と、CPU20と、GPU30との間のいかなるブロックも防止するために、非同期通信が必要とされる。
非同期通信を達成するために、図2に示されるプロセスが実行される。ステップは、図2に示される順序で実行され得る、または異なる順序で実行され得る。一実施形態では、ステップの少なくとも1つは、別のステップと並行して実行され得る。
ステップ100で、画像データ(たとえば、医用画像データ)は、たとえば医用画像診断装置など、撮影デバイスからリアルタイムコントローラ処理回路10に送信される。本実装形態は、医学用撮影データに限定されず、アニメーション、画像処理、またはグラフィック処理ユニットを使用する任意の他の処理にも使用され得る。
ステップ101で、画像データは、DMAによってリアルタイムコントローラ処理回路10からGPU30に直接転送される。CPU20は、GPU30に転送される特定の画像データを知らされない。
ステップ102で、カーネルパラメータ情報は、DMAによってリアルタイムコントローラ処理回路10からGPU30に直接転送される。カーネルパラメータ情報は、GPU30を制御するための情報である。GPU30上で動作する各カーネルは、GPU30上の処理を制御するための異なるパラメータ入力を取得する。たとえば、変換カーネルは、入力として、回転の角度と、シフト値とを必要とする。一般的に、このデータは、CPU20のオペレーティングシステム上で動作するアプリケーションで生成され、そこから送られる。しかしながら、この場合、カーネルパラメータ情報は、リアルタイムコントローラ処理回路10から受信される。これは、少なくとも、リアルタイムコントローラ処理回路10にカーネルパラメータ情報をCPU20のオペレーティングシステム上で動作しているアプリケーションに通信させ、次いでこの情報をGPUに送らせることは非常に非効率的であるからである。さらに重要なことに、これは、画像処理の変更が必要とされるとき、および処理が行われるときからのレイテンシが大きくなることになる。そのようなレイテンシは、GPU30までの将来のフレームのために、CPU20がGPU30にメッセージを送るので、起こることになる。したがって、GPU30は、新しい処理命令を受信する前に、すべての先行のフレームを処理する必要があることになる。
画像データをリアルタイムコントローラ処理回路10からGPU30に送信するために使用される同じ技法は、カーネルパラメータ情報を転送するために使用され得る。すべてのパラメータ情報は、画像データとともに移動するヘッダ内に配置され得る。これは、画像を処理するすべての情報が、リアルタイムコントローラ処理回路10からGPU30に転送される画像内に内蔵されることを意味する。あるいは、パラメータ情報は、画像データとは別に送られてもよい。GPU30は、ヘッダを復号し、対応するパラメータについての結果として生じる情報を使用することができる。
このことにより、処理が変わることをリアルタイムコントローラ処理回路10が示すとき、および処理が行われるときからの任意の画像フレームのレイテンシが除去されることに留意されたい。この同じ技法は、pinnedメモリに状態情報を直接提供するために使用され得(PCIeアドレス指定可能なGPU30内部メモリ、またはGPU30アドレス指定可能なシステムメモリなど)、それによって、GPU30は、どんな処理が実際に行われるべきかについて決定することができる。たとえば、カーネルは、カーネルがその通常の処理を行うべきか、処理を実行せずに直ちに戻るべきかを、実際に決定することができる。これは、決定が、カーネルに送られるパラメータに基づいて、カーネル内部で行われ得るので、すべて可能である。
ステップ103で、制御情報は、DMAによってリアルタイムコントローラ処理回路10からGPU30に直接転送される。制御情報は、フレームまたは画像番号を含む。リアルタイムコントローラ処理回路10は、GPU30に画像を直接送り、次に、GPU30は、メモリに存在するどんな画像でも単純に処理する。読取りおよび書込みが同時に行われ得るように、pinned GPUメモリの複数のバッファが使用され得る。また、リアルタイムコントローラ処理回路10は、GPU30がどのバッファが最も新しいかについて確認することができるように、GPU30に転送される画像ごとに、画像番号を生成する。
GPUで処理された画像は、長期間の記憶のため、および外部PCに送るために、リアルタイムコントローラ処理回路10に時々送り返されなければならない。この状況で、たとえば、リアルタイムコントローラ処理回路10は、GPU30ボードpinnedメモリから画像を読み取る。これを達成するために、リアルタイムコントローラ処理回路10は、画像がいつ完全に処理されるかを知っている必要がある。多くの画像がリアルタイムコントローラ処理回路10によって読み返される必要はない場合でも、画像完了情報は、すべての画像が設計を一貫して単純にしておくために送られ得ることに留意されたい。
これを実施する例示的な方法が2つあり、第1の手法では、GPU30は、どのバッファが一番最近更新されたかを示す、pinnedメモリ内のレジスタを更新することによって、新しい出力画像がpinnedメモリに書き込まれたことを示す。リアルタイムコントローラ処理回路10は、所定の間隔で(たとえば、あらゆる画像の書込みで)このレジスタをポーリングし、値をリアルタイムコントローラ処理回路10のローカルに記憶された値と比較する。リアルタイムコントローラ処理回路10は、GPU30におけるレジスタ値が変わると、1つまたは複数の新しい出力バッファが書き込まれたことがわかる。
第2の手法では、GPU30は、最近完了した画像の画像番号を、GPU30 DMAエンジンを介して、画像が完全に処理されたことを示す、リアルタイムコントローラ処理回路10のメモリ位置に直接書き込む。
第1の例は、たとえばDMAエンジンを使用することを回避することなど、いくつかの利点を提供する。これによって、GPU上のpinnedメモリへのアクセスが利用可能である場合、ソリューションは、複数のタイプの市販のGPUベースのシステム上で機能することができる。加えて、第1の例は、GPU30とリアルタイムコントローラ処理回路10との間の通信を一貫させ、このことは、実装およびデバッグを単純化する。
ステップ104で、スタート/ストップデータフロー情報のみが、リアルタイムコントローラ処理回路10からCPU20に送信される。データフローの処理の間、リアルタイムコントローラ処理回路10とCPU20との間の追加の通信は、ステータス情報の送信を除いて行われない。リアルタイムコントローラ処理回路10は、データフローの処理が開始または停止すると、CPU20と通信する。また、リアルタイムコントローラ処理回路10は、開始しているデータフローのためにどの処理ブロックが実行されなければならないかについてCPU20に知らせる。CPU20は、何が特定のデータフローを構成するかは知らされない。CPU20およびGPU30は、リアルタイムコントローラ処理回路10によって制御されるサービスと見なされる。
ステップ105で、GPU30は、リアルタイムコントローラ処理回路10から送信される制御およびパラメータ情報を復号し、GPUのカーネル内でどんな処理を実行するべきかに関して決定する。これによって、任意の画像においてどんな処理が行われるべきかに関する決定処理からCPU20が事実上取り除かれ、すべての画像がCPU20によって同様に扱われることが確実になる。これによって、システムは、オペレーティングシステムを事実上回避することができ、十分なリアルタイム能力を可能にする。次いで、GPU30は、画像データ上の処理を実行する。
GPU30とCPU20との間の通信は、非同期であるように設計されている。しかしながら、ブロックをもたらし、非同期の通信を防止する可能性のある要因が多く存在する。これらの2つの構成要素が非同期に動作しているときでさえ、GPU30とディスプレイ40との間の同期化のため、それらの非同期の性質に対する制限がある。一例では、DirectXなど一群のアプリケーションプログラミングインタフェースは、どれだけのフレーム相当のメッセージをCPU20およびGPU30によって事前に待ち行列に入れることができるかをアプリケーションが指定することができる、たとえばMaxFrameLatencyコマンドなどのコマンドを提供する。フレームは、アプリケーションプログラミングインターフェースの「現在の」コマンド間のGPU30の命令によって生成される出力画像に等しい。「現在の」コマンドは、VsyncでGPU30と同期するために使用される。CPU20およびGPU30において待ち行列に入れられたフレームの数がひとたびMaxFrameLatencyに等しくなると、CPU20はGPU30にコマンドを送るのを止める。
また、待ち行列の量は、GPU30がどれくらい速く画像を処理しているか、および、次に、GPU30がディスプレイ40とのVsyncでブロックしているかに依存する。たとえば、GPU30は、画像を処理するための時間があまりかからない場合、Vsync、およびどれだけのバッファがディスプレイ40とのVsyncに利用できるかによって減速される。いずれにせよ、CPU20とGPU30との間の分離を最大にするために、MaxFrameLatencyは、最大許容値(たとえば16)に設定されなければならない。これは、CPU20のために、GPU30がどれだけブロックされるかを最低限に抑える/なくす。さらに重要なことに、これによって、GPU30は、CPU20が利用できない可能性があるときでも、フレームを処理し続けることができる。これは、GPU30アプリケーションおよびドライバが他のプロセスによって優先的に使用されることが推測される非リアルタイムオペレーティングシステムでは特に重要である。オペレーティングシステム下の一般的な遅延は、最高30〜50msであり得る。最高16フレーム相当のコマンドをバッファリングすることによって、CPU20は、GPU30の性能に影響を及ぼすことなく、267ms(16/60fps)の間ストールすることができる。これは、リアルタイムシステムにおいてまさに必要とされることである。
CPU20からの入力が十分にないため、GPU30は決してストールしないと仮定すると、1秒当たり表示されるフレームの数は、フレームの計算がどれくらいかかるか、および表示の最大フレーム率に依存する。X線血管造影装置で使用される表示の一例は、たとえば、毎秒60フレームを更新することができる。GPU30の計算時間が十分に小さい(高速計算)場合、最大フレーム率は、表示のフレーム率に等しくなり得る。たとえば、毎秒60フレームで更新する表示の例では、GPU30の計算が1/60秒よりも長い場合、表示されるフレーム率は、60fps未満である。たとえば、フレームを処理するには33msかかる場合、表示された出力は、30fpsである。したがって、CPU20およびGPU30は、非同期に通信するが、GPU30がビジーである場合、またはGPU30が表示のためブロックしている場合、通信は依然としてブロックされる可能性がある。
図3は、GPU30の詳細な機能を示す。GPU30は、pinned入力メモリ51と、カーネル処理要素52と、バックバッファ53〜55とを含む。pinned入力メモリ51は、GPU30内のバス(すなわちPCIeバス)アドレス指定可能メモリである。メモリは、GPUベンダーの拡張(たとえばAMD)によって割り振られ得る。そのようなpinnedメモリを使用する代わりに、GPU30によって(一実施形態では直接)アクセスされるシステムメモリも使用され得る。図3は、リアルタイムコントローラ処理回路10からGPU30に書き込まれるバッファ情報をさらに示す。特に、表示のための画像を生成することに加えて、GPU30は、画像における処理も実施する。GPU30は、処理が完了すると、リアルタイムコントローラ処理回路10に知らせ、一実施形態では、リアルタイムコントローラ処理回路10は、この情報に応答して処理された画像を取り出すことが可能である。
上述したように、リアルタイムコントローラ処理回路10は、DMA画像および制御情報をGPU30のpinnedメモリ51のバッファに直接可能である。GPU30のpinnedメモリ51は、PCIeメモリ空間にマッピングされるGPUボード上のメモリである。外部デバイスは、PCIeマスター機能を使用して、このメモリに対する読取りおよび書込みを行うことが可能である。バッファのサイズが大きければ大きいほど、リアルタイムコントローラ処理回路10およびGPU30はより多く分離され得る。しかしながら、システムがリアルタイムであるので、システムのエンドツーエンドのレイテンシは非常に低く、したがって、非常に大きいバッファを使用する利点は時として少ない。
一実施形態では、pinnedメモリ51において3つのバッファが使用され得る。一実施形態では、各バッファは、たとえば画像バッファおよび制御バッファの2つの異なるサブバッファから成り得る。制御バッファは、カーネルによって必要とされるすべてのパラメータ情報を含む。制御バッファは、固定式でよく、カーネルが画像を処理するために使用されていない場合であっても、カーネルごとにパラメータ情報を含むことができる。この構成は、実施、テスト、およびデバッグの時間を減らすことができる。制御バッファは、その処理全体にわたってX線画像に引き続き関連付けられているX線画像番号も含み得る。画像番号は、各新しい画像に伴って増加し、各新しいデータフローに伴ってリセットされる単調に増加するカウンタである。画像番号は、GPU30における処理を追跡することを除いて、GPU30によって直接には使用されない。
リアルタイムコントローラ処理回路10が最新の画像および制御バッファをGPU30に書き込み終わった後、バッファインデックスは、pinned GPUメモリ51におけるヘッドレジスタに記憶され得る。このヘッドレジスタのサイズは十分に小さいので、この位置に対する読取りおよび書込みは極小であることが保証される。特に、極小は、1つのデバイス(すなわち、GPU30またはリアルタイムコントローラ処理回路10)によるこのレジスタに対する読取りおよび書込みは、別のデバイス(すなわち、GPU30またはリアルタイムコントローラ処理回路10)の読取り/書込みによって中断されない可能性があることを意味する。1つのデバイスによる1つの読取りまたは書込み操作は、別のデバイスによる別の読取りまたは書込み操作の前に終わることが保証される。利用可能な相互排除ロック(相互排他的ロック)はないことが多いので、これは非常に重要である。この例では、このヘッダレジスタは、いつでもリアルタイムコントローラ処理回路10によって書き込まれ、いつでもGPU30によって読み取られ得る。レジスタのサイズが大きい場合、読み取られた値が書込み操作によって損なわれないことを確実にするために、レース状態を回避するために、何らかの種類の同期メカニズムが必要とされる。多くの状況では、GPU30が読取りを実行している間に、リアルタイムコントローラ処理回路10による書込みを防止する、GPUカーネル(すなわち、DirectX Shaders)における相互排除ロックの実装はない。
GPU30は、GPU30において処理すべきバッファを決定するために、この値を使用する。GPU30は、一番最近処理されたバッファインデックスを記憶するメモリに末尾の値を記憶することによって、これを達成する。ヘッドが末尾とは異なる場合、GPU30は末尾を増分し、バッファ長でのmod(モジュロ演算子関数)を実行し、次いで、更新された末尾のインデックスに関連付けられたバッファを処理することができる。
リアルタイムコントローラ処理回路10とGPU30との通信は非同期であるので、GPU30がバッファを処理した最後の時からヘッドインデックスが変わっていないことが考えられる。この場合、GPU30は、ちょうど同じ画像を再度処理する。GPU30が別のバッファから読み取っている間、リアルタイムコントローラ処理回路10がGPU30に書き込むことができるように、複数のバッファが使用される。GPU30が先頭の値を読み取る前に、リアルタイムコントローラ処理回路10が複数のバッファエントリを更新することができることも考えられる。GPU30は、すべての画像を順番に処理することも可能である。
まだGPU30によって処理されていないデータの上書きを回避するために、リアルタイムコントローラ処理回路10は、バッファ内に「空」の入力があるということを知らない限り、バッファに書き込まない。「空」という用語は、GPU30が画像を読み取り終わったことを意味する。これを達成するために、リアルタイムコントローラ処理回路10は、どれくらいのバッファがGPUバッファにおいて空であるかについて追跡するためにリアルタイムコントローラ処理回路10が使用するローカルカウンタを保持する。このカウンタは、バッファのサイズに初期化され、信用機構の一種として機能する。リアルタイムコントローラ処理回路10が新しい画像をGPU30に書き込み終わるたびに、カウンタが減分される。GPU30が画像を処理し終わると、GPU30は、リアルタイムコントローラ処理回路10によってポーリングされる、GPU pinnedメモリ51におけるレジスタを更新することによって、リアルタイムコントローラ処理回路10に知らせる。リアルタイムコントローラ処理回路10は、画像が処理を完了したことをリアルタイムコントローラ処理回路10が検出すると、カウンタを増分する。バッファの上書きから保護されているので、GPU30は、適切に制御およびデータバッファを処理することができる。バッファを非pinnedメモリに直ちにコピーする必要はない。バッファとの読取り/書込み競合を回避するために、リアルタイムコントローラ処理回路10は、ヘッドレジスタを更新する前に、バッファデータを書き込む。
GPU30は、少なくとも1つのバックバッファ53a〜53n、および少なくとも1つのフロントバッファ54に接続されているカーネル処理要素52に接続されているpinnedメモリ51を含み得る。
バックバッファ53a〜53nは、ディスプレイに将来の更新で表示されなければならない最終画像結果を保持するために、GPU30において使用される。
フロントバッファ54は、現在ディスプレイ40に表示されているGPU出力バッファである。
カーネル処理要素52は、GPUに含まれ、処理回路を使用してカーネルを実行するように構成されている。カーネルは、並列言語(たとえば、OpenCl、CUDA、DirectComputeなど)で書かれており、GPU30での処理を制御するために使用されるGPUプログラムである。カーネルは、通常コンパイルされ、GPU30にロードされており、次いで、必要に応じて呼び出され得る。
pinned入力メモリ51は、リアルタイムコントローラ処理回路10からの画像と制御情報の両方を記憶し、出力画像を記憶し、これらは必要に応じてGPU30から転送される。
図4は、核医学診断装置の一例を示す例示的な図である。図4に示されるように、PETシステムとしての核医学診断装置の一例には、PET−CT装置100がある。図4では、200はPETスキャナを示し、300はX線CTスキャナを示し、400はベッドを示し、401は被検体が横たわっているテーブル面を示し、402は被検体を示す。PET−CT装置100は、PETスキャナ200と、X線CTスキャナ300と、ベッド400と、コンソールデバイス500とを含む。図4のX方向は、図4に示されるテーブル面401に横たわっている被検体402の体軸の方向を表す。Y方向は、水平面上のX方向に対して直角の方向を表す。Z方向は、垂直方向を表す。
ベッド400は、被検体402が横たわっているテーブル面401を含む。さらに、ベッド400は、テーブル面401を移動するために、図4には示されていない回路によって実施されるベッド制御ユニットを含む。ベッド制御ユニットは、コンソールデバイス500によって制御され、テーブル面401に横たわっている被検体402をPET−CT装置100の撮影孔に移動する。
PETスキャナ200は、PET画像を再構成するためのガンマ線から導出される光を計数する複数の光子計数ガンマ線検出器(後述する)を含む。ガンマ線検出器は、被検体402の体軸周辺に、環形に配置される。ガンマ線検出器は、テーブル面401に横たわっている被検体402の身体の外側から、たとえば、被検体402の身体の内部から発せられる1対のガンマ線(対消滅ガンマ線)を検出する。
具体的には、ガンマ線検出器がガンマ線を計数するたびに、PETスキャナ200は、ガンマ線を検出するガンマ線検出器の位置を示す検出位置と、ガンマ線がガンマ線検出器上に入射するときのエネルギー値と、ガンマ線検出器がガンマ線を検出する検出時間とを含む計数情報を収集する。検出時間が収集される。これによって、PET−CT装置100は、重粒子線の経路が視覚化されるPET画像を再構成する。
X線CTスキャナ300は、X線CT画像を再構成するためにX線を発するX線管と、X線管によって発せられるX線を検出するX線検出器とを含む。X線CTスキャナ300で、X線管は、X線を被検体402に照射し、X線検出器は、被検体402を通過するX線を検出する。具体的には、X線管はX線を発し、X線CTスキャナ300が被検体402の体軸のまわりを回転する間に、X線検出器はX線を検出する。言い換えれば、X線CTスキャナ300は、X線を被検体に多方向に照射し、被検体402の体軸のまわりを回転しながら、被検体402を通過することによって、被検体402に吸収される減衰されたX線を検出する。X線検出器によって検出されるX線において増幅処理、A/D変換処理などを実行することによって生成されるデータは、「X線投影データ」とも呼ばれる。X線CTスキャナ300は、X線投影データと、X線投影データを生成するために使用されるX線が検出される検出位置とを収集する。
図5は、実施形態によるコンソールデバイスの例示的な構成のブロック図である。コンソールデバイス500は、X線CTスキャナ300によって収集される情報に基づいて、X線CT画像を再構成する。さらに、コンソールデバイス500は、PETスキャナ200によって収集される計数情報を使用することによって、同時計数情報を生成し、このように生成される同時計数情報に基づいてPET画像を再構成する。以下の説明において、PET画像を再構成するための処理、およびコンソールデバイス500によってX線CT画像を再構成するための処理は、任意の方法を使用して実行され得、その説明は簡潔になされる。
図5に示される例では、説明の便宜上、コンソールデバイス500に加えて、PETスキャナ200と、X線CTスキャナ300と、放射線照射デバイス600とが示される。図5に示されるように、コンソールデバイス500は、ディスプレイ40と、リアルタイムコントローラ10と、GPU30とを含む。GPU30は、上述したように、X線CT画像を再構成する。さらに、コンソールデバイス500のリアルタイムコントローラ10およびGPU30は、PET画像を再構成することが可能である。本実施形態では、1つのコンソールデバイス500がX線CT画像と、PET画像とを再構成するケースについて、説明が行われている。しかしながら、本実施形態は、X線CT画像の再構成およびPET画像の再構成が異なるコンソールデバイスにおいて実行されるケースに適用され得る。
リアルタイムコントローラ10は、コンソールデバイス500におけるPET画像の再構成処理とX線CT画像の再構成処理とを制御する。さらに、ディスプレイ40は、PET画像、X線CT画像、PET画像およびX線CT画像の重畳された画像などをディスプレイに表示する。
リアルタイムコントローラ10およびGPU30は、たとえば、フィルタ補正逆投影(FBP)法によってX線投影データにおける逆投影処理を実行することが可能であり、それによって、X線CT画像を再構成する。
リアルタイムコントローラ10およびGPU30は、ほぼ同時に対消滅ガンマ線を計数することによって取得される同時計数情報として、検出時間の差が計数情報の中の時間ウィンドウ内にある2つの計数情報の組み合わせを生成する。
具体的には、同時計数情報は、オペレータによって指定された同時計数情報の生成の条件に基づいて生成される。たとえば、同時計数情報の生成の条件は、時間ウィンドウを含む。1対のガンマ線が両方計数される場合、時間ウィンドウは、2つの検出時間の間の差の上限を示す。
陽電子放出核種から同時に発せられる1対のガンマ線では、各々1対のガンマ線に含まれるガンマ線の検出時間は、同じであるか、検出時間が同じでない場合であっても、2つの検出時間の間の差は小さい。その結果、時間ウィンドウは、誤った同時計数情報が生成されるのを防止するために使用される。
たとえば、同時計数情報が「10ナノ秒」の時間ウィンドウを使用することによって生成されるケースについて説明が行われる。この場合、各モジュールの「検出時間(T)」が参照され、2つの検出時間の間の差がモジュールの中の「10ナノ秒の時間ウィンドウ」内にある、計数情報の組み合わせが検索される。
検出時間が時間ウィンドウ内にある組み合わせを検索することは、「一致の発見」とも呼ばれる。生成された同時計数情報のリストは、「一致リスト」とも呼ばれる。
エネルギーウィンドウは、同時計数情報の生成の条件として設定され得る。陽電子の消滅によって発せられる1対のガンマ線のエネルギー値は、前もってすでに指定されている。たとえば、要素は各々、「511keV」のガンマ線を発する。したがって、陽電子放出核種から同時に発せられる任意のガンマ線は、所定の範囲内のエネルギー値を有する。その結果、陽電子放出核種から発せられる1対のガンマ線ではない計数情報を除外するために、エネルギーウィンドウが使用され、同時計数情報が生成される。このように、誤った同時計数情報の生成が防止され得る。上述したように、同時計数情報の生成の条件の設定によって、偶発的同時計数を除くためのランダム補正と、拡散されたガンマ線の計数情報が同時計数情報として生成されるのを防ぐための散乱補正と、検出器の中の感度差を補正するための感度補正と、他の補正とを実行することができる。
生成された同時計数情報は、PET画像を再構成するために使用される。具体的には、同時計数情報は、ガンマ線の投影データであると考えられ、PET画像は、連続近似値法を使用することによって、ガンマ線の投影データから再構成される。連続近似値法には、最尤推定期待値最大化(MLEM)法と、MLEM法のアルゴリズムを改良することによって収束時間が著しく短縮されるordered subset MLEM(OSEM)法がある。
いくつかの実施形態が記載されているが、これらの実施形態は、例として示されているにすぎず、本発明の範囲を制限するためのものではない。実際、本実施形態に記載されている新しい方法およびシステムは、様々な他の形で具体化され得、さらに、本実施形態に記載されている方法およびシステムの形の様々な省略、置換、および変更は、本発明の意図を逸脱することなく行われ得る。添付の特許請求の範囲およびそれらの均等物は、本発明の範囲内になるような形または変更をカバーするためのものである。
1…医用画像処理装置、2…医用画像診断装置、10…リアルタイムコントローラ(FPGA)、20…、プロセッサ(CPU)、30…ディスプレイコントローラ(GPU)、1201…コンピュータシステム、1201…バス、1204…メインメモリ、1205…ROM、1206…ディスクコントローラ、1207…磁気ハードディスク、1208…取外し式媒体ドライブ、1213…通信インターフェース1213

Claims (16)

  1. リアルタイムコントローラと、
    表示デバイスに接続可能なグラフィック処理ユニットと、
    所定のオペレーティングシステム及び所定のアプリケーションを実行する中央演算処理装置と
    を備え、
    前記リアルタイムコントローラは、
    前記グラフィック処理ユニットのメモリに接続され、前記中央演算処理装置に関して非同期にそれぞれの動作を実行し、画像撮影系から画像データを取得し、前記画像データ及び当該画像データに関する所定の処理に用いられる少なくとも一つのパラメータを前記グラフィック処理ユニットの前記メモリに送信し、
    前記グラフィック処理ユニットは、前記リアルタイムコントローラからの前記少なくとも一つのパラメータ、及び前記中央演算処理装置から独立して送られる命令に基づいて、前記画像データに関し前記所定の処理を実行すること、
    を特徴とする医用画像診断装置。
  2. 前記リアルタイムコントローラが前記中央演算処理装置に接続されていることを特徴とする請求項1に記載の医用画像診断装置。
  3. 前記リアルタイムコントローラは、前記画像データを前記グラフィック処理ユニットに転送する前又は転送時に、前記所定の処理が始まることを前記中央演算処理装置に知らせることを特徴とする請求項2に記載の医用画像診断装置。
  4. 前記グラフィック処理ユニットは、ひとたび前記画像データに関する前記所定の処理が実行されると、前記所定の処理によって得られる画像データを前記リアルタイムコントローラに転送する請求項1乃至3のうちいずれか一項記載の医用画像診断装置。
  5. 前記リアルタイムコントローラがアプリケーションプログラミングインターフェースを介して前記中央演算処理装置に接続されていることを特徴とする請求項1乃至4のうちいずれか一項記載の医用画像診断装置。
  6. 前記リアルタイムコントローラが前記グラフィック処理ユニットの固定されたメモリ(pinned memory)に接続されていることを特徴とする請求項1乃至5のうちいずれか一項記載の医用画像診断装置。
  7. 前記グラフィック処理ユニットは、バックバッファを介して前記所定の処理が施された画像データを出力することを特徴とする請求項1乃至6のうちいずれか一項記載の医用画像診断装置。
  8. 前記中央演算処理装置は、前記グラフィック処理ユニットとの間で同期処理を行わないことを特徴とする請求項1乃7のうちいずれか一項記載の医用画像診断装置。
  9. 医用画像診断装置に接続可能なリアルタイムコントローラと、
    表示デバイスに接続可能なグラフィック処理ユニットと、
    所定のオペレーティングシステム及び所定のアプリケーションを実行する中央演算処理装置と
    を備え、
    前記リアルタイムコントローラは、
    前記グラフィック処理ユニットのメモリに接続され、前記中央演算処理装置に関して非同期にそれぞれの動作を実行し、前記医用画像診断装置から画像データを取得し、前記画像データ及び当該画像データに関する所定の処理に用いられる少なくとも一つのパラメータを前記グラフィック処理ユニットの前記メモリに送信し、
    前記グラフィック処理ユニットは、前記リアルタイムコントローラからの前記少なくとも一つのパラメータ、及び前記中央演算処理装置から独立して送られる命令に基づいて、前記画像データに関し前記所定の処理を実行すること、
    を特徴とする医用画像処理装置。
  10. 前記リアルタイムコントローラが前記中央演算処理装置に接続されていることを特徴とする請求項9に記載の医用画像処理装置。
  11. 前記リアルタイムコントローラは、前記画像データを前記グラフィック処理ユニットに転送する前又は転送時に、前記所定の処理が始まることを前記中央演算処理装置に知らせることを特徴とする請求項10に記載の医用画像処理装置。
  12. 前記グラフィック処理ユニットは、ひとたび前記画像データに関する前記所定の処理が実行されると、前記所定の処理によって得られる画像データを前記リアルタイムコントローラに転送する請求項9乃至11のうちいずれか一項記載の医用画像処理装置。
  13. 前記リアルタイムコントローラがアプリケーションプログラミングインターフェースを介して前記中央演算処理装置に接続されていることを特徴とする請求項9乃至12のうちいずれか一項記載の医用画像処理装置。
  14. 前記リアルタイムコントローラが前記グラフィック処理ユニットの固定されたメモリ(pinned memory)に接続されていることを特徴とする請求項9乃至13のうちいずれか一項記載の医用画像処理装置。
  15. 前記グラフィック処理ユニットは、バックバッファを介して前記所定の処理が施された画像データを出力することを特徴とする請求項9乃至14のうちいずれか一項記載の医用画像処理装置。
  16. 前記中央演算処理装置は、前記グラフィック処理ユニットとの間で同期処理を行わないことを特徴とする請求項9乃15のうちいずれか一項記載の医用画像処理装置。
JP2015216866A 2014-11-04 2015-11-04 医用画像診断装置及び医用画像処理装置 Active JP6602646B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/532,804 US9536277B2 (en) 2014-11-04 2014-11-04 Asynchronous method and apparatus to support real-time processing and data movement
US14/532,804 2014-11-04

Publications (2)

Publication Number Publication Date
JP2016087468A true JP2016087468A (ja) 2016-05-23
JP6602646B2 JP6602646B2 (ja) 2019-11-06

Family

ID=55853188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015216866A Active JP6602646B2 (ja) 2014-11-04 2015-11-04 医用画像診断装置及び医用画像処理装置

Country Status (2)

Country Link
US (1) US9536277B2 (ja)
JP (1) JP6602646B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018154906A1 (ja) * 2017-02-27 2018-08-30 株式会社日立製作所 画像処理装置、x線ct装置及び画像処理方法
JP2018187032A (ja) * 2017-05-01 2018-11-29 ソニー株式会社 医用画像処理装置、医用画像処理方法、及び、内視鏡システム
JP2019080190A (ja) * 2017-10-25 2019-05-23 日本電信電話株式会社 通信装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268707B2 (en) * 2015-12-14 2019-04-23 VoltDB, Inc. Embedded event streaming to a transactional highly-available in-memory database
WO2017107168A1 (en) * 2015-12-25 2017-06-29 Intel Corporation Event-driven framework for gpu programming
US10634748B2 (en) * 2016-06-22 2020-04-28 Comsats Institute Of Information Technology Graphical processing unit (GPU) implementation of magnetic resonance fingerprinting (MRF)
CN107958214A (zh) * 2017-11-21 2018-04-24 中国科学院深圳先进技术研究院 Ecg信号的并行分析装置、方法和移动终端
KR20210044506A (ko) 2019-10-15 2021-04-23 삼성전자주식회사 증강 현실 객체를 표시하는 장치 및 그 동작 방법
US11593157B2 (en) 2020-02-05 2023-02-28 Nec Corporation Full asynchronous execution queue for accelerator hardware

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010066827A1 (en) * 2008-12-11 2010-06-17 Fundació Clinic Per A La Recerca Biomêdica Equipment for infrared vision of anatomical structures and signal processing methods thereof
US20130308859A1 (en) * 2012-05-21 2013-11-21 Masahiro Kobayashi Image processing device
US20140204102A1 (en) * 2011-05-19 2014-07-24 The Trustees Of Columbia University In The City Of New York Using graphics processing units in control and/or data processing systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606707A (en) * 1994-09-30 1997-02-25 Martin Marietta Corporation Real-time image processor
US6470071B1 (en) * 2001-01-31 2002-10-22 General Electric Company Real time data acquisition system including decoupled host computer
US7477252B2 (en) * 2004-04-05 2009-01-13 Actuality Systems, Inc. Processing three dimensional data for spatial three dimensional displays
US20090276515A1 (en) * 2008-05-02 2009-11-05 Boston Scientific Scimed, Inc. Multi-modality network for improved workflow
US8395631B1 (en) * 2009-04-30 2013-03-12 Nvidia Corporation Method and system for sharing memory between multiple graphics processing units in a computer system
US8311791B1 (en) * 2009-10-19 2012-11-13 Surgical Theater LLC Method and system for simulating surgical procedures

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010066827A1 (en) * 2008-12-11 2010-06-17 Fundació Clinic Per A La Recerca Biomêdica Equipment for infrared vision of anatomical structures and signal processing methods thereof
JP2012511361A (ja) * 2008-12-11 2012-05-24 フンダシオ クリニック ぺル ア ラ レセルカ ビオメディカ 解剖学的構造の赤外線ビジョンのための装置およびそのシグナル処理方法
US20140204102A1 (en) * 2011-05-19 2014-07-24 The Trustees Of Columbia University In The City Of New York Using graphics processing units in control and/or data processing systems
US20130308859A1 (en) * 2012-05-21 2013-11-21 Masahiro Kobayashi Image processing device
JP2013243528A (ja) * 2012-05-21 2013-12-05 Masahiro Kobayashi 画像処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JUNCHEN WANG ET AL.: ""Real-time 3D Medical Imaging using GPU-based Integral Videography"", MEDICAL IMAGING TECHNOLOGY, vol. 31, no. 3, JPN6019034550, May 2013 (2013-05-01), JP, pages 159 - 166, ISSN: 0004109141 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018154906A1 (ja) * 2017-02-27 2018-08-30 株式会社日立製作所 画像処理装置、x線ct装置及び画像処理方法
JP2018139754A (ja) * 2017-02-27 2018-09-13 株式会社日立製作所 画像処理装置、x線ct装置及び画像処理方法
US11058384B2 (en) 2017-02-27 2021-07-13 Hitachi, Ltd. Image processing device, X-ray CT device, and image processing method
JP2018187032A (ja) * 2017-05-01 2018-11-29 ソニー株式会社 医用画像処理装置、医用画像処理方法、及び、内視鏡システム
JP7013677B2 (ja) 2017-05-01 2022-02-01 ソニーグループ株式会社 医用画像処理装置、医用画像処理装置の作動方法、及び、内視鏡システム
JP2019080190A (ja) * 2017-10-25 2019-05-23 日本電信電話株式会社 通信装置

Also Published As

Publication number Publication date
US20160125565A1 (en) 2016-05-05
US9536277B2 (en) 2017-01-03
JP6602646B2 (ja) 2019-11-06

Similar Documents

Publication Publication Date Title
JP6602646B2 (ja) 医用画像診断装置及び医用画像処理装置
JP5714253B2 (ja) Pet(陽電子放射断層撮影)においてヘリカルスキャン及びリストモード再構成によりサンプリングを強化するシステム及び方法
US11455756B2 (en) System and method for image reconstruction
US20150146847A1 (en) Systems and methods for providing an x-ray imaging system with nearly continuous zooming capability
JP5818416B2 (ja) ポジトロン放射断層撮影システムとその情報処理方法、およびコンピュータ可読媒体
US20160242721A1 (en) Apparatus and method for fast iterative reconstruction in computed tomography
US20210225501A1 (en) Control systems and methods
US9128193B2 (en) Two-axis apparatus with stationary positioning, rotating and/or scanning motion of point or line sources
CN105022710A (zh) 用于硬件组件之间的输入和输出的系统及方法
US20150260857A1 (en) Virtual frames for distributed list-mode time-of-flight reconstruction with continuous bed movement
US10390789B2 (en) Two-dimensional X-ray detector, cone-beam CT apparatus and method using region-of-interest
JP7408361B2 (ja) 医用画像診断支援システム及び医用画像処理装置、医用画像処理方法
JP6058394B2 (ja) 再構成装置、方法及びプログラム
US20190196662A1 (en) Graphical control of grid views
US7899884B2 (en) Method and system for provision of image data from a server to a client
CN103356216B (zh) Ct机的扫描成像方法、扫描成像系统及ct机
CN110164529B (zh) 一种信息处理方法、装置、电子设备及存储介质
CN107808359B (zh) 预加载的预测数据的显示
Windisch et al. Real-time data processing for ultrafast X-ray computed tomography using modular CUDA based pipelines
JP7233236B2 (ja) 医用画像処理装置、x線診断装置、およびプログラム
EP4198871A1 (en) Processing projection data produced by a computed tomography scanner
JP2012091024A (ja) X線ct装置及び医用画像ファイリング装置
EP4137057A1 (en) Controlling a computed tomography imaging procedure
US20120131585A1 (en) Apparatuses And Methods For Processing Workitems In Taskflows
US20180101479A1 (en) Caching sequential data items

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20160512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190815

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: 20190910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191009

R150 Certificate of patent or registration of utility model

Ref document number: 6602646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150