(57)【特許請求の範囲】
【請求項１】
被検体に対して透過性を有する電磁波を被検体に照射する照射源と、被検体を透過した電磁波を検出する検出器とが被検体を挟んで配置され、照射源と検出器が同期して被検体を走査するか、又は、被検体の回転に同期して走査することによって得られる走査各位置で検出された撮影データまたはそれをフィルター処理した後のデータを、被検体の関心領域に仮想的に設定される２次元または３次元の断層再構成領域に逆投影する逆投影演算を実行させるための断層再構成ソフトウエアであってキャッシュメモリーを有するＣＰＵ上で動作するソフトウエアにおいて、前記逆投影演算を、前記断層再構成領域を再構成画像上で上下左右に隣接する画素を含みかつ前記キャッシュメモリーのサイズに基づいて少なくとも前記画素に関する逆投影データが当該キャッシュメモリーにキャッシュ保持されるように分割した分割領域毎に実行させることを特徴とする断層再構成ソフトウエア。
【請求項２】
請求項１に記載の断層再構成ソフトウエアにおいて、前記分割領域の形態は、２次元の断層再構成領域の場合には、正方形、長方形、三角形、ひし形、台形とし、３次元の断層再構成領域の場合には、立方体、直方体とすることを特徴とする断層再構成ソフトウエア。
【請求項３】
請求項１に記載の断層再構成ソフトウエアにおいて、前記分割領域は、逆投影方向に応じて、逆投影方向に長くなるようにその向きを変化させることを特徴とする断層再構成ソフトウエア。
【請求項４】
請求項１に記載の断層再構成ソフトウエアにおいて、一つの前記分割領域に対して、全走査各位置のうちの複数位置分の撮影データの当該分割領域に対応する部分の逆投影演算を行うことを、残りの分割領域に対しても同様に行うことを特徴とする断層再構成ソフトウエア。
【請求項５】
請求項１から請求項４のいずれかに記載の断層再構成ソフトウエアにおいて、前記分割領域は、前記断層再構成領域の中心部とその周辺部とで大きさが異なるようにしていることを特徴とする断層再構成ソフトウエア。
【請求項６】
請求項１から請求項５のいずれかに記載の断層再構成ソフトウエアにおいて、前記分割領域が隣接する順に連続して逆投影を行っていくことを特徴とする断層再構成ソフトウエア。
【請求項７】
請求項１から請求項６のいずれかに記載の断層再構成ソフトウエアにおいて、前記分割領域内における複数個の逆投影点を、隣接する順に連続して逆投影していくことを特徴とする断層再構成ソフトウエア。
【請求項８】
請求項１から請求項７のいずれかに記載の断層再構成ソフトウエアにおいて、前記撮影データをフィルター処理した後、補間を行わずそのまま前記分割領域に逆投影することを特徴とする断層再構成ソフトウエア。
【請求項９】
請求項１から請求項８のいずれかに記載の断層再構成ソフトウエアにおいて、前記断層再構成領域の画素密度が回転中心での検出器画素密度よりも高密度になるように細分化した拡大断層再構成領域であることを特徴とする断層再構成ソフトウエア。
【請求項１０】
請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを用いて逆投影演算を行なうことで、関心領域の２次元または３次元の再構成画像を生成する断層撮影装置。
【請求項１１】
請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、走査各位置の撮影データを断層再構成領域に逆投影する逆投影演算をコンピュータに実行させるための断層再構成ソフトウエアとそれを記録した記録媒体、および、医療分野，工業分野などに用いられる、被検体の断層撮影を行なって断層再構成する種々の断層撮影装置に係り、特に、撮影データをフィルター処理した後に行う逆投影演算（断層再構成計算）を高速化する技術に関する。
【０００２】
【従来技術】
従来のＸ線断層撮影装置の構成を図１１に示す。Ｘ線管（Ｘ線焦点ｆ）と、Ｘ線検出素子が直線状に配列されたＸ線検出器４２とが被検体を挟んで対向配置され、Ｘ線管とＸ線検出器４２とを同期させて被検体の体軸周りに走査させて、Ｘ線管の被検体へのＸ線照射角度を変えながら断続的な撮影を行う。得られた走査各位置の撮影データを、以下に説明する断層再構成法としてのＦＢＰ（フィルタードバックプロジェクション：Filtered Back Projection）することで、被検体の関心部位の断層再構成画像を生成している。このＦＢＰとは、被検体を各角度から撮影した複数枚の撮影データをフィルターで補正処理したデータＳを、被検体の関心領域に仮想的に設定される２次元の断層再構成領域Ｂに逆投影（Back Projection ）する方法である。
【０００３】
つまり、断層再構成領域Ｂの点ｂ（ｘ，ｙ）の再構成画素値を求めるためには、ｐ回目の撮影データをフィルターで補正したデータＳのうちの点ｂ（ｘ，ｙ）の投影に相当する座標ｔ（ｘ，ｙ，ｐ，，）の点ｓ（ｔ（ｘ，ｙ，ｐ，，））を投影回数（Ｎｐ回）分積算していく計算で、次に示す式（１）で表される。
【０００４】
【数１】
0003963086.tif 000002
【０００５】
ただし、ｔは通常では整数とならないので、配列であるｓの点ｓ（ｔ（ｘ，ｙ，ｐ，，））を直接求めることはできず、図１２に示すように、近傍２点を使った補間計算を行ってから積算していく。この式を式（２）として以下に示す。
【０００６】
【数２】
0003963086.tif 000003
【０００７】
上記の式（２）のような積算をコンピュータで行う場合は、以下の式（３）に示すような計算を、投影回数（Ｎｐ回）分実行することになる。
【０００８】
0003963086.tif 000004
【０００９】
上記の式（３）に関する従来のプログラムコード例を図１３に示す。ただし、ｕ＝ＩＮＴ（ｔ（ｘ，ｙ，p，， ））、ａ＝ｔ（ｘ，ｙ，p，， ）−ｕで、関数「ｔ（ｘ，ｙ，p，， ）」は逆投影される元データ座標を浮動小数点で計算する関数、関数「ＩＮＴ（）」は小数点以下を切り捨てて整数化する関数である。以上のような再構成計算は、非常に時間がかかるため、専用のDSPボードなどで計算させるのが普通である。しかし、近年のパソコン（以下、適宜に「パソコン」と略称する）の高速化に伴って、このような再構成計算をパソコンで行うようにした断層撮影装置が考案されるようになってきている。
【００１０】
最近のパソコンは、ＣＰＵ（中央演算処理装置）と、メモリーと、ハードディスク（ＨＤ）やＩＯ（入出力ポート）やキーボードやマウスなどの周辺機器から構成されている。そして、通常ＨＤにソフトウエアやデータを記録しておき、必要になったとき、メモリー上に読み出されて、ＣＰＵで処理が行われる。また、最近のＣＰＵチップはメモリーより高速に動作し、この高速性を発揮するために、ＣＰＵとメモリーとの間にキャッシュメモリーと呼ばれる高速なメモリーを入れた構成にする改良が行われて、性能が改善されたものとなってきている。キャッシュメモリーは、ＣＰＵの半導体チップ上に構成されることが多く、キャッシュメモリーも含めたものをＣＰＵと呼ぶことが多い。ただし、キャッシュメモリーは、高速性が必要とされるためメインメモリーに比べて高価であるために記憶容量を小さく抑えられている。このキャッシュメモリーの動作について説明する。ＣＰＵは、必要なプログラムやデータがキャッシュメモリーに無い時、自動的にメモリーからキャッシュメモリーに読み込むように動作し、その間ＣＰＵは別の仕事ができるので、全体の効率が上がるように動作する。また、キャッシュメモリーが一杯になると、アクセスされていないデータから順にメモリーに書き出されたり、内容が上書きされていない場合は、単に廃棄されたりしてキャッシュメモリーの内容は常にＣＰＵが必要とする最近のデータで満たされるようになっている。
【００１１】
現時点での比較的高性能なパソコンの場合、２０Ｇbyte（ギガバイト）容量のＨＤ、１Ｇbyteのメモリー、ＣＰＵ動作クロックが４００ＭＨｚ（メガヘルツ）で５１２Ｋbyte（キロバイト）のキャッシュメモリーを持つものがある。このようなパソコンでは、ＣＰＵとキャッシュメモリー間の読み書き性能が３２００Ｍbyte／sec （メガバイト／秒）、キャッシュメモリーとメモリー間の読み書き性能が８００Ｍbyte／sec程度の性能を持っている。４byteで表される浮動小数点データの転送時間に直すと、ＣＰＵとキャッシュメモリー間の読み書き時間が１．２５nsec／float、キャッシュメモリーとメモリー間の読み書き時間が５nsec／floatとなりキャッシュメモリーは４倍ほど高速である。
【００１２】
浮動小数点（４byte）の値をもつ５１２×５１２画素の画像データ（１Ｍbyte）の全画素の加算計算を例に、キャッシュ動作を単純化した例示計算で説明しておく。画像データは、上記の５１２Ｋbyteのキャッシュメモリーには入りきらず、画像データ前半の５１２Ｋbyteがキャッシュメモリーに512kbyte/800Mbyte=640μsecで読み込まれながら、ＣＰＵで加算されていく。ただし、キャッシュメモリーとＣＰＵ間のデータ転送時間は512kbyte/3200Mbyte=160μsecと高速なので、ＣＰＵは640-160=480μsec間は何もしていない状態である。次に、画像データ後半の５１２ＫbyteをＣＰＵが要求しはじめると、画像データ前半のデータが古いものから順に置き換わっていき、512kbyte/800Mbyte=640μsec後には、キャッシュメモリーは画像データ後半の５１２Ｋbyteに置き換わっている。しかし、前記同様480μsec間は何もしていない状態である。
【００１３】
【発明が解決しようとする課題】
従来例の場合には、次のような問題がある。すなわち、最近のパソコンはメモリーアクセスに関してキャッシュメモリーのような工夫がされているにもかかわらず、図１３に示すように「ｘ軸方向に計算後、ｙ軸方向に計算する」ことを撮影データ分（Ｎｐ回分）行うことしかされていないので、ＣＰＵの計算性能を引き出すことができず、以下に説明するように断層再構成計算に時間がかかるという問題がある。以下に、２次元および３次元の断層再構成の場合について具体的に説明する。
【００１４】
まず、２次元の断層再構成の場合における、計算のために必要なデータの読み書き回数と時間について説明する。
【００１５】
前述の式（３）で１回の逆投影の１点の断層再構成計算のために必要なメモリーアクセス回数を求める。断層再構成する断層再構成領域Ｂの点（ｘ，ｙ）の値ｂ（ｘ，ｙ）は、１回読み込まれた後、加算されて、書き出されるので、メモリーアクセスは２回必要である。フィルター補正後の撮影データＳについては、補間のため、２個読み出すので、元データの読み出し回数＝２回でメモリーアクセスは２回必要である。合計で４回（２回＋２回＝４回）のメモリーアクセスが必要である。
【００１６】
次に、Ｎｘ×Ｎｙの大きさの断層再構成領域Ｂに対する１回の逆投影では、Ｎｘ×Ｎｙ×４回のメモリーアクセスが必要である。さらに、Ｎｐ回の逆投影を行うとすると、断層再構成のためには合計で、Ｎｘ×Ｎｙ×４×Ｎｐ回のメモリーアクセスが必要である。また、通常、データは計算中においては浮動小数点で表されるので、４byteであるから、Ｎｘ×Ｎｙ×４×Ｎｐ×４byteのメモリーアクセス量が必要である。
【００１７】
ここで、２次元断層再構成のためのメモリーアクセス時間を、前記の比較的高性能なパソコンを用いた場合について説明する。例えば、Ｎｘ＝５１２，Ｎｙ＝５１２の断層再構成領域Ｂに対して、Ｎｐ＝１８００回の逆投影を行う場合、メモリーアクセス量＝Ｎｘ×Ｎｙ×４×Ｎｐ×４byte＝５１２×５１２×４×１８００×４＝７，５４９，７４７，２００byteとなり、メモリーの転送速度が８００Ｍbyte／sec なので、９．４３７sec の時間が必要であり、長い時間が必要であることがわかる。ただし、キャッシュメモリーとＣＰＵ間のデータ転送時間は４倍高速なので９．４３７secのうち７５％はＣＰＵの空き時間になっていると思われ、たいへんな無駄が発生している。
【００１８】
上述と同様な考え方により、３次元の断層再構成の場合における、計算のために必要なデータの読み書き回数と読み書き時間について説明する。前述の式（３）はほぼ同じで、近傍４点からの補間が行われるとすると、１点の計算のためには、断層再構成する断層再構成領域の点（ｘ，ｙ，ｚ）の値ｂ（ｘ，ｙ，ｚ）は、１回読み込まれた後、加算されて、書き出されるので、メモリーアクセスは２回必要である。フィルター補正後の撮影データＳについては、補間のため、４個読み出すので、元データの読み出し回数＝４回でメモリーアクセスは４回必要である。合計で６回（２回＋４回＝６回）のメモリーアクセスが必要である。
【００１９】
次に、Ｎｘ×Ｎｙ×Ｎｚの大きさの断層再構成領域に対する１回の逆投影では、Ｎｘ×Ｎｙ×Ｎｚ×６回のメモリーアクセスが必要である。Ｎｐ回の逆投影を行うとすると、断層再構成のためには合計で、Ｎｘ×Ｎｙ×Ｎｚ×６×Ｎｐ回メモリーアクセスが必要である。また、通常、データは計算中においては浮動小数点で表されるので、４byteであるから、Ｎｘ×Ｎｙ×Ｎｚ×６×Ｎｐ×４byteのメモリーアクセス量が必要である。
【００２０】
ここで、３次元の断層再構成のためのメモリーアクセス時間を、前記の比較的高性能なパソコンを用いた場合について求める。例えば、Ｎｘ＝５１２，Ｎｙ＝５１２，Ｎｚ＝５１２の断層再構成領域に対して、Ｎｐ＝５１２回の逆投影を行う場合、メモリーアクセス量＝Ｎｘ×Ｎｙ×Ｎｚ×６×Ｎｐ×４byte＝５１２×５１２×５１２×６×５１２×４＝１，６４９，２６７，４４１，６６４byteとなり、メモリーの転送速度を８００Ｍbyte／sec とすると、２０６１．５８４３sec の時間が必要であり、長い時間が必要であることがわかる。ただし、キャッシュメモリーとＣＰＵ間のデータ転送時間は４倍高速なので２０６１．５８４３sec のうち７５％はＣＰＵの空き時間になっていると思われ、たいへんな無駄が発生している。
【００２１】
この発明は、このような事情に鑑みてなされたものであって、断層再構成計算を高速化できる断層再構成ソフトウエアと断層撮影装置を提供することを目的とする。
【００２２】
【課題を解決するための手段】
上記目的を達成するために、発明者が鋭意研究をした結果、次のような知見を得た。すなわち、逆投影演算（断層再構成計算）は、単純な積算計算であるが、同じデータ領域を何度も読み書きするために、メモリーアクセス回数が膨大であるという特徴がある。この特徴に基づいて、断層再構成計算を行う順序を変えること、つまり、データのアクセス順序をキャッシュサイズを考慮した最適な順番に変更することで、データのキャッシュメモリーからの再利用率を増加させることができ、ＣＰＵとメモリー間のデータアクセス回数と時間を減少させることができ、断層再構成計算時間を短縮できるということを見出したのである。
【００２３】
このような知見に基づくこの発明は次のような構成を採る。
すなわち、請求項１に記載の断層再構成ソフトウエアは、被検体に対して透過性を有する電磁波を被検体に照射する照射源と、被検体を透過した電磁波を検出する検出器とが被検体を挟んで配置され、照射源と検出器が同期して被検体を走査するか、又は、被検体の回転に同期して走査することによって得られる走査各位置で検出された撮影データまたはそれをフィルター処理した後のデータを、被検体の関心領域に仮想的に設定される２次元または３次元の断層再構成領域に逆投影する逆投影演算を実行させるための断層再構成ソフトウエアであってキャッシュメモリーを有するＣＰＵ上で動作するソフトウエアにおいて、前記逆投影演算を、前記断層再構成領域を再構成画像上で上下左右に隣接する画素を含みかつ前記キャッシュメモリーのサイズに基づいて少なくとも前記画素に関する逆投影データが当該キャッシュメモリーにキャッシュ保持されるように分割した分割領域毎に実行させることを特徴とするものである。
【００２４】
また、請求項２に記載の断層再構成ソフトウエアは、請求項１に記載の断層再構成ソフトウエアにおいて、前記分割領域の形態は、２次元の断層再構成領域の場合には、正方形、長方形、三角形、ひし形、台形とし、３次元の断層再構成領域の場合には、立方体、直方体とすることを特徴とするものである。
【００２５】
また、請求項３に記載の断層再構成ソフトウエアは、請求項１に記載の断層再構成ソフトウエアにおいて、前記分割領域が逆投影方向に応じて、逆投影方向に長くなるようにその向きを変化させることを特徴とするものである。
【００２６】
また、請求項４に記載の断層再構成ソフトウエアは、請求項１に記載の断層再構成ソフトウエアにおいて、一つの前記分割領域に対して、全走査各位置のうちの複数位置分の撮影データの当該分割領域に対応する部分の逆投影演算を行うことを、残りの分割領域に対しても同様に行うことを特徴とするものである。
【００２７】
また、請求項５に記載の断層再構成ソフトウエアは、請求項１から請求項４のいずれかに記載の断層再構成ソフトウエアにおいて、前記分割領域は、前記断層再構成領域の中心部とその周辺部とで大きさが異なるようにしていることを特徴とするものである。
【００２８】
また、請求項６に記載の断層再構成ソフトウエアは、請求項１から請求項５のいずれかに記載の断層再構成ソフトウエアにおいて、前記分割領域が隣接する順に連続して逆投影を行っていくことを特徴とするものである。
【００２９】
また、請求項７に記載の断層再構成ソフトウエアは、請求項１から請求項６のいずれかに記載の断層再構成ソフトウエアにおいて、前記分割領域内における複数個の逆投影点を、隣接する順に連続して逆投影していくことを特徴とするものである。
【００３０】
また、請求項８に記載の断層再構成ソフトウエアは、請求項１から請求項７のいずれかに記載の断層再構成ソフトウエアにおいて、前記撮影データをフィルター処理した後、補間を行わずそのまま前記分割領域に逆投影することを特徴とするものである。
【００３１】
また、請求項９に記載の断層再構成ソフトウエアは、請求項１から請求項８のいずれかに記載の断層再構成ソフトウエアにおいて、前記断層再構成領域の画素密度が、回転中心での検出器画素密度よりも高密度になるように細分化した拡大断層再構成領域であることを特徴とするものである。
【００３２】
また、請求項１０に記載の断層撮影装置は、請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを用いて逆投影演算を行なうことで、関心領域の２次元または３次元の再構成画像を生成するものである。
【００３３】
また、請求項１１に記載の記録媒体は、請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを記録したコンピュータ読み取り可能な記録媒体である。
【００３４】
【作用】
この発明の作用は次の通りである。
すなわち、請求項１に記載の発明によれば、被検体に対して透過性を有する電磁波を被検体に照射する照射源と、被検体を透過した電磁波を検出する検出器とが被検体を挟んで配置され、照射源と検出器が同期して被検体を走査するか、又は、被検体の回転に同期して走査することによって得られる走査各位置で検出された撮影データまたはそれをフィルター処理した後のデータを、被検体の関心領域に仮想的に設定される２次元または３次元の断層再構成領域に逆投影する逆投影演算を、その断層再構成領域を再構成画像上で上下左右に隣接する画素を含みかつキャッシュメモリーのサイズに基づいて少なくとも前記画素に関する逆投影データが当該キャッシュメモリーにキャッシュ保持されるように分割した分割領域毎に実行させる断層再構成ソフトウエアを用いる。したがって、逆投影演算（断層再構成計算）を分割領域毎に行っていく、つまり、断層再構成計算をキャッシュサイズを考慮した最適な領域（分割領域）毎に順番に行っていくことで、キャッシュメモリー内のデータ再利用率を増加させることができ、メモリーとのデータアクセスを減少させることができ、断層再構成のためのデータ転送時間合計が短縮され、断層再構成計算時間が短縮される。
【００３５】
また、請求項２に記載の発明によれば、分割領域の形態は、２次元の断層再構成領域の場合には、正方形、長方形、三角形、ひし形、台形とし、３次元の断層再構成領域の場合には、立方体、直方体とする。したがって、分割領域が、キャッシュサイズを考慮した適切な形状に設定される。
【００３６】
また、請求項３に記載の発明によれば、分割領域は逆投影方向に応じて、逆投影方向に長くなるようにその向きを変化させるので、ほとんどの逆投影方向においても、キャッシュメモリー内のデータ再利用率がほぼ一定に確保でき、断層再構成計算時間が短縮される。
【００３７】
また、請求項４に記載の発明によれば、一つの分割領域に対して、全走査各位置のうちの複数位置分の撮影データの当該分割領域に対応する部分の逆投影演算を行うことを、残りの分割領域に対しても同様に行う。したがって、断層再構成領域の分割領域に、複数枚の撮影データの分割領域に対応する部分を逆投影していくことで、キャッシュメモリー内のデータ再利用率をさらに増加させることができ、さらに断層再構成計算時間が短縮される。
【００３８】
また、請求項５に記載の発明によれば、分割領域は、断層再構成領域の中心部とその周辺部とで大きさが異なるようにしている。したがって、断層再構成領域の分割領域位置によって必要なキャッシュメモリーサイズが極端に増大して、逆投影演算時間が極端に増大することを低減でき、断層再構成時間を分割領域位置に依らずほぼ一定に短縮できる。
【００３９】
また、請求項６に記載の発明によれば、分割領域を隣接する順に連続して逆投影を行っていくので、キャッシュメモリー内のデータ再利用率をさらに増加させることができ、断層再構成計算時間が短縮される。
【００４０】
また、請求項７に記載の発明によれば、分割領域内における複数個の逆投影点を、隣接する順に連続して逆投影していくので、好適な順番で断層再構成計算が行われ、キャッシュメモリー内のデータ再利用率を確保させることができ断層再構成計算時間が短縮される。
【００４１】
また、請求項８に記載の発明によれば、撮影データをフィルター処理した後、補間を行わずそのまま分割領域に逆投影する。したがって、補間のためのデータの読み込みが減少するので断層再構成計算時間が短縮される。
【００４２】
また、請求項９に記載の発明によれば、断層再構成領域の画素密度が、回転中心での検出器画素密度よりも高密度になるように細分化した拡大断層再構成領域としている。したがって、拡大断層再構成領域を分割した分割領域内の逆投影点数は増えることになるが、取り扱う撮影データ、つまり、撮影データの分割領域に対応する部分のデータは同じで増加しないし、このデータを用いて増加させた逆投影点にも逆投影していくので、キャッシュ効果が高くなり、断層再構成計算を高速に行なうことができる。
【００４３】
また、請求項１０に記載の発明によれば、断層撮影装置は、請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを用いて逆投影演算を行なうことで、関心領域の２次元または３次元の再構成画像を生成する。したがって、逆投影演算（断層再構成計算）を分割領域毎に行っていくこと、つまり、断層再構成計算をキャッシュサイズを考慮した最適な領域（分割領域）毎に順番に行っていくことで、キャッシュメモリー内のデータ再利用率を増加することができ、ＣＰＵとメモリー間のデータアクセスを減少させるので、断層再構成のためのデータ転送時間合計が短縮され、断層再構成計算時間が短縮され、断層再構成計算を高速化した断層撮影装置が得られる。
【００４４】
また、請求項１１に記載の発明によれば、記録媒体は、請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを記録したコンピュータ読み取り可能な記録媒体である。したがって、この記憶媒体を、必要とするコンピュータなどの処理演算装置にロードすることで、断層再構成計算を高速化することができ、この高速化した断層再構成ソフトウエアの供給の自由度を向上させることができる。
【００４５】
【発明の実施の形態】
以下、図面を参照してこの発明の断層撮影装置に係る一実施例としてのＸ線断層撮影装置について、図面を参照しながら説明する。
【００４６】
＜第１実施例＞
図１は、この発明のＸ線断層撮影装置の第１実施例に係るブロック図である。この第１実施例のＸ線断層撮影装置は、種々の情報および命令を入力する操作部１０と、これら入力された情報および命令に基づいてＸ線撮影など装置全体を制御する撮影装置制御部２０と、この撮影装置制御部２０により制御されながら撮影部４０を駆動させる駆動部３０と、被検体Ｍの関心領域を撮影する撮影部４０と、この撮影部４０から検出された画像情報を収集する画像収集部５０と、この画像収集部５０からの画像情報に基づいて被検体Ｍの関心領域の断層画像を生成する画像再構成など所定の画像処理を行って記憶するコンピュータとしての画像処理部６０と、この画像処理部６０で処理された画像情報を出力表示するモニタ７０とを備えている。撮影部４０は、Ｘ線を被検体Ｍに照射するためのＸ線管４１と、被検体Ｍを透過したＸ線を検出するＸ線検出器４２とを備えている。また、Ｘ線管４１は、高電圧発生器４３により、管電流や管電圧など必要な電源電圧が供給されるようになっており、コリメータやスリットを取り付ける事によってファンビーム形状やコーンビーム形状のＸ線束を被検体Ｍに照射する。
【００４７】
撮影装置制御部２０は、撮影装置全体をコントロールしており、例えば、専用のハードウエアやワークステーションやパソコンなどに装置制御ソフトウエアなどを搭載することで構成されている。この撮影装置制御部２０に接続された操作部１０（キーボードやマウスやボタンなど）を使用者が操作することで、各種のＸ線データを収集・表示できるようになっている。例えば、Ｘ線管４１と高電圧発生器４３とをコントロールしてＸ線を発生させると同時に、被検体Ｍを透過したＸ線がＸ線検出器４２で電気信号に変換後、画像収集部５０でＡＤ（アナログデジタル）変換してＸ線透過データとなり、このＸ線透過データを画像処理部６０で所定の画像処理を行った後、画像表示部７０（ＣＲＴや液晶ディスプレイなど）に適宜に表示させるような事ができるようになっている。さらに、断層撮影時には、Ｘ線管４１とＸ線検出器４２又は、被検体Ｍを機械的に動かして所望のＸ線透過データを多数収集するという走査を行うようになっている。２次元ＣＴ（Computed Tomography ）であるとか３次元ＣＴであるとかというような断層撮影装置の特徴を外観上で決めているのは撮影部４０であり、断層再構成方法により機械的な構成が異なっている。この断層再構成方法に応じた断層再構成計算法は、画像処理部６０の一部の機能として、ＤＳＰ（デジタルシグナルプロセッサー）などを用いた専用のハードウエアで実現される事が多いが、本発明を用いたパソコンで実現する事も可能である。
【００４８】
撮影部４０を具体化したＸ線断層撮影装置として、医療用Ｘ線ＣＴ装置について説明する。この医療用Ｘ線ＣＴ装置は、上述したＸ線断層撮影装置の構成を基本的に備えており、特に、撮影部４０が図２に示すように構成されている。図２（ａ）はＸ線断層撮影装置の撮影部の一例を示す模式図であり、図２（ｂ）は（ａ）に示した撮影部の外観を示す概略斜視図である。
【００４９】
ガントリ部４４の内部に配置されたＸ線管４１およびＸ線検出器４２が、天板４５に載置された被検体Ｍの体軸（図２（ａ）の紙面に垂直な軸）周りに一体となって回転するように対向配置されている。なお、上述したＸ線管４１はこの発明における照射源に相当し、上述したＸ線検出器４２はこの発明における検出器に相当する。
【００５０】
この装置による断層撮影時において、Ｘ線管４１およびＸ線検出器４２を１回転させる間に何回の撮影を行なうかを表すビュー数は、被検体Ｍの関心領域を撮影する前に、操作部１０から与えられる。与えられたビュー数が１８００であるとすると、全走査３６０度に対して、０．２度（＝３６０度／１８００）回転する毎の走査各位置（各投影位置）におけるＸ線透過データを画像処理部６０に蓄積していって断層撮影を行うことになる。
【００５１】
この装置による断層再構成時には、画像処理部６０に蓄積される１８００ライン分の断層撮影データが各種補正処理後、再構成のためのフィルター処理をした逆投影データＳとして、画像処理部６０で実行させる断層再構成処理に使用される。すなわち、被検体Ｍの体軸と交差する断面上の関心領域に設定される２次元の断層再構成領域Ｂに対して、逆投影データＳを逆投影して、断層像を得るのである。この時の逆投影角度は、収集時の投影角度に等しく、０．２度毎であり、逆投影を１８００回行う事で断層再構成像が出来上がる。上記例の１８００回の投影のうちの１回の投影について、投影と逆投影の関係を図３（ａ）に示す。Ｘ線管４１のＸ線焦点ｆとＸ線検出器４２の各Ｘ線検出素子４２ａの中心を結ぶ直線は、Ｘ線焦点ｆから照射されて再構成領域Ｂ内の被検体Ｍを透過後、Ｘ線検出器４２の各Ｘ線検出素子中心４２ａで検出されるＸ線投影データの進路を表しており、矢印の向きが投影方向を表している。同時に、矢印の向きとは反対の方向が逆投影方向となり、各Ｘ線検出素子中心４２ａからＸ線焦点ｆに向かう方向に逆投影が行われる。以降の説明では、この直線を逆投影データＳのうち、各Ｘ線検出素子に対応する逆投影データｓ０，ｓ１，ｓ２，ｓ３などと呼ぶことにする。
【００５２】
２次元の断層再構成領域Ｂとして、５１２（Ｘ軸方向）×５１２（Ｙ軸方向）の再構成領域に対して、本発明の請求項１、２を適用した例を図４（ａ）に示す。紙面に○で示す逆投影点をすべて２×２の正方形のブロックＢＫに分割し、各ブロックＢＫごとに逆投影演算を行っていくことになる。つまり、図３（ａ）に示すように、２次元の断層再構成領域Ｂのうちの逆投影点ｂ（ｘ，ｙ），ｂ（ｘ＋１，ｙ），ｂ（ｘ，ｙ＋１），ｂ（ｘ＋１，ｙ＋１）を１つのブロックＢＫとし、このブロックＢＫ内の逆投影演算を行った後に、このブロックＢＫに隣接する次のブロックＢＫ（例えば、図３（ｂ）に示すように２次元の断層再構成領域Ｂのうちの逆投影点ｂ（ｘ＋２，ｙ），ｂ（ｘ＋３，ｙ），ｂ（ｘ＋２，ｙ＋１），ｂ（ｘ＋３，ｙ＋１）で構成されるブロック）に移行し、このブロックＢＫ内の逆投影演算を行ない、さらに次のブロックＢＫに移行して逆投影演算を行なうということを繰り返していくのである。
【００５３】
本発明の請求項１に相当する断層再構成ソフトウエアは、図４（ｂ）に示すようなプログラムコードであらわすことができるが、各ブロックＢＫ内での逆投影演算を行っていく動作について、計算式を用いて説明する。図３（ａ）に示すように、２次元の断層再構成領域Ｂのうちの逆投影点ｂ（ｘ，ｙ），ｂ（ｘ＋１，ｙ），ｂ（ｘ，ｙ＋１），ｂ（ｘ＋１，ｙ＋１）で構成されるブロックＢＫについて逆投影演算を行う、すなわち、このブロックＢＫ内の逆投影点（４点）を連続して断層再構成計算を進める時、計算は以下の順序で行われる。
【００５４】
0003963086.tif 000005
【００５５】
最初に計算される式（４）の各データは、メモリーからキャッシュメモリー内に読み出された後にＣＰＵで計算される。したがって、２番目に計算される式（５）においては、式（４）と共通なデータｓ１はキャッシュメモリーから読み出される。上記式（４）〜（７）において、キャッシュメモリーから読み出されるデータを列挙すると、式（５）のデータｓ１、式（６）のデータｓ０，ｓ１、式（７）のデータｓ１，ｓ２となり、１ブロック当たり５個のデータがキャッシュメモリーから読み出される事になる。実際には、式（４）の左辺のデータｂ（ｘ，ｙ）、式（５）の左辺のデータｂ（ｘ＋１，ｙ）、式（６）の左辺のデータｂ（ｘ，ｙ＋１）、式（７）の左辺のデータｂ（ｘ＋１，ｙ＋１）の書き出しもキャッシュされるが、これらは結果としていずれメモリーに書き出さなければならないのでキャッシュされないとしている。
【００５６】
なお、図３（ａ）からもわかるように、図３（ａ）に示すブロックＢＫの逆投影演算には、ｓ０〜ｓ２のみ必要であるので実線で図示しており、ｓ３，ｓ４は図３（ａ）に示すブロックＢＫでは不必要であるので２点鎖線で図示している。Ｘ線検出素子４２ａで検出されたｓ０〜ｓ２を補間処理した値をこのブロックＢＫに逆投影する。また、図３（ｂ）に示すブロックＢＫの逆投影演算には、ｓ２〜ｓ４のみ必要であるので実線で図示しており、ｓ０，ｓ１は図３（ｂ）に示すブロックＢＫでは不必要であるので２点鎖線で図示している。
【００５７】
ここで、式（４）〜（７）であらわされる１ブロック内の１回の逆投影演算におけるデータアクセス時間を求める。まず、ｂの読み込みが４回、書き出しが４回であり、ｓの読み込みが８回あり、そのうち同じデータの読み込みは５回ありキャッシュメモリーから読み出される。従って、例示したパソコンのＣＰＵでのデータアクセス時間は以下のよう求められる。
【００５８】
データアクセス時間＝５nsec／float ×８回＋５nsec／float ×（８回−５回）＋１．２５nsec／float ×５回＝６１．２５nsec
【００５９】
従来例での逆投影演算は、図１４に示すように、断層再構成領域Ｂのｘ軸方向の一列分（例えば、逆投影点ｂ（ｘ，ｙ）〜ｂ（ｘ＋５１１，ｙ））について逆投影演算を行ってから、ｙ軸方向に１列分更新して次のＸ軸方向の一列分（例えば、逆投影点ｂ（ｘ，ｙ＋１）〜ｂ（ｘ＋５１１，ｙ＋１））について逆投影演算を行なうというようにしてｙ軸方向に逆投影演算を行っている。ここでは説明の便宜上、逆投影点を４点とし、この場合について、以下に示す順序で計算を行っていた。
【００６０】
0003963086.tif 000006
【００６１】
なお、式（９）のデータｓ１、式（１０）のデータｓ２、式（１１）のデータｓ３は、キャッシュメモリー内にあると考えられるデータである。実際には、式（８）の左辺のデータｂ（ｘ，ｙ）、式（９）の左辺のデータｂ（ｘ＋１，ｙ）、式（１０）の左辺のデータｂ（ｘ＋２，ｙ）、式（１１）の左辺のデータｂ（ｘ＋３，ｙ）の書き出しもキャッシュされるが、これらは結果としていずれメモリーに書き出さなければならないのでキャッシュされないとしている。
【００６２】
ここで、この従来例でのデータのアクセス回数は、ｂの読み込みが４回、書き出しが４回であり、ｓの読み込みが８回で、そのうち同じデータの読み込みは３回ありキャッシュメモリーから読み出される。従って、データアクセス時間は以下のようになる。
【００６３】
データアクセス時間＝５nsec／float ×８回＋５nsec／float ×（８回−３回）＋１．２５nsec／float ×３回＝６８．７５nsec
【００６４】
上述した第１実施例と従来例とのデータアクセス時間の算出結果より、第１実施例では、従来例と比べて、６８．７５／６１．２５＝１．１２倍高速にアクセスできたことになり、高速化されていることがわかる。
【００６５】
一般に、従来例計算順序でのｎ×ｎ点の断層再構成時間のためのアクセス時間合計は、Ｔold ＝５×（２×ｎ×ｎ）＋５×（ｎ×ｎ＋１）＋１．２５（２×ｎ×ｎ−（ｎ×ｎ＋１））となる。これに対して、第１実施例の正方形ブロック化の場合でのｎ×ｎ点の断層再構成時間のためのアクセス時間合計は、Ｔ１＝５×（２×ｎ×ｎ）＋５×（ｎ＋１）＋１．２５（２×ｎ×ｎ−（ｎ＋１））となる。この比は、ｎ＝２〜２５６の範囲で、１．１２〜１．３０となり、高速化の効果がある。また、ブロックＢＫを正方形としているので、逆投影方向の影響を受けにくい、すなわち、走査各位置からブロックＢＫを見た場合にその形状が大きく変わらないので計算に使用するｓ０〜ｓ２などのデータ数がほぼ一定であるという特徴もあり、計算時間が一定している。
【００６６】
以上、上述した第１実施例では、走査各位置で検出された撮影データをフィルター処理した後、被検体Ｍの関心領域に仮想的に設定される２次元の断層再構成領域Ｂに逆投影する逆投影演算を、その断層再構成領域Ｂを分割した分割領域としてのブロックＢＫ毎に画像処理部６０に実行させる断層再構成ソフトウエアを用いるので、逆投影演算（断層再構成計算）をブロックＢＫ毎に行っていく、つまり、断層再構成計算をキャッシュサイズを考慮した最適な領域（ブロックＢＫ）毎に順番に行っていくことができ、キャッシュメモリー内のデータ再利用率を増加させることができ、メモリーとのデータアクセスを減少させることができ、断層再構成のためのデータ転送時間合計を短縮することができ、断層再構成計算時間を短縮できる。
【００６７】
また、請求項６にあるように、ブロックＢＫを隣接する順に連続して逆投影を行っていくので、キャッシュメモリー内のデータ再利用率をさらに増加させることができ、断層再構成計算時間を短縮できる。
【００６８】
また、請求項７にあるように、ブロックＢＫ内における複数個の逆投影点を、隣接する順に連続して逆投影していくので、好適な順番で断層再構成計算を行なうことができ、キャッシュメモリー内のデータ再利用率を確保させることができ断層再構成計算時間を短縮できる。
【００６９】
この第１実施例の断層撮影装置は、前述した断層再構成ソフトウエアを用いて逆投影演算を行なうことで、関心領域の２次元再構成画像を生成するので、逆投影演算（断層再構成計算）を分割領域としてのブロックＢＫ毎に行っていく、つまり、断層再構成計算をキャッシュサイズを考慮した最適な領域（ブロックＢＫ）毎に順番に行っていくことができ、キャッシュメモリー内のデータ再利用率を増加させることができ、メモリーとのデータアクセスを減少させることができ、断層再構成のためのデータ転送時間合計を短縮でき、断層再構成計算時間を短縮でき、断層再構成計算を高速化した断層撮影装置を得ることができる。
【００７０】
＜第２実施例＞
本発明の請求項３に係る第２実施例のＸ線ＣＴ装置について説明する。第２実施例のＸ線ＣＴ装置は、前述の第１実施例の画像処理部６０の断層再構成ソフトウエア以外については、前述の第１実施例と同様であるので、この第２実施例の断層再構成ソフトウエアについて詳細に説明するものとする。
【００７１】
前述の第１実施例の断層再構成ソフトウエアでは、断層再構成領域Ｂを分割したブロックＢＫの形状を正方形としていたが、この第２実施例の断層再構成ソフトウエアでは、このブロックＢＫの形状を逆投影方向に長い長方形としている。
【００７２】
この画像処理部６０は、図５（ａ）に示すように、２次元の断層再構成領域Ｂを、紙面に○で示す２×４の逆投影点で構成される長方形のブロックＢＫに分割し、各ブロックＢＫごとに１回の逆投影演算を行っていく。つまり、図５（ａ）に示すように、２次元の断層再構成領域Ｂのうちの逆投影点ｂ（ｘ，ｙ），ｂ（ｘ＋１，ｙ），ｂ（ｘ，ｙ＋１），ｂ（ｘ＋１，ｙ＋１），ｂ（ｘ，ｙ＋２），ｂ（ｘ＋１，ｙ＋２），ｂ（ｘ，ｙ＋３），ｂ（ｘ＋１，ｙ＋３）を１つのブロックＢＫとし、このブロックＢＫに１回の逆投影演算を行った後に、このブロックＢＫに隣接する次のブロックＢＫ（例えば、図５（ｂ）に示すように２次元の断層再構成領域Ｂのうちの逆投影点ｂ（ｘ＋２，ｙ），ｂ（ｘ＋３，ｙ），ｂ（ｘ＋２，ｙ＋１），ｂ（ｘ＋３，ｙ＋１），ｂ（ｘ＋２，ｙ＋２），ｂ（ｘ＋３，ｙ＋２），ｂ（ｘ＋２，ｙ＋３），ｂ（ｘ＋３，ｙ＋３）で構成されるブロック）に移行し、このブロックＢＫに１回の逆投影演算を行ない、さらに次のブロックＢＫに移行して逆投影演算を行なうということを繰り返していくのである。
【００７３】
なお、図５（ａ）からもわかるように、図５（ａ）に示すブロックＢＫの逆投影演算には、ｓ０〜ｓ２のみ必要であるので実線で図示しており、ｓ３，ｓ４は図５（ａ）に示すブロックＢＫでは不必要であるので２点鎖線で図示している。Ｘ線検出素子４２ａで検出されたｓ０〜ｓ２を補間処理した値をこのブロックＢＫに逆投影する。また、図５（ｂ）に示すブロックＢＫの逆投影演算には、ｓ２〜ｓ４のみ必要であるので実線で図示しており、ｓ０，ｓ１は図５（ｂ）に示すブロックＢＫでは不必要であるので２点鎖線で図示している。
【００７４】
なお、前述の第１実施例では、逆投影点が４点である場合について、従来例と比較したが、ここでは逆投影点が８点であるブロックＢＫを採用した第２実施例と、従来例や第一実施例を比較する。
【００７５】
従来例でのデータのアクセス回数は、ｂの読み込みが８回、書き出しが８回であり、ｓの読み込みが１６回で、そのうち同じデータの読み込みは７回ありキャッシュメモリーから読み出される。従って、データアクセス時間は以下のようになる。
【００７６】
データアクセス時間＝５nsec／float ×１６回＋５nsec／float ×（１６回−７回）＋１．２５nsec／float ×７回＝１３３．７５nsec
【００７７】
これに対して、この第２実施例でのデータのアクセス回数は、ｂの読み込みが８回、書き出しが８回であり、ｓの読み込みが１６回で、そのうち同じデータの読み込みは１３回ありキャッシュメモリーから読み出される。従って、データアクセス時間は以下のようになる。
【００７８】
データアクセス時間＝５nsec／float ×１６回＋５nsec／float ×（１６回−１３回）＋１．２５nsec／float ×１３回＝１１１．２５nsec
【００７９】
上述した第２実施例と従来例とのデータアクセス時間の算出結果より、この第２実施例では、従来例と比べて、１３３．７５／１１１．２５＝１．２倍高速にアクセスできたことになり、高速化されていることがわかる。
【００８０】
さらに、前述の第１実施例の逆投影点が４点である正方形のブロックＢＫでのデータアクセス時間は、６１．２５nsecであったので、１点あたりのデータアクセス時間は、６１．２５nsec／４＝１５．３１nsecとなるが、この第２実施例では１点あたりのデータアクセス時間は、１１１．２５nsec／８＝１３．９１nsecとなり、前述の第１実施例と比べて、１５．３１／１３．９１＝１．１倍高速にアクセスできたことになり、前述の第１実施例よりも高速化されていることがわかる。
【００８１】
なお、上述の第２実施例の長方形のブロックＢＫは、２次元の断層再構成領域Ｂに対して常に一方向に揃えられたままであると、逆投影方向の影響を受ける、すなわち、走査各位置からブロックＢＫを見た場合にその形状が大きく変わってしまう。つまり、図５（ａ）ではｙ方向に逆投影している状態を示しており、ｓ０〜ｓ２のみでブロックＢＫに逆投影できるが、ｘ方向に逆投影する場合にはブロックＢＫが逆投影方向（ｘ方向）よりもｙ方向に長い横長になるので、ｓ０〜ｓ２よりも多くのデータｓ０〜ｓ４が必要になり、メモリーとのデータアクセスが図５（ａ）の状態よりも増加してしまうことになる。そこで、図６に示すように、ブロックＢＫを、逆投影方向に応じて、逆投影方向に長くなるようにその向きを変化させるようにする。この点も、前述の第１実施例と異なっており、第２実施例の特徴である請求項３に相当するものである。
【００８２】
図６に示す範囲Ｃ、すなわち、走査位置ｐが「Ｎｐ×７／８」〜「Ｎｐ×１／８」の範囲内または「Ｎｐ×３／８」〜「Ｎｐ×５／８」の範囲内では、ブロックＢＫは、走査位置ｐが「０」であるときの逆投影方向に長くなるようにし、図６に示す範囲Ｄ、すなわち、走査位置ｐが「Ｎｐ×１／８」〜「Ｎｐ×３／８」の範囲内または「Ｎｐ×５／８」〜「Ｎｐ×７／８」の範囲内では、ブロックＢＫは、走査位置ｐが「Ｎｐ×２／８」であるときの逆投影方向に長くなるようにしている。
【００８３】
この第２実施例の断層再構成ソフトウエアは、図７に示すように、ブロックＢＫを、逆投影方向に応じて、逆投影方向に長くなるようにその向きを変化させるように構成されており、具体的には、２次元の断層再構成領域Ｂを、２×４の逆投影点で構成される長方形のブロックＢＫに分割し、各ブロックＢＫごとに逆投影演算を行っていくように構成されている。
【００８４】
以上、上述した第２実施例では、２次元の断層再構成領域Ｂを分割したブロックＢＫを、逆投影方向に長い長方形としているので、従来例や前述の第１実施例に比べて、データアクセス時間を短縮することができ、高速化することができる。さらに、このブロックＢＫは、逆投影方向に応じて、逆投影方向に長くなるようにその向きを変化させるようにして逆投影演算を行っているので、逆投影方向の影響を受けにくい、すなわち、走査各位置からブロックＢＫを見た場合にその形状が大きく変わらないので計算に使用するｓ０〜ｓ２などのデータをほぼ一定とすることができ、断層再構成計算時間を低減したまま一定とすることができる。つまり、各逆投影方向においても、キャッシュメモリー内のデータ再利用率を一定に確保でき、断層再構成計算時間を短縮できる。
【００８５】
＜第３実施例＞
続いて、この発明の請求項４に係る第３実施例のＸ線ＣＴ装置について説明する。第３実施例のＸ線ＣＴ装置は、前述の第１実施例の画像処理部６０の断層再構成ソフトウエア以外については、前述の第１実施例と同様であるので、この第３実施例の断層再構成ソフトウエアについて詳細に説明するものとする。
【００８６】
前述の第１実施例の断層再構成ソフトウエアでは、１つの走査位置分の逆投影演算を正方形のブロックＢＫ毎に行い終えてから、別の走査位置分の逆投影処理に移行していくが、この第３実施例の断層再構成ソフトウエアでは、１つのブロックＢＫに対して、複数位置分（例えば、最も基本的な例として、２つの走査位置分）の逆投影演算を行ってから、それと同様の複数位置分の逆投影演算を次のブロックＢＫに対して行うようにしている点が、前述の第１実施例と異なっている。
【００８７】
つまり、図８に示すように、前述の第１実施例と同じブロックＢＫに対して、２つの走査位置分の２回目の逆投影を行った後に、隣接する次のブロックＢＫに対しても同様の２つの走査位置分の２回の逆投影をそれぞれ行っていき、残りのブロックＢＫについても同様に２回の逆投影を行っていくのである。２回の逆投影は、ある１つの走査位置分の逆投影である「１回目の逆投影」と、別の走査位置分（例えば、前述のある走査位置に隣接する次の走査位置）の逆投影である「２回目の逆投影」を行うことである。なお、図８に示すｓ００〜ｓ０４は、ある１つの走査位置分の逆投影を行うためのデータ、すなわち、１回目の逆投影のためのデータであり、ｓ１０〜ｓ１４は、前述の１つの走査位置に隣接する次の走査位置分の逆投影を行うためのデータ、すなわち、２回目の逆投影のためのデータである。
【００８８】
なお、図８からもわかるように、図８に示すブロックＢＫの逆投影演算には、１回目の逆投影でのｓ００〜ｓ０２（図８に実線で示す）と、２回目の逆投影でのｓ１０〜ｓ１２（図８に破線で示す）とが必要であり、ｓ０３，ｓ０４およびｓ１３，ｓ１４は図８に示すブロックＢＫでは不必要であるので２点鎖線で図示している。Ｘ線検出素子４２ａで検出されたｓ００〜ｓ０２を補間処理した値をこのブロックＢＫに逆投影（１回目の逆投影）し、Ｘ線検出素子４２ａで検出されたｓ１０〜ｓ１２を補間処理した値をこのブロックＢＫに逆投影（２回目の逆投影）する。
【００８９】
この第３実施例の断層再構成ソフトウエアによる断層再構成計算は、以下の式（１２）〜（１９）の順序で行われる。なお、１回目の逆投影についての計算式は、式（１２）〜式（１５）となり、２回目の逆投影についての計算式は、式（１６）〜式（１９）である。
【００９０】
0003963086.tif 000007
【００９１】
0003963086.tif 000008
【００９２】
なお、式（１３）のデータｓ０１、式（１４）のデータｓ００，ｓ０１、式（１５）のデータｓ０１，ｓ０２、および、式（１７）のデータｓ１１、式（１８）のデータｓ１０，ｓ１１、式（１９）のデータｓ１１，ｓ１２は、キャッシュメモリー内から読み出されるデータである。また、実施例１，２ではｂの一部がキャッシュされないとしたが、本実施例３ではｂが連続して必要とされるのでキャッシュされるｂがある。  式（１２）の左辺のデータｂ（ｘ，ｙ）、式（１３）の左辺のデータｂ（ｘ＋１，ｙ）、式（１４）の左辺のデータｂ（ｘ，ｙ＋１）、式（１５）の左辺のデータｂ（ｘ＋１，ｙ＋１）、および、式（１６）の右辺のデータｂ（ｘ，ｙ）、式（１７）の右辺のデータｂ（ｘ＋１，ｙ）、式（１８）の右辺のデータｂ（ｘ，ｙ＋１）、式（１９）の右辺のデータｂ（ｘ＋１，ｙ＋１）がキャッシュメモリー内にある。
【００９３】
ただし、式（１６）の左辺のデータｂ（ｘ，ｙ）、式（１７）の左辺のデータｂ（ｘ＋１，ｙ）、式（１８）の左辺のデータｂ（ｘ，ｙ＋１）、式（１９）の左辺のデータｂ（ｘ＋１，ｙ＋１）の書き出しもキャッシュされるが、これらは結果としていずれメモリーに書き出さなければならないのでキャッシュされないとする。
【００９４】
この第３実施例でのデータのアクセス回数は、ｂの読み込みが８回で、同じデータの読み込みが４回あり、キャッシュメモリーから読み出される。ｂの書き出しが８回で、同じデータの書き出しが４回あり、キャッシュメモリーから読み出される。ｓの読み込みが１６回で、そのうち同じデータの読み込みは１０回ありキャッシュメモリーから読み出される。従って、データアクセス時間は以下のように求められる。
【００９５】
データアクセス時間＝５nsec／float ×（４回＋４回）＋１．２５nsec／float ×（４回＋４回）＋５nsec／float ×（１６回−１０回）＋１．２５nsec／float ×１０回＝９２．５nsec
１点あたりに換算するとデータアクセス時間＝９２．５nsec／４＝２３．１２５nsec
【００９６】
従来例での４点への２回の逆投影を１点あたりに換算すると、データアクセス時間＝２×６８．７５nsec／４＝３４．３７５nsec
【００９７】
上述した第３実施例と従来例とのデータアクセス時間の算出結果より、この第３実施例では、従来例と比べて、３４．３７５／２３．１２５＝１．５倍高速にアクセスできたことになり、高速化されていることがわかる。
【００９８】
さらに、前述の第１実施例の正方形のブロックＢＫ（逆投影点が４点である）でのデータアクセス時間は、６１．２５nsecであったので、逆投影を２回行う場合のデータアクセス時間は、６１．２５nsec×２＝１２２．５nsecとなるので、この第３実施例では、前述の第１実施例と比べて、１２２．５／９２．５＝１．３２倍高速にアクセスできたことになり、前述の第１実施例よりも高速化されていることがわかる。
【００９９】
以上、上述した第３実施例では、１つのブロックＢＫに対して、走査各位置のうちの複数位置分の逆投影演算を行ってから、それと同様の逆投影演算を次のブロックＢＫに対して行うので、従来例や前述の第１実施例に比べて、さらに、キャッシュメモリー内のデータ再利用率を増加させることができ、データアクセス時間を短縮することができ、断層再構成計算時間を短縮でき、高速化することができる。
【０１００】
なお、逆投影の順番は走査位置順に連続した順とした方が好ましいが、１つ飛ばしの順などほぼ近い投影角の逆投影を連続して行っても、前述と同様の効果がある。さらに、１８０度反対方向近辺の逆投影を連続して行っても同等の効果がある。
【０１０１】
この発明は、上記各実施例に限られるものではなく、下記のように変形実施することができる。
【０１０２】
（１）上述の各実施例では、ブロックＢＫの形状を正方形あるいは長方形としているが、請求項２にあるように、三角形やひし形や台形などこれら以外の多角形としても良い。
【０１０３】
（２）上述の各実施例では、断層再構成領域Ｂを分割したブロックＢＫを全て同一形状としているが、ブロックＢＫの形状を請求項５のように、断層再構成領域Ｂの中心部とその周辺部とで大きさが異なるようにしても良い。例えば、断層再構成領域Ｂを同じ大きさのブロックＢＫに分割した場合、Ｘ線焦点位置から遠いほど、逆投影に必要なブロックＢＫ当たりの撮影データ（投影元データ）数が減ってくる（粗密になる）。従って、必要なキャッシュメモリーサイズが変化するため、ブロックＢＫ位置により逆投影演算時間が変化する。そこで、図９に示すように、二次元ファンビームの断層再構成領域Ｂの周辺から中心に向かって、大きさが１×１のブロックＢＫａ、大きさ２×２のブロックＢＫｂ、回転中心を含む大きさ４×４ブロックＢＫｃのような大きさの異なるブロックＢＫａ〜ＢＫｃに分割して逆投影すれば良い。再構成領域Ｂの中心に回転中心があることを考慮すれば、ブロックサイズは回転中心からの距離の２乗に反比例させるか、又は、距離に反比例させるようにする。なお、図９では正方形で大きさの異なるブロックとしているが、形状と大きさが異なるブロックに分割しても良い。こうすることで、断層再構成領域Ｂのブロック位置によって必要なキャッシュメモリーサイズが変化して、逆投影演算時間が変化することを低減でき、断層再構成時間をブロック位置に依らずほぼ一定に短縮できる。
【０１０４】
（３）上述の各実施例では、Ｘ線検出器４２のＸ線検出素子４２ａのピッチを幾何学的倍率（＝Ｘ線管４１の焦点からＸ線検出器４２間の距離／Ｘ線管４１の焦点から回転中心間の距離）で割った回転中心での検出器画素ピッチを再構成点ピッチ（＝１／画素密度）とする「等倍再構成」としている。これに対し、断層再構成領域Ｂ内の点数をｍ×ｍ倍拡大することで、逆投影点がｎ×ｎである断層再構成領域Ｂを、逆投影点が（ｍ×ｎ）×（ｍ×ｎ）である拡大断層再構成領域ＢＢとする「拡大再構成」を行うこともある。例えば、図１０は、逆投影点がｎ×ｎである断層再構成領域Ｂを２×２倍に拡大して、逆投影点が２ｎ×２ｎである拡大断層再構成領域ＢＢの例を示す模式図である。図１０に示すように、円内に斜線が引かれた円が元の逆投影点つまり、前述の断層再構成領域Ｂのｎ×ｎの逆投影点であり、破線円が拡大再構成ＢＢで増えた逆投影点で、２点鎖線で囲まれた領域が分割ブロックＢＫである。分割ブロックＢＫ内の逆投影点の数が４点から１６点に増加しているが、投影元データｓは同じでｓ０〜ｓ２のみを逆投影に使用するので、キャッシュ効果が高くなり、断層再構成計算を高速に行うことができる。これは請求項９の有効性を示すものである。
【０１０５】
（４）上述の各実施例では、フィルター処理後の撮影データを補間して断層再構成領域ＢのブロックＢＫに逆投影する逆投影演算を行っているが、請求項８にあるように、フィルター処理後の撮影データを、補間を行わずそのままブロックＢＫに逆投影する逆投影演算を行うようにしても良い。この場合、補間用データの読み込み回数と補間演算が省略できるので高速に処理できる上に、読み込みデータが減少する分に相当するより大きなブロック化が可能で、断層再構成計算を高速処理することができる。
【０１０６】
（５）上述の各実施例では、撮影部４０は、ファンビーム形状のＸ線束を被検体Ｍに照射するＸ線管４１と、１次元のＸ線検出器４２とを備えているが、この撮影部４０を、コーンビーム形状のＸ線束を被検体Ｍに照射するようにするとともに、Ｉ．Ｉ管やフラットパネル型Ｘ線検出器など各種の２次元面検出器を備え、これらを同期させて走査するように構成し、走査各位置で検出された撮影データ（２次元状のＸ線透過データ）を元に、撮影された被検体Ｍの関心領域に仮想的に設定される３次元の断層再構成領域に逆投影する断層再構成ソフトウエアにおいて、逆投影演算を、その３次元の断層再構成領域を分割した分割領域（３次元のブロック）毎に行うようにすれば、高速に３次元の再構成を行うことができる。理由は２次元の各実施例と同じである。この３次元のブロックは、例えば、立方体、直方体、三角錐、円錐またはこれら以外の立体形状とすれば良い。こうすることで、３次元の断層再構成領域に逆投影する逆投影演算（３次元の断層再構成計算）を高速化できる。
【０１０７】
（６）上述の各実施例の断層再構成ソフトウエアや断層撮影装置は、被検体Ｍを人体などとする医療用ＣＴ装置や、被検体Ｍにおける任意の点を常にＸ線検出器の所定点に投影されるようにＸ線管とＸ線検出器とを同期走査（平行直線移動など）する、いわゆる医療用断層撮影装置などに用いることもできるし、被検体Ｍをプリント配線基板など各種の電子部品などとする非破壊検査用装置にも用いることもできる。
【０１０８】
（７）上述の各実施例では、Ｘ線管によってＸ線を被検体Ｍに照射しているが、Ｘ線に限らず、被検体Ｍに対して透過性を有する例えば、ガンマ線、光、電子線などの電磁波を用いた場合であっても、同様の効果を有する。したがって、この発明の断層撮影装置は、Ｘ線断層撮影装置に限定されるものではなく、Ｘ線以外で被検体Ｍに対して透過性を有する電磁波を用いて断層撮影を行う断層撮影装置にも適用可能である。
【０１０９】
（８）上述の各実施例では、走査各位置で検出された撮影データをフィルター処理した後のデータを断層再構成領域に逆投影する逆投影演算の場合について説明しているが、走査各位置で検出された撮影データをフィルター処理せずにそのまま断層再構成領域に逆投影する逆投影演算の場合にも適用できる。
【０１１０】
（９）上述の各実施例では、被検体の体軸周りの３６０度分の撮影データにより再構成する場合について説明してきたが、３６０度の再構成以外、つまり３６０度未満分の撮影データなどにより再構成する場合にも適用でき、逆投影全般に適用できる。
【０１１１】
（１０）請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを、コンピュータ読み取り可能な記録媒体（磁気ディスクや光磁気ディスクなどの各種の記録媒体）に記録してもよい。この記録媒体を、必要とするコンピュータなどの処理演算装置にロードすることで、その処理演算装置での断層再構成計算を高速化することができ、この高速化した断層再構成ソフトウエアの供給の自由度を向上させることができる。
【０１１２】
【発明の効果】
以上の説明からも明らかなように、請求項１に記載の断層再構成ソフトウエアによれば、走査各位置で検出された撮影データまたはそれをフィルター処理した後のデータを、被検体の関心領域に仮想的に設定される２次元または３次元の断層再構成領域に逆投影する逆投影演算（断層再構成計算）を、その断層再構成領域を再構成画像上で上下左右に隣接する画素を含みかつキャッシュメモリーのサイズに基づいて少なくとも前記画素に関する逆投影データが当該キャッシュメモリーにキャッシュ保持されるように分割した分割領域毎にコンピュータに実行させていくので、断層再構成計算をキャッシュサイズを考慮した最適な領域（分割領域）毎に順番に行っていくことができ、キャッシュメモリー内のデータ再利用率を増加させることができ、メモリーとのデータアクセスを減少させることができ、断層再構成のためのデータ転送時間合計を短縮でき、断層再構成計算時間を短縮できる。
【０１１３】
また、請求項２に記載の断層再構成ソフトウエアによれば、分割領域の形態は、２次元の断層再構成領域の場合には、正方形、長方形、三角形、ひし形、台形とし、３次元の断層再構成領域の場合には、立方体、直方体とするので、分割領域を、キャッシュサイズを考慮した適切な形状に設定できる。
【０１１４】
また、請求項３に記載の断層再構成ソフトウエアによれば、分割領域は、逆投影方向に応じて、逆投影方向に長くなるようにその向きを変化させるので、各逆投影方向においても、キャッシュメモリー内のデータ再利用率がほぼ一定に確保でき、断層再構成計算時間が短縮できる。
【０１１５】
また、請求項４に記載の断層再構成ソフトウエアによれば、一つの分割領域に対して、全走査各位置のうちの複数位置分の撮影データの当該分割領域に対応する部分の逆投影演算を行うことを、残りの分割領域に対しても同様に行うので、断層再構成領域の分割領域に、複数枚の撮影データの分割領域に対応する部分を逆投影していくことができ、キャッシュメモリー内のデータ再利用率をさらに増加させることができ、さらに断層再構成計算時間を短縮できる。
【０１１６】
また、請求項５に記載の断層再構成ソフトウエアによれば、分割領域は、断層再構成領域の中心部とその周辺部とで大きさが異なるようにしているので、断層再構成領域の分割領域位置によって必要なキャッシュメモリーサイズが極端に増大して、逆投影演算時間が極端に増大することを低減でき、断層再構成時間を分割領域位置に依らずほぼ一定に短縮できる。
【０１１７】
また、請求項６に記載の断層再構成ソフトウエアによれば、分割領域を隣接する順に連続して逆投影を行っていくので、キャッシュメモリー内のデータ再利用率をさらに増加させることができ、断層再構成計算時間を短縮できる。
【０１１８】
また、請求項７に記載の断層再構成ソフトウエアによれば、分割領域内における複数個の逆投影点を、隣接する順に連続して逆投影していくので、好適な順番で断層再構成計算が行われ、キャッシュメモリー内のデータ再利用率を確保させることができ断層再構成計算時間を短縮できる。
【０１１９】
また、請求項８に記載の断層再構成ソフトウエアによれば、撮影データをフィルター処理した後、補間を行わずそのまま分割領域に逆投影する場合でも、断層再構成計算時間を短縮できる。
【０１２０】
また、請求項９に記載の断層再構成ソフトウエアによれば、断層再構成領域の画素密度が、回転中心での検出器画素密度よりも高密度になるように細分化した拡大断層再構成領域としているので、拡大断層再構成領域を分割した分割領域内の逆投影点数は増えることになるが、取り扱う撮影データ、つまり、撮影データの分割領域に対応する部分のデータは同じで増加しないし、このデータを用いて増加させた逆投影点にも逆投影していくので、キャッシュ効果が高くなり、断層再構成計算を高速に行なうことができる。
【０１２１】
また、請求項１０に記載の断層撮影装置によれば、請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを用いて逆投影演算を行なうことで、関心領域の２次元または３次元の再構成画像を生成するので、逆投影演算（断層再構成計算）を分割領域毎に行っていく、つまり、断層再構成計算をキャッシュサイズを考慮した最適な領域（分割領域）毎に順番に行っていくことができ、キャッシュメモリー内のデータ再利用率を増加させることができ、メモリーとのデータアクセスを減少させることができ、断層再構成のためのデータ転送時間合計が短縮され、断層再構成計算時間が短縮され、断層再構成計算を高速化した断層撮影装置が得られる。
【０１２２】
また、請求項１１に記載の記録媒体によれば、請求項１から請求項９のいずれかに記載の断層再構成ソフトウエアを記録したコンピュータ読み取り可能な記録媒体としているので、この記憶媒体を、必要とするコンピュータなどの処理演算装置にロードすることで、断層再構成計算を高速化することができ、この高速化した断層再構成ソフトウエアの供給の自由度を向上させることができる。
【図面の簡単な説明】
【図１】この発明のＸ線断層撮影装置の第１実施例に係るブロック図である。
【図２】（ａ）はＸ線断層撮影装置の撮影部の一例を示す模式図であり、（ｂ）は（ａ）に示した撮影部の外観を示す概略斜視図である。
【図３】（ａ），（ｂ）は第１実施例に係る断層再構成ソフトウエアによって撮影データを２次元の断層再構成領域に逆投影する様子を説明するための模式図である。
【図４】（ａ）は２次元の断層再構成領域を示す模式図であり、（ｂ）は第１実施例に係る断層再構成ソフトウエアの要部を示すプログラムコードである。
【図５】（ａ），（ｂ）は第２実施例に係る断層再構成ソフトウエアによって撮影データを２次元の断層再構成領域に逆投影する様子を説明するための模式図である。
【図６】第２実施例の長方形のブロックが逆投影方向に応じて変化することを説明するための模式図である。
【図７】第２実施例に係る断層再構成ソフトウエアの要部を示すプログラムコードである。
【図８】第３実施例に係る断層再構成ソフトウエアによって撮影データを２次元の断層再構成領域に逆投影する様子を説明するための模式図である。
【図９】中心部とその周辺部とで大きさが異なるブロックで２次元の断層再構成領域を分割することを説明するための模式図である。
【図１０】拡大断層再構成領域に逆投影することを説明するための模式図である。
【図１１】断層再構成領域に逆投影することを説明するための模式図である。
【図１２】Ｘ線検出器で検出したデータを補間処理することを説明するための説明図である。
【図１３】従来の断層再構成ソフトウエアの要部を示すプログラムコードである。
【図１４】従来における撮影データを２次元の断層再構成領域に逆投影する様子を説明するための模式図である。
【符号の説明】
４１  …  Ｘ線管
４２  …  Ｘ線検出器
６０  …  画像処理部
Ｂ    …  断層再構成領域
ＢＢ  …  拡大断層再構成領域
ＢＫ  …  ブロック
Ｍ    …  被検体
ｆ    …  Ｘ線焦点
【図１】
0003963086.tif 000009
【図２】
0003963086.tif 000010
【図３】
0003963086.tif 000011
【図４】
0003963086.tif 000012
【図５】
0003963086.tif 000013
【図６】
0003963086.tif 000014
【図７】
0003963086.tif 000015
【図８】
0003963086.tif 000016
【図９】
0003963086.tif 000017
【図１０】
0003963086.tif 000018
【図１１】
0003963086.tif 000019
【図１２】
0003963086.tif 000020
【図１３】
0003963086.tif 000021
【図１４】
0003963086.tif 000022