(57)【特許請求の範囲】
【請求項１】
リアルタイムコントローラと、
表示デバイスに接続可能なグラフィック処理ユニットと、
所定のオペレーティングシステム及び所定のアプリケーションを実行する中央演算処理装置と
を備え、
前記リアルタイムコントローラは、
前記グラフィック処理ユニットのメモリに接続され、前記中央演算処理装置に関して非同期にそれぞれの動作を実行し、画像撮影系から画像データを取得し、前記画像データ及び当該画像データに関する所定の処理に用いられる少なくとも一つのパラメータを前記グラフィック処理ユニットの前記メモリに送信し、
前記グラフィック処理ユニットは、前記リアルタイムコントローラからの前記少なくとも一つのパラメータ、及び前記中央演算処理装置から独立して送られる命令に基づいて、前記画像データに関し前記所定の処理を実行すること、
を特徴とする医用画像診断装置。
【請求項２】
前記リアルタイムコントローラが前記中央演算処理装置に接続されていることを特徴とする請求項１に記載の医用画像診断装置。
【請求項３】
前記リアルタイムコントローラは、前記画像データを前記グラフィック処理ユニットに転送する前又は転送時に、前記所定の処理が始まることを前記中央演算処理装置に知らせることを特徴とする請求項２に記載の医用画像診断装置。
【請求項４】
前記グラフィック処理ユニットは、ひとたび前記画像データに関する前記所定の処理が実行されると、前記所定の処理によって得られる画像データを前記リアルタイムコントローラに転送する請求項１乃至３のうちいずれか一項記載の医用画像診断装置。
【請求項５】
前記リアルタイムコントローラがアプリケーションプログラミングインターフェースを介して前記中央演算処理装置に接続されていることを特徴とする請求項１乃至４のうちいずれか一項記載の医用画像診断装置。
【請求項６】
前記リアルタイムコントローラが前記グラフィック処理ユニットの固定されたメモリ（pinned memory）に接続されていることを特徴とする請求項１乃至５のうちいずれか一項記載の医用画像診断装置。
【請求項７】
前記グラフィック処理ユニットは、バックバッファを介して前記所定の処理が施された画像データを出力することを特徴とする請求項１乃至６のうちいずれか一項記載の医用画像診断装置。
【請求項８】
前記中央演算処理装置は、前記グラフィック処理ユニットとの間で同期処理を行わないことを特徴とする請求項１乃７のうちいずれか一項記載の医用画像診断装置。
【請求項９】
医用画像診断装置に接続可能なリアルタイムコントローラと、
表示デバイスに接続可能なグラフィック処理ユニットと、
所定のオペレーティングシステム及び所定のアプリケーションを実行する中央演算処理装置と
を備え、
前記リアルタイムコントローラは、
前記グラフィック処理ユニットのメモリに接続され、前記中央演算処理装置に関して非同期にそれぞれの動作を実行し、前記医用画像診断装置から画像データを取得し、前記画像データ及び当該画像データに関する所定の処理に用いられる少なくとも一つのパラメータを前記グラフィック処理ユニットの前記メモリに送信し、
前記グラフィック処理ユニットは、前記リアルタイムコントローラからの前記少なくとも一つのパラメータ、及び前記中央演算処理装置から独立して送られる命令に基づいて、前記画像データに関し前記所定の処理を実行すること、
を特徴とする医用画像処理装置。
【請求項１０】
前記リアルタイムコントローラが前記中央演算処理装置に接続されていることを特徴とする請求項９に記載の医用画像処理装置。
【請求項１１】
前記リアルタイムコントローラは、前記画像データを前記グラフィック処理ユニットに転送する前又は転送時に、前記所定の処理が始まることを前記中央演算処理装置に知らせることを特徴とする請求項１０に記載の医用画像処理装置。
【請求項１２】
前記グラフィック処理ユニットは、ひとたび前記画像データに関する前記所定の処理が実行されると、前記所定の処理によって得られる画像データを前記リアルタイムコントローラに転送する請求項９乃至１１のうちいずれか一項記載の医用画像処理装置。
【請求項１３】
前記リアルタイムコントローラがアプリケーションプログラミングインターフェースを介して前記中央演算処理装置に接続されていることを特徴とする請求項９乃至１２のうちいずれか一項記載の医用画像処理装置。
【請求項１４】
前記リアルタイムコントローラが前記グラフィック処理ユニットの固定されたメモリ（pinned memory）に接続されていることを特徴とする請求項９乃至１３のうちいずれか一項記載の医用画像処理装置。
【請求項１５】
前記グラフィック処理ユニットは、バックバッファを介して前記所定の処理が施された画像データを出力することを特徴とする請求項９乃至１４のうちいずれか一項記載の医用画像処理装置。
【請求項１６】
前記中央演算処理装置は、前記グラフィック処理ユニットとの間で同期処理を行わないことを特徴とする請求項９乃１５のうちいずれか一項記載の医用画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、医用画像など画像の表示におけるリアルタイム処理およびデータの移動をサポートするための医用画像診断装置及び医用画像処理装置に関する。
【背景技術】
【０００２】
リアルタイムの画像表示の分野では、周辺機器相互接続エクスプレス（ＰＣＩｅ）を介して画像をグラフィックカードメモリに直接入れる（ダイレクトメモリアクセス（ＤＭＡ）配信される）ことが可能なシステムを考案する試みがいくつかある。しかしながら、同じオペレーティングシステム下で表示とリアルタイム処理の両方を実行することが可能なシステムはない。たとえば、「サンゴ」と名付けられた１つのシステムは、グラフィックカードのメモリに画像を直接入れ、外部ＰＣＩｅカードが次のＶｓｙｎｃ信号に基づいてグラフィックカード内の次の画像の提示をトリガできるようにする。これによって、ホストマシンのオペレーティングシステム（ＯＳ）を必要とすることなく、画像を更新することができる。Ｖｓｙｎｃは、垂直同期を表し、グラフィック処理ユニット（ＧＰＵ）および表示デバイスが新しい画像の表示を同期できるようにする。名前は、陰極線管ベースのディスプレイの垂直リフレッシュの使用に由来する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記の例示的な従来技術の試みに鑑み、リアルタイムの撮影の分野は、検査セッションの間にプローブ位置を追跡するための改良された方法およびデバイスを依然として必要とする。
【０００４】
目的は、従来に比してリアルタイム性の高い画像処理、画像表示を実行可能な医用画像診断装置及び医用画像処理装置を提供することにある。
【課題を解決するための手段】
【０００５】
本実施形態に係る医用画像診断装置は、リアルタイムコントローラと、表示デバイスに接続可能なグラフィック処理ユニットと、所定のオペレーティングシステム及び所定のアプリケーションを実行する中央演算処理装置と、を備え、前記リアルタイムコントローラは、前記グラフィック処理ユニットのメモリに接続され、前記中央演算処理装置に関して非同期にそれぞれの動作を実行し、画像撮影系から画像データを取得し、前記画像データ及び当該画像データに関する所定の処理に用いられる少なくとも一つのパラメータを前記グラフィック処理ユニットの前記メモリに送信し、前記グラフィック処理ユニットは、前記リアルタイムコントローラからの前記少なくとも一つのパラメータ、及び前記中央演算処理装置から独立して送られる命令に基づいて、前記画像データに関し前記所定の処理を実行することを特徴とする。
【図面の簡単な説明】
【０００６】
【図１Ａ】実施形態に係る医用画像処理装置のブロック構成を示した図。
【図１Ｂ】実施形態に係る医用画像処理装置において実現される、リアルタイム画像表示を実現するための構成を説明するための概念図。
【図２】一実施形態による非同期の医用画像処理を実行するためのプロセスを示すフロー図。
【図３】一実施形態によるグラフィック処理ユニットを示す概略図。
【図４】核医学診断装置の一例を示す説明図。
【図５】実施形態によるコンソールデバイスの例示的な構成のブロック図。
【発明を実施するための形態】
【０００７】
リアルタイムの画像表示は、多くの医学的コンテキストにおいて必要である。たとえば、Ｘ線血管造影法は、システムが不具合なしでリアルタイム画像を表示することが必要である。加えて、互換性の問題のため、リアルタイム画像を表示するユーザインターフェースが、たとえばＷｉｎｄｏｗｓ（登録商標）など、市販のオペレーティングシステムにおいて動作するものであることがしばしば好まれる。しかしながら、Ｗｉｎｄｏｗｓはリアルタイムではないので、たとえばＷｉｎｄｏｗｓなどのＯＳにおいて動作しているグラフィックカード上にリアルタイム画像を表示することは、従来困難だった。特に、Ｗｉｎｄｏｗｓは、ＧＰＵにストールさせる可能性がある大きい遅延（不具合）がしばしばある。医療処置の間、これが起こる場合、医師は、古い画像を見るかまたは画像が見られなくなっており、このことは、患者を傷つける可能性がある。リアルタイムの画像の表示に加えて、グラフィックカードがリアルタイム画像処理を実行することも、非常に有益である。既知のシステムは、表示とリアルタイム処理の両方を実行することができない。
【０００８】
医学用表示装置の例示的な実施形態は、添付の図面を参照して以下で詳細に説明される。同様の参照番号は、いくつかの図にわたって同一または対応する部分を示す。
【０００９】
図１Ａは、実施形態に係る医用画像処理装置１のブロック構成を示した図である。同図に示したように、医用画像処理装置１は、ＬＡＮ等のネットワークを介して医用画像診断装置２、リモートデバイス１２１７と接続される。
【００１０】
医用画像診断装置は、例えば、Ｘ線診断装置（Ｘ線血管造影装置等も含む）、Ｘ線コンピュータ断層撮像装置、磁気共鳴イメージング装置、超音波診断装置、核医学診断装置、ＰＥＴ−ＣＴ装置等である。
【００１１】
なお、本実施形態においては、医用画像処理装置１は、医用画像診断装置２と別体として構成する場合を例示した。しかしながら、当該例に拘泥されず、医用画像診断装置２が医用画像処理装置１を内蔵する構成としてもよい。
【００１２】
医用画像処理装置１は、コンピュータシステム１２０１、ディスプレイ１２１０、ポンティングデバイス１２１２、キーボード１２２０を具備する。
【００１３】
コンピュータシステム１２０１は、リアルタイムコントローラ（ＦＰＧＡ）１０、プロセッサ（ＣＰＵ）２０、ディスプレイコントローラ（ＧＰＵ）３０、バス１２０２、メインメモリ１２０４、ＲＯＭ１２０５、ディスクコントローラ１２０６、磁気ハードディスク１２０７、取外し式媒体ドライブ１２０８、通信インターフェース１２１３を具備している。
【００１４】
ディスクコントローラ１２０６は、バス１２０２に結合され、磁気ハードディスク１２０７および取外し式媒体ドライブ１２０８など（たとえば、フロッピー（登録商標）ディスクドライブ、読取り専用コンパクトディスクドライブ、読取り／書込みコンパクトディスクドライブ、コンパクトディスクジュークボックス、テープドライブ、および取外し式光磁気ドライブなど）、情報および命令を記憶するための１つまたは複数の記憶デバイスを制御する。
【００１５】
記憶デバイスは、（たとえば、小型コンピュータシステムインターフェース（ＳＣＳＩ）、集積デバイス電子機器（ＩＤＥ）、拡張ＩＤＥ（Ｅ−ＩＤＥ）、ダイレクトメモリアクセス（ＤＭＡ）、またはウルトラＤＭＡなど）適切なデバイスインターフェースを使用しているコンピュータシステム１２０１に追加され得る。
【００１６】
コンピュータシステム１２０１は、特殊目的論理デバイス（たとえば、特定用途向け集積回路（ＡＳＩＣ））、または構成可能論理デバイス（たとえば、単純プログラマブル論理装置（ＳＰＬＤ）、複合プログラマブル論理装置（ＣＰＬＤ）、およびフィールドプログラマブルゲートアレイ（ＦＰＧＡ）など）も含み得る。
【００１７】
コンピュータシステム１２０１は、情報をコンピュータユーザに表示するために、液晶ディスプレイ（ＬＣＤ）などのディスプレイ１２１０（または表示）を制御するために、バス１２０２に結合されたＧＰＵ（またはディスプレイアダプタ）などのディスプレイコントローラ３０も含み得る。コンピュータシステムは、コンピュータユーザと対話し、ＣＰＵなどのプロセッサ２０（または処理デバイス／ユニット）に情報を提供するための、入力デバイス、たとえばキーボード１２１１およびポインティングデバイス１２１２などを含む。ポインティングデバイス１２１２は、たとえば、マウス、トラックボール、タッチスクリーンセンサのための指、またはプロセッサ２０に対して方向情報およびコマンド選択を通信するための、およびディスプレイ１２１０上のカーソルの移動を制御するためのポインティングスティックでもよい。
【００１８】
なお、後述するリアルタイム処理においては、ディスプレイコントローラ３０がプロセッサ２０と非同期に動作することで、従来に比して、画像処理及び画像表示においてリアルタイム性を向上させる。当該処理については、後で詳しく説明する。
【００１９】
コンピュータシステム１２０１は、プロセッサ２０がメインメモリ１２０４などのメモリに含まれる１つまたは複数の命令の１つまたは複数のシーケンスを実行することに応答して、本開示の処理ステップの一部またはすべてを実行する。そのような命令は、たとえばハードディスク１２０７または取外し式媒体ドライブ１２０８など、別のコンピュータ可読媒体からメインメモリ１２０４に読み込まれ得る。メインメモリ１２０４に含まれる命令のシーケンスを実行するために、多重処理構成の１つまたは複数のプロセッサも使用され得る。代替の実施形態では、ソフトウェア命令の代わりに、またはそれとの組み合わせでハードワイヤード回路が使用され得る。このように、実施形態は、ハードウェア回路およびソフトウェアの任意の特定の組み合わせに限定されない。
【００２０】
上記のように、コンピュータシステム１２０１は、少なくとも１つのコンピュータ可読媒体または本開示の教示に従ってプログラムされる命令を保持するための、および本実施形態に記載されているデータ構造、テーブル、記録、または他のデータを含むためのメモリを含む。コンピュータ可読媒体の例には、コンパクトディスク、ハードディスク、フロッピーディスク、テープ、光磁気ディスク、ＰＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ（登録商標）、フラッシュＥＰＲＯＭ）、ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ、または任意の他の磁気媒体、コンパクトディスク（たとえば、ＣＤ−ＲＯＭ）、または任意の他の光媒体、パンチカード、紙テープ、あるいは穴のパターンを有する他の物理的な媒体がある。
【００２１】
コンピュータ可読媒体のうちの任意の１つまたは組み合わせに記憶されており、本開示は、コンピュータシステム１２０１を制御するため、本発明を実施するための１つまたは複数のデバイスを駆動するため、およびコンピュータシステム１２０１が人間のユーザと対話できるようにするためのソフトウェアを含む。そのようなソフトウェアには、それだけには限定されないが、デバイスドライバ、オペレーティングシステム、およびアプリケーションソフトがある。そのようなコンピュータ可読媒体にはさらに、本発明を実施する際に実行される処理の全部または一部（処理が分散されている場合）を実行するための本開示のコンピュータプログラム製品がある。
【００２２】
本実施形態のコンピュータコードデバイスは、それだけには限定されないが、スクリプトと、解釈可能なプログラムと、ダイナミックリンクライブラリ（ＤＬＬ）と、Ｊａｖａ（登録商標）クラスと、完全な実行可能プログラムとを含む、任意の解釈可能または実行可能コード機構でもよい。さらに、本実施形態の処理の部分は、より良い性能、信頼性、および／またはコストのために分散され得る。
【００２３】
本実施形態で使用する「コンピュータ可読媒体」という用語は、命令を実行のためにプロセッサ２０に提供することに関係する任意の非一時的媒体を指す。コンピュータ可読媒体は、それだけには限定されないが、不揮発性媒体または揮発性媒体を含む、多くの形をとることができる。不揮発性媒体には、たとえば、光学、磁気ディスク、および光磁気ディスク、たとえばハードディスク１２０７または取外し式媒体ドライブ１２０８がある。揮発性媒体には、ダイナミックメモリ、たとえばメインメモリ１２０４がある。これに反して、送信媒体には、バス１２０２を構成するワイヤを含む同軸ケーブル、銅線、および光ファイバがある。送信媒体は、たとえば電波および赤外線通信の間に生成されるものなど、音響または光波の形をとることもできる。
【００２４】
様々な形のコンピュータ可読媒体は、実行のためにプロセッサ２０に１つまたは複数の命令の１つまたは複数のシーケンスを実行することに関与し得る。たとえば、命令は、最初に、リモートコンピュータの磁気ディスクで運ばれ得る。リモートコンピュータは、ダイナミックメモリに遠隔で本開示の全部または一部を実施するための命令をロードし、モデムを使用して電話線を介して命令を送ることができる。コンピュータシステム１２０１にローカルのモデムは、電話線を介してデータを受信することができ、データをバス１２０２に配置することができる。バス１２０２は、データをメインメモリ１２０４に運び、そこから、プロセッサ２０は、命令を取り出し、実行する。メインメモリ１２０４によって受信される命令は、プロセッサ２０による実行の前または後のいずれかに、記憶デバイス１２０７または１２０８に随意記憶され得る。
【００２５】
コンピュータシステム１２０１は、バス１２０２に結合された通信インターフェース１２１３も含む。通信インターフェース１２１３は、たとえば、ローカルエリアネットワーク（ＬＡＮ）１２１５に接続されているネットワークリンク１２１４、または、インターネットなど、別の通信ネットワーク１２１６に結合する双方向データ通信を提供する、たとえば、通信インターフェース１２１３は、任意のパケット交換ＬＡＮに接続するためのネットワークインターフェイスカードでもよい。別の例として、通信インターフェース１２１３は、統合サービスデジタルネットワーク（ＩＳＤＮ）カードでもよい。ワイヤレスリンクも実装され得る。任意のそのような実装では、通信インターフェース１２１３は、様々なタイプの情報を表すデジタルデータストリームを運ぶ、電気、電磁気、または光学信号を送受信する。
【００２６】
ネットワークリンク１２１４は、一般的に、１つまたは複数のネットワークを介したデータ通信を別のデータデバイスに提供する。たとえば、ネットワークリンク１２１４は、ローカルネットワーク１２１５（たとえば、ＬＡＮ）を介して、または通信ネットワーク１２１６を介して通信サービスを提供するサービスプロバイダによって動作される機器を介して別のコンピュータへの接続を提供することができる。ローカルネットワーク１２１４および通信ネットワーク１２１６は、たとえば、デジタルデータストリームおよび関連の物理層（たとえば、ＣＡＴ５ケーブル、同軸ケーブル、光ファイバなど）を運ぶ電気、電磁気、または光学信号を使用する。様々なネットワークを介した信号、ならびにネットワークリンク１２１４上の、および通信インターフェース１２１３を介した信号は、コンピュータシステム１２０１から、およびそこにデジタルデータを運び、ベースバンド信号または搬送波ベースの信号で実装される。ベースバンド信号は、デジタルデータビットのストリームを記述する変調されていない電気的パルスとして、デジタルデータを運び、ここでは、「ビット」という用語は、概して、シンボルを意味するものと解釈され、各シンボルは、少なくとも１つまたは複数の情報ビットを運ぶ。デジタルデータは、たとえば、導電媒体を介して伝搬される、または伝搬媒体を介して電磁波として送信される、振幅、位相および／または周波数シフトキー信号などで、搬送波を変調するためにも使用され得る。このように、デジタルデータは、「ワイヤード」通信チャネルを介して、変調されていないベースバンドデータとして送られ得る、および／または搬送波を調整することによって、ベースバンドとは異なる所定の周波数帯域内で送られ得る。コンピュータシステム１２０１は、ネットワーク１２１５および１２１６、ネットワークリンク１２１４、ならびに通信インターフェース１２１３を介してプログラムコードを含むデータを送受信することができる。さらに、ネットワークリンク１２１４は、ＬＡＮ１２１５を介した接続をリモートデバイス１２１７、たとえば携帯情報端末（ＰＤＡ）、モバイル機器、サーバ、デスクトップまたはラップトップコンピュータ、あるいはセルラー電話などに提供することができる。データは、リアルタイムコントローラ、ＧＰＵ、またはＣＰＵからリモートデバイスに送信され得る。
【００２７】
本実施形態は、重要な利点を提供する。たとえば、システムは、同じシステム上のリアルタイムの表示および処理を可能にする。さらに、システムの部分のために、既製のグラフィックカードが使用され得る。グラフィックカード（たとえば、ＧＰＵ３０）は、画像処理を実行することもでき、リアルタイムコントローラ処理回路１０に、画像処理の代わりに他のタスクを実行させる。処理された画像は、リアルタイムコントローラ処理回路１０に送り返され得る。システムは、複数のＧＰＵをサポートすることもでき、各ＧＰＵは、複数のデータフローをサポートすることができる。複数のＧＰＵが使用されるとき、１）ＧＰＵの間の通信はなく、すべてのＧＰＵは、リアルタイムコントローラ処理回路と直接通信する、または２）いくつかまたはすべてのＧＰＵは互いに、およびリアルタイムコントローラ処理回路の一部もしくは全部と通信することができ、トポロジは、実際に変わり得る（また、ＧＰＵ間で利用可能な通信メカニズムに応じて）。
【００２８】
ＣＰＵ２０、リアルタイムコントローラ処理回路１０、およびＧＰＵ３０の間で同期が必要とされないので、低レベルの制御情報および画像は、リアルタイムコントローラ処理回路１０によって直接ＧＰＵ３０に送られ得る。次いで、ＧＰＵ３０は、どんな入力データが、どんなパラメータで、処理されるべきかを決定する。ＣＰＵ２０は、画像においてどんなカーネルプロセスを実行すべきか、およびいつ結果を表示すべきかのみを決定し、それによって、ＣＰＵ２０を高レベル制御に制限する。その結果、ＣＰＵ２０のオペレーティングシステムが一時的に利用できないときでも、ＧＰＵ３０は、最大限のパフォーマンスで動作することができる。
【００２９】
図１Ｂは、実施形態に係る医用画像処理装置１において実現される、リアルタイム画像表示を実現するための構成を説明するための概念図である。図１Ａ、図１Ｂに示したように、本実施形態は、リアルタイムコントローラとして動作する処理回路１０を含む。リアルタイムコントローラ処理回路１０は、例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）として、特定用途向け集積チップ（ＡＳＩＣ）、ＧＰＵ、ＰＣＩベースの回路、または何らかの他の好適なデバイスとして実装され得る。リアルタイムコントローラ処理回路１０は、たとえば、医用画像診断装置から撮影情報の入力を受信する。リアルタイムコントローラ処理回路１０は、ＧＰＵ３０およびＣＰＵ２０に接続されている。リアルタイムコントローラ処理回路１０は、ＤＭＡを介してＧＰＵ３０に接続されており、ＧＰＵ３０のメモリに情報を直接送る。リアルタイムコントローラ処理回路１０は、ＣＰＵを動作させているオペレーティングシステムを介してＣＰＵ２０に接続されている。特に、リアルタイムコントローラ処理回路１０は、アプリケーションプログラミングインターフェース（ＡＰＩ）を介してＣＰＵ２０に接続されている。リアルタイムコントローラ処理回路１０、ＣＰＵ２０、およびＧＰＵ３０はすべて、非同期に通信する。また、ＣＰＵ２０は、ＧＰＵ３０に接続されており、ＧＰＵおよびＣＰＵの待ち行列に、処理のためのコマンドおよび複数（たとえば１６）の将来の画像フレームの表示を送る。コマンドは、最初に関連のＣＰＵコンテキストの待ち行列に入れられ、次いで、それ自体の待ち行列に、ＧＰＵ３０によって別々にフェッチされる。結果として、ＣＰＵ２０がストールした場合、ＧＰＵ３０は、問題なく動作し続ける。ＣＰＵ２０とＧＰＵ３０との間の通信に関して、あたかもリアルタイムコントローラ処理回路１０が存在することさえそれらが認識しないかのようにＣＰＵ２０およびＧＰＵ３０が対話するように、これは、リアルタイムコントローラ処理回路１０と独立して実行される。
【００３０】
システムの遅れを引き起こすことになる、リアルタイムコントローラ処理回路１０と、ＣＰＵ２０と、ＧＰＵ３０との間のいかなるブロックも防止するために、非同期通信が必要とされる。
【００３１】
非同期通信を達成するために、図２に示されるプロセスが実行される。ステップは、図２に示される順序で実行され得る、または異なる順序で実行され得る。一実施形態では、ステップの少なくとも１つは、別のステップと並行して実行され得る。
【００３２】
ステップ１００で、画像データ（たとえば、医用画像データ）は、たとえば医用画像診断装置など、撮影デバイスからリアルタイムコントローラ処理回路１０に送信される。本実装形態は、医学用撮影データに限定されず、アニメーション、画像処理、またはグラフィック処理ユニットを使用する任意の他の処理にも使用され得る。
【００３３】
ステップ１０１で、画像データは、ＤＭＡによってリアルタイムコントローラ処理回路１０からＧＰＵ３０に直接転送される。ＣＰＵ２０は、ＧＰＵ３０に転送される特定の画像データを知らされない。
【００３４】
ステップ１０２で、カーネルパラメータ情報は、ＤＭＡによってリアルタイムコントローラ処理回路１０からＧＰＵ３０に直接転送される。カーネルパラメータ情報は、ＧＰＵ３０を制御するための情報である。ＧＰＵ３０上で動作する各カーネルは、ＧＰＵ３０上の処理を制御するための異なるパラメータ入力を取得する。たとえば、変換カーネルは、入力として、回転の角度と、シフト値とを必要とする。一般的に、このデータは、ＣＰＵ２０のオペレーティングシステム上で動作するアプリケーションで生成され、そこから送られる。しかしながら、この場合、カーネルパラメータ情報は、リアルタイムコントローラ処理回路１０から受信される。これは、少なくとも、リアルタイムコントローラ処理回路１０にカーネルパラメータ情報をＣＰＵ２０のオペレーティングシステム上で動作しているアプリケーションに通信させ、次いでこの情報をＧＰＵに送らせることは非常に非効率的であるからである。さらに重要なことに、これは、画像処理の変更が必要とされるとき、および処理が行われるときからのレイテンシが大きくなることになる。そのようなレイテンシは、ＧＰＵ３０までの将来のフレームのために、ＣＰＵ２０がＧＰＵ３０にメッセージを送るので、起こることになる。したがって、ＧＰＵ３０は、新しい処理命令を受信する前に、すべての先行のフレームを処理する必要があることになる。
【００３５】
画像データをリアルタイムコントローラ処理回路１０からＧＰＵ３０に送信するために使用される同じ技法は、カーネルパラメータ情報を転送するために使用され得る。すべてのパラメータ情報は、画像データとともに移動するヘッダ内に配置され得る。これは、画像を処理するすべての情報が、リアルタイムコントローラ処理回路１０からＧＰＵ３０に転送される画像内に内蔵されることを意味する。あるいは、パラメータ情報は、画像データとは別に送られてもよい。ＧＰＵ３０は、ヘッダを復号し、対応するパラメータについての結果として生じる情報を使用することができる。
【００３６】
このことにより、処理が変わることをリアルタイムコントローラ処理回路１０が示すとき、および処理が行われるときからの任意の画像フレームのレイテンシが除去されることに留意されたい。この同じ技法は、ｐiｎｎｅｄメモリに状態情報を直接提供するために使用され得（ＰＣＩｅアドレス指定可能なＧＰＵ３０内部メモリ、またはＧＰＵ３０アドレス指定可能なシステムメモリなど）、それによって、ＧＰＵ３０は、どんな処理が実際に行われるべきかについて決定することができる。たとえば、カーネルは、カーネルがその通常の処理を行うべきか、処理を実行せずに直ちに戻るべきかを、実際に決定することができる。これは、決定が、カーネルに送られるパラメータに基づいて、カーネル内部で行われ得るので、すべて可能である。
【００３７】
ステップ１０３で、制御情報は、ＤＭＡによってリアルタイムコントローラ処理回路１０からＧＰＵ３０に直接転送される。制御情報は、フレームまたは画像番号を含む。リアルタイムコントローラ処理回路１０は、ＧＰＵ３０に画像を直接送り、次に、ＧＰＵ３０は、メモリに存在するどんな画像でも単純に処理する。読取りおよび書込みが同時に行われ得るように、ｐiｎｎｅｄ  ＧＰＵメモリの複数のバッファが使用され得る。また、リアルタイムコントローラ処理回路１０は、ＧＰＵ３０がどのバッファが最も新しいかについて確認することができるように、ＧＰＵ３０に転送される画像ごとに、画像番号を生成する。
【００３８】
ＧＰＵで処理された画像は、長期間の記憶のため、および外部ＰＣに送るために、リアルタイムコントローラ処理回路１０に時々送り返されなければならない。この状況で、たとえば、リアルタイムコントローラ処理回路１０は、ＧＰＵ３０ボードｐiｎｎｅｄメモリから画像を読み取る。これを達成するために、リアルタイムコントローラ処理回路１０は、画像がいつ完全に処理されるかを知っている必要がある。多くの画像がリアルタイムコントローラ処理回路１０によって読み返される必要はない場合でも、画像完了情報は、すべての画像が設計を一貫して単純にしておくために送られ得ることに留意されたい。
【００３９】
これを実施する例示的な方法が２つあり、第１の手法では、ＧＰＵ３０は、どのバッファが一番最近更新されたかを示す、ｐiｎｎｅｄメモリ内のレジスタを更新することによって、新しい出力画像がｐiｎｎｅｄメモリに書き込まれたことを示す。リアルタイムコントローラ処理回路１０は、所定の間隔で（たとえば、あらゆる画像の書込みで）このレジスタをポーリングし、値をリアルタイムコントローラ処理回路１０のローカルに記憶された値と比較する。リアルタイムコントローラ処理回路１０は、ＧＰＵ３０におけるレジスタ値が変わると、１つまたは複数の新しい出力バッファが書き込まれたことがわかる。
【００４０】
第２の手法では、ＧＰＵ３０は、最近完了した画像の画像番号を、ＧＰＵ３０  ＤＭＡエンジンを介して、画像が完全に処理されたことを示す、リアルタイムコントローラ処理回路１０のメモリ位置に直接書き込む。
【００４１】
第１の例は、たとえばＤＭＡエンジンを使用することを回避することなど、いくつかの利点を提供する。これによって、ＧＰＵ上のｐiｎｎｅｄメモリへのアクセスが利用可能である場合、ソリューションは、複数のタイプの市販のＧＰＵベースのシステム上で機能することができる。加えて、第１の例は、ＧＰＵ３０とリアルタイムコントローラ処理回路１０との間の通信を一貫させ、このことは、実装およびデバッグを単純化する。
【００４２】
ステップ１０４で、スタート／ストップデータフロー情報のみが、リアルタイムコントローラ処理回路１０からＣＰＵ２０に送信される。データフローの処理の間、リアルタイムコントローラ処理回路１０とＣＰＵ２０との間の追加の通信は、ステータス情報の送信を除いて行われない。リアルタイムコントローラ処理回路１０は、データフローの処理が開始または停止すると、ＣＰＵ２０と通信する。また、リアルタイムコントローラ処理回路１０は、開始しているデータフローのためにどの処理ブロックが実行されなければならないかについてＣＰＵ２０に知らせる。ＣＰＵ２０は、何が特定のデータフローを構成するかは知らされない。ＣＰＵ２０およびＧＰＵ３０は、リアルタイムコントローラ処理回路１０によって制御されるサービスと見なされる。
【００４３】
ステップ１０５で、ＧＰＵ３０は、リアルタイムコントローラ処理回路１０から送信される制御およびパラメータ情報を復号し、ＧＰＵのカーネル内でどんな処理を実行するべきかに関して決定する。これによって、任意の画像においてどんな処理が行われるべきかに関する決定処理からＣＰＵ２０が事実上取り除かれ、すべての画像がＣＰＵ２０によって同様に扱われることが確実になる。これによって、システムは、オペレーティングシステムを事実上回避することができ、十分なリアルタイム能力を可能にする。次いで、ＧＰＵ３０は、画像データ上の処理を実行する。
【００４４】
ＧＰＵ３０とＣＰＵ２０との間の通信は、非同期であるように設計されている。しかしながら、ブロックをもたらし、非同期の通信を防止する可能性のある要因が多く存在する。これらの２つの構成要素が非同期に動作しているときでさえ、ＧＰＵ３０とディスプレイ４０との間の同期化のため、それらの非同期の性質に対する制限がある。一例では、ＤｉｒｅｃｔＸなど一群のアプリケーションプログラミングインタフェースは、どれだけのフレーム相当のメッセージをＣＰＵ２０およびＧＰＵ３０によって事前に待ち行列に入れることができるかをアプリケーションが指定することができる、たとえばＭａｘＦｒａｍｅＬａｔｅｎｃｙコマンドなどのコマンドを提供する。フレームは、アプリケーションプログラミングインターフェースの「現在の」コマンド間のＧＰＵ３０の命令によって生成される出力画像に等しい。「現在の」コマンドは、ＶｓｙｎｃでＧＰＵ３０と同期するために使用される。ＣＰＵ２０およびＧＰＵ３０において待ち行列に入れられたフレームの数がひとたびＭａｘＦｒａｍｅＬａｔｅｎｃｙに等しくなると、ＣＰＵ２０はＧＰＵ３０にコマンドを送るのを止める。
【００４５】
また、待ち行列の量は、ＧＰＵ３０がどれくらい速く画像を処理しているか、および、次に、ＧＰＵ３０がディスプレイ４０とのＶｓｙｎｃでブロックしているかに依存する。たとえば、ＧＰＵ３０は、画像を処理するための時間があまりかからない場合、Ｖｓｙｎｃ、およびどれだけのバッファがディスプレイ４０とのＶｓｙｎｃに利用できるかによって減速される。いずれにせよ、ＣＰＵ２０とＧＰＵ３０との間の分離を最大にするために、ＭａｘＦｒａｍｅＬａｔｅｎｃｙは、最大許容値（たとえば１６）に設定されなければならない。これは、ＣＰＵ２０のために、ＧＰＵ３０がどれだけブロックされるかを最低限に抑える／なくす。さらに重要なことに、これによって、ＧＰＵ３０は、ＣＰＵ２０が利用できない可能性があるときでも、フレームを処理し続けることができる。これは、ＧＰＵ３０アプリケーションおよびドライバが他のプロセスによって優先的に使用されることが推測される非リアルタイムオペレーティングシステムでは特に重要である。オペレーティングシステム下の一般的な遅延は、最高３０〜５０ｍｓであり得る。最高１６フレーム相当のコマンドをバッファリングすることによって、ＣＰＵ２０は、ＧＰＵ３０の性能に影響を及ぼすことなく、２６７ｍｓ（１６／６０ｆｐｓ）の間ストールすることができる。これは、リアルタイムシステムにおいてまさに必要とされることである。
【００４６】
ＣＰＵ２０からの入力が十分にないため、ＧＰＵ３０は決してストールしないと仮定すると、１秒当たり表示されるフレームの数は、フレームの計算がどれくらいかかるか、および表示の最大フレーム率に依存する。Ｘ線血管造影装置で使用される表示の一例は、たとえば、毎秒６０フレームを更新することができる。ＧＰＵ３０の計算時間が十分に小さい（高速計算）場合、最大フレーム率は、表示のフレーム率に等しくなり得る。たとえば、毎秒６０フレームで更新する表示の例では、ＧＰＵ３０の計算が１／６０秒よりも長い場合、表示されるフレーム率は、６０ｆｐｓ未満である。たとえば、フレームを処理するには３３ｍｓかかる場合、表示された出力は、３０ｆｐｓである。したがって、ＣＰＵ２０およびＧＰＵ３０は、非同期に通信するが、ＧＰＵ３０がビジーである場合、またはＧＰＵ３０が表示のためブロックしている場合、通信は依然としてブロックされる可能性がある。
【００４７】
図３は、ＧＰＵ３０の詳細な機能を示す。ＧＰＵ３０は、ｐiｎｎｅｄ入力メモリ５１と、カーネル処理要素５２と、バックバッファ５３〜５５とを含む。ｐiｎｎｅｄ入力メモリ５１は、ＧＰＵ３０内のバス（すなわちＰＣＩｅバス）アドレス指定可能メモリである。メモリは、ＧＰＵベンダーの拡張（たとえばＡＭＤ）によって割り振られ得る。そのようなｐiｎｎｅｄメモリを使用する代わりに、ＧＰＵ３０によって（一実施形態では直接）アクセスされるシステムメモリも使用され得る。図３は、リアルタイムコントローラ処理回路１０からＧＰＵ３０に書き込まれるバッファ情報をさらに示す。特に、表示のための画像を生成することに加えて、ＧＰＵ３０は、画像における処理も実施する。ＧＰＵ３０は、処理が完了すると、リアルタイムコントローラ処理回路１０に知らせ、一実施形態では、リアルタイムコントローラ処理回路１０は、この情報に応答して処理された画像を取り出すことが可能である。
【００４８】
上述したように、リアルタイムコントローラ処理回路１０は、ＤＭＡ画像および制御情報をＧＰＵ３０のｐiｎｎｅｄメモリ５１のバッファに直接可能である。ＧＰＵ３０のｐiｎｎｅｄメモリ５１は、ＰＣＩｅメモリ空間にマッピングされるＧＰＵボード上のメモリである。外部デバイスは、ＰＣＩｅマスター機能を使用して、このメモリに対する読取りおよび書込みを行うことが可能である。バッファのサイズが大きければ大きいほど、リアルタイムコントローラ処理回路１０およびＧＰＵ３０はより多く分離され得る。しかしながら、システムがリアルタイムであるので、システムのエンドツーエンドのレイテンシは非常に低く、したがって、非常に大きいバッファを使用する利点は時として少ない。
【００４９】
一実施形態では、ｐiｎｎｅｄメモリ５１において３つのバッファが使用され得る。一実施形態では、各バッファは、たとえば画像バッファおよび制御バッファの２つの異なるサブバッファから成り得る。制御バッファは、カーネルによって必要とされるすべてのパラメータ情報を含む。制御バッファは、固定式でよく、カーネルが画像を処理するために使用されていない場合であっても、カーネルごとにパラメータ情報を含むことができる。この構成は、実施、テスト、およびデバッグの時間を減らすことができる。制御バッファは、その処理全体にわたってＸ線画像に引き続き関連付けられているＸ線画像番号も含み得る。画像番号は、各新しい画像に伴って増加し、各新しいデータフローに伴ってリセットされる単調に増加するカウンタである。画像番号は、ＧＰＵ３０における処理を追跡することを除いて、ＧＰＵ３０によって直接には使用されない。
【００５０】
リアルタイムコントローラ処理回路１０が最新の画像および制御バッファをＧＰＵ３０に書き込み終わった後、バッファインデックスは、ｐiｎｎｅｄ  ＧＰＵメモリ５１におけるヘッドレジスタに記憶され得る。このヘッドレジスタのサイズは十分に小さいので、この位置に対する読取りおよび書込みは極小であることが保証される。特に、極小は、１つのデバイス（すなわち、ＧＰＵ３０またはリアルタイムコントローラ処理回路１０）によるこのレジスタに対する読取りおよび書込みは、別のデバイス（すなわち、ＧＰＵ３０またはリアルタイムコントローラ処理回路１０）の読取り／書込みによって中断されない可能性があることを意味する。１つのデバイスによる１つの読取りまたは書込み操作は、別のデバイスによる別の読取りまたは書込み操作の前に終わることが保証される。利用可能な相互排除ロック（相互排他的ロック）はないことが多いので、これは非常に重要である。この例では、このヘッダレジスタは、いつでもリアルタイムコントローラ処理回路１０によって書き込まれ、いつでもＧＰＵ３０によって読み取られ得る。レジスタのサイズが大きい場合、読み取られた値が書込み操作によって損なわれないことを確実にするために、レース状態を回避するために、何らかの種類の同期メカニズムが必要とされる。多くの状況では、ＧＰＵ３０が読取りを実行している間に、リアルタイムコントローラ処理回路１０による書込みを防止する、ＧＰＵカーネル（すなわち、ＤｉｒｅｃｔＸ  Ｓｈａｄｅｒｓ）における相互排除ロックの実装はない。
【００５１】
ＧＰＵ３０は、ＧＰＵ３０において処理すべきバッファを決定するために、この値を使用する。ＧＰＵ３０は、一番最近処理されたバッファインデックスを記憶するメモリに末尾の値を記憶することによって、これを達成する。ヘッドが末尾とは異なる場合、ＧＰＵ３０は末尾を増分し、バッファ長でのｍｏｄ（モジュロ演算子関数）を実行し、次いで、更新された末尾のインデックスに関連付けられたバッファを処理することができる。
【００５２】
リアルタイムコントローラ処理回路１０とＧＰＵ３０との通信は非同期であるので、ＧＰＵ３０がバッファを処理した最後の時からヘッドインデックスが変わっていないことが考えられる。この場合、ＧＰＵ３０は、ちょうど同じ画像を再度処理する。ＧＰＵ３０が別のバッファから読み取っている間、リアルタイムコントローラ処理回路１０がＧＰＵ３０に書き込むことができるように、複数のバッファが使用される。ＧＰＵ３０が先頭の値を読み取る前に、リアルタイムコントローラ処理回路１０が複数のバッファエントリを更新することができることも考えられる。ＧＰＵ３０は、すべての画像を順番に処理することも可能である。
【００５３】
まだＧＰＵ３０によって処理されていないデータの上書きを回避するために、リアルタイムコントローラ処理回路１０は、バッファ内に「空」の入力があるということを知らない限り、バッファに書き込まない。「空」という用語は、ＧＰＵ３０が画像を読み取り終わったことを意味する。これを達成するために、リアルタイムコントローラ処理回路１０は、どれくらいのバッファがＧＰＵバッファにおいて空であるかについて追跡するためにリアルタイムコントローラ処理回路１０が使用するローカルカウンタを保持する。このカウンタは、バッファのサイズに初期化され、信用機構の一種として機能する。リアルタイムコントローラ処理回路１０が新しい画像をＧＰＵ３０に書き込み終わるたびに、カウンタが減分される。ＧＰＵ３０が画像を処理し終わると、ＧＰＵ３０は、リアルタイムコントローラ処理回路１０によってポーリングされる、ＧＰＵ  ｐiｎｎｅｄメモリ５１におけるレジスタを更新することによって、リアルタイムコントローラ処理回路１０に知らせる。リアルタイムコントローラ処理回路１０は、画像が処理を完了したことをリアルタイムコントローラ処理回路１０が検出すると、カウンタを増分する。バッファの上書きから保護されているので、ＧＰＵ３０は、適切に制御およびデータバッファを処理することができる。バッファを非ｐiｎｎｅｄメモリに直ちにコピーする必要はない。バッファとの読取り／書込み競合を回避するために、リアルタイムコントローラ処理回路１０は、ヘッドレジスタを更新する前に、バッファデータを書き込む。
【００５４】
ＧＰＵ３０は、少なくとも１つのバックバッファ５３ａ〜５３ｎ、および少なくとも１つのフロントバッファ５４に接続されているカーネル処理要素５２に接続されているｐiｎｎｅｄメモリ５１を含み得る。
【００５５】
バックバッファ５３ａ〜５３ｎは、ディスプレイに将来の更新で表示されなければならない最終画像結果を保持するために、ＧＰＵ３０において使用される。
【００５６】
フロントバッファ５４は、現在ディスプレイ４０に表示されているＧＰＵ出力バッファである。
【００５７】
カーネル処理要素５２は、ＧＰＵに含まれ、処理回路を使用してカーネルを実行するように構成されている。カーネルは、並列言語（たとえば、ＯｐｅｎＣｌ、ＣＵＤＡ、ＤｉｒｅｃｔＣｏｍｐｕｔｅなど）で書かれており、ＧＰＵ３０での処理を制御するために使用されるＧＰＵプログラムである。カーネルは、通常コンパイルされ、ＧＰＵ３０にロードされており、次いで、必要に応じて呼び出され得る。
【００５８】
ｐiｎｎｅｄ入力メモリ５１は、リアルタイムコントローラ処理回路１０からの画像と制御情報の両方を記憶し、出力画像を記憶し、これらは必要に応じてＧＰＵ３０から転送される。
【００５９】
図４は、核医学診断装置の一例を示す例示的な図である。図４に示されるように、ＰＥＴシステムとしての核医学診断装置の一例には、ＰＥＴ−ＣＴ装置１００がある。図４では、２００はＰＥＴスキャナを示し、３００はＸ線ＣＴスキャナを示し、４００はベッドを示し、４０１は被検体が横たわっているテーブル面を示し、４０２は被検体を示す。ＰＥＴ−ＣＴ装置１００は、ＰＥＴスキャナ２００と、Ｘ線ＣＴスキャナ３００と、ベッド４００と、コンソールデバイス５００とを含む。図４のＸ方向は、図４に示されるテーブル面４０１に横たわっている被検体４０２の体軸の方向を表す。Ｙ方向は、水平面上のＸ方向に対して直角の方向を表す。Ｚ方向は、垂直方向を表す。
【００６０】
ベッド４００は、被検体４０２が横たわっているテーブル面４０１を含む。さらに、ベッド４００は、テーブル面４０１を移動するために、図４には示されていない回路によって実施されるベッド制御ユニットを含む。ベッド制御ユニットは、コンソールデバイス５００によって制御され、テーブル面４０１に横たわっている被検体４０２をＰＥＴ−ＣＴ装置１００の撮影孔に移動する。
【００６１】
ＰＥＴスキャナ２００は、ＰＥＴ画像を再構成するためのガンマ線から導出される光を計数する複数の光子計数ガンマ線検出器（後述する）を含む。ガンマ線検出器は、被検体４０２の体軸周辺に、環形に配置される。ガンマ線検出器は、テーブル面４０１に横たわっている被検体４０２の身体の外側から、たとえば、被検体４０２の身体の内部から発せられる１対のガンマ線（対消滅ガンマ線）を検出する。
【００６２】
具体的には、ガンマ線検出器がガンマ線を計数するたびに、ＰＥＴスキャナ２００は、ガンマ線を検出するガンマ線検出器の位置を示す検出位置と、ガンマ線がガンマ線検出器上に入射するときのエネルギー値と、ガンマ線検出器がガンマ線を検出する検出時間とを含む計数情報を収集する。検出時間が収集される。これによって、ＰＥＴ−ＣＴ装置１００は、重粒子線の経路が視覚化されるＰＥＴ画像を再構成する。
【００６３】
Ｘ線ＣＴスキャナ３００は、Ｘ線ＣＴ画像を再構成するためにＸ線を発するＸ線管と、Ｘ線管によって発せられるＸ線を検出するＸ線検出器とを含む。Ｘ線ＣＴスキャナ３００で、Ｘ線管は、Ｘ線を被検体４０２に照射し、Ｘ線検出器は、被検体４０２を通過するＸ線を検出する。具体的には、Ｘ線管はＸ線を発し、Ｘ線ＣＴスキャナ３００が被検体４０２の体軸のまわりを回転する間に、Ｘ線検出器はＸ線を検出する。言い換えれば、Ｘ線ＣＴスキャナ３００は、Ｘ線を被検体に多方向に照射し、被検体４０２の体軸のまわりを回転しながら、被検体４０２を通過することによって、被検体４０２に吸収される減衰されたＸ線を検出する。Ｘ線検出器によって検出されるＸ線において増幅処理、Ａ／Ｄ変換処理などを実行することによって生成されるデータは、「Ｘ線投影データ」とも呼ばれる。Ｘ線ＣＴスキャナ３００は、Ｘ線投影データと、Ｘ線投影データを生成するために使用されるＸ線が検出される検出位置とを収集する。
【００６４】
図５は、実施形態によるコンソールデバイスの例示的な構成のブロック図である。コンソールデバイス５００は、Ｘ線ＣＴスキャナ３００によって収集される情報に基づいて、Ｘ線ＣＴ画像を再構成する。さらに、コンソールデバイス５００は、ＰＥＴスキャナ２００によって収集される計数情報を使用することによって、同時計数情報を生成し、このように生成される同時計数情報に基づいてＰＥＴ画像を再構成する。以下の説明において、ＰＥＴ画像を再構成するための処理、およびコンソールデバイス５００によってＸ線ＣＴ画像を再構成するための処理は、任意の方法を使用して実行され得、その説明は簡潔になされる。
【００６５】
図５に示される例では、説明の便宜上、コンソールデバイス５００に加えて、ＰＥＴスキャナ２００と、Ｘ線ＣＴスキャナ３００と、放射線照射デバイス６００とが示される。図５に示されるように、コンソールデバイス５００は、ディスプレイ４０と、リアルタイムコントローラ１０と、ＧＰＵ３０とを含む。ＧＰＵ３０は、上述したように、Ｘ線ＣＴ画像を再構成する。さらに、コンソールデバイス５００のリアルタイムコントローラ１０およびＧＰＵ３０は、ＰＥＴ画像を再構成することが可能である。本実施形態では、１つのコンソールデバイス５００がＸ線ＣＴ画像と、ＰＥＴ画像とを再構成するケースについて、説明が行われている。しかしながら、本実施形態は、Ｘ線ＣＴ画像の再構成およびＰＥＴ画像の再構成が異なるコンソールデバイスにおいて実行されるケースに適用され得る。
【００６６】
リアルタイムコントローラ１０は、コンソールデバイス５００におけるＰＥＴ画像の再構成処理とＸ線ＣＴ画像の再構成処理とを制御する。さらに、ディスプレイ４０は、ＰＥＴ画像、Ｘ線ＣＴ画像、ＰＥＴ画像およびＸ線ＣＴ画像の重畳された画像などをディスプレイに表示する。
【００６７】
リアルタイムコントローラ１０およびＧＰＵ３０は、たとえば、フィルタ補正逆投影（ＦＢＰ）法によってＸ線投影データにおける逆投影処理を実行することが可能であり、それによって、Ｘ線ＣＴ画像を再構成する。
【００６８】
リアルタイムコントローラ１０およびＧＰＵ３０は、ほぼ同時に対消滅ガンマ線を計数することによって取得される同時計数情報として、検出時間の差が計数情報の中の時間ウィンドウ内にある２つの計数情報の組み合わせを生成する。
【００６９】
具体的には、同時計数情報は、オペレータによって指定された同時計数情報の生成の条件に基づいて生成される。たとえば、同時計数情報の生成の条件は、時間ウィンドウを含む。１対のガンマ線が両方計数される場合、時間ウィンドウは、２つの検出時間の間の差の上限を示す。
【００７０】
陽電子放出核種から同時に発せられる１対のガンマ線では、各々１対のガンマ線に含まれるガンマ線の検出時間は、同じであるか、検出時間が同じでない場合であっても、２つの検出時間の間の差は小さい。その結果、時間ウィンドウは、誤った同時計数情報が生成されるのを防止するために使用される。
【００７１】
たとえば、同時計数情報が「１０ナノ秒」の時間ウィンドウを使用することによって生成されるケースについて説明が行われる。この場合、各モジュールの「検出時間（Ｔ）」が参照され、２つの検出時間の間の差がモジュールの中の「１０ナノ秒の時間ウィンドウ」内にある、計数情報の組み合わせが検索される。
【００７２】
検出時間が時間ウィンドウ内にある組み合わせを検索することは、「一致の発見」とも呼ばれる。生成された同時計数情報のリストは、「一致リスト」とも呼ばれる。
【００７３】
エネルギーウィンドウは、同時計数情報の生成の条件として設定され得る。陽電子の消滅によって発せられる１対のガンマ線のエネルギー値は、前もってすでに指定されている。たとえば、要素は各々、「５１１ｋｅＶ」のガンマ線を発する。したがって、陽電子放出核種から同時に発せられる任意のガンマ線は、所定の範囲内のエネルギー値を有する。その結果、陽電子放出核種から発せられる１対のガンマ線ではない計数情報を除外するために、エネルギーウィンドウが使用され、同時計数情報が生成される。このように、誤った同時計数情報の生成が防止され得る。上述したように、同時計数情報の生成の条件の設定によって、偶発的同時計数を除くためのランダム補正と、拡散されたガンマ線の計数情報が同時計数情報として生成されるのを防ぐための散乱補正と、検出器の中の感度差を補正するための感度補正と、他の補正とを実行することができる。
【００７４】
生成された同時計数情報は、ＰＥＴ画像を再構成するために使用される。具体的には、同時計数情報は、ガンマ線の投影データであると考えられ、ＰＥＴ画像は、連続近似値法を使用することによって、ガンマ線の投影データから再構成される。連続近似値法には、最尤推定期待値最大化（ＭＬＥＭ）法と、ＭＬＥＭ法のアルゴリズムを改良することによって収束時間が著しく短縮されるｏｒｄｅｒｅｄ  ｓｕｂｓｅｔ  ＭＬＥＭ（ＯＳＥＭ）法がある。
【００７５】
いくつかの実施形態が記載されているが、これらの実施形態は、例として示されているにすぎず、本発明の範囲を制限するためのものではない。実際、本実施形態に記載されている新しい方法およびシステムは、様々な他の形で具体化され得、さらに、本実施形態に記載されている方法およびシステムの形の様々な省略、置換、および変更は、本発明の意図を逸脱することなく行われ得る。添付の特許請求の範囲およびそれらの均等物は、本発明の範囲内になるような形または変更をカバーするためのものである。
【符号の説明】
【００７６】
１…医用画像処理装置、２…医用画像診断装置、１０…リアルタイムコントローラ（ＦＰＧＡ）、２０…、プロセッサ（ＣＰＵ）、３０…ディスプレイコントローラ（ＧＰＵ）、１２０１…コンピュータシステム、１２０１…バス、１２０４…メインメモリ、１２０５…ＲＯＭ、１２０６…ディスクコントローラ、１２０７…磁気ハードディスク、１２０８…取外し式媒体ドライブ、１２１３…通信インターフェース１２１３
【図１Ａ】
0006602646.tif 000002
【図１Ｂ】
0006602646.tif 000003
【図２】
0006602646.tif 000004
【図３】
0006602646.tif 000005
【図４】
0006602646.tif 000006
【図５】
0006602646.tif 000007