実施形態は、遅延させる装置、核医学イメージング装置、遅延させる方法及び校正する方法に関する。
時間デジタル変換器(時間デジタル回路:time-to-digital circuit:TDC)は、ガンマ線検出器におけるタイミングの測定に頻繁に使用される。TDCは、イベントの実現を、該イベントが発生した時間に関連付けることのできる数字に、正確に変換する。このタスクの遂行には、様々な方法がある。中でも、粗クロックサイクル間の多数の超高速論理遷移をカウントすることが、このタスクを遂行するために使用されてきた。ある場合には、連続的に発生することが知られる一連のイベントの発生を示すことが望ましいことがある。例えば、立ち上がり信号が所定の閾値の組に達するまでにかかる時間は、非常に有用な情報となり得る。
また、時間デジタル変換器は、直列に接続された同一の遅延要素からなる単一のチェーンを有する標準的な遅延チェーンやバーニア遅延チェーンのような、様々なアーキテクチャで実装されてきた。
飛行時間ポジトロン放射断層撮影(positron emission tomography:PET)システムに必須の要素のひとつは時間デジタル変換器であり、検出器において検出された光子の到達時間を測定するために使用される。測定した時間は、ポジトロン放射が発生した位置を推定するのに使用できる、応答系統上の限界を形成するために使用される。TDCの精度が上がるにつれて限界もより厳しくなり、より精密な位置情報が提供される。
単一のイベント信号からの時間を決定するために、複数の遅延チェーン型TDCが一緒に使用される。すなわち、単一の入力部が、2以上の遅延チェーンの入力部に接続される。結果として出力される複数の時間値が平均されて、単一の、より精密な時間値となる。遅延チェーン型TDCの精度は、遅延チェーンのサンプルステップの時間のサイズに依存する。サンプルステップは、TDCの物理的制約に応じてかなり変わり得る。最大10回まで変化する場合も観測されている。複数の遅延チェーンを活用することによって、1つのチェーンが大きな瓶を測定している間に別のチェーンが小さな瓶を測定するように、入力が時間内にオフセットされる。つまり、瓶のサイズによって測定範囲が妥協されるため、複数のチェーンのうちいくつかの精度は、別のチェーンよりも低くなる。
オンチップ回路の速度に製造ベースのばらつきがかなり存在するため、TDCでの実装にオフセットを組み込み、単一の遅延チェーン型のTDC全体のタイミング精度を改善するのは困難である。このようなばらつきは、集合的なTDC回路から最大精度を引き出すことを可能にする最適なオフセットに影響を与える。したがって、すべてのチップにおいて実装されたTDCのタイミング精度を向上させるため、製造によるばらつきを補正する必要がある。
本発明が解決しようとする課題は、TDCのタイミング精度を向上させることを可能とする遅延させる装置、核医学イメージング装置、遅延させる方法及び校正する方法を提供することである。
図1は一実施形態に係る複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる装置の概略図である。
図2は、一実施形態に係る複数のチェーン型TDCへの信号を遅延させる装置の操作を示す概略図である。
図3は、一実施形態に係る複数のチェーン型TDCへの信号を遅延させる装置の、別の概略図である。
図4は、TDCチェーンの構成を例示するブロック図である。
図5は、実施形態にかかる核医学イメージング装置の一例を示す説明図である。
図6は、実施形態にかかるコンソール装置の構成の一例を示すブロック図である。
図7は、一実施形態による複数のチェーン型TDCへの信号を遅延させる工程を示すフローチャートである。
図8は、一実施形態による最適な遅延を決定する工程を示すフローチャートである。
図9は、一実施形態による計算デバイスを示す図である。
開示される実施形態およびそれに付随する利点の多くは、添付の図面に関連付けて以下の詳細な説明を参照することにより、より完全に理解されるであろう。この実施形態は、例えばチェーン型時間デジタル変換回路を遅延させるための遅延をプログラマブルに挿入して遅延させる装置、ならびに測定精度および分解能を改善するための関連手順に関する。なお、本出願は、米国特許第8,222,607号の関連出願であり、その内容は参照することによって本明細書に援用される。
一実施形態では、複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる装置について説明する。遅延させる装置は、複数の伝播経路デバイスを有し、各伝播経路デバイスは複数のTDCのそれぞれへ接続される。各伝播経路デバイスは、伝播経路デバイスによって受信される遅延選択信号に基づいて、各伝播経路デバイスへ送られる共通の開始信号を選択可能な量だけ遅延させて、遅延された開始信号をTDCのそれぞれへ送信するように構成される。
遅延させる装置の別の実施形態によると、各伝播経路デバイスは、開始信号にそれぞれ異なる量の遅延を付与する複数の遅延モジュールを有する。
遅延させる装置の別の実施形態によると、各伝播経路デバイスの複数の遅延モジュールは、開始信号を受信する入力部とTDCのそれぞれに接続される出力部との間に直列に配置される。
遅延させる装置の別の実施形態によると、複数の遅延モジュールの各々は、遅延選択信号に基づいてアクティブ化されて開始信号を受信する。
遅延させる装置の別の実施形態によると、各伝播経路デバイスの複数の遅延モジュールは、開始信号を受信する入力部とTDCのそれぞれに接続される出力部との間に直列に配置され、遅延モジュールの1つが遅延選択信号によってアクティブ化されると、信号はアクティブ化された遅延モジュールから上流の各遅延モジュールを迂回し、アクティブ化された遅延モジュールから下流の各遅延モジュールを通過する。
遅延させる装置の別の実施形態によると、複数の遅延モジュールの各々は、少なくとも1つのハードウェアベースのルックアップテーブル(look up table:LUT)を含む。
遅延させる装置の別の実施形態によると、複数の遅延モジュールの各々は、少なくとも1つのフリップフロップを含む。
遅延させる装置の別の実施形態によると、遅延選択信号はユーザーによる入力によって決定される。
遅延させる装置の別の実施形態によると、遅延選択信号は各TDCに最適な伝播遅延を決定するアルゴリズムによって決定される。
一実施形態では、複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる方法について説明する。遅延させる方法は、開始信号を遅延させる時間量の決定を示す遅延選択信号を受信するステップと、遅延選択信号に基づいて複数の伝播経路デバイスの各々において複数の遅延モジュールの1つをアクティブ化するステップと、ここで複数の遅延モジュールの各々は、複数の遅延モジュールのうちの少なくとも1つを経由してそれぞれのTDCによって受信される開始信号に遅延を付与するものであり、複数の遅延モジュールのうちのアクティブ化されたモジュールにおいて開始信号を受信するステップと、遅延モジュールを通過する伝播を手段として開始信号を遅延させるステップと、遅延された開始信号をそれぞれのTDCへ送信するステップと、を含む。
遅延させる方法の別の実施形態によると、アクティブ化するステップは、遅延選択信号に基づいて複数の遅延モジュールの1つをアクティブ化させて、開始信号を受信するステップをさらに含む。
遅延させる方法の別の実施形態によると、遅延させるステップは、開始信号に論理アレイブロックルックアップテーブル(look-up table:LUT)を通過させることによって開始信号を遅延させるステップをさらに含む。
遅延させる方法の別の実施形態によると、受信するステップは、アクティブ化された遅延モジュールから上流の各遅延モジュールを迂回することによって開始信号を受信するステップをさらに含む。
遅延させる方法の別の実施形態によると、送信するステップは、アクティブ化された遅延モジュールから下流の各遅延モジュールを通過させて、開始信号を送信するステップをさらに含む。
一実施形態では、複数のチェーン型時間デジタル回路(TDC)を有するシステムを校正する方法について説明する。校正する方法は、開始信号を遅延させる時間量を示す遅延選択信号を受信するステップと、遅延選択信号に基づいて複数の伝播経路デバイスの各々において複数の遅延モジュールの1つをアクティブ化するステップと、ここで複数の遅延モジュールの各々は、複数の遅延モジュールのうちの少なくとも1つを経由してそれぞれのTDCによって受信される開始信号に遅延を付与するものであり、複数の遅延モジュールのうちのアクティブ化されたモジュールにおいて開始信号を受信するステップと、遅延モジュールを通過する伝播を手段として開始信号を遅延させるステップと、遅延された開始信号をそれぞれのTDCへ送信するステップと、遅延選択信号を使用して各々のTDCの性能を測定して、遅延選択信号の評価値を求めるステップと、受信するステップ、アクティブ化するステップ、受信するステップ、遅延させるステップ、送信するステップ、および測定するステップを反復して、可能性のある遅延選択信号の各々に対応する評価値を求めるよう測定するステップを反復するステップと、可能性のある遅延選択信号のうちどの信号が最高の評価値をもたらすかを決定するステップと、を含む。
一般に、例示の実施形態に係る各時間デジタル変換回路は、開始信号と停止信号の間の時間遅延に対応する第1の値を生成する遅延チェーン回路を、少なくとも1つ含む。
本実施形態は、プログラマブル論理デバイス、例えば、フィールドプログラマブルゲートアレイ(Field Programmable Gate Arrays:FPGA)上で出力が平均される2つ以上の独立した遅延チェーンとして実装されるTDCの校正経路を提供する。シリコンデバイスでは製造によるばらつきに起因して伝播遅延に固有の相違があるため、また、異なる遅延チェーンにおけるタップ遅延の不均一性(例えば、FPGAにおける論理アレイブロック内遅延VS論理アレイブロック間遅延)のため、すべての独立したチェーンにわたってチェーン初期化信号の到着時間を固定しても、異なる物理的ダイスにわたって必ずしも最適性能を生み出さない。
本実施形態は、独立したチェーンの各々に挿入スキューをプログラムマブルに追加できる手順を提供する。この挿入スキューを調整することによって、全体的なTDCの最適精度性能を引き出すスキュー(例えば、遅延)の最適な組み合わせを見つけることができる。
図面を参照すると、種々の図にわたって、同一の、または対応する部品に対しては、同様の参照番号が用いられている。図1は、一実施形態に係る複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる装置の概略図である。具体的には、時間デジタル回路の校正経路を提供するデバイスのFPGAベースの実装を示す概略図である。
図1に示されるように、2つのTDCチェーンが配置され、それぞれのTDCチェーン入力部20、21がそれぞれデバイス1A、1Bに接続されて、校正経路を形成する。ここで、図には2つのチェーンと2つのデバイス1A、1Bが示されているが、システムは3つ以上のチェーンおよびデバイス1A、1Bを有してもよいことに留意されたい。
TDC開始入力部10は、測定対象であるイベントのTDC開始信号を受信する。TDC信号が所定の遅延量で各々のTDCチェーン開始位置20、21に到達するように、所定の設定に基づいて挿入スキュー(例えば、遅延)が信号に追加される。この遅延は、より正確に時間を測定できるように設定可能である。
図1のデバイス1A、1Bは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)のような、個別の論理ゲートで実装されてもよい。FPGAまたはCPLDで実装する場合、デバイスは、一連のコンピュータ可読指令として、VHDL(Very High Speed Integrated Circuit Hardware Description Language:超高速集積回路ハードウェア記述言語)、Verilog(ヴェリログ)、または他の任意のハードウェア記述言語でコード化されてもよい。コンピュータ可読指令は、直接FPGAまたはCPLD内の電子メモリに格納されてもよいし、独立した電子メモリとして格納されてもよい。さらに、電子メモリは、ROM(Read Only Memory:読み出し専用メモリ)、EPROM(Electrically Programmable Read Only Memory:電気的プログラマブル読み取り専用メモリ)、EEPROM(Electrically Erasable Programmable Read Only Memory:電気的消去可能読み出し専用メモリ)、またはFLASH(フラッシュ、登録商標)メモリなどの不揮発性であってもよい。また、電子メモリは、スタティックRAM(Random Access Memory:ランダムアクセスメモリ)またはダイナミックRAMなどの揮発性であってもよい。電子メモリ、および、FPGAまたはCPLDと電子メモリとの相互作用を管理するために、マイクロコントローラまたはマイクロプロセッサなどの処理装置を設けてもよい。
図1に示す複数の論理アレイブロック(Logic Array Block:LAB)のルックアップテーブル(Look Up Table:LUT)15n、16nは、FPGAを使用して実装してもよい。LUT15n、16nは、各々の「Enable0_n」信号がアクティブ化されると、入力部10から受信した「TDC_Start」信号を、高速キャリーチェーン要素2A〜5Aのうちひとつの各キャリーアウト出力部17nまで回すように構成されている。「Enable0_n」信号が相互排他的にアクティブ化される場合、可能性のある組み合わせによって、TDC_Start入力からTDC Chain0 start出力までの伝播遅延が異なる。同様に、同じように「Enable1_n」信号をアクティブ化される場合、TDC_Start入力からTDC Chain1 start出力までの伝播遅延は異なる。「Enable0_n」と「Enable1_n」のアクティブ化についてすべての可能性のある組み合わせを使用することにより、TDC全体の最適タイミング精度を提供する組み合わせが決定される。TDC回路の精度は、(例えば、関数発生器から)既知のタイミングの1組の開始信号と停止信号を投入することによって測定される。上述した「Enable0_n」と「Enable1_n」の各組の構成について、開始と停止の間の時間のヒストグラムが、任意の構成においてTDCに測定され、生成される。このヒストグラムから、タイミング値の分布が得られる。分布は分析され、分布の質は、分布において計算された測定基準に基づく。測定基準の例として、標準偏差や半値全幅(Full Width Half Maximum:FWHM)が挙げられるが、これらに限定されない。こういった測定基準により、分布の「幅」が測定される。「幅」は小さいほうが好ましい。
各デバイス1A、1Bの高速キャリーチェーンモジュール2A〜5Aはそれぞれ、Enable0/1_n信号を受信する入力部11nを有する。Enable0/1_n信号は、高速キャリーチェーン要素2A〜5Aのうちどれがアクティブであるかを示す。例えば、Enable0/2_n信号が「1」に設定されると、2番目の高速キャリーチェーン要素3Aがアクティブ化される。Enable0_n信号およびEnable1_n信号は、ユーザーによる入力に基づいて決定されてもよく、したがって、プログラマブルに構成可能であり、ユーザーまたはTDCシステム管理者によって更新可能である。
伝播用の経路は、構成を動的に変えるため、事前に既知である。(所定のソフトウェアアプリケーションのような)外部ソースが構成を設定する。ソースが構成を設定するため、ソースは現在の構成を知っている。
各高速キャリーチェーンモジュール2A〜5Aは、LABブロックに内蔵された標準の全加算回路である要素17n、およびD型フリップフロップ18nのような論理要素も含む。要素17nの基本的な入出力機能により、経路選択および遅延チェーンの機能が実装される。フリップフロップにより、TDCの停止機能が実装される。停止信号がフリップフロップへのクロック信号である。
このように、本実施形態では、「高速キャリーチェーン」アーキテクチャを利用するFPGAベースの実装について説明する。高速キャリーチェーンモジュール2A〜5Aは、TDCにおいて使用される遅延チェーン用の遅延タップとして活用される。初期化信号を複数の論理アレイブロック(logic array block:LAB)ルックアップテーブル(look-up table:LUT)15n、16nへ送ることにより、LUTへ送られた別個のイネーブル信号11nは、TDCチェーン20、21の開始までの異なる伝播遅延に対して異なる経路をアクティブ化することができる。
図2は、TDCチェーン20、21に対して2つの異なる伝播経路が選択される例を示す。
すなわち、入力部10で受信されたTDC_Start信号は2つに分割され、デバイス1Aと1Bの両方へ送られる。Enable0_n入力部およびEnable1_n入力部で受信されたアクティブ化信号に基づいて、TDC_Start信号は、高速キャリーチェーンモジュール3Aおよび5Bに受信され、それぞれTDC Chain0 start 20およびTDC Chain1 start 21へ送られる。この2つの経路にはそれぞれの伝播遅延があり、その伝播遅延は同じでもよいし異なっていてもよい。しかし、各伝播遅延は、様々なチェーンのタイミングを釣り合わせることにより、TDCのタイミング精度性能を改善するように設計されている。
例えば、図2に示す例では、経路31の遅延が経路30への遅延よりも5〜10ns小さくてもよい。この伝播遅延における相違により、オンチップ回路の速度における製造ベースのばらつきが相殺される。こういったばらつきは、集合的なTDC回路から最大精度を引き出すために使用されるべき最適オフセットに影響を与える可能性がある。したがって、異なる経路により製造ベースのばらつきを相殺することによって、全チップにおいて実装されたTDCのタイミング精度を向上させることができる。
経路30および31によって提供される遅延は、TDC_Start信号が通過する高速キャリーチェーンモジュールの数に基づく。例えば、経路31は高速キャリーチェーンモジュール3Aからデバイス1Aに入るため、経路31はモジュール3Aの下流にある他のモジュール(すなわち、モジュール4Aおよび5A)をすべて含む。これにより、経路31では、経路に高速キャリーチェーンモジュール5Bひとつしか含まない経路30よりも、遅延が大きくなる。高速キャリーチェーンモジュールがそれぞれ同じ量の遅延を提供することもできるし、少なくとも1つのモジュールが他のモジュールとは異なる量の遅延を有することもできる。
別の実施形態では、各高速キャリーチェーンモジュール、所定量の遅延を有することができる。例えば、モジュール2Aは5nsの遅延を有することができ、モジュール3Aは10nsの遅延を有することができ、モジュール4Aは15nsの遅延を有することができ、モジュール5Aは20nsの遅延を有することができる。本実施形態では、信号が通過するモジュールの数は、最終的な遅延に影響を与えない。信号を受信する最初のモジュールのみが、提供される遅延の量を制御する。本実施形態では、2A、3A、4A、および5Aそれぞれに対する信号は、「TDC Chain0」20に入る前に多重化される。
図3は、TDCチェーン0 20およびTDCチェーン1 21、ならびに高速キャリーチェーン(Fast Carry Chain:FCC)モジュール2A〜5Aおよび2B〜5Bを有するシステムの全体図を示す。図3に示されるように、開始信号であるTDC_Startが入力部10に受信され、事前に決定された設定に基づいて特定のFCCモジュールが選択されて経路に含まれる。これにより、伝播遅延が各TDCチェーンの所定の性質に合わせて調整される。その後、TDCチェーンの出力がCPU40へ出力される。停止信号は、TDCチェーン0 20、およびTDCチェーン1 21のフリップフロップへのクロック信号である。
図3において20、21で示されるTDCチェーン0および1は、TDCチェーンが例えばPETシステムに実装される場合、トリガゾーンあたり1回路で、1または複数のFPGAに実装されてもよい。そのような飛行時間型PETシステムでは、TDCチェーンは通常ピコ秒の範囲の精度で、タイムスタンプを生成する。
図4は、TDCチェーン0 20、およびTDCチェーン1 21の構成を例示するブロック図である。図4に示すように、TDCチェーン0 20、およびTDCチェーン1 21は、入力部30と、リング・オシレータ31と、状態記憶部32と、変換部33と、カウンタ34と、乗算器35と、加算器36と、出力部37とを有する。このTDCチェーン0 20、およびTDCチェーン1 21は、デバイス1A、1Bと同様、ASIC、FPGA、または他の複合プログラマブル論理デバイス(CPLD)のような、個別の論理ゲートで実装されてもよい。
入力部30は、開始信号であるTDC_Start及び停止信号を受け付ける。入力部30で受け付けたTDC_Startはリング・オシレータ31へ出力され、停止信号は状態記憶部32へ出力される。リング・オシレータ31は、複数個の遅延要素(インバータ)をリング状に結合した構成をもつ発振回路である。状態記憶部32は、D型フリップフロップなどであり、停止信号を受け付けた瞬間にリング・オシレータ31における複数個の遅延要素の状態(論理値)を記憶する。この複数個の遅延要素の論理値は、リング・オシレータ31に信号(TDC_Start)の入力があってから出力されるまでの位相(時間)を示している。変換部33は、状態記憶部32に記憶された複数個の遅延要素の論理値が示す位相を時間に対応した値に変換する。カウンタ34は、リング・オシレータ31の最終段の遅延要素の出力を受けて計数する。乗算器35は、変換部33が計数した値をもとに、リング・オシレータ31の一周分の時間に対応した値を乗算する。加算器36は、変換部33と乗算器35との値を加算する。出力部37は、加算器36で加算された値、すなわちTDC_Startの入力から停止信号の入力までの時間を示す値(タイムスタンプ)を出力する。
PETシステム用などの市販のガンマ線検出器は、透明ライトガイドに連結されたシンチレータ結晶のアレイを有する。このアレイは、透明ライトガイド上に配置された光電子増倍管(Photomultiplier Tube:PMT)のアレイ一面にシンチレーション光を分布させる。同じ領域にあるPMTからの信号は、一般にアナログ領域で合計され、合計された信号の前縁またはイベントに基づいてタイミングが測定される。
図5は、核医学イメージング装置の一例を示す説明図である。図5に示すように、PETシステムである核医学イメージング装置の一例として、PET−CT装置100がある。図5において、200はPETスキャナを示し、300はX線CTスキャナを示し、400は寝台を示し、401は被検体が載せられる天板を示し、402は、被検体を示す。PET−CT装置100は、PETスキャナ200と、X線CTスキャナ300と、寝台400と、コンソール装置500とを有する。図5におけるX方向は、図5の天板401に載せられた被検体402の体軸方向を示す。Y方向は、X方向と直行する水平面上の方向を示す。Z方向は、垂直方向を示す。
寝台400は、被検体402が載せられる天板401を有する。また、図5には図示していないが、寝台400は、天板401を移動させる寝台制御部を有する。寝台制御部は、コンソール装置500により制御され、天板401に載せられた被検体402をPET−CT装置100の撮影口内に移動させる。
PETスキャナ200は、PET画像を再構成するためのガンマ線に由来する光を計数するフォトンカウンティング(Photon Counting)方式のガンマ線検出器を複数内蔵する。複数あるガンマ線検出器は、被検体402の体軸を中心としてリング上に配置される。例えば、ガンマ線検出器は、天板401に載せられた被検体402の体外から、被検体402の体内から放出された一対のガンマ線(対消滅ガンマ線)を検出する。
具体的には、PETスキャナ200は、ガンマ線検出器がガンマ線を計数するごとに、ガンマ線を検出したガンマ線検出器の位置を示す検出位置と、ガンマ線がガンマ線検出器に入射した時点におけるエネルギー値と、ガンマ線検出器がガンマ線を検出した検出時間とを含む計数情報を収集する。この検出時間の収集において、上述したTDCが用いられる。これにより、PET−CT装置100は、重粒子線の経路が描出されたPET画像を再構成する。
X線CTスキャナ300は、X線CT画像を再構成するためのX線を照射するX線管と、X線管により照射されたX線を検出するX線検出器とを有する。X線CTスキャナ300では、X線管がX線を被検体402に照射し、被検体402を透過したX線をX線検出器が検出する。具体的には、X線CTスキャナ300は、被検体402の体軸を中心として回転しながら、X線管がX線を照射し、X線検出器がX線を検出する。言い換えると、X線CTスキャナ300は、被検体402の体軸を中心として回転しながら多方向からX線を被検体に照射し、被検体402を透過することで被検体402に吸収されて減弱したX線を検出する。X線検出器により検出されたX線に対して増幅処理やAD変換処理などを行うことで生成されるデータを「X線投影データ」とも称する。X線CTスキャナ300は、X線投影データと、X線投影データを生成する際に用いられたX線を検出した検出位置とを収集する。
図6は、実施形態にかかるコンソール装置の構成の一例を示すブロック図である。コンソール装置500は、X線CTスキャナ300により収集された情報によりX線CT画像を再構成する。また、コンソール装置500は、PETスキャナ200により収集された計数情報を用いて同時計数情報を生成し、生成した同時計数情報に基づいてPET画像を再構成する。以下では、コンソール装置500によるPET画像を再構成する処理やX線CT画像を再構成する処理については、任意の手法を用いて実行して良く、説明を簡潔に行う。
図6に示す例では、説明の便宜上、コンソール装置500に加えて、PETスキャナ200とX線CTスキャナ300と放射線照射装置600とを併せて示した。図6に示すように、コンソール装置500は、入出力部510と、制御部540とを有する。また、コンソール装置500は、X線CT画像を再構成するために、X線投影データ記憶部530と、X線CT画像再構成部531とを有する。また、コンソール装置500は、PET画像を再構成するために、計数情報収集部520と、計数情報記憶部521と、同時計数情報生成部522と、位置情報記憶部523と、同時計数情報記憶部524と、PET画像再構成部525とを有する。なお、実施形態では、1台のコンソール装置500においてX線CT画像とPET画像とが再構成される場合について説明する。しかし、実施形態は、X線CT画像の再構成とPET画像の再構成とが別々のコンソール装置において行なわれる場合であっても適用可能である。
入出力部510は、制御部540と接続される。入出力部510は、放射線治療装置を利用する利用者から各種指示を受け付け、受け付けた各種指示を制御部540に送信する。また、入出力部510は、制御部540から情報を受信し、受信した情報を利用者に出力する。例えば、入出力部510は、キーボードやマウス、マイクなどが該当し、モニタやスピーカなどが該当する。なお、入出力部510によって受け付けられる情報や指示の詳細や、入出力部510によって出力される情報の詳細については、ここでは説明を省略する。
制御部540は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部540は、例えば、ASIC、FPGA、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの電子回路が該当する。制御部540は、放射線治療装置全体の処理を制御する。具体的には、制御部540は、PETスキャナ200およびX線CTスキャナ300を制御することで、PET−CT装置100による撮影を制御する。また、制御部540は、治療計画に沿って多方向から重粒子線が連続的又は間欠的に照射されるように放射線照射装置600を制御する。
また、制御部540は、コンソール装置500におけるPET画像再構成処理およびX線CT画像再構成処理を制御する。また、制御部540は、PET画像や、X線CT画像、PET画像およびX線CT画像の重畳画像などを、入出力部510のモニタにて表示させる。
X線投影データ記憶部530は、X線CTスキャナ300から送信されたX線投影データを記憶する。X線CT画像再構成部531は、X線投影データ記憶部530が記憶するX線投影データを、例えば、FBP(Filtered Back Projection)法により逆投影処理することで、X線CT画像を再構成する。
計数情報収集部520は、複数の検出器210が出力した計数結果から計数情報を収集して計数情報記憶部521に格納する。すなわち、計数情報収集部520では、計数情報の中の検出時間の収集において、上述したTDCが用いられる。計数情報収集部520は、PETスキャナ200にて収集された計数情報を順次受信して、受信した計数情報を計数情報記憶部521に格納する。なお、計数情報収集部520は、PETスキャナ200内に設置される場合であっても良い。
計数情報記憶部521は、計数情報収集部520により格納された計数情報を記憶する。計数情報記憶部521は、例えば、RAMやフラッシュメモリ(Flash Memory)などの半導体メモリ素子、又は、ハードディスクや光ディスクなどの記憶装置が該当する。計数情報記憶部521は、「モジュールID」に対応付けて、「シンチレータ番号」と「エネルギー値」と「検出時刻」とを記憶する。なお、「モジュールID」は、複数ある検出器それぞれを一意に特定するための情報である。
同時計数情報生成部522は、計数情報記憶部521に記憶されている計数情報のうち、検出時刻の差がタイムウィンドウにある2つ計数情報の組み合わせを、対消滅ガンマ線を略同時に計数した同時計数情報として生成する。
具体的には、同時計数情報生成部522は、操作者により指定された同時計数情報生成条件に基づいて同時計数情報を生成する。例えば、同時計数情報生成条件には、タイムウィンドウが含まれる。タイムウィンドウは、一対のガンマ線の双方を計数した場合における2つの検出時刻の差の上限を示す。
陽電子放出核種から同時に放出された一対のガンマ線であれば、一対のガンマ線に含まれるガンマ線各々の検出時刻は、同時であったり、同時でなくても2つの検出時刻の差が僅かになる。このことを踏まえ、同時計数情報生成部522は、タイムウィンドウを用いることで、誤った同時計数情報を生成するのを防止する。
例えば、タイムウィンドウ「10ナノ秒」を用いて同時計数情報生成部522が同時計数情報を生成する場合を例に説明する。この場合、同時計数情報生成部522は、「モジュールID」ごとの「検出時刻(T)」を参照し、2つの検出時刻の差が「タイムウィンドウ:10ナノ秒」以内である計数情報の組み合わせを、モジュール間で検索する。
ここで、検出時刻がタイムウィンドウ以内にある組み合わせを検索することを「Coincidence Finding」とも称する。また、同時計数情報生成部522により生成された同時計数情報のリストを「Coincidence List」とも称する。
なお、同時計数情報生成条件として、エネルギーウィンドウが設定される場合であってもよい。陽電子が消滅することで放出される一対のガンマ線のエネルギー値は予めわかっている。例えば、18Fや15O、11Cなどでは、「511keV」のガンマ線が放出される。このため、陽電子放出核種から同時に放出されたガンマ線であれば、エネルギー値が所定の範囲に入る。このことを踏まえ、同時計数情報生成部522は、エネルギーウィンドウを用いることで、陽電子放出核種から放出された一対のガンマ線ではない計数情報を除外した上で同時計数情報を生成することで、誤った同時計数情報を生成するのを防止することもできる。このように、同時計数情報生成条件の設定により、偶発同時計数を除外するためのランダム補正、散乱したガンマ線の計数情報が同時計数情報として生成されることを除外するための散乱補正、検出器間の感度の違いを補正するための感度補正などを行なうことができる。
そして、同時計数情報生成部522は、生成した同時計数情報を同時計数情報記憶部524に格納する。例えば、同時計数情報記憶部524は、RAMやフラッシュメモリなどの半導体メモリ素子、又は、ハードディスクや光ディスクなどの記憶装置が該当する。
PET画像再構成部525は、同時計数情報生成部522により生成された同時計数情報を同時計数情報記憶部524から読み出して、読み出した同時計数情報を用いてPET画像を再構成する。具体的には、PET画像再構成部525は、同時計数情報をガンマ線の投影データとし、ガンマ線の投影データから逐次近似法を用いることで、PET画像を再構成する。なお、逐次近似法としては、MLEM(Maximum Likelihood Expectation Maximization)法や、MLEM法のアルゴリズムを改良することで大幅に収束時間を短縮したOSEM(Ordered Subset MLEM)法がある。なお、PET画像再構成部525により再構成されたPET画像は、制御部540の制御により、入出力部510のモニタに表示される。
PMTごとに、各PMTの信号の振幅を測定するのに使われる独立したエレクトロニクス経路があってもよい。この経路は、フィルタおよびアナログデジタル変換器(Analog-to-Digital Converter:ADC)を有してもよい。フィルタ(一般に帯域通過フィルタ)は、測定値の信号対雑音比を最適化するのに用いられ、ADCによるデジタル信号への変換の前にアンチエイリアス機能を実行する。ADCは、例えば100MHzで動作する自走型であってもよい。この場合、中央演算処理装置、すなわちCPU40がデジタル積分を実行する。あるいは、ADCは、ピーク感知型であってもよい。ADCおよびTDCの出力は、CPU40に提供され処理される。処理は、ADC出力からのエネルギーおよび位置と、イベントごとのTDC出力からの到着時間とを推定する工程を含む。エネルギー、位置、および時間の推定精度を改善するために、事前の校正に基づいて、いくつかの補正ステップの利用を含んでもよい。
当業者には自明であるように、CPU40は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の複合プログラマブル論理デバイス(CPLD)のような個別の論理ゲートで実装されてもよい。FPGAまたはCPLDで実装する場合、VHDL、Verilog、または他の任意のハードウェア記述言語でコード化されてもよい。コードは、直接FPGAまたはCPLD内の電子メモリに格納されてもよいし、独立した電子メモリとして格納されてもよい。さらに、電子メモリは、ROM、EPROM、EEPROM、またはFLASH(フラッシュ)メモリなどの不揮発性であってもよい。また、電子メモリは、スタティックRAMまたはダイナミックRAMなどの揮発性であってもよい。電子メモリ、および、FPGAまたはCPLDと電子メモリとの相互作用を管理するために、マイクロコントローラまたはマイクロプロセッサなどの処理装置を設けてもよい。
また、CPU40は、上記の電子メモリのうちのいずれか、あるいはハードディスクドライブ、CD(Compact Disc:コンパクトディスク)、DVD(Digital Versatile Disc:デジタル多用途ディスク)、フラッシュ(FLASH)ドライブ、または任意の他の既知の記憶媒体、あるいはその両方に格納されるコンピュータ可読指令一式として実装されてもよい。さらに、コンピュータ可読指令は、Xeon(ジオン)プロセッサ(米国、Intel(インテル)社、登録商標)またはOpteron(オプテロン)プロセッサ(米国、AMD(Advanced Micro Devices:アドバンストマイクロデバイシーズ)社、登録商標)などの処理装置、ならびにVISTA(Microsoft社、登録商標)、UNIX(登録商標)、Solaris(登録商標)、LINUX(登録商標)、MAC−OSX(Apple社、登録商標)、および当業者に周知の他のオペレーティングシステムとともに実行するユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムの構成要素、あるいはそれらの組み合わせとして提供されてもよい。
一旦CPU40で処理されると、処理された信号に対して、電子記憶部への格納または表示部での表示、あるいはその両方が行われる。当業者には自明であるように、電子記憶部は、ハードディスクドライブ、CD−ROMドライブ、DVDドライブ、フラッシュ(FLASH)ドライブ、RAM、ROM、または当技術分野において周知の任意の他の電子記憶部であってもよい。表示部は、LCD(Liquid Crystal Display:液晶表示)表示装置、CRT(Cathode Ray Tube:ブラウン管)表示装置、プラズマ表示装置、OLED(Organic Light Emitting Display:有機発光表示装置)、LED(Light Emitting Display:発光表示装置)、または当技術分野において周知の任意の他の表示装置として実装されてもよい。そのようなものとして、本明細書に記載の電子記憶部および表示部の説明は単なる例示であり、本発明の範囲を決して限定するものではない。
CPU40はまた、別の実施形態では、各TDCチェーンに対する最良の伝播遅延を決定するための計算を実行できる。したがって、CPUは、フィードバック制御または他の類似の機構を使って、全チップに実装されたTDCのタイミング精度を上げるために、チェーンに加える伝播遅延の量を決定できる。そのような実施形態では、Enable0_n信号入力部およびEnable1_n信号入力部で受信されたアクティブ化信号が、CPU40によって出力され、各高速キャリーチェーンモジュールに入力される。
図6は、一実施形態による複数のチェーン型TDCへの信号を遅延させる工程を示すフローチャートであり、複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる方法を示す。例えば、このフローチャートの処理は、CPU40(図3参照)が制御して実行される。
ステップS100では、開始信号を遅延させる時間量の決定を示す遅延選択信号が受信される。
ステップS101では、複数の伝播経路デバイスの各々が、遅延選択信号に基づいて、複数の遅延モジュールの少なくとも1つをアクティブ化する。複数の遅延モジュールの各々は、開始信号に遅延を付与し、開始信号は複数の遅延モジュールの少なくとも1つを経由して各々のTDCへ送られる。
ステップS102では、開始信号が、複数の遅延モジュールのうちのアクティブ化されたモジュールにおいて受信される。特に、TDC開始信号は、アクティブ化されていない上流のモジュールを迂回して、複数の遅延モジュールのうち最初にアクティブ化されたモジュールへ入るように送られる。
ステップS103では、アクティブ化された遅延の出力が、TDC20および21のそれぞれへ送信される。
図7は、一実施形態による最適な遅延を決定する工程を示すフローチャートであり、複数のチェーン型時間デジタル回路(TDC)を有するシステムを校正する方法を示す。例えば、このフローチャートの処理は、CPU40(図3参照)が制御して実行される。
ステップS200では、TDC開始信号を遅延させる時間量を示す遅延選択信号が、各遅延デバイスにおいて受信される。遅延選択信号は、所定の遅延モジュールのうちのどれが選択されるかを示すことによって、信号を遅延させる時間量を示す。
ステップS201では、複数の伝播経路デバイスの各々が、遅延選択信号に基づいて、複数の遅延モジュールの少なくとも1つをアクティブ化する。複数の遅延モジュールの各々は、TDC開始信号に遅延を付与する。
ステップS202では、開始信号が、複数の遅延モジュールのうちのアクティブ化されたモジュールにおいて受信される。
ステップS203では、アクティブ化された遅延の出力が、各々のTDCへ送信される。
ステップS204では、遅延選択信号を使用して各TDCの性能が測定され、遅延選択信号の評価値が求められる。遅延選択信号または選択信号群は、遅延選択信号に対する評価値を決定するために、TDCシステムの出力結果と比較される。評価値は、遅延選択信号に関連付けて記録される。
ステップS205では、可能性のある遅延選択信号またはその組み合わせごとにステップS201〜S204が反復され、複数の評価値が求められる。複数の評価値は、可能性のある遅延選択信号または選択信号群の各々につき1つの評価値を有する。このような評価値はそれぞれ、対応する信号または信号群に関連付けて記録される。
ステップS206では、可能性のある遅延選択信号のうち、どの信号の評価値が最高値となるかが決定される。上述のように、(例えば、関数発生器からの)既知のタイミングの1組の開始信号と停止信号をシステムに投入する技術を使用して、様々な遅延構成を評価することができる。上述したenable0_nとenable1_nの各組の構成について、開始と停止の間の時間のヒストグラムが、任意の構成においてTDCに測定され、生成される。この生成は、ヒストグラム生成プログラムを実装したマイクロプロセッサを用いて実行してもよい。このヒストグラムから、タイミング値の分布が得られる。分布は分析され、分布の質は、分布において計算された測定基準に基づく。測定基準の例として、標準偏差や半値全幅(FWHM)が挙げられるが、これに限定されない。最適遅延を付与すると決定された選択信号または信号群を用いて、TDC過程の最適遅延が付与される。
遅延選択信号の最適化や生成などの処理の特定の部分は、少なくとも1つのマイクロプロセッサを有する何らかの形のコンピュータを使用して、または処理装置を使用して、実装または支援される。当業者には自明であるように、コンピュータ処理装置は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の複合プログラマブル論理デバイス(CPLD)のような個別の論理ゲートで実装されてもよい。FPGAまたはCPLDで実装する場合、VHDL、Verilog(ヴェリログ)、または他の任意のハードウェア記述言語でコード化されてもよい。コードは、直接FPGAまたはCPLD内の電子メモリに格納されてもよいし、独立した個別の電子メモリとして格納されてもよい。さらに、電子メモリは、ROM、EPROM、EEPROM、またはFLASH(フラッシュ)メモリなどの不揮発性であってもよい。また、電子メモリは、スタティックRAMまたはダイナミックRAMなどの揮発性であってもよい。電子メモリ、および、FPGAまたはCPLDと電子メモリとの相互作用を管理するために、マイクロコントローラまたはマイクロプロセッサなどの処理装置を設けてもよい。
また、コンピュータ処理装置は、本明細書に記載の機能を実行するコンピュータ可読指令一式を含むコンピュータプログラムを実行してもよい。ここで、プログラムは、上記の非一過性電子メモリのうちのいずれか、あるいは、ハードディスクドライブ、CD、DVD、フラッシュ(FLASH)ドライブ、または任意の他の既知の記憶媒体、あるいはその両方に格納される。さらに、コンピュータ可読指令は、Xeon(ジオン)プロセッサ(米国、Intel(インテル)社)またはOpteron(オプテロン)プロセッサ(米国、AMD社)などの処理装置、ならびにVISTA(Microsoft社)、UNIX、Solaris、LINUX、MAC−OSX(Apple社)および当業者に周知の他のオペレーティングシステムとともに実行するユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムの構成要素、あるいはそれらの組み合わせとして提供されてもよい。
また、実施形態の特徴のうちいくつかを、コンピュータベースのシステム(図6)を使って実行してもよい。コンピュータ1000は、情報通信のためのバスBなどの通信機構と、情報を処理するためのバスBに連結された処理装置すなわちCPU1004とを有する。また、コンピュータ1000は、情報および処理装置であるCPU1004によって実行される指令を格納するためにバスBに連結された、ランダムアクセスメモリ(RAM)などのダイナミック記憶装置(例えば、ダイナミックRAM(DRAM)、スタティックRAM(SRAM)、およびシンクロナスDRAM(SDRAM))などのメインメモリすなわち記憶ユニット1003を有する。さらに、記憶ユニット1003は、CPU1004による指令の実行中に一時的な変数などの中間情報を格納するために使用されてもよい。コンピュータ1000は、静的情報およびCPU1004に対する指令を格納するためにバスBに連結された、読み出し専用メモリ(ROM)などの静的記憶装置(例えば、プログラマブルROM(PROM)、消去可能PROM(EPROM)、および電気的消去可能PROM(EEPROM))をさらに有してもよい。
また、コンピュータ1000は、大容量記憶装置1002およびドライブ装置1006(例えば、フロッピーディスクドライブ、読み出し専用コンパクトディスクドライブ、読み出し/書込みコンパクトディスクドライブ、コンパクトディスクジュークボックス、テープドライブ、および取り外し可能な光磁気ドライブ)などの、情報および指令を格納するための1または複数の記憶装置を制御するためにバスBに連結された、ディスクコントローラも有してもよい。記憶装置は、適切なデバイスインターフェース(例えば、小型コンピュータシステムインターフェース(Small Computer System Interface:SCSI)、IDE(Integrated Device Electronics)、E−IDE(Enhanced IDE)、直接メモリアクセス(Direct Memory Access:DMA)、またはウルトラDMA)を使って、コンピュータ1000に加えてもよい。
また、コンピュータ1000は、特定目的論理デバイス(例えば、特定用途向け集積回路(ASIC))、または設定可能な論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Devices:SPLD)、複合プログラマブル論理デバイス(CPLD)、およびフィールドプログラマブルゲートアレイ(FPGA))も有してもよい。
また、コンピュータ1000は、情報をコンピュータユーザーに表示するための、ブラウン管(CRT)などの表示部を制御するための、バスBに連結された表示制御部を有してもよい。コンピュータシステムは、コンピュータユーザーとのやりとりや処理装置への情報提供のために、キーボードやポインティングデバイスなどの入力デバイスを有する。ポインティングデバイスは、例えば、方向情報およびコマンド選択を処理装置へ通信し、表示部上のカーソルの動きを制御するための、マウス、トラックボール、またはポインティングスティックであってもよい。さらに、プリンタにより、コンピュータシステムによって格納および生成が行われたデータ、あるいは格納または生成が行われたデータの印刷リストを提供してもよい。
コンピュータ1000は、記憶ユニット1003などのメモリに含まれる1または複数の指令のうちの1または複数のシーケンスをCPU1004が実行するのを受けて、本実施形態の処理ステップの少なくとも一部を実行する。そのような指令は、大容量記憶部1002または取り外し可能媒体1001などの別のコンピュータ可読媒体から記憶ユニットに読み込まれるものである。多重処理配列内の1または複数の処理装置を用いて、記憶ユニット1003に含まれる一連の指令を実行してもよい。別の実施形態では、ソフトウェア指令の代わりに、または、それと組み合わせて、ハードワイヤード回路を使用してもよい。このように、実施形態は、ハードウェア回路とソフトウェアとの特定の組み合わせに限定されない。
上記のように、コンピュータ1000は、少なくとも1つのコンピュータ可読媒体1001、すなわち、本実施形態の教示に従ってプログラムされた指令を格納し本明細書に記載のデータ構造、表、記録などのデータを含むメモリを有する。コンピュータ可読媒体の例として、コンパクトディスク、ハードディスク、フロッピーディスク、テープ、光磁気ディスク、PROM(EPROM、EEPROM、フラッシュEPROM)、DRAM、SRAM、SDRAM、または他の任意の磁気媒体、コンパクトディスク(例えば、CD−ROM)、またはコンピュータが読むことができる他の任意の媒体がある。
本実施形態は、コンピュータ可読媒体のうちのいずれか1つまたはそれらの組み合わせに格納されたソフトウェアを含む。該ソフトウェアは、メイン処理ユニット1004を制御し、本実施形態を実行するためにデバイスまたは複数のデバイスを駆動し、かつメイン処理ユニット1004を人間ユーザーとやりとり可能にする。そのようなソフトウェアには、デバイスドライバ、オペレーティングシステム、開発ツール、およびアプリケーションソフトが含まれるが、これらに限定されるものではない。そのようなコンピュータ可読媒体は、本実施形態において実行される処理工程のすべてまたは一部(処理工程が区分される場合)を実行するための、本実施形態のコンピュータプログラム製品をさらに含む。
本実施形態の媒体に対するコンピュータコード要素は、どのような解釈可能コード機構また実行可能コード機構であってもよい。例えば、スクリプト、解釈可能プログラム、動的リンクライブラリ(dynamic link libraries:DLL)、Java(ジャバ)クラス、および完全な実行可能プログラムがあるが、これらに限定されるものではない。さらに、本実施形態の処理工程の部分は、性能、信頼性、費用などを向上させるために、区分けされてもよい。
本明細書で使用する用語「コンピュータ可読媒体」は、CPU1004の実行に対する指令を提供して際に関係するあらゆる媒体を指す。コンピュータ可読媒体は、不揮発性媒体や揮発性媒体などの多くの形式をとることができるが、これらに限定されるものではない。不揮発性媒体は、例えば、大容量記憶装置1002や取り外し可能な媒体1001などの、光ディスク、磁気ディスク、および光磁気ディスクを含む。揮発性媒体は、記憶ユニット1003などのダイナミックメモリを含む。
様々な形式のコンピュータ可読媒体を使って、CPU1004の実行に対する1または複数の指令の1または複数のシーケンスを実行してもよい。例えば、リモートコンピュータの磁気ディスク上で、最初に指令を保持してもよい。バスBに連結された入力部は、データを受信してデータをバスBに配置することができる。バスBはデータを記憶ユニット1003へ運び、CPU1004は、記憶ユニット1003から指令を取り出して実行する。記憶ユニット1003が受信した指令は、CPU1004が実行する前か後かに、大容量記憶装置1002に任意に保存されてもよい。
また、コンピュータ1000は、バスBに連結された通信インターフェース1005を有する。通信インターフェース1004により、例えば、ローカルエリアネットワーク(Local Area Network:LAN)、またはインターネットなどの別の通信ネットワークに接続されたネットワークに連結された、双方向データ通信が提供される。例えば、通信インターフェース1005は、任意のパケット交換LANに取り付けられるネットワークインターフェイスカードであってもよい。別の例として、通信インターフェース1005は、対応する種類の通信回線へのデータ通信接続を提供するための非対称型デジタル加入者回線(Asymmetrical Digital Subscriber Line:ADSL)カード、総合デジタル通信網(Integrated Services Digital Network:ISDN)カード、またはモデムであってもよい。無線リンクを実装してもよい。どれを実装した場合でも、通信インターフェース1005は、様々な種類の情報を表すデジタルデータストリームを運ぶ電気信号、電磁気信号、または光信号を送受信する。
ネットワークは、一般に、1または複数のネットワークを通して別のデータデバイスへのデータ通信を提供する。例えば、ネットワークは、ローカルネットワーク(例えば、LAN)を通して、または、通信ネットワークを介して通信サービスを提供するサービスプロバイダによって運営される設備を通して、別のコンピュータへの接続を提供してもよい。ローカルネットワークおよび通信ネットワークは、例えば、デジタルデータストリームを運ぶ電気信号、電磁気信号、または光信号と、関連する物理層(例えば、CAT5ケーブル、同軸ケーブル、光ファイバーなど)とを使用する。さらに、ネットワークは、携帯情報端末(Personal Digital Assistant:PDA)、ラップトップコンピュータ、または移動電話などのモバイルデバイスへの接続を提供してもよい。
上記の説明において、フローチャート内のあらゆる処理、説明、またはブロックは、処理における特定の論理的機能またはステップを実行するための1または複数の実行可能な指令を含む符号のモジュール、部分、または一部を表すものとして理解されるべきである。当業者には自明であるように、関与する機能性によって、実質的に並行する順序や逆の順序など、例示あるいは検討された順序とは異なる順序で機能が実行される他の実施例も、本進歩の例示実施形態の範囲内に含まれる。
特定の実施形態を記載してきたが、これらの実施形態は、単なる例として提示したのであって、本発明の範囲を限定するものではない。実際、本明細書に記載の新規の方法、装置、およびシステムは、様々な別の形式で具体化が可能である。さらに、本明細書に記載の方法、装置、およびシステムの形式は、本発明の精神を逸脱することなく様々な省略、置換、および変更を行うことが可能である。添付の特許請求の範囲およびそれらの同等物は、本発明の範囲および精神の範囲内に収まるであろう形式または改変を網羅するものである。
実施形態は、遅延させる装置、核医学イメージング装置、遅延させる方法及び校正する方法に関する。
時間デジタル変換器(時間デジタル回路:time-to-digital circuit:TDC)は、ガンマ線検出器におけるタイミングの測定に頻繁に使用される。TDCは、イベントの実現を、該イベントが発生した時間に関連付けることのできる数字に、正確に変換する。このタスクの遂行には、様々な方法がある。中でも、粗クロックサイクル間の多数の超高速論理遷移をカウントすることが、このタスクを遂行するために使用されてきた。ある場合には、連続的に発生することが知られる一連のイベントの発生を示すことが望ましいことがある。例えば、立ち上がり信号が所定の閾値の組に達するまでにかかる時間は、非常に有用な情報となり得る。
また、時間デジタル変換器は、直列に接続された同一の遅延要素からなる単一のチェーンを有する標準的な遅延チェーンやバーニア遅延チェーンのような、様々なアーキテクチャで実装されてきた。
飛行時間ポジトロン放射断層撮影(positron emission tomography:PET)システムに必須の要素のひとつは時間デジタル変換器であり、検出器において検出された光子の到達時間を測定するために使用される。測定した時間は、ポジトロン放射が発生した位置を推定するのに使用できる、応答系統上の限界を形成するために使用される。TDCの精度が上がるにつれて限界もより厳しくなり、より精密な位置情報が提供される。
単一のイベント信号からの時間を決定するために、複数の遅延チェーン型TDCが一緒に使用される。すなわち、単一の入力部が、2以上の遅延チェーンの入力部に接続される。結果として出力される複数の時間値が平均されて、単一の、より精密な時間値となる。遅延チェーン型TDCの精度は、遅延チェーンのサンプルステップの時間のサイズに依存する。サンプルステップは、TDCの物理的制約に応じてかなり変わり得る。最大10回まで変化する場合も観測されている。複数の遅延チェーンを活用することによって、1つのチェーンが大きな瓶を測定している間に別のチェーンが小さな瓶を測定するように、入力が時間内にオフセットされる。つまり、瓶のサイズによって測定範囲が妥協されるため、複数のチェーンのうちいくつかの精度は、別のチェーンよりも低くなる。
オンチップ回路の速度に製造ベースのばらつきがかなり存在するため、TDCでの実装にオフセットを組み込み、単一の遅延チェーン型のTDC全体のタイミング精度を改善するのは困難である。このようなばらつきは、集合的なTDC回路から最大精度を引き出すことを可能にする最適なオフセットに影響を与える。したがって、すべてのチップにおいて実装されたTDCのタイミング精度を向上させるため、製造によるばらつきを補正する必要がある。
国際公開第2012/137109号
米国特許出願公開第2012/0104259号明細書
米国特許出願公開第2008/0069292号明細書
米国特許出願公開第2010/0295590号明細書
米国特許出願公開第2008/0238652号明細書
本発明が解決しようとする課題は、TDCのタイミング精度を向上させることを可能とする遅延させる装置、核医学イメージング装置、遅延させる方法及び校正する方法を提供することである。
実施形態の遅延させる装置は、複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる装置であって、複数のTDCのそれぞれに接続された複数の伝播経路デバイスを備える。各伝播経路デバイスは、伝播経路デバイスによって受信される遅延選択信号に基づいて、各伝播経路デバイスへ送られる共通の開始信号を選択可能な量だけ遅延させて、遅延された開始信号をTDCのそれぞれへ送信するように構成される。
図1は一実施形態に係る複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる装置の概略図である。
図2は、一実施形態に係る複数のチェーン型TDCへの信号を遅延させる装置の操作を示す概略図である。
図3は、一実施形態に係る複数のチェーン型TDCへの信号を遅延させる装置の、別の概略図である。
図4は、TDCチェーンの構成を例示するブロック図である。
図5は、実施形態にかかる核医学イメージング装置の一例を示す説明図である。
図6は、実施形態にかかるコンソール装置の構成の一例を示すブロック図である。
図7は、一実施形態による複数のチェーン型TDCへの信号を遅延させる工程を示すフローチャートである。
図8は、一実施形態による最適な遅延を決定する工程を示すフローチャートである。
図9は、一実施形態による計算デバイスを示す図である。
開示される実施形態およびそれに付随する利点の多くは、添付の図面に関連付けて以下の詳細な説明を参照することにより、より完全に理解されるであろう。この実施形態は、例えばチェーン型時間デジタル変換回路を遅延させるための遅延をプログラマブルに挿入して遅延させる装置、ならびに測定精度および分解能を改善するための関連手順に関する。なお、本出願は、米国特許第8,222,607号の関連出願であり、その内容は参照することによって本明細書に援用される。
一実施形態では、複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる装置について説明する。遅延させる装置は、複数の伝播経路デバイスを有し、各伝播経路デバイスは複数のTDCのそれぞれへ接続される。各伝播経路デバイスは、伝播経路デバイスによって受信される遅延選択信号に基づいて、各伝播経路デバイスへ送られる共通の開始信号を選択可能な量だけ遅延させて、遅延された開始信号をTDCのそれぞれへ送信するように構成される。
遅延させる装置の別の実施形態によると、各伝播経路デバイスは、開始信号にそれぞれ異なる量の遅延を付与する複数の遅延モジュールを有する。
遅延させる装置の別の実施形態によると、各伝播経路デバイスの複数の遅延モジュールは、開始信号を受信する入力部とTDCのそれぞれに接続される出力部との間に直列に配置される。
遅延させる装置の別の実施形態によると、複数の遅延モジュールの各々は、遅延選択信号に基づいてアクティブ化されて開始信号を受信する。
遅延させる装置の別の実施形態によると、各伝播経路デバイスの複数の遅延モジュールは、開始信号を受信する入力部とTDCのそれぞれに接続される出力部との間に直列に配置され、遅延モジュールの1つが遅延選択信号によってアクティブ化されると、信号はアクティブ化された遅延モジュールから上流の各遅延モジュールを迂回し、アクティブ化された遅延モジュールから下流の各遅延モジュールを通過する。
遅延させる装置の別の実施形態によると、複数の遅延モジュールの各々は、少なくとも1つのハードウェアベースのルックアップテーブル(look up table:LUT)を含む。
遅延させる装置の別の実施形態によると、複数の遅延モジュールの各々は、少なくとも1つのフリップフロップを含む。
遅延させる装置の別の実施形態によると、遅延選択信号はユーザーによる入力によって決定される。
遅延させる装置の別の実施形態によると、遅延選択信号は各TDCに最適な伝播遅延を決定するアルゴリズムによって決定される。
一実施形態では、複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる方法について説明する。遅延させる方法は、開始信号を遅延させる時間量の決定を示す遅延選択信号を受信するステップと、遅延選択信号に基づいて複数の伝播経路デバイスの各々において複数の遅延モジュールの1つをアクティブ化するステップと、ここで複数の遅延モジュールの各々は、複数の遅延モジュールのうちの少なくとも1つを経由してそれぞれのTDCによって受信される開始信号に遅延を付与するものであり、複数の遅延モジュールのうちのアクティブ化されたモジュールにおいて開始信号を受信するステップと、遅延モジュールを通過する伝播を手段として開始信号を遅延させるステップと、遅延された開始信号をそれぞれのTDCへ送信するステップと、を含む。
遅延させる方法の別の実施形態によると、アクティブ化するステップは、遅延選択信号に基づいて複数の遅延モジュールの1つをアクティブ化させて、開始信号を受信するステップをさらに含む。
遅延させる方法の別の実施形態によると、遅延させるステップは、開始信号に論理アレイブロックルックアップテーブル(look-up table:LUT)を通過させることによって開始信号を遅延させるステップをさらに含む。
遅延させる方法の別の実施形態によると、受信するステップは、アクティブ化された遅延モジュールから上流の各遅延モジュールを迂回することによって開始信号を受信するステップをさらに含む。
遅延させる方法の別の実施形態によると、送信するステップは、アクティブ化された遅延モジュールから下流の各遅延モジュールを通過させて、開始信号を送信するステップをさらに含む。
一実施形態では、複数のチェーン型時間デジタル回路(TDC)を有するシステムを校正する方法について説明する。校正する方法は、開始信号を遅延させる時間量を示す遅延選択信号を受信するステップと、遅延選択信号に基づいて複数の伝播経路デバイスの各々において複数の遅延モジュールの1つをアクティブ化するステップと、ここで複数の遅延モジュールの各々は、複数の遅延モジュールのうちの少なくとも1つを経由してそれぞれのTDCによって受信される開始信号に遅延を付与するものであり、複数の遅延モジュールのうちのアクティブ化されたモジュールにおいて開始信号を受信するステップと、遅延モジュールを通過する伝播を手段として開始信号を遅延させるステップと、遅延された開始信号をそれぞれのTDCへ送信するステップと、遅延選択信号を使用して各々のTDCの性能を測定して、遅延選択信号の評価値を求めるステップと、受信するステップ、アクティブ化するステップ、受信するステップ、遅延させるステップ、送信するステップ、および測定するステップを反復して、可能性のある遅延選択信号の各々に対応する評価値を求めるよう測定するステップを反復するステップと、可能性のある遅延選択信号のうちどの信号が最高の評価値をもたらすかを決定するステップと、を含む。
一般に、例示の実施形態に係る各時間デジタル変換回路は、開始信号と停止信号の間の時間遅延に対応する第1の値を生成する遅延チェーン回路を、少なくとも1つ含む。
本実施形態は、プログラマブル論理デバイス、例えば、フィールドプログラマブルゲートアレイ(Field Programmable Gate Arrays:FPGA)上で出力が平均される2つ以上の独立した遅延チェーンとして実装されるTDCの校正経路を提供する。シリコンデバイスでは製造によるばらつきに起因して伝播遅延に固有の相違があるため、また、異なる遅延チェーンにおけるタップ遅延の不均一性(例えば、FPGAにおける論理アレイブロック内遅延VS論理アレイブロック間遅延)のため、すべての独立したチェーンにわたってチェーン初期化信号の到着時間を固定しても、異なる物理的ダイスにわたって必ずしも最適性能を生み出さない。
本実施形態は、独立したチェーンの各々に挿入スキューをプログラムマブルに追加できる手順を提供する。この挿入スキューを調整することによって、全体的なTDCの最適精度性能を引き出すスキュー(例えば、遅延)の最適な組み合わせを見つけることができる。
図面を参照すると、種々の図にわたって、同一の、または対応する部品に対しては、同様の参照番号が用いられている。図1は、一実施形態に係る複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる装置の概略図である。具体的には、時間デジタル回路の校正経路を提供するデバイスのFPGAベースの実装を示す概略図である。
図1に示されるように、2つのTDCチェーンが配置され、それぞれのTDCチェーン入力部20、21がそれぞれデバイス1A、1Bに接続されて、校正経路を形成する。ここで、図には2つのチェーンと2つのデバイス1A、1Bが示されているが、システムは3つ以上のチェーンおよびデバイス1A、1Bを有してもよいことに留意されたい。
TDC開始入力部10は、測定対象であるイベントのTDC開始信号を受信する。TDC信号が所定の遅延量で各々のTDCチェーン開始位置20、21に到達するように、所定の設定に基づいて挿入スキュー(例えば、遅延)が信号に追加される。この遅延は、より正確に時間を測定できるように設定可能である。
図1のデバイス1A、1Bは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)のような、個別の論理ゲートで実装されてもよい。FPGAまたはCPLDで実装する場合、デバイスは、一連のコンピュータ可読指令として、VHDL(Very High Speed Integrated Circuit Hardware Description Language:超高速集積回路ハードウェア記述言語)、Verilog(ヴェリログ)、または他の任意のハードウェア記述言語でコード化されてもよい。コンピュータ可読指令は、直接FPGAまたはCPLD内の電子メモリに格納されてもよいし、独立した電子メモリとして格納されてもよい。さらに、電子メモリは、ROM(Read Only Memory:読み出し専用メモリ)、EPROM(Electrically Programmable Read Only Memory:電気的プログラマブル読み取り専用メモリ)、EEPROM(Electrically Erasable Programmable Read Only Memory:電気的消去可能読み出し専用メモリ)、またはFLASH(フラッシュ、登録商標)メモリなどの不揮発性であってもよい。また、電子メモリは、スタティックRAM(Random Access Memory:ランダムアクセスメモリ)またはダイナミックRAMなどの揮発性であってもよい。電子メモリ、および、FPGAまたはCPLDと電子メモリとの相互作用を管理するために、マイクロコントローラまたはマイクロプロセッサなどの処理装置を設けてもよい。
図1に示す複数の論理アレイブロック(Logic Array Block:LAB)のルックアップテーブル(Look Up Table:LUT)15n、16nは、FPGAを使用して実装してもよい。LUT15n、16nは、各々の「Enable0_n」信号がアクティブ化されると、入力部10から受信した「TDC_Start」信号を、高速キャリーチェーン要素2A〜5Aのうちひとつの各キャリーアウト出力部17nまで回すように構成されている。「Enable0_n」信号が相互排他的にアクティブ化される場合、可能性のある組み合わせによって、TDC_Start入力からTDC Chain0 start出力までの伝播遅延が異なる。同様に、同じように「Enable1_n」信号をアクティブ化される場合、TDC_Start入力からTDC Chain1 start出力までの伝播遅延は異なる。「Enable0_n」と「Enable1_n」のアクティブ化についてすべての可能性のある組み合わせを使用することにより、TDC全体の最適タイミング精度を提供する組み合わせが決定される。TDC回路の精度は、(例えば、関数発生器から)既知のタイミングの1組の開始信号と停止信号を投入することによって測定される。上述した「Enable0_n」と「Enable1_n」の各組の構成について、開始と停止の間の時間のヒストグラムが、任意の構成においてTDCに測定され、生成される。このヒストグラムから、タイミング値の分布が得られる。分布は分析され、分布の質は、分布において計算された測定基準に基づく。測定基準の例として、標準偏差や半値全幅(Full Width Half Maximum:FWHM)が挙げられるが、これらに限定されない。こういった測定基準により、分布の「幅」が測定される。「幅」は小さいほうが好ましい。
各デバイス1A、1Bの高速キャリーチェーンモジュール2A〜5Aはそれぞれ、Enable0/1_n信号を受信する入力部11nを有する。Enable0/1_n信号は、高速キャリーチェーン要素2A〜5Aのうちどれがアクティブであるかを示す。例えば、Enable0/2_n信号が「1」に設定されると、2番目の高速キャリーチェーン要素3Aがアクティブ化される。Enable0_n信号およびEnable1_n信号は、ユーザーによる入力に基づいて決定されてもよく、したがって、プログラマブルに構成可能であり、ユーザーまたはTDCシステム管理者によって更新可能である。
伝播用の経路は、構成を動的に変えるため、事前に既知である。(所定のソフトウェアアプリケーションのような)外部ソースが構成を設定する。ソースが構成を設定するため、ソースは現在の構成を知っている。
各高速キャリーチェーンモジュール2A〜5Aは、LABブロックに内蔵された標準の全加算回路である要素17n、およびD型フリップフロップ18nのような論理要素も含む。要素17nの基本的な入出力機能により、経路選択および遅延チェーンの機能が実装される。フリップフロップにより、TDCの停止機能が実装される。停止信号がフリップフロップへのクロック信号である。
このように、本実施形態では、「高速キャリーチェーン」アーキテクチャを利用するFPGAベースの実装について説明する。高速キャリーチェーンモジュール2A〜5Aは、TDCにおいて使用される遅延チェーン用の遅延タップとして活用される。初期化信号を複数の論理アレイブロック(logic array block:LAB)ルックアップテーブル(look-up table:LUT)15n、16nへ送ることにより、LUTへ送られた別個のイネーブル信号11nは、TDCチェーン20、21の開始までの異なる伝播遅延に対して異なる経路をアクティブ化することができる。
図2は、TDCチェーン20、21に対して2つの異なる伝播経路が選択される例を示す。
すなわち、入力部10で受信されたTDC_Start信号は2つに分割され、デバイス1Aと1Bの両方へ送られる。Enable0_n入力部およびEnable1_n入力部で受信されたアクティブ化信号に基づいて、TDC_Start信号は、高速キャリーチェーンモジュール3Aおよび5Bに受信され、それぞれTDC Chain0 start 20およびTDC Chain1 start 21へ送られる。この2つの経路にはそれぞれの伝播遅延があり、その伝播遅延は同じでもよいし異なっていてもよい。しかし、各伝播遅延は、様々なチェーンのタイミングを釣り合わせることにより、TDCのタイミング精度性能を改善するように設計されている。
例えば、図2に示す例では、経路31の遅延が経路30への遅延よりも5〜10ns小さくてもよい。この伝播遅延における相違により、オンチップ回路の速度における製造ベースのばらつきが相殺される。こういったばらつきは、集合的なTDC回路から最大精度を引き出すために使用されるべき最適オフセットに影響を与える可能性がある。したがって、異なる経路により製造ベースのばらつきを相殺することによって、全チップにおいて実装されたTDCのタイミング精度を向上させることができる。
経路30および31によって提供される遅延は、TDC_Start信号が通過する高速キャリーチェーンモジュールの数に基づく。例えば、経路31は高速キャリーチェーンモジュール3Aからデバイス1Aに入るため、経路31はモジュール3Aの下流にある他のモジュール(すなわち、モジュール4Aおよび5A)をすべて含む。これにより、経路31では、経路に高速キャリーチェーンモジュール5Bひとつしか含まない経路30よりも、遅延が大きくなる。高速キャリーチェーンモジュールがそれぞれ同じ量の遅延を提供することもできるし、少なくとも1つのモジュールが他のモジュールとは異なる量の遅延を有することもできる。
別の実施形態では、各高速キャリーチェーンモジュール、所定量の遅延を有することができる。例えば、モジュール2Aは5nsの遅延を有することができ、モジュール3Aは10nsの遅延を有することができ、モジュール4Aは15nsの遅延を有することができ、モジュール5Aは20nsの遅延を有することができる。本実施形態では、信号が通過するモジュールの数は、最終的な遅延に影響を与えない。信号を受信する最初のモジュールのみが、提供される遅延の量を制御する。本実施形態では、2A、3A、4A、および5Aそれぞれに対する信号は、「TDC Chain0」20に入る前に多重化される。
図3は、TDCチェーン0 20およびTDCチェーン1 21、ならびに高速キャリーチェーン(Fast Carry Chain:FCC)モジュール2A〜5Aおよび2B〜5Bを有するシステムの全体図を示す。図3に示されるように、開始信号であるTDC_Startが入力部10に受信され、事前に決定された設定に基づいて特定のFCCモジュールが選択されて経路に含まれる。これにより、伝播遅延が各TDCチェーンの所定の性質に合わせて調整される。その後、TDCチェーンの出力がCPU40へ出力される。停止信号は、TDCチェーン0 20、およびTDCチェーン1 21のフリップフロップへのクロック信号である。
図3において20、21で示されるTDCチェーン0および1は、TDCチェーンが例えばPETシステムに実装される場合、トリガゾーンあたり1回路で、1または複数のFPGAに実装されてもよい。そのような飛行時間型PETシステムでは、TDCチェーンは通常ピコ秒の範囲の精度で、タイムスタンプを生成する。
図4は、TDCチェーン0 20、およびTDCチェーン1 21の構成を例示するブロック図である。図4に示すように、TDCチェーン0 20、およびTDCチェーン1 21は、入力部30と、リング・オシレータ31と、状態記憶部32と、変換部33と、カウンタ34と、乗算器35と、加算器36と、出力部37とを有する。このTDCチェーン0 20、およびTDCチェーン1 21は、デバイス1A、1Bと同様、ASIC、FPGA、または他の複合プログラマブル論理デバイス(CPLD)のような、個別の論理ゲートで実装されてもよい。
入力部30は、開始信号であるTDC_Start及び停止信号を受け付ける。入力部30で受け付けたTDC_Startはリング・オシレータ31へ出力され、停止信号は状態記憶部32へ出力される。リング・オシレータ31は、複数個の遅延要素(インバータ)をリング状に結合した構成をもつ発振回路である。状態記憶部32は、D型フリップフロップなどであり、停止信号を受け付けた瞬間にリング・オシレータ31における複数個の遅延要素の状態(論理値)を記憶する。この複数個の遅延要素の論理値は、リング・オシレータ31に信号(TDC_Start)の入力があってから出力されるまでの位相(時間)を示している。変換部33は、状態記憶部32に記憶された複数個の遅延要素の論理値が示す位相を時間に対応した値に変換する。カウンタ34は、リング・オシレータ31の最終段の遅延要素の出力を受けて計数する。乗算器35は、変換部33が計数した値をもとに、リング・オシレータ31の一周分の時間に対応した値を乗算する。加算器36は、変換部33と乗算器35との値を加算する。出力部37は、加算器36で加算された値、すなわちTDC_Startの入力から停止信号の入力までの時間を示す値(タイムスタンプ)を出力する。
PETシステム用などの市販のガンマ線検出器は、透明ライトガイドに連結されたシンチレータ結晶のアレイを有する。このアレイは、透明ライトガイド上に配置された光電子増倍管(Photomultiplier Tube:PMT)のアレイ一面にシンチレーション光を分布させる。同じ領域にあるPMTからの信号は、一般にアナログ領域で合計され、合計された信号の前縁またはイベントに基づいてタイミングが測定される。
図5は、核医学イメージング装置の一例を示す説明図である。図5に示すように、PETシステムである核医学イメージング装置の一例として、PET−CT装置100がある。図5において、200はPETスキャナを示し、300はX線CTスキャナを示し、400は寝台を示し、401は被検体が載せられる天板を示し、402は、被検体を示す。PET−CT装置100は、PETスキャナ200と、X線CTスキャナ300と、寝台400と、コンソール装置500とを有する。図5におけるX方向は、図5の天板401に載せられた被検体402の体軸方向を示す。Y方向は、X方向と直行する水平面上の方向を示す。Z方向は、垂直方向を示す。
寝台400は、被検体402が載せられる天板401を有する。また、図5には図示していないが、寝台400は、天板401を移動させる寝台制御部を有する。寝台制御部は、コンソール装置500により制御され、天板401に載せられた被検体402をPET−CT装置100の撮影口内に移動させる。
PETスキャナ200は、PET画像を再構成するためのガンマ線に由来する光を計数するフォトンカウンティング(Photon Counting)方式のガンマ線検出器を複数内蔵する。複数あるガンマ線検出器は、被検体402の体軸を中心としてリング上に配置される。例えば、ガンマ線検出器は、天板401に載せられた被検体402の体外から、被検体402の体内から放出された一対のガンマ線(対消滅ガンマ線)を検出する。
具体的には、PETスキャナ200は、ガンマ線検出器がガンマ線を計数するごとに、ガンマ線を検出したガンマ線検出器の位置を示す検出位置と、ガンマ線がガンマ線検出器に入射した時点におけるエネルギー値と、ガンマ線検出器がガンマ線を検出した検出時間とを含む計数情報を収集する。この検出時間の収集において、上述したTDCが用いられる。これにより、PET−CT装置100は、重粒子線の経路が描出されたPET画像を再構成する。
X線CTスキャナ300は、X線CT画像を再構成するためのX線を照射するX線管と、X線管により照射されたX線を検出するX線検出器とを有する。X線CTスキャナ300では、X線管がX線を被検体402に照射し、被検体402を透過したX線をX線検出器が検出する。具体的には、X線CTスキャナ300は、被検体402の体軸を中心として回転しながら、X線管がX線を照射し、X線検出器がX線を検出する。言い換えると、X線CTスキャナ300は、被検体402の体軸を中心として回転しながら多方向からX線を被検体に照射し、被検体402を透過することで被検体402に吸収されて減弱したX線を検出する。X線検出器により検出されたX線に対して増幅処理やAD変換処理などを行うことで生成されるデータを「X線投影データ」とも称する。X線CTスキャナ300は、X線投影データと、X線投影データを生成する際に用いられたX線を検出した検出位置とを収集する。
図6は、実施形態にかかるコンソール装置の構成の一例を示すブロック図である。コンソール装置500は、X線CTスキャナ300により収集された情報によりX線CT画像を再構成する。また、コンソール装置500は、PETスキャナ200により収集された計数情報を用いて同時計数情報を生成し、生成した同時計数情報に基づいてPET画像を再構成する。以下では、コンソール装置500によるPET画像を再構成する処理やX線CT画像を再構成する処理については、任意の手法を用いて実行して良く、説明を簡潔に行う。
図6に示す例では、説明の便宜上、コンソール装置500に加えて、PETスキャナ200とX線CTスキャナ300と放射線照射装置600とを併せて示した。図6に示すように、コンソール装置500は、入出力部510と、制御部540とを有する。また、コンソール装置500は、X線CT画像を再構成するために、X線投影データ記憶部530と、X線CT画像再構成部531とを有する。また、コンソール装置500は、PET画像を再構成するために、計数情報収集部520と、計数情報記憶部521と、同時計数情報生成部522と、位置情報記憶部523と、同時計数情報記憶部524と、PET画像再構成部525とを有する。なお、実施形態では、1台のコンソール装置500においてX線CT画像とPET画像とが再構成される場合について説明する。しかし、実施形態は、X線CT画像の再構成とPET画像の再構成とが別々のコンソール装置において行なわれる場合であっても適用可能である。
入出力部510は、制御部540と接続される。入出力部510は、放射線治療装置を利用する利用者から各種指示を受け付け、受け付けた各種指示を制御部540に送信する。また、入出力部510は、制御部540から情報を受信し、受信した情報を利用者に出力する。例えば、入出力部510は、キーボードやマウス、マイクなどが該当し、モニタやスピーカなどが該当する。なお、入出力部510によって受け付けられる情報や指示の詳細や、入出力部510によって出力される情報の詳細については、ここでは説明を省略する。
制御部540は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部540は、例えば、ASIC、FPGA、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの電子回路が該当する。制御部540は、放射線治療装置全体の処理を制御する。具体的には、制御部540は、PETスキャナ200およびX線CTスキャナ300を制御することで、PET−CT装置100による撮影を制御する。また、制御部540は、治療計画に沿って多方向から重粒子線が連続的又は間欠的に照射されるように放射線照射装置600を制御する。
また、制御部540は、コンソール装置500におけるPET画像再構成処理およびX線CT画像再構成処理を制御する。また、制御部540は、PET画像や、X線CT画像、PET画像およびX線CT画像の重畳画像などを、入出力部510のモニタにて表示させる。
X線投影データ記憶部530は、X線CTスキャナ300から送信されたX線投影データを記憶する。X線CT画像再構成部531は、X線投影データ記憶部530が記憶するX線投影データを、例えば、FBP(Filtered Back Projection)法により逆投影処理することで、X線CT画像を再構成する。
計数情報収集部520は、複数の検出器210が出力した計数結果から計数情報を収集して計数情報記憶部521に格納する。すなわち、計数情報収集部520では、計数情報の中の検出時間の収集において、上述したTDCが用いられる。計数情報収集部520は、PETスキャナ200にて収集された計数情報を順次受信して、受信した計数情報を計数情報記憶部521に格納する。なお、計数情報収集部520は、PETスキャナ200内に設置される場合であっても良い。
計数情報記憶部521は、計数情報収集部520により格納された計数情報を記憶する。計数情報記憶部521は、例えば、RAMやフラッシュメモリ(Flash Memory)などの半導体メモリ素子、又は、ハードディスクや光ディスクなどの記憶装置が該当する。計数情報記憶部521は、「モジュールID」に対応付けて、「シンチレータ番号」と「エネルギー値」と「検出時刻」とを記憶する。なお、「モジュールID」は、複数ある検出器それぞれを一意に特定するための情報である。
同時計数情報生成部522は、計数情報記憶部521に記憶されている計数情報のうち、検出時刻の差がタイムウィンドウにある2つ計数情報の組み合わせを、対消滅ガンマ線を略同時に計数した同時計数情報として生成する。
具体的には、同時計数情報生成部522は、操作者により指定された同時計数情報生成条件に基づいて同時計数情報を生成する。例えば、同時計数情報生成条件には、タイムウィンドウが含まれる。タイムウィンドウは、一対のガンマ線の双方を計数した場合における2つの検出時刻の差の上限を示す。
陽電子放出核種から同時に放出された一対のガンマ線であれば、一対のガンマ線に含まれるガンマ線各々の検出時刻は、同時であったり、同時でなくても2つの検出時刻の差が僅かになる。このことを踏まえ、同時計数情報生成部522は、タイムウィンドウを用いることで、誤った同時計数情報を生成するのを防止する。
例えば、タイムウィンドウ「10ナノ秒」を用いて同時計数情報生成部522が同時計数情報を生成する場合を例に説明する。この場合、同時計数情報生成部522は、「モジュールID」ごとの「検出時刻(T)」を参照し、2つの検出時刻の差が「タイムウィンドウ:10ナノ秒」以内である計数情報の組み合わせを、モジュール間で検索する。
ここで、検出時刻がタイムウィンドウ以内にある組み合わせを検索することを「Coincidence Finding」とも称する。また、同時計数情報生成部522により生成された同時計数情報のリストを「Coincidence List」とも称する。
なお、同時計数情報生成条件として、エネルギーウィンドウが設定される場合であってもよい。陽電子が消滅することで放出される一対のガンマ線のエネルギー値は予めわかっている。例えば、18Fや15O、11Cなどでは、「511keV」のガンマ線が放出される。このため、陽電子放出核種から同時に放出されたガンマ線であれば、エネルギー値が所定の範囲に入る。このことを踏まえ、同時計数情報生成部522は、エネルギーウィンドウを用いることで、陽電子放出核種から放出された一対のガンマ線ではない計数情報を除外した上で同時計数情報を生成することで、誤った同時計数情報を生成するのを防止することもできる。このように、同時計数情報生成条件の設定により、偶発同時計数を除外するためのランダム補正、散乱したガンマ線の計数情報が同時計数情報として生成されることを除外するための散乱補正、検出器間の感度の違いを補正するための感度補正などを行なうことができる。
そして、同時計数情報生成部522は、生成した同時計数情報を同時計数情報記憶部524に格納する。例えば、同時計数情報記憶部524は、RAMやフラッシュメモリなどの半導体メモリ素子、又は、ハードディスクや光ディスクなどの記憶装置が該当する。
PET画像再構成部525は、同時計数情報生成部522により生成された同時計数情報を同時計数情報記憶部524から読み出して、読み出した同時計数情報を用いてPET画像を再構成する。具体的には、PET画像再構成部525は、同時計数情報をガンマ線の投影データとし、ガンマ線の投影データから逐次近似法を用いることで、PET画像を再構成する。なお、逐次近似法としては、MLEM(Maximum Likelihood Expectation Maximization)法や、MLEM法のアルゴリズムを改良することで大幅に収束時間を短縮したOSEM(Ordered Subset MLEM)法がある。なお、PET画像再構成部525により再構成されたPET画像は、制御部540の制御により、入出力部510のモニタに表示される。
PMTごとに、各PMTの信号の振幅を測定するのに使われる独立したエレクトロニクス経路があってもよい。この経路は、フィルタおよびアナログデジタル変換器(Analog-to-Digital Converter:ADC)を有してもよい。フィルタ(一般に帯域通過フィルタ)は、測定値の信号対雑音比を最適化するのに用いられ、ADCによるデジタル信号への変換の前にアンチエイリアス機能を実行する。ADCは、例えば100MHzで動作する自走型であってもよい。この場合、中央演算処理装置、すなわちCPU40がデジタル積分を実行する。あるいは、ADCは、ピーク感知型であってもよい。ADCおよびTDCの出力は、CPU40に提供され処理される。処理は、ADC出力からのエネルギーおよび位置と、イベントごとのTDC出力からの到着時間とを推定する工程を含む。エネルギー、位置、および時間の推定精度を改善するために、事前の校正に基づいて、いくつかの補正ステップの利用を含んでもよい。
当業者には自明であるように、CPU40は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の複合プログラマブル論理デバイス(CPLD)のような個別の論理ゲートで実装されてもよい。FPGAまたはCPLDで実装する場合、VHDL、Verilog、または他の任意のハードウェア記述言語でコード化されてもよい。コードは、直接FPGAまたはCPLD内の電子メモリに格納されてもよいし、独立した電子メモリとして格納されてもよい。さらに、電子メモリは、ROM、EPROM、EEPROM、またはFLASH(フラッシュ)メモリなどの不揮発性であってもよい。また、電子メモリは、スタティックRAMまたはダイナミックRAMなどの揮発性であってもよい。電子メモリ、および、FPGAまたはCPLDと電子メモリとの相互作用を管理するために、マイクロコントローラまたはマイクロプロセッサなどの処理装置を設けてもよい。
また、CPU40は、上記の電子メモリのうちのいずれか、あるいはハードディスクドライブ、CD(Compact Disc:コンパクトディスク)、DVD(Digital Versatile Disc:デジタル多用途ディスク)、フラッシュ(FLASH)ドライブ、または任意の他の既知の記憶媒体、あるいはその両方に格納されるコンピュータ可読指令一式として実装されてもよい。さらに、コンピュータ可読指令は、Xeon(ジオン)プロセッサ(米国、Intel(インテル)社、登録商標)またはOpteron(オプテロン)プロセッサ(米国、AMD(Advanced Micro Devices:アドバンストマイクロデバイシーズ)社、登録商標)などの処理装置、ならびにVISTA(Microsoft社、登録商標)、UNIX(登録商標)、Solaris(登録商標)、LINUX(登録商標)、MAC−OSX(Apple社、登録商標)、および当業者に周知の他のオペレーティングシステムとともに実行するユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムの構成要素、あるいはそれらの組み合わせとして提供されてもよい。
一旦CPU40で処理されると、処理された信号に対して、電子記憶部への格納または表示部での表示、あるいはその両方が行われる。当業者には自明であるように、電子記憶部は、ハードディスクドライブ、CD−ROMドライブ、DVDドライブ、フラッシュ(FLASH)ドライブ、RAM、ROM、または当技術分野において周知の任意の他の電子記憶部であってもよい。表示部は、LCD(Liquid Crystal Display:液晶表示)表示装置、CRT(Cathode Ray Tube:ブラウン管)表示装置、プラズマ表示装置、OLED(Organic Light Emitting Display:有機発光表示装置)、LED(Light Emitting Display:発光表示装置)、または当技術分野において周知の任意の他の表示装置として実装されてもよい。そのようなものとして、本明細書に記載の電子記憶部および表示部の説明は単なる例示であり、本発明の範囲を決して限定するものではない。
CPU40はまた、別の実施形態では、各TDCチェーンに対する最良の伝播遅延を決定するための計算を実行できる。したがって、CPUは、フィードバック制御または他の類似の機構を使って、全チップに実装されたTDCのタイミング精度を上げるために、チェーンに加える伝播遅延の量を決定できる。そのような実施形態では、Enable0_n信号入力部およびEnable1_n信号入力部で受信されたアクティブ化信号が、CPU40によって出力され、各高速キャリーチェーンモジュールに入力される。
図6は、一実施形態による複数のチェーン型TDCへの信号を遅延させる工程を示すフローチャートであり、複数のチェーン型時間デジタル回路(TDC)への信号を遅延させる方法を示す。例えば、このフローチャートの処理は、CPU40(図3参照)が制御して実行される。
ステップS100では、開始信号を遅延させる時間量の決定を示す遅延選択信号が受信される。
ステップS101では、複数の伝播経路デバイスの各々が、遅延選択信号に基づいて、複数の遅延モジュールの少なくとも1つをアクティブ化する。複数の遅延モジュールの各々は、開始信号に遅延を付与し、開始信号は複数の遅延モジュールの少なくとも1つを経由して各々のTDCへ送られる。
ステップS102では、開始信号が、複数の遅延モジュールのうちのアクティブ化されたモジュールにおいて受信される。特に、TDC開始信号は、アクティブ化されていない上流のモジュールを迂回して、複数の遅延モジュールのうち最初にアクティブ化されたモジュールへ入るように送られる。
ステップS103では、アクティブ化された遅延の出力が、TDC20および21のそれぞれへ送信される。
図7は、一実施形態による最適な遅延を決定する工程を示すフローチャートであり、複数のチェーン型時間デジタル回路(TDC)を有するシステムを校正する方法を示す。例えば、このフローチャートの処理は、CPU40(図3参照)が制御して実行される。
ステップS200では、TDC開始信号を遅延させる時間量を示す遅延選択信号が、各遅延デバイスにおいて受信される。遅延選択信号は、所定の遅延モジュールのうちのどれが選択されるかを示すことによって、信号を遅延させる時間量を示す。
ステップS201では、複数の伝播経路デバイスの各々が、遅延選択信号に基づいて、複数の遅延モジュールの少なくとも1つをアクティブ化する。複数の遅延モジュールの各々は、TDC開始信号に遅延を付与する。
ステップS202では、開始信号が、複数の遅延モジュールのうちのアクティブ化されたモジュールにおいて受信される。
ステップS203では、アクティブ化された遅延の出力が、各々のTDCへ送信される。
ステップS204では、遅延選択信号を使用して各TDCの性能が測定され、遅延選択信号の評価値が求められる。遅延選択信号または選択信号群は、遅延選択信号に対する評価値を決定するために、TDCシステムの出力結果と比較される。評価値は、遅延選択信号に関連付けて記録される。
ステップS205では、可能性のある遅延選択信号またはその組み合わせごとにステップS201〜S204が反復され、複数の評価値が求められる。複数の評価値は、可能性のある遅延選択信号または選択信号群の各々につき1つの評価値を有する。このような評価値はそれぞれ、対応する信号または信号群に関連付けて記録される。
ステップS206では、可能性のある遅延選択信号のうち、どの信号の評価値が最高値となるかが決定される。上述のように、(例えば、関数発生器からの)既知のタイミングの1組の開始信号と停止信号をシステムに投入する技術を使用して、様々な遅延構成を評価することができる。上述したenable0_nとenable1_nの各組の構成について、開始と停止の間の時間のヒストグラムが、任意の構成においてTDCに測定され、生成される。この生成は、ヒストグラム生成プログラムを実装したマイクロプロセッサを用いて実行してもよい。このヒストグラムから、タイミング値の分布が得られる。分布は分析され、分布の質は、分布において計算された測定基準に基づく。測定基準の例として、標準偏差や半値全幅(FWHM)が挙げられるが、これに限定されない。最適遅延を付与すると決定された選択信号または信号群を用いて、TDC過程の最適遅延が付与される。
遅延選択信号の最適化や生成などの処理の特定の部分は、少なくとも1つのマイクロプロセッサを有する何らかの形のコンピュータを使用して、または処理装置を使用して、実装または支援される。当業者には自明であるように、コンピュータ処理装置は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の複合プログラマブル論理デバイス(CPLD)のような個別の論理ゲートで実装されてもよい。FPGAまたはCPLDで実装する場合、VHDL、Verilog(ヴェリログ)、または他の任意のハードウェア記述言語でコード化されてもよい。コードは、直接FPGAまたはCPLD内の電子メモリに格納されてもよいし、独立した個別の電子メモリとして格納されてもよい。さらに、電子メモリは、ROM、EPROM、EEPROM、またはFLASH(フラッシュ)メモリなどの不揮発性であってもよい。また、電子メモリは、スタティックRAMまたはダイナミックRAMなどの揮発性であってもよい。電子メモリ、および、FPGAまたはCPLDと電子メモリとの相互作用を管理するために、マイクロコントローラまたはマイクロプロセッサなどの処理装置を設けてもよい。
また、コンピュータ処理装置は、本明細書に記載の機能を実行するコンピュータ可読指令一式を含むコンピュータプログラムを実行してもよい。ここで、プログラムは、上記の非一過性電子メモリのうちのいずれか、あるいは、ハードディスクドライブ、CD、DVD、フラッシュ(FLASH)ドライブ、または任意の他の既知の記憶媒体、あるいはその両方に格納される。さらに、コンピュータ可読指令は、Xeon(ジオン)プロセッサ(米国、Intel(インテル)社)またはOpteron(オプテロン)プロセッサ(米国、AMD社)などの処理装置、ならびにVISTA(Microsoft社)、UNIX、Solaris、LINUX、MAC−OSX(Apple社)および当業者に周知の他のオペレーティングシステムとともに実行するユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムの構成要素、あるいはそれらの組み合わせとして提供されてもよい。
また、実施形態の特徴のうちいくつかを、コンピュータベースのシステム(図6)を使って実行してもよい。コンピュータ1000は、情報通信のためのバスBなどの通信機構と、情報を処理するためのバスBに連結された処理装置すなわちCPU1004とを有する。また、コンピュータ1000は、情報および処理装置であるCPU1004によって実行される指令を格納するためにバスBに連結された、ランダムアクセスメモリ(RAM)などのダイナミック記憶装置(例えば、ダイナミックRAM(DRAM)、スタティックRAM(SRAM)、およびシンクロナスDRAM(SDRAM))などのメインメモリすなわち記憶ユニット1003を有する。さらに、記憶ユニット1003は、CPU1004による指令の実行中に一時的な変数などの中間情報を格納するために使用されてもよい。コンピュータ1000は、静的情報およびCPU1004に対する指令を格納するためにバスBに連結された、読み出し専用メモリ(ROM)などの静的記憶装置(例えば、プログラマブルROM(PROM)、消去可能PROM(EPROM)、および電気的消去可能PROM(EEPROM))をさらに有してもよい。
また、コンピュータ1000は、大容量記憶装置1002およびドライブ装置1006(例えば、フロッピー(登録商標)ディスクドライブ、読み出し専用コンパクトディスクドライブ、読み出し/書込みコンパクトディスクドライブ、コンパクトディスクジュークボックス、テープドライブ、および取り外し可能な光磁気ドライブ)などの、情報および指令を格納するための1または複数の記憶装置を制御するためにバスBに連結された、ディスクコントローラも有してもよい。記憶装置は、適切なデバイスインターフェース(例えば、小型コンピュータシステムインターフェース(Small Computer System Interface:SCSI)、IDE(Integrated Device Electronics)、E−IDE(Enhanced IDE)、直接メモリアクセス(Direct Memory Access:DMA)、またはウルトラDMA)を使って、コンピュータ1000に加えてもよい。
また、コンピュータ1000は、特定目的論理デバイス(例えば、特定用途向け集積回路(ASIC))、または設定可能な論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Devices:SPLD)、複合プログラマブル論理デバイス(CPLD)、およびフィールドプログラマブルゲートアレイ(FPGA))も有してもよい。
また、コンピュータ1000は、情報をコンピュータユーザーに表示するための、ブラウン管(CRT)などの表示部を制御するための、バスBに連結された表示制御部を有してもよい。コンピュータシステムは、コンピュータユーザーとのやりとりや処理装置への情報提供のために、キーボードやポインティングデバイスなどの入力デバイスを有する。ポインティングデバイスは、例えば、方向情報およびコマンド選択を処理装置へ通信し、表示部上のカーソルの動きを制御するための、マウス、トラックボール、またはポインティングスティックであってもよい。さらに、プリンタにより、コンピュータシステムによって格納および生成が行われたデータ、あるいは格納または生成が行われたデータの印刷リストを提供してもよい。
コンピュータ1000は、記憶ユニット1003などのメモリに含まれる1または複数の指令のうちの1または複数のシーケンスをCPU1004が実行するのを受けて、本実施形態の処理ステップの少なくとも一部を実行する。そのような指令は、大容量記憶部1002または取り外し可能媒体1001などの別のコンピュータ可読媒体から記憶ユニットに読み込まれるものである。多重処理配列内の1または複数の処理装置を用いて、記憶ユニット1003に含まれる一連の指令を実行してもよい。別の実施形態では、ソフトウェア指令の代わりに、または、それと組み合わせて、ハードワイヤード回路を使用してもよい。このように、実施形態は、ハードウェア回路とソフトウェアとの特定の組み合わせに限定されない。
上記のように、コンピュータ1000は、少なくとも1つのコンピュータ可読媒体1001、すなわち、本実施形態の教示に従ってプログラムされた指令を格納し本明細書に記載のデータ構造、表、記録などのデータを含むメモリを有する。コンピュータ可読媒体の例として、コンパクトディスク、ハードディスク、フロッピーディスク、テープ、光磁気ディスク、PROM(EPROM、EEPROM、フラッシュEPROM)、DRAM、SRAM、SDRAM、または他の任意の磁気媒体、コンパクトディスク(例えば、CD−ROM)、またはコンピュータが読むことができる他の任意の媒体がある。
本実施形態は、コンピュータ可読媒体のうちのいずれか1つまたはそれらの組み合わせに格納されたソフトウェアを含む。該ソフトウェアは、メイン処理ユニット1004を制御し、本実施形態を実行するためにデバイスまたは複数のデバイスを駆動し、かつメイン処理ユニット1004を人間ユーザーとやりとり可能にする。そのようなソフトウェアには、デバイスドライバ、オペレーティングシステム、開発ツール、およびアプリケーションソフトが含まれるが、これらに限定されるものではない。そのようなコンピュータ可読媒体は、本実施形態において実行される処理工程のすべてまたは一部(処理工程が区分される場合)を実行するための、本実施形態のコンピュータプログラム製品をさらに含む。
本実施形態の媒体に対するコンピュータコード要素は、どのような解釈可能コード機構また実行可能コード機構であってもよい。例えば、スクリプト、解釈可能プログラム、動的リンクライブラリ(dynamic link libraries:DLL)、Java(登録商標)(ジャバ)クラス、および完全な実行可能プログラムがあるが、これらに限定されるものではない。さらに、本実施形態の処理工程の部分は、性能、信頼性、費用などを向上させるために、区分けされてもよい。
本明細書で使用する用語「コンピュータ可読媒体」は、CPU1004の実行に対する指令を提供して際に関係するあらゆる媒体を指す。コンピュータ可読媒体は、不揮発性媒体や揮発性媒体などの多くの形式をとることができるが、これらに限定されるものではない。不揮発性媒体は、例えば、大容量記憶装置1002や取り外し可能な媒体1001などの、光ディスク、磁気ディスク、および光磁気ディスクを含む。揮発性媒体は、記憶ユニット1003などのダイナミックメモリを含む。
様々な形式のコンピュータ可読媒体を使って、CPU1004の実行に対する1または複数の指令の1または複数のシーケンスを実行してもよい。例えば、リモートコンピュータの磁気ディスク上で、最初に指令を保持してもよい。バスBに連結された入力部は、データを受信してデータをバスBに配置することができる。バスBはデータを記憶ユニット1003へ運び、CPU1004は、記憶ユニット1003から指令を取り出して実行する。記憶ユニット1003が受信した指令は、CPU1004が実行する前か後かに、大容量記憶装置1002に任意に保存されてもよい。
また、コンピュータ1000は、バスBに連結された通信インターフェース1005を有する。通信インターフェース1004により、例えば、ローカルエリアネットワーク(Local Area Network:LAN)、またはインターネットなどの別の通信ネットワークに接続されたネットワークに連結された、双方向データ通信が提供される。例えば、通信インターフェース1005は、任意のパケット交換LANに取り付けられるネットワークインターフェイスカードであってもよい。別の例として、通信インターフェース1005は、対応する種類の通信回線へのデータ通信接続を提供するための非対称型デジタル加入者回線(Asymmetrical Digital Subscriber Line:ADSL)カード、総合デジタル通信網(Integrated Services Digital Network:ISDN)カード、またはモデムであってもよい。無線リンクを実装してもよい。どれを実装した場合でも、通信インターフェース1005は、様々な種類の情報を表すデジタルデータストリームを運ぶ電気信号、電磁気信号、または光信号を送受信する。
ネットワークは、一般に、1または複数のネットワークを通して別のデータデバイスへのデータ通信を提供する。例えば、ネットワークは、ローカルネットワーク(例えば、LAN)を通して、または、通信ネットワークを介して通信サービスを提供するサービスプロバイダによって運営される設備を通して、別のコンピュータへの接続を提供してもよい。ローカルネットワークおよび通信ネットワークは、例えば、デジタルデータストリームを運ぶ電気信号、電磁気信号、または光信号と、関連する物理層(例えば、CAT5ケーブル、同軸ケーブル、光ファイバーなど)とを使用する。さらに、ネットワークは、携帯情報端末(Personal Digital Assistant:PDA)、ラップトップコンピュータ、または移動電話などのモバイルデバイスへの接続を提供してもよい。
上記の説明において、フローチャート内のあらゆる処理、説明、またはブロックは、処理における特定の論理的機能またはステップを実行するための1または複数の実行可能な指令を含む符号のモジュール、部分、または一部を表すものとして理解されるべきである。当業者には自明であるように、関与する機能性によって、実質的に並行する順序や逆の順序など、例示あるいは検討された順序とは異なる順序で機能が実行される他の実施例も、本進歩の例示実施形態の範囲内に含まれる。
特定の実施形態を記載してきたが、これらの実施形態は、単なる例として提示したのであって、本発明の範囲を限定するものではない。実際、本明細書に記載の新規の方法、装置、およびシステムは、様々な別の形式で具体化が可能である。さらに、本明細書に記載の方法、装置、およびシステムの形式は、本発明の精神を逸脱することなく様々な省略、置換、および変更を行うことが可能である。添付の特許請求の範囲およびそれらの同等物は、本発明の範囲および精神の範囲内に収まるであろう形式または改変を網羅するものである。
1A,1B デバイス
2A,3A,4A,5A 高速キャリーチェーンモジュール
10 入力部
11n イネーブル信号
15n,16n LUT
17n 要素
18n D型フリップフロップ
20,21 TDCチェーン入力部