(57)【要約】【課題】  アクセラレータ数の増加に伴う処理速度の低下の少ないデータ処理技術を提供すること。【解決手段】ホストコンピュータと複数のアクセラレータとを有するデータ処理装置は、複数のアクセラレータのメモリに分散された配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約する縮約部と、縮約された配列をホストコンピュータのメモリに保存し、メモリに保存した配列を、複数のアクセラレータのメモリに分散する分散部と、を備える。【選択図】  図１
2018120551.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと複数のアクセラレータとを有するデータ処理装置であって、
前記複数のアクセラレータのメモリに分散された配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約する縮約手段と、
前記縮約された配列を前記ホストコンピュータのメモリに保存し、前記メモリに保存した配列を、前記複数のアクセラレータのメモリに分散する分散手段と、を備えることを特徴とするデータ処理装置。
【請求項２】
前記縮約手段は、
前記複数のアクセラレータのうち、コピー元であるアクセラレータのメモリの配列を、コピー先のアクセラレータのメモリにコピーし、
前記コピー先のアクセラレータのメモリに保存されていた配列と、前記コピー元のアクセラレータのメモリからコピーされてきた配列との和算を行うことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記縮約手段は、前記コピー先となった複数のアクセラレータのうち、一方のアクセラレータをコピー元とし、他方のアクセラレータをコピー先として設定することを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記縮約手段は、
前記コピー元として設定されたアクセラレータのメモリの配列を、前記コピー先として設定されたアクセラレータのメモリにコピーし、
前記コピー先として設定されたアクセラレータのメモリに保存されていた配列と、前記コピー元として設定されたアクセラレータのメモリからコピーされてきた配列との和算を行うことを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記縮約手段は、前記配列のコピーおよび和算の演算処理の繰り返しにより、前記複数のアクセラレータそれぞれのメモリの配列を、コピー先として設定された一つのアクセラレータのメモリ上の配列として縮約することを特徴とする請求項２乃至４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記分散手段は、前記縮約手段により前記一つのアクセラレータのメモリ上の配列として縮約された配列を、前記ホストコンピュータのメモリに保存することを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
前記分散手段は、前記複数のアクセラレータのうち、前記縮約された配列のメモリを有する一つのアクセラレータを除く他の複数のアクセラレータに前記縮約された配列をコピーすることを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
被写体に対して、複数の異なる角度の放射線の投影を行う放射線源と、
前記放射線を検出し、前記複数の異なる角度の放射線の投影に対応する複数の２次元放射線投影像データを生成する放射線検出器と、
前記複数の２次元放射線投影像データを基に前記被写体の３次元画像を再構成するためのデータ処理を行うデータ処理装置と、を有する画像再構成装置であって、
前記データ処理装置は、ホストコンピュータと複数のアクセラレータとを有するデータ処理装置であって、
前記複数のアクセラレータのメモリに分散された配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約する縮約手段と、
前記縮約された配列を前記ホストコンピュータのメモリに保存し、前記メモリに保存した配列を、前記複数のアクセラレータのメモリに分散する分散手段と、
前記３次元画像の数値データを分割し前記複数のアクセラレータに割り当て、それぞれに対して順投影計算を行う順投影計算手段と、を備え、
前記縮約手段は、前記順投影計算により得られた２次元画像の数値データに対し、前記複数のアクセラレータに分散されたメモリの配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約し、
前記分散手段は、前記２次元画像の数値データに対して前記縮約された配列を前記複数のアクセラレータに分散する
ことを特徴とする画像再構成装置。
【請求項９】
ホストコンピュータと複数のアクセラレータとを有するデータ処理装置のデータ処理方法であって、
縮約手段が、前記複数のアクセラレータのメモリに分散された配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約する縮約工程と、
分散手段が、前記縮約された配列を前記ホストコンピュータのメモリに保存し、前記メモリに保存した配列を、前記複数のアクセラレータのメモリに分散する分散工程と、
を有することを特徴とするデータ処理方法。
【請求項１０】
コンピュータに、請求項９に記載のデータ処理方法の各工程を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、画像再構成装置、データ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
単体プロセッサの性能向上の鈍化や処理データ量の増大に伴い、データを複数のコンピュータに分散し処理する分散型の並列処理が重要になってきている。分散型の並列処理には、単体での処理に加え新たにコンピュータ間の通信処理が必要となる。この通信処理の一つに、各コンピュータに分散された配列の総和を取り、一本の配列に縮約した後に再度全てのコンピュータに分散する「オールレデュース（Ａｌｌｒｅｄｕｃｅ）」と言われる処理が存在する。
【０００３】
非特許文献１には、オールレデュース（Ａｌｌｒｅｄｕｃｅ）処理の具体的な手法として、recursive  doublingやrecursive  halvingといったアルゴリズムを利用する方式が開示されている。従来のbinomial  tree方式と比較し、処理に必要なステップ数が少ないという利点がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】R．  Thakur,  R．  Rabenseinfer  and  w．  Gropp,  “Optimization  of  Collective  Communication  Operations  in  MPICH”,  Int‘L  J．  High  Performance  Computing  Applications,  vol． 19,no． 1,pp．49−66,2005．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
分散型並列計算機の一種として、１つのコンピュータにＧＰＵ（Graphics  Processing  Unit）等のアクセラレータを複数枚搭載した、マルチアクセラレータシステムがある。このようなシステムでは、各アクセラレータはＴｒｅｅトポロジーを構成してホストコンピュータに接続される。当該システムにて、前述のRecursive  doublingやRecursive  halving方式のAllreduce処理を実行すると、Ｔｒｅｅトポロジー上、遠方にあるアクセラレータ同士のデータ交換が同時に複数発生し得る。この時全てのデータ通信がＴｒｅｅトポロジーの上流に集中するため、アクセラレータ数が多いほど通信競合が発生し、処理速度が低下するという課題があった。
【０００６】
本発明の目的は、アクセラレータ数の増加に伴う処理速度の低下の少ないデータ処理技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一態様によるデータ処理装置は、ホストコンピュータと複数のアクセラレータとを有するデータ処理装置であって、
前記複数のアクセラレータのメモリに分散された配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約する縮約手段と、
前記縮約された配列を前記ホストコンピュータのメモリに保存し、前記メモリに保存した配列を、前記複数のアクセラレータのメモリに分散する分散手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、アクセラレータ数を増やした際の通信競合が少なくなるため、処理速度の低下を抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】データ処理装置の構成例を示す図。
【図２】計算部の構成例を示す図。
【図３】データ処理方法を示すフローチャート。
【図４】画像再構成装置の構成例を示す図。
【図５】画像再構成方法を示すフローチャート。
【図６】計算領域生成処理にて生成された計算領域を例示する図。
【発明を実施するための形態】
【００１０】
（第１実施形態）
図１は、本発明の第１実施形態によるデータ処理装置の構成例を示す図である。データ処理装置は、ホストコンピュータと複数のアクセラレータとを有する。データ処理装置は、計算部１００、入力部１０１、出力部１０２、記録部１０３、通信部１０４を有する。入力部１０１は、キーボードやマウスなどの操作系の装置により構成されており、計算条件等各種の指示を計算部１００に対して入力することができる。出力部１０２は、液晶画面などにより構成されており、計算部１００による処理の経過や結果を文字や画像などでもって表示することができる。
【００１１】
記録部１０３には、ＯＳ（オペレーティングシステム）や、行うべき後述の処理を計算部１００に実行させるためのプログラムやデータが保存されている。これらのプログラムが計算部１００にて実行されることで、本装置はデータ処理装置として機能する。プログラムの実行により、データ処理装置は、機能構成として、複数のアクセラレータのメモリに分散された配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約する縮約部と、縮約された配列をホストコンピュータのメモリに保存し、メモリに保存した配列を、複数のアクセラレータのメモリに分散する分散部と、を有する。
【００１２】
通信部１０４は、外部装置とのデータ通信を行う際のインターフェースとして機能するものであり、本装置はこの通信部１０４を介して外部装置とプログラムやデータの送受信を行う。なお、記録部１０３が保存しているプログラムやデータの代わりに、通信部１０４を介して外部装置から受信したプログラムやデータを計算部１００による処理対象としても良い。また、クライアント−サーバシステム、グリッドコンピューティング、クラウドコンピューティングなどを利用してもよい。
【００１３】
図２は、計算部１００の構成例を示す図である。計算部１００は、ホストコンピュータ２００と複数のアクセラレータ２０９〜２１６とを有する。ホストコンピュータ２００は、複数のアクセラレータ２０９〜２１６のそれぞれを制御するためのコンピュータであり、ＣＰＵ２０１〜２０２、メモリ２０３〜２０４、スイッチ２０５〜２０８などを有する汎用のコンピュータで構成される。ＣＰＵとＣＰＵとの間、ＣＰＵとメモリとの間はそれぞれ高速なインターコネクトやメモリバスで接続されている。各アクセラレータはＧＰＵとメモリとを有する。ＣＰＵと各アクセラレータとは、スイッチを介し、ＰＣＩｅｘｐｒｅｓｓ等のバスにより接続されている。スイッチ２０５〜２０８は、ＣＰＵと各アクセラレータとの接続を切り替えることが可能である。
【００１４】
複数のアクセラレータ２０９〜２１６はそれぞれデータを保存するメモリを有し、縮約部は、複数のアクセラレータのうち、コピー元であるアクセラレータ(例えば、２１０)のメモリの配列を、コピー先のアクセラレータ（例えば、２０９）のメモリにコピーし、コピー先のアクセラレータのメモリに保存されていた配列と、コピー元のアクセラレータのメモリからコピーされてきた配列との和算を行う。縮約部は、このような、配列のコピーと和算を他のアクセラレータについても行う。例えば、コピー元であるアクセラレータ(例えば、２１２)のメモリの配列を、コピー先のアクセラレータ（例えば、２１１）のメモリにコピーし、コピー先のアクセラレータのメモリに保存されていた配列と、コピー元のアクセラレータのメモリからコピーされてきた配列との和算を行う。
【００１５】
また、縮約部は、コピー先となった複数のアクセラレータ（例えば、２０９、２１１）のうち、一方のアクセラレータ（例えば、２１１）をコピー元とし、他方のアクセラレータ（例えば、２０９）をコピー先として設定する。縮約部は、コピー元として設定されたアクセラレータ（例えば、２１１）のメモリの配列を、コピー先として設定されたアクセラレータ（例えば、２０９）のメモリにコピーし、コピー先として設定されたアクセラレータのメモリに保存されていた配列と、コピー元として設定されたアクセラレータのメモリからコピーされてきた配列との和算を行う。縮約部は、配列のコピーおよび和算の演算処理の繰り返しにより、複数のアクセラレータそれぞれのメモリの配列を、コピー先として設定された一つのアクセラレータ（例えば、２０９）のメモリ上の配列として縮約する。分散部は、縮約部により一つのアクセラレータ（例えば、２０９）のメモリ上の配列として縮約された配列を、ホストコンピュータのメモリ（例えば、２０３、または２０４）に保存する。
【００１６】
図３は本実施形態のデータ処理装置におけるデータ処理方法を示すフローチャートである。ステップＳ３００では、アクセラレータ２０９〜２１６の各メモリに保存された配列のデータを、binomial  tree方式により縮約し、アクセラレータ２０９のメモリに保存する。具体的には、アクセラレータ２１０、２１２、２１４、２１６のメモリに保存された配列のデータを、スイッチ及びＰＣＩｅｘｐｒｅｓｓバスを介して、それぞれ左隣のアクセラレータ２０９、２１１、２１３、２１５のメモリにコピーする。次に、コピー先の各アクセラレータにて、ＧＰＵを用いて、各アクセラレータのメモリに保存されていた配列と、他のアクセラレータからコピーされてきた配列との和算を行う。配列のコピーおよび和算の操作により、アクセラレータ２０９、２１０間において、配列はアクセラレータ２０９のメモリに縮約され、アクセラレータ２１１、２１２間において、配列はアクセラレータ２１１のメモリに縮約される。同様に、アクセラレータ２１３、２１４間において、配列はアクセラレータ２１３のメモリに縮約され、アクセラレータ２１５、２１６間において、配列はアクセラレータ２１５のメモリに縮約される。
【００１７】
配列のコピーおよび和算の一連の操作（演算処理）を、アクセラレータ２１１からアクセラレータ２０９へ行い、アクセラレータ２１５からアクセラレータ２０９、２１３に対して行う。配列のコピーおよび和算の操作により、アクセラレータ２０９、２１１間において、配列はアクセラレータ２０９のメモリに縮約され、アクセラレータ２１３、２１５間において、配列はアクセラレータ２１３のメモリに縮約される。
【００１８】
更に、配列のコピーおよび和算の演算処理を、アクセラレータ２１３からアクセラレータ２０９に対して行う。配列のコピーおよび和算の操作により、アクセラレータ２０９、２１３間において、配列はアクセラレータ２０９のメモリに縮約される。以上の処理により、各アクセラレータに分散された配列を、アクセラレータ２０９のメモリ上に一本の配列として縮約したことになる。
【００１９】
ステップＳ３０１では、ステップＳ３００の処理により縮約された配列を、アクセラレータ２０９のメモリからホストコンピュータのメモリ２０３もしくはメモリ２０４にコピーする。
【００２０】
ステップＳ３０２では、メモリ２０３もしくは２０４にコピーされた配列を、アクセラレータ２０９を除く全てのアクセラレータ２１０〜２１６にコピーする。以上により、全てのアクセラレータに対して縮約された配列を分散したことになる。尚、図２に示す構成では、アクセラレータの数を８としているが、この例に限定されるものではなく、任意の数のアクセラレータにおいて、本実施形態の処理を適用することが可能である。
【００２１】
ここで、従来のRecursive  doublingアルゴリズムを用いるＡｌｌｒｅｄｕｃｅ処理を考える。まずＴｒｅｅトポロジー上、最も近傍にあるアクセラレータ２０９と２１０、２１１と２１２、２１３と２１４、２１５と２１６のペアでそれぞれ配列の送受信と和算が行われる。この際はスイッチとアクセラレータとを繋ぐＰＣＩｅｘｐｒｅｓｓバスにて２本の通信が競合する。次にアクセラレータ２０９と２１１、２１０と２１２、２１３と２１５、２１４と２１６のペアでそれぞれ配列の送受信と和算が行われる。この際は、上記の競合に加え、ＣＰＵとスイッチとを繋ぐＰＣＩｅｘｐｒｅｓｓバスにて４本の通信が競合する。最後にＴｒｅｅトポロジー上、最も遠方にあるアクセラレータ２０９と２１３、２１０と２１４、２１１と２１５、２１２と２１６のペアでそれぞれ配列の送受信と和算が行われるが、この際は、上記の競合に加え更にＣＰＵとＣＰＵを繋ぐインターコネクトにて８本の通信が競合する。
【００２２】
一方、本実施形態の方式では、ステップＳ３０２にて、ＣＰＵとスイッチとを繋ぐＰＣＩｅｘｐｒｅｓｓバスにて２本の通信が競合し、ＣＰＵ２０１とＣＰＵ２０２を繋ぐインターコネクトに４本の通信が競合するのみである。本実施形態によれば、従来方式に比べ通信の競合が少なく、処理速度の低下を抑えることができる。
【００２３】
（第２実施形態）
オールレデュース（Ａｌｌｒｅｄｕｃｅ）処理が登場する画像処理の一例として、ＣＴ装置で得られた投影データから３次元画像を構成する、逐次近似画像再構成法が挙げられる。逐次近似画像再構成法の並列処理は、まず再構成空間を複数の領域に分割し、それぞれを異なるコンピュータに割り当てる。そして各コンピュータにて順投影処理と逆投影処理を交互に繰り返し、徐々に３次元画像の精度を向上させていく。この過程で、順投影処理毎に、各コンピュータにて得られた不完全な２次元投影像から一枚の完全な投影像を合成するために、オールレデュース（Ａｌｌｒｅｄｕｃｅ）処理が必要となる。
【００２４】
本実施形態では、データ処理装置は、複数の２次元放射線投影像データを基に被写体の３次元画像を再構成するためのデータ処理（Ａｌｌｒｅｄｕｃｅ処理）を行う。記録部１０３に保存されているプログラムを計算部１００が実行することにより、データ処理装置の機能構成が実現する。データ処理装置は、プログラムの実行により、データ処理装置は、機能構成として、複数のアクセラレータに分散されたメモリの配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約する縮約部と、縮約された配列をホストコンピュータのメモリに保存し、メモリに保存した配列を、複数のアクセラレータに分散する分散部と、３次元画像の数値データを分割し複数のアクセラレータに割り当て、それぞれに対して順投影計算を行う順投影計算部と、を有する。
【００２５】
図４は、本発明の第２実施形態による逐次画像再構成装置（画像再構成装置）の構成例を示す図である。逐次画像再構成装置は、放射線源４０１と、放射線検出器４０２と、制御装置４０３と、データ入出力装置４０４と、図１に示したデータ処理装置４０５とを有する。放射線源４０１は、投影用の放射線源であり、被写体４００を介して、放射線検出器４０２に放射線を照射する。放射線源４０１は放射線検出器４０２の受光面に対して対向した状態で配置されている。放射線検出器４０２は、放射線源４０１から照射された放射線を検出し、被写体４００の放射線投影像データを生成する。制御装置４０３は、放射線源４０１及び放射線検出器４０２の位置の制御を行う。例えば、制御装置４０３は、放射線検出器４０２の受光面と並行な１軸である回転軸４０６を中心に、放射線源４０１及び放射線検出器４０２を回転させることで、被写体４００に対する放射線投影の角度を変えることができる。
【００２６】
放射線源４０１は、被写体４００に対して、１軸に直交しかつ投影角度（回転角度）の異なる複数の放射線投影を行う。すなわち、放射線源４０１は、被写体４００に対して、回転軸４０６を中心にした複数の異なる回転角度の放射線投影を行う。放射線検出器４０２は、放射線を検出し、上記の複数の異なる回転角度の放射線投影に対応する複数の２次元放射線投影像データを生成する。その他に、制御装置４０３は、放射線源４０１の放射線の照射、及び放射線検出器４０２が生成する放射線投影像データの取得等を制御する。データ入出力装置４０４は、制御装置４０３から放射線投影像データを入力し、その入力した放射線投影像データをデータ処理装置４０５に出力する。また、データ入出力装置４０４は、ユーザからの指示を入力し、その指示を制御装置４０３に出力する。データ処理装置４０５は、上記の複数の２次元放射線投影像データを基に被写体４００の３次元画像を再構成する。
【００２７】
図５は画像再構成装置の逐次画像再構成方法を示すフローチャートである。ステップＳ５００では、データ処理装置４０５の計算部１００は、逐次画像再構成の開始前に、計算領域生成処理を行う。具体的には、計算部１００は、まず、被写体４００を含む画像再構成領域を、自身の保持するアクセラレータの数に分割し、分割した各画像再構成領域を各アクセラレータに割り当てる。次に、投影角度の異なる被写体４００の複数の２次元放射線投影像データを基に、分割した各領域を更に細かいボクセルに分割する。図６に示すように３次元のボクセル集合６００を生成し、ボクセル集合６００の各ボクセルに数値データの初期値を設定する。
【００２８】
同様に、計算部１００は、放射線検出器４０２の撮像領域の画素に対応する２次元のピクセル集合を、自身の保持するアクセラレータの数だけ生成し、各集合を各アクセラレータに割り当てる。そしてこのピクセル集合６０１の各ピクセルに数値データの初期値を設定する。
【００２９】
次に、ステップＳ５０１では、計算部１００は、不図示のメモリ格納部によりメモリ格納処理を行う。計算部１００は、ボクセル集合６００およびピクセル集合６０１それぞれについて、設定された数値データを１本の配列として、割り当てられた各アクセラレータのメモリに格納する。
【００３０】
データ処理装置４０５は、データ入出力装置４０４から逐次画像再構成の開始指令を入力すると、逐次画像再構成を開始する。逐次画像再構成の一連の処理は、以下の順で実施される。
【００３１】
ステップＳ５０２では、計算部１００は、順投影計算部により順投影計算を行う。計算部１００は、ステップＳ５０１で生成されたボクセル集合６００の数値データを参照しながら、指定した投影角度における順投影計算を実施し、その順投影計算の結果をステップＳ５０１で生成されたピクセル集合６０１に出力する。具体的には、各アクセラレータが、自身が保持するメモリから、ボクセル集合６００のうち自身が担当するボクセル集合の数値データを読み出し、順投影計算を行い、順投影計算の結果をピクセル集合６０１のうち自身が担当するピクセルに出力する。その後、計算部１００は、ピクセル集合６０１の数値データをメモリに書き込む。
【００３２】
次に、ステップＳ５０３では、計算部１００は、各アクセラレータのメモリに書き込まれたピクセル集合６０１の数値データに対して図３に示したＡｌｌｒｅｄｕｃｅ処理を実施する。計算部１００がプログラムを実行することにより、実現する縮約部は、順投影計算により得られた２次元画像の数値データに対し、複数のアクセラレータに分散されたメモリの配列の総和を取り１つのアクセラレータのメモリ上の配列に縮約し、分散部は、２次元画像の数値データに対して縮約された配列を複数のアクセラレータに分散する。
【００３３】
次に、ステップＳ５０４では、計算部１００は、逆投影計算部により逆投影計算を行う。まず、計算部１００は、ステップＳ５０２で処理されたピクセル集合６０１の処理結果と、指定した投影角度における２次元放射線投影像データとを用いて、逆投影用数値を算出する。次に、計算部１００は、上記の逆投影用数値を用いて、指定した投影角度における逆投影計算を実施し、その結果をボクセル集合６００に出力する。具体的には、各アクセラレータが、自身が保持するメモリから、ピクセル集合６０１のうち自身が担当するピクセル集合の数値データを読み出し、逆投影計算を行い、逆投影計算の結果をボクセル集合６００のうち自身が担当するボクセルに出力する。その後、計算部１００は、ボクセル集合６００の数値データをメモリに書き込む。以上の処理により、画像再構成領域のボクセルには再構成画像の近似値が書き込まれている。出力部１０２は、この再構成画像を表示する。
【００３４】
次に、ステップＳ５０５では、計算部１００は、この再構成画像の近似精度が使用者の要求値以上であるか否かを判定する。そして、計算部１００は、近似精度が要求値以上である場合には（Ｓ５０５−Ｙｅｓ）、この再構成画像をデータ入出力装置４０４に出力し、使用者が再構成画像を取得できるようにする。また、計算部１００は、近似精度が要求値より低い場合には（Ｓ５０５−Ｎｏ）、ステップＳ５０２に処理を戻し、更新されたボクセル集合６００の数値データを用い、投影角度を変えて、再度、上記の逐次画像再構成処理を実施する。
【００３５】
次に、ステップＳ５０２の順投影計算、及びＳ５０４の逆投影計算について、以下に詳しく説明する。順・逆投影計算は、いずれもピクセルの放射線強度とボクセルの放射線吸収係数に関する線形演算であり、いずれもピクセル主導で計算を進める場合と、ボクセル主導で計算を進める場合がある。ピクセル主導の場合の単位計算は、１つのピクセルと、当該ピクセルに投影される放射線の一部の領域が透過するボクセル集合６００との間の計算である。順投影計算の場合は、当該ピクセルに当該ボクセル集合６００が寄与した分の放射線強度を出力し、逆投影計算の場合は、当該ボクセル集合６００のボクセル毎に、当該ピクセルに寄与した分の放射線吸収係数を出力する。ボクセル主導の場合の単位計算は、１つのボクセルと、当該ボクセルを透過する放射線が投影するピクセル集合６０１との間の計算である。逆投影計算の場合は、当該ボクセルに当該ピクセル集合６０１に寄与した分の放射線吸収係数を出力し、順投影計算の場合は、当該ピクセル集合６０１のピクセル毎に、当該ボクセルが寄与した分の放射線強度を出力する。
【００３６】
なお、放射線源４０１にコーンビームを用い、放射線検出器４０２に２次元パネルセンサを用いることができるが、これに限定されない。２次元の放射線投影像データを取得できる構成であれば、いかなるタイプの放射線源４０１及び放射線検出器４０２を用いてもよい。また、放射線投影の回転角は、ＣＴ装置のように３６０度であってもよいが、トモシンセシス装置のようにそれ以下であってもよい。また、本実施形態では、単一の放射線源４０１及び単一の放射線検出器４０２を被写体４００の周りで回転させる例を示したが、これに限定されない。画像再構成装置は、１軸を中心に投影角度の異なる複数枚の２次元放射線投影像データを取得できる構成であればよく、例えば、被写体４００を回転させてもよい。また、放射線源４０１及び放射線検出器４０２のいずれかもしくは両方を被写体４００の周囲に複数個並べる構成であってもよい。また本実施形態ではアクセラレータの数を４としているが、この例に限定されるものではなく、任意の数のアクセラレータにおいて、本実施形態の処理を適用することが可能である。本実施形態では、アクセラレータのプロセッサとしてＧＰＵを利用する場合について説明したが、これに限定されず、ＧＰＵではない何らかのプロセッサを備えたアクセラレータボードを使って計算を行ってもよい。
【００３７】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３８】
１００：計算部、１０１：入力部、１０２：出力部、１０３：記録部、１０４：通信部、２００：ホストコンピュータ、２０１〜２０２：ＣＰＵ、２０３〜２０４：メモリ、２０５〜２０８：スイッチ、２０９〜２１６：アクセラレータ、４０１：放射線源、４０２：放射線検知器、４０３：制御装置、４０４：データ入出力装置、４０５：データ処理装置
【図１】
2018120551.tif 000003
【図２】
2018120551.tif 000004
【図３】
2018120551.tif 000005
【図４】
2018120551.tif 000006
【図５】
2018120551.tif 000007
【図６】
2018120551.tif 000008