(57)【要約】【課題】各演算ユニットの処理能力の差異を考慮して、各演算ユニットの処理時間が均一となるような画像処理技術を提供すること。【解決手段】複数の演算ユニットを使用して並列に画像処理を行う画像処理装置は、各演算ユニットに画像処理の一部の演算処理を実行させ、演算処理に要した処理時間を計算する計算部と、計算された処理時間に応じて、各演算ユニットでの処理時間が均一となるように画像データの分割サイズを決定する分割サイズ決定部と、各演算ユニットに分割サイズで分割した画像データを処理させて、処理された画像データの画像再構成処理を行う画像再構成処理部と、画像再構成処理された画像データを出力する画像出力部とを有する。【選択図】  図１
2016099786.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算ユニットを使用して並列に画像処理を行う画像処理装置であって、
各演算ユニットに画像処理の一部の演算処理を実行させ、前記演算処理に要した処理時間を計算する計算部と、
前記計算された処理時間に応じて、各演算ユニットでの処理時間が均一となるように画像データの分割サイズを決定する分割サイズ決定部と、
各演算ユニットに前記分割サイズで分割した画像データを処理させて、前記処理された画像データの画像再構成処理を行う画像再構成処理部と、
前記画像再構成処理された画像データを出力する画像出力部と、
を有することを特徴とする画像処理装置。
【請求項２】
前記計算部は、逐次近似型の画像再構成処理の一部の演算処理を各演算ユニットに実行させて、前記演算に要した処理時間を計算することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記計算部は、前記画像再構成処理の投影演算の前における演算処理を各演算ユニットに実行させて、前記演算に要した処理時間を計算することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記計算部は、前記画像再構成処理の反復演算の前における演算処理を各演算ユニットに実行させて、前記演算に要した処理時間を計算することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項５】
前記投影演算には、投影線上の画素値の合計値を求める順投影演算と、投影値を足し合わせる逆投影演算が含まれることを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記反復演算には、投影線上の画素値の合計値を求める順投影演算と、投影値を足し合わせる逆投影演算が含まれることを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記計算部は、前記画像処理の一部の演算処理として、画像再構成処理の一部の演算処理である正規化項演算を前記演算ユニットに実行させて、前記正規化項演算に要した処理時間を計算することを特徴とする請求項１乃至請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
前記分割サイズ決定部は、前記処理時間に応じて、各演算ユニットで処理する処理時間が均一となるように前記分割サイズを決定することを特徴とする請求項１乃至請求項７のいずれか１項に記載の画像処理装置。
【請求項９】
前記分割サイズ決定部は、前記処理時間に基づいて算出した各演算ユニット間の処理能力を示す性能比に基づいて、各演算ユニットの処理時間が均一となるような前記分割サイズを決定することを特徴とする請求項１乃至請求項８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記分割サイズ決定部は、
前記演算ユニットから取得した情報に基づいて、各演算ユニットで処理可能な最大能力に基づく画像サイズを算出し、
前記性能比に基づく画像サイズと前記最大能力に基づく画像サイズとの比較により、前記分割サイズを決定する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記分割サイズ決定部は、前記演算ユニットから取得したメモリ量に基づいて、各演算ユニットで処理可能な最大能力に基づく画像サイズを算出することを特徴とする請求項１乃至請求項１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記分割サイズ決定部は、
前記複数の演算ユニットのうち一つの演算ユニットについて、前記性能比に基づく画像サイズが前記最大能力に基づく画像サイズを超える場合、前記一つの演算ユニットについて、前記最大能力に基づく画像サイズを前記分割サイズとして決定し、
前記性能比に基づく画像サイズと前記最大能力に基づく画像サイズとの差分の画像サイズを、前記複数の演算ユニットのうち他の演算ユニットに配分する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
画像データを受信する画像受信部を更に備え、
前記計算部は、前記画像データの容量と、前記複数の演算ユニットの記憶メモリの総計容量との比較演算の結果に基づいて、前記画像データを分割するか否かを判断する
ことを特徴とする請求項１乃至請求項１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記計算部は、前記画像データの容量が演算ユニットの記憶メモリの総計容量より大きくなる場合、前記画像データを分割すると判断し、前記処理時間を計算するための処理を実行する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記画像再構成処理部は、各演算ユニットにおける処理時間が均一になるように分割された画像データに対して画像再構成処理を行うことを特徴とする請求項１乃至請求項１４のいずれか１項に記載の画像再構成処理装置。
【請求項１６】
前記複数の演算ユニットは並列処理が可能であり、ＧＰＵもしくはＣＰＵ上で動作することを特徴とする請求項１乃至請求項１５のいずれか１項に記載の画像処理装置。
【請求項１７】
複数の演算ユニットを使用して並列に画像処理を行う画像処理装置における画像処理方法であって、
各演算ユニットに画像処理の一部の演算処理を実行させ、前記演算処理に要した処理時間を計算する工程と、
前記計算された処理時間に応じて、各演算ユニットでの処理時間が均一となるように画像データの分割サイズを決定する工程と、
各演算ユニットに前記分割サイズで分割した画像データを処理させて、前記処理された画像データの画像再構成処理を行う工程と、
前記画像再構成処理された画像データを出力する工程と、
を有することを特徴とする画像処理方法。
【請求項１８】
コンピュータを、請求項１乃至請求項１６のいずれか１項に記載の画像処理装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、医用機器の高機能化、高性能化により、医用画像が高精細になり、その高精細な医用画像を高速に処理する技術が求められている。例えば、逐次近似を用いて投影演算を行う画像再構成処理は、最尤推定を用いて解が収束するまで繰り返し演算を行う処理であるため、処理量が大きく、高負荷処理である。
【０００３】
このような画像再構成処理の高速化を実現するための技術として、複数の演算ユニットを用いて並列処理することで処理を分散させ、高速化を実現する技術が存在する。例えば、特許文献１には、画像処理ユニット数に応じて分割数を決定して並列処理を実行する技術が開示されている。  
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−７２８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の構成は、演算ユニット数のみを用いて処理を分割するものであり、各演算ユニットの性能差異を考慮していない。例えば、演算ユニットの性能にばらつきがある場合は、装置全体の処理時間が一番遅い画像処理ユニットの処理時間に影響されてしまうため、分割方法は最も適切であるとは言い難い。また、画像データ内には、画素数の異なる種々の画像データが含まれるため、等分割したとしても処理対象となる画像データの画素数は分割データ毎にばらつきが発生し、等分割した状態でも処理時間にばらつきが生じるという課題がある。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題に鑑み、各演算ユニットの処理能力の差異を考慮して、各演算ユニットの処理時間が均一となるような画像処理技術を提供する。
【０００７】
本発明の一つの態様に係る画像処理装置は、複数の演算ユニットを使用して並列に画像処理を行う画像処理装置であって、
各演算ユニットに画像処理の一部の演算処理を実行させ、前記演算処理に要した処理時間を計算する計算部と、
前記計算された処理時間に応じて、各演算ユニットでの処理時間が均一となるように画像データの分割サイズを決定する分割サイズ決定部と、
各演算ユニットに前記分割サイズで分割した画像データを処理させて、前記処理された画像データの画像再構成処理を行う画像再構成処理部と、
前記画像再構成処理された画像データを出力する画像出力部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、各演算ユニットの処理能力の差異を考慮して、各演算ユニットの処理時間が均一となるような画像処理技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態における画像再構成処理装置の機能ブロック概要図。
【図２】実施形態に係る画像再構成処理装置における処理の流れを説明する図。
【図３】実施形態に係る計算部による処理時間の算出処理を説明する図。
【図４】実施形態における処理時間を記憶する際のデータを表す図。
【図５】実施形態における分割サイズの決定処理を説明する図。
【図６】実施形態におけるシステム構成の詳細情報の具体例を示す図。
【図７】実施形態における均等な処理負荷になるよう、メモリ量を考慮した演算ユニット毎の分割サイズを算出する処理フローを示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を例示的に詳しく説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１１】
図１は本発明の実施形態にかかる画像再構成処理装置１００（画像処理装置）の構成を示す機能ブロック図である。画像再構成処理装置１００（画像処理装置）複数の演算ユニットを使用して並列に画像処理を行う。この画像処理には、例えば、逐次近似型の画像再構成処理アルゴリズム（ＭＬＥＭ）による処理が含まれる。以下、画像再構成処理装置の主要部を説明するが、これ以外の処理部を備えていても構わない。
【００１２】
演算ユニット群１０１は複数の演算ユニットを有しており、各演算ユニットの内部には記憶メモリが含まれる。記憶メモリには、後述するように外部のモダリティから受信した二次元画像データ（画像データ）が格納される。複数の演算ユニットは並列処理が可能であり、ＧＰＵもしくはＣＰＵ上で動作する。
【００１３】
画像受信部１０２は、外部装置から画像データを受信する。画像受信部１０２は、例えば、ＭＲＩ、ＣＴのような各種モダリティで撮像された２次元画像データを受信する。
【００１４】
計算部１０３は演算ユニット群１０１の各演算ユニットにおける処理時間を計算する。計算部１０３は、各演算ユニットに画像処理の一部の演算処理を実行させ、演算処理に要した処理時間を計算する。画像処理の一部の演算処理としては、例えば、画像再構成処理の一部の演算処理である正規化項演算が含まれ、計算部１０３は正規化項演算を演算ユニットに実行させて、正規化項演算に要した処理時間を計算する。すなわち、計算部１０３は、逐次近似型の画像再構成処理の一部の演算処理を各演算ユニットに実行させて、演算に要した処理時間を計算する。具体的には、計算部１０３は、画像再構成処理の投影演算（反復演算）前における演算処理（正規化項演算）を各演算ユニットに実行させて、演算に要した処理時間を計算する。正規化項演算とは、処理時間が比較的かかる画像再構成処理の投影演算（反復演算）が行われる前に行われる演算である。正規化項演算は、投影演算（反復演算）よりも処理時間が短い。ここで、投影演算（反復演算）には、投影線上の画素値の合計値を求める順投影演算と、投影値を足し合わせる逆投影演算が含まれる。
【００１５】
データ格納部１０４は計算部１０３により算出された演算ユニット群１０１の各演算ユニットにおける処理時間を格納する。データ格納部１０４は、計算部１０３で計算された処理時間を、各演算ユニットのそれぞれと対応付けて格納する。
【００１６】
分割サイズ決定部１０５は、計算部１０３で算出された処理時間から画像データに対する分割サイズを決定する。すなわち、分割サイズ決定部１０５は、計算部１０３で計算された処理時間に応じて、各演算ユニットでの処理時間が均一となるように、各演算ユニットに入力される画像データの分割サイズを決定する。
【００１７】
画像受信部１０２で受信した画像データは、分割サイズ決定部１０５で決定された分割サイズに従って分割される。分割された画像データは、演算ユニット群１０１の各演算ユニットで処理され、画像再構成処理部１０６は、各演算ユニットの処理結果に基づいて、再構成処理を行う。すなわち、画像再構成処理部１０６は、各演算ユニットに、分割サイズで分割した画像データを処理させて、処理された画像データの画像再構成処理を行う。画像再構成処理部１０６は、各演算ユニットにおける処理時間が均一になるように分割された画像データに対して画像再構成処理を行う。
【００１８】
画像出力部１０７は画像再構成処理部１０６で画像再構成処理された画像データを出力する。
【００１９】
（画像再構成処理装置１００における処理の流れ）
次に図２を用いて画像再構成処理装置１００（画像処理装置）における処理の流れを説明する。図２は、画像再構成処理装置における基本的な処理の流れを説明するフローチャートである。
【００２０】
（画像受信処理）
ステップＳ２００において、画像受信部１０２は画像データを受信する。画像再構成処理装置１００（画像処理装置）に入力される画像は、例えば、２次元データが複数枚（以下、スライス枚数とする）となる。例えば、このスライス数が多い程、画像データの全体を記憶するためのメモリ量も増加するという関係性が成り立つ。従って、メモリ量は、画像データの縦、横サイズと、スライス枚数に関連する。画像データのスライス数と、各演算ユニットで画像データを処理する処理時間が比例する。
【００２１】
（分割するか否かの判断処理）
ステップＳ２０１において、計算部１０３は、入力された画像データを分割するか否かを判断する。具体的には、ステップＳ２００で受信した画像データの容量と、演算ユニットの記憶メモリの総計容量との比較演算の結果に基づいて、入力された画像データを分割するか否かを判断する。計算部１０３は、比較演算の結果、画像データの容量が演算ユニットの記憶メモリの総計容量より大きくなる場合（画像データ量＞演算ユニットの記憶メモリの総計容量となる場合）、画像データを分割すると判断し、処理時間を計算するための処理を実行する。この場合、処理はステップＳ２０２に進められる。一方、ステップＳ２０２の比較処理により、画像データの容量が演算ユニットの記憶メモリの総計容量以下となる場合（画像データ量≦演算ユニットの記憶メモリの総計容量となる場合）、計算部１０３は分割しないと判断し、処理をステップＳ２０４へ進める。
【００２２】
（処理時間の算出処理）
ステップＳ２０２において、計算部１０３は、画像データを分割する場合において、演算ユニット群１０１の各演算ユニットにおける処理時間を計算する。すなわち、画像データの容量が演算ユニットの記憶メモリの記憶容量より大きくなる場合、画像データを分割して各演算ユニットに転送する。そこで、計算部１０３は、演算ユニット群１０１の各演算ユニットにおける処理時間を計算する。計算部１０３は処理時間の算出処理を図３のフローチャートに従って実行する。以下、図３のフローチャートを用いて、具体的な処理時間の算出処理を説明する。
【００２３】
図３は計算部１０３による処理時間の算出処理を説明するフローチャートである。ステップＳ３００において、計算部１０３は演算ユニット群１０１との通信によりシステム構成情報（演算ユニット数）を取得する。
【００２４】
ステップＳ３０１において、計算部１０３は、図２のステップＳ２００で画像受信部１０２が受信した画像データを、システム構成情報の演算ユニット数に従って等分割する。計算部１０３は等分割した画像データを、演算ユニット群１０１の各演算ユニット内の記憶メモリに格納する。そして、計算部１０３は、分割した画像データに対して、画像再構成処理アルゴリズムの処理のうち一部の演算（例えば、正規化項演算）を演算ユニット群１０１の各演算ユニットに実行させる。そして、計算部１０３は、画像再構成処理アルゴリズムの処理の一部の演算（正規化項演算）で要した各演算ユニットにおける処理時間を計算する。
【００２５】
本実施形態では、一般的にモダリティにて多く採用されている逐次近似型の画像再構成処理アルゴリズム（ＭＬＥＭ）を例に説明する。画像再構成処理アルゴリズム（ＭＬＥＭ）は、投影データの統計的変動の性質を用いた推定法であり、最尤推定を行う事で解を収束させるアルゴリズムである。この画像再構成処理アルゴリズム（ＭＬＥＭ）は、正規化項演算と反復計算（投影演算、逆投影演算等により構成される）とを有する。正規化項演算は、反復演算（ループ演算）が行われる前に行われる演算である。反復計算（投影演算、逆投影演算等）の処理量は正規化項演算の処理量に比べて大きくなる。画像再構成処理アルゴリズム（ＭＬＥＭ）では、まず、正規化項演算を実行し、その後、反復計算により投影演算を実行し解を収束させる。反復計算内で実行する投影演算は大きく２つの演算から構成される。２つの投影演算は、投影線上の画素値の合計値を求める順投影演算と、投影値を足し合わせる逆投影演算とから構成される。
【００２６】
特に正規化項演算は、反復計算内の逆投影演算と同等の処理であるという特徴がある。正規化項演算は、順投影演算と逆投影演算の一部の演算である。すなわち、正規化項演算は、画像再構成処理における反復演算の一部の演算である。この特徴を用いることにより、計算部１０３は、ステップＳ３０１の正規化項演算で要した処理時間に基づいて、画像再構成処理の全体的な処理時間を推定することが可能となる。更に、本実施形態では、正規化項演算の処理時間を計算し、その処理時間を基に、後述する手法により分割サイズを算出することで、処理負荷が大きい投影演算を効率的に処理可能である。
【００２７】
本実施形態では、逐次近似型の画像再構成処理アルゴリズム（ＭＬＥＭ）を例に挙げたため正規化項演算を実行することとしたが、画像再構成処理に要する別の演算処理に要した処理時間を計算しても良い。
【００２８】
ステップＳ３０２において、データ格納部１０４は先のステップＳ３０１で計算部１０３が算出した処理時間を格納する。データ格納部１０４は、ステップＳ３０１において計算部１０３で計算された処理時間を演算ユニット毎に記憶する。ここで、データ格納部１０４が演算ユニット毎の処理時間と共に記憶するデータについて図４を用いて説明する。
【００２９】
図４は、データ格納部１０４が処理時間と共に記憶するデータの具体例を示す図である。データ格納部１０４は、演算ユニット名４００と処理時間４０１とを対応付けて記憶する。例えば、演算ユニット１の処理時間は１００（ｓ）として記憶され、演算ユニット２の処理時間は５０（ｓ）として記憶され、演算ユニット３の処理時間は１５０（ｓ）として記憶される。この図４におけるテーブルは、画像再構成処理装置１００の各演算ユニットの処理時間を管理するものである。各演算ユニットによる処理が実行され、計算部１０３が各演算ユニットの処理時間を計算すると、データ格納部１０４は計算された結果を格納し、図４に示すデータを更新する。データ格納部１０４が格納し、管理するデータ数は、画像再構成処理装置１００の演算ユニットの数に依存するものである。以上によりステップＳ２０２の処理時間算出処理が終了する。
【００３０】
（分割サイズの決定処理）
次に図２のステップＳ２０３の分割サイズの決定処理について説明する。ステップＳ２０３において、分割サイズ決定部１０５は、計算部１０３で算出された処理時間に応じて、各演算ユニットで処理する処理時間が均一となるように分割サイズを決定する。分割サイズ決定部１０５は分割サイズの決定処理を図５のフローチャートに従って実行する。以下、図５のフローチャートを用いて、具体的な分割サイズの決定処理を説明する。
【００３１】
ステップＳ５００において、分割サイズ決定部１０５はデータ格納部１０４に格納されている処理時間を読み出す。ここで読み出される処理時間は図３のステップＳ３０２でデータ格納部１０４に格納された時間である。本ステップで、分割サイズ決定部１０５は各演算ユニットの処理時間をデータ格納部１０４から取得する。
【００３２】
ステップＳ５０１において、分割サイズ決定部１０５は、処理時間に基づいて算出した各演算ユニット間の処理能力を示す性能比に基づいて、各演算ユニットの処理時間が均一となるような分割サイズを決定する。
【００３３】
具体的に、図４に示す数値を用いて説明すると、演算ユニットと処理時間との関係は、（演算ユニット１、演算ユニット２、演算ユニット３）＝（１００（ｓ）、５０（ｓ）、１５０（ｓ））となる。分割サイズ決定部１０５は、正規化項演算を３つの演算ユニットの中で最も短時間で実行した演算ユニット２の処理時間（５０（ｓ））を基準として処理時間の比（性能比）を算出する。分割サイズ決定部１０５は、３つの演算ユニットの処理時間の比（性能比）を、（演算ユニット１、演算ユニット２、演算ユニット３）＝（２、１、３）、と算出する。この処理時間の比（性能比）は、同一のボリュームデータに対する演算処理を、各演算ユニットで実行した場合、演算ユニット１は演算ユニット２に比べて２倍の時間を要し、演算ユニット３は演算ユニット２に比べて３倍の時間を要することを意味する。
【００３４】
なお、本実施形態では、処理時間から性能比を算出したが、別の手段を使用して演算ユニット間の性能比を算出しても良い。例えば、単位時間当たりの比に換算すると、分割サイズ決定部１０５は、性能比を、（演算ユニット１、演算ユニット２、演算ユニット３）＝（１／２、１、１／３）として計算することも可能である。
【００３５】
次に、ステップＳ５０２において、分割サイズ決定部１０５は、演算ユニットから取得した情報に基づいて、各演算ユニットで処理可能な最大能力に基づく画像サイズを算出する。例えば、分割サイズ決定部１０５は演算ユニットとの通信によりシステム構成情報の詳細情報、例えば、演算ユニット毎のメモリ量等を取得する。分割サイズ決定部１０５は取得した演算ユニット毎のメモリ量等の情報に基づいて、各演算ユニットで処理可能な最大能力に基づく画像サイズを算出する。分割サイズ決定部１０５は、演算ユニットとの通信により取得したシステム構成情報の詳細情報をデータ格納部１０４に格納することが可能である。
【００３６】
図６は、システム構成情報の詳細情報の具体例を示す図である。システム構成情報の詳細情報には、演算ユニット名６００とメモリ量６０１とが含まれ、演算ユニット名６００とメモリ量６０１とが対応付けられている。例えば、演算ユニット１のメモリ量は５（ＧＢ）として記憶され、演算ユニット２（のメモリ量は５（ＧＢ）として記憶され、演算ユニット３のメモリ量は３（ＧＢ）として記憶される。図６におけるテーブルは、画像再構成処理装置１００の各演算ユニットのメモリ量を管理するものであり、画像再構成処理装置１００の演算ユニットの数に依存するものである。分割サイズ決定部１０５が演算ユニット毎のメモリ量の情報を取得すると、ステップＳ５０２の処理は終了する。
【００３７】
（画像分割サイズを算出する処理）
次に、ステップＳ５０３において、分割サイズ決定部１０５は、各演算ユニットにおける処理が均等な処理負荷になるよう、ステップＳ５０２にて取得した詳細情報（演算ユニット毎のメモリ量等の情報）を考慮して、演算ユニット毎の分割サイズを決定する。分割サイズ決定部１０５は演算ユニット毎の分割サイズの決定処理を図７のフローチャートに従って実行する。以下、図７のフローチャートを用いて、具体的な演算ユニット毎の分割サイズの決定処理を説明する。
【００３８】
ステップＳ７０１において、分割サイズ決定部１０５は性能比に基づく画像サイズを計算する。分割サイズ決定部１０５は、入力された画像データの全スライス枚数と、図５のステップＳ５０１で算出された性能比とから、演算ユニット毎の処理スライス枚数（性能比に基づく画像サイズ）を算出する。本ステップにて算出した演算ユニット毎の処理スライス枚数（性能比に基づく画像サイズ）を、図７中に示す通り「Ａ」とする。
【００３９】
ここで分割サイズ決定部１０５が実行する演算ユニット毎の処理スライス枚数（性能比に基づく画像サイズ）の算出処理を具体的な数値を用いて説明する。本実施形態では、入力された画像データの全スライス数をＸ枚スライスとする。図５のステップＳ５０１で算出した演算ユニットの処理時間の比（性能比）は、（演算ユニット１、演算ユニット２、演算ユニット３）＝（２、１、３）である。演算ユニット２を基準とした場合、演算ユニット１は演算ユニット２に比べて２倍の時間を要し、演算ユニット３は演算ユニット２に比べて３倍の時間を要する。単位時間当たりの処理能力の比に換算すると、（演算ユニット１、演算ユニット２、演算ユニット３）＝（１／２、１、１／３）となる。分割サイズ決定部１０５は、全体が１になるように正規化処理を行い、正規化された性能比を（演算ユニット１、演算ユニット２、演算ユニット３）＝（３／１１、６／１１、２／１１）として決定する。
【００４０】
分割サイズ決定部１０５は、正規化された性能比を用いて、演算ユニット毎の処理スライス数Ａを、（演算ユニット１、演算ユニット２、演算ユニット３）＝（３／１１、６／１１、２／１１）×Ｘ枚スライス、として決定する。
【００４１】
ステップＳ７０２において、分割サイズ決定部１０５は、演算ユニットから取得した情報に基づいて、各演算ユニットで処理可能な最大能力に基づく画像サイズを算出する。分割サイズ決定部１０５は、図５のステップＳ５０２で取得したシステム構成情報の詳細情報から、演算ユニットごとに処理可能な最大能力に基づく画像サイズ（最大スライス数）を算出する。本ステップにて算出した最大能力に基づく画像サイズ（最大スライス数）を、図７中に示す通り「Ｂ」とする。
【００４２】
分割サイズ決定部１０５は、演算ユニットから取得したメモリ量に基づいて、各演算ユニットで処理可能な最大能力に基づく画像サイズを算出することが可能である。ここで具体的な数値を用いて分割サイズ決定部１０５による処理を説明する。システム構成情報の詳細情報は、図５のステップＳ５０２で説明したものである。本実施形態では、メモリ量が５（ＧＢ）の場合はαスライス枚、３（ＧＢ）の場合はβスライス枚を処理可能であるとする。分割サイズ決定部１０５は、図６におけるテーブルから、各演算ユニットにおいて処理可能なスライス枚Ｂを、（演算ユニット１、演算ユニット２、演算ユニット３）＝（α、α、β）、として決定する。
【００４３】
本実施形態では図６にて管理するシステム構成情報の詳細情報としてメモリ量のみを管理しているためメモリ量から算出したが、例えばメモリ量以外のシステム構成情報の詳細情報を使用して各演算ユニットにおける処理可能なスライス枚数を算出しても良い。例えば、各演算ユニットにおけるＣＰＵの使用率などを用いてもよい。
【００４４】
ステップＳ７０３において、分割サイズ決定部１０５は、性能比に基づく画像サイズと最大能力に基づく画像サイズとの比較により、分割サイズを決定する。分割サイズ決定部１０５は、ステップＳ７０１で算出した演算ユニット毎の処理スライス数（性能比に基づく画像サイズ）Ａ値と、ステップＳ７０２で算出した演算ユニット毎の処理可能な最大能力に基づく画像サイズ（最大スライス数）Ｂ値の比較を行う。比較処理の結果、全ての演算ユニットにおいて判定条件（Ａ≦Ｂ）の関係が満たされる場合、分割サイズ決定部１０５は処理をステップＳ７０４に進める。
【００４５】
ステップＳ７０４において、分割サイズ決定部１０５は、数の演算ユニットの全てについて、性能比に基づく画像サイズが最大能力に基づく画像サイズ以下となる場合、性能比に基づく画像サイズを分割サイズとして決定する。すなわち、分割サイズ決定部１０５は、演算ユニット毎の処理スライス数Ａが各演算ユニットにおける処理可能な最大能力に基づく画像サイズ（最大スライス数）Ｂ値以下であるという比較処理の結果に基づいて、Ａ値を分割サイズに決定する。
【００４６】
Ｓ７０３で、分割サイズ決定部１０５は複数の演算ユニットのうち一つの演算ユニットについて、性能比に基づく画像サイズが最大能力に基づく画像サイズを超える場合、一つの演算ユニットについて、最大能力に基づく画像サイズを分割サイズとして決定する。一つの演算ユニットについて、Ｂ値が分割サイズとして決定される。そして、分割サイズ決定部１０５は、性能比に基づく画像サイズと最大能力に基づく画像サイズとの差分の画像サイズ（Ａ値−Ｂ値）を、複数の演算ユニットのうち他の演算ユニットに配分する。
【００４７】
すなわち、ステップＳ７０３の比較処理において、複数の演算ユニットのうち、一つの演算ユニットにおいて判定条件（Ａ≦Ｂ）の関係が満たされない演算ユニットが有る場合（Ｓ７０３−Ｎｏ）、分割サイズ決定部１０５は処理をステップＳ７０５に進める。
【００４８】
そして、ステップＳ７０５において、分割サイズ決定部１０５は、演算ユニット枚の処理スライス数を調整し、そのスライス数を分割サイズとして決定する。Ｓ７０３の比較処理により、一つの演算ユニットにおいて判定条件（Ａ≦Ｂ）の関係が満たされない演算ユニットが有る場合に、判定条件を満たさない演算ユニットでは、画像データをメモリに格納する出来ないため処理を実行できない場合が生じ得る。本ステップＳ７０５において、分割サイズ決定部１０５は、Ａ値の比率を考慮しつつＢ値内に収まるようなスライス数となるよう配分の調整を行い、その値を分割サイズとして決定する。
【００４９】
具体的な数値を用いて配分の調整を説明する。例えば、全スライス数が８２５枚であり、α＝４００、β＝２００であったとする。この場合、分割サイズ決定部１０５は、図７のステップＳ７０１におけるＡ値を、（演算ユニット１、演算ユニット２、演算ユニット３）＝（３／１１、６／１１、２／１１）×８２５枚＝（２２５、４５０、１５０）、として決定する（Ｓ７０１）。一方、分割サイズ決定部１０５は、図７におけるステップＳ７０２におけるＢ値を、（演算ユニット１、演算ユニット２、演算ユニット３）＝（４００、４００、２００）として決定する（Ｓ７０３）。
【００５０】
分割サイズ決定部１０５は、ステップＳ７０３において、上記のＡ値とＢ値を比較すると、演算ユニット２おいて、Ａ値（４５０枚）が処理可能な最大スライス枚数Ｂ値（４００枚）を上回っていると判定する。分割サイズ決定部１０５は、処理可能な最大能力に基づく画像サイズ（４００枚）を演算ユニット２に設定する。そして、分割サイズ決定部１０５は、４５０枚−４００枚＝５０枚分（差分の画像サイズ）を演算ユニット１もしくは演算ユニット３、もしくは演算ユニット１および演算ユニット３に振り分ける配分の調整処理を行う。本実施形態では、図５におけるステップＳ５０１で算出した性能比を考慮しながら、分割サイズ決定部１０５は、配分処理を行う。分割サイズ決定部１０５は、性能比に基づく画像サイズと最大能力に基づく画像サイズとの差分の画像サイズを、複数の演算ユニットのうち他の演算ユニットに配分する。この配分において、分割サイズ決定部１０５は、他の演算ユニットの処理時間に応じた性能比に基づいて差分の画像サイズを配分する。この配分において、分割サイズ決定部１０５は、演算ユニットで処理可能な最大能力に基づく画像サイズを考慮することも可能である。
【００５１】
例えば、５０枚分を演算ユニット１に配分した場合、２２５枚＋５０枚＝２７５枚（Ａ値）となり、４００枚（Ｂ値）以下となり、判定条件（Ａ≦Ｂ）満たす。また、５０枚分を演算ユニット３に配分した場合、１５０枚＋５０枚＝２００枚（Ａ値）となり、２００枚（Ｂ値）以下となり、判定条件（Ａ≦Ｂ）満たす。
【００５２】
また、５０枚分を演算ユニット１および演算ユニット３に配分する場合、分割サイズ決定部１０５は、演算ユニット１および演算ユニット３の性能比を考慮する。ステップＳ５０１の処理において、演算ユニット１の正規化された性能比の値は３／１１であり、演算ユニット３の正規化された性能比の値は２／１１である。演算ユニット１は演算ユニット３に比べて１．５倍の処理能力がある。すなわち、分割サイズ決定部１０５は、性能比（演算ユニット１、演算ユニット３）＝（１．５、１）を、全体が１となるように正規化した性能比（３／５、２／５）を決定する。
【００５３】
この正規化した性能比を用いて、分割サイズ決定部１０５は５０枚を振り分ける配分処理を行う。この配分処理により演算ユニット１には３０枚が配分され、演算ユニット３には２０枚が配分される。
【００５４】
この配分処理の結果、演算ユニット１の配分は、２２５枚＋３０枚＝２５５枚（Ａ値）となり、４００枚（Ｂ値）以下となり、判定条件（Ａ≦Ｂ）満たす。また、演算ユニット３の配分は、１５０枚＋２０枚＝１７０枚（Ａ値）となり、２００枚（Ｂ値）以下となり、判定条件（Ａ≦Ｂ）満たす。
【００５５】
分割サイズ決定部１０５は、ステップＳ５０１で算出した性能比およびステップＳ５０２で取得したシステム構成情報の詳細情報を考慮して配分処理を行うことが可能である。複数の配分パターンにおいて、判定条件（Ａ≦Ｂ）を満たす場合、分割サイズ決定部１０５は、予め設定された優先順位に従って、配分処理を実行することが可能である。例えば、演算ユニット１および演算ユニット３を用いた配分処理の実行は、処理の負荷を平準化することが可能であり、ステップＳ５０１で決定した性能比に近い配分になるため、優先順位を高く設定することができる。また、Ａ値＝Ｂ値のように配分すると、余裕のない配分となるため優先順位を低く設定することができる。なお、入力された画像データの全スライス数Ｘ枚が全演算ユニットのメモリに入り切らない場合は、処理を複数回実行する等の処理を行う事とする。以上により分割サイズの決定処理を終了する（Ｓ２０３、図５、図７）。
【００５６】
（再構成処理）
図２のステップＳ２０４において、画像再構成処理部１０６は、ステップＳ２０３で算出した分割サイズで分割した画像データ、もしくは分割しない場合は入力された画像データそのものを各演算ユニットに処理させる。そして、画像再構成処理部１０６は、各演算ユニットの処理の結果を再構成する画像再構成処理を実行する。画像再構成処理の例として、本実施形態では逐次近似型の画像再構成処理アルゴリズム（ＭＬＥＭ法）とするが、本発明の趣旨はこの例に限定されるものではなく、他の画像再構成処理アルゴリズムに対しても同様に適用可能である。
【００５７】
（画像出力処理）
ステップＳ２０５において、画像出力部１０７は、ステップＳ２０４において、画像再構成処理が実行された画像データを出力する。
【００５８】
以上説明したように、本実施形態によれば、画像再構成処理の一部の演算処理に要する処理時間に基づいて複数の演算ユニットの性能比を求め、性能比に応じて画像分割サイズを決定する事が可能となる。これにより、従来手法よりも各演算ユニットにおける演算処理が均一化されるため、演算処理をより高速に行うことが可能になる。
【００５９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６０】
１００  画像再構成処理装置（画像処理装置）、１０１  演算ユニット群、
１０２  画像受信部、１０３  計算部、
１０４  データ格納部、１０５  分割サイズ決定部、
１０６  画像再構成処理部、１０７  画像出力部
【図１】
2016099786.tif 000003
【図２】
2016099786.tif 000004
【図３】
2016099786.tif 000005
【図４】
2016099786.tif 000006
【図５】
2016099786.tif 000007
【図６】
2016099786.tif 000008
【図７】
2016099786.tif 000009