(57)【要約】【課題】レトロスペクティブスキャンによる画像再構成を行う場合、使用しない投影データがキャッシュメモリに転送されることにより、キャッシュヒット率が低下する。【解決手段】プロセッサは、原投影データ保存用メモリ205に書き込まれた原投影データから第１の複数のセグメントを抽出した再編成投影データを生成してメインメモリ212に格納し、第１ビュー重みを再編成投影データに対応させた第２ビュー重みを生成し(209)、キャッシュメモリ213にはメインメモリ212に格納された再編成投影データがあらかじめ転送され、プロセッサは再編成投影データ及び第２ビュー重みを用いて第１断層像データを生成する(214)。【選択図】図３
2019004980.tif 000002
【特許請求の範囲】
【請求項１】
Ｘ線管球と、
前記Ｘ線管球に対向配置され、前記Ｘ線管球から発生され、被検体を透過したＸ線を検出するＸ線検出器と、
前記Ｘ線検出器で検出した透過Ｘ線の空間分布より生成される投影データを格納するメインメモリと、
前記メインメモリから投影データがあらかじめ転送されるキャッシュメモリと、
逆投影処理に使用する投影データが前記キャッシュメモリに転送されている場合には、前記キャッシュメモリに記憶されている投影データを用いて逆投影処理を行い、前記被検体の断層像データを生成するプロセッサとを有し、
第１断層像データは、前記Ｘ線検出器からの連続したビューからなる原投影データに対して、画像位置に基いて第１の複数のセグメントが設定され、前記第１の複数のセグメントごとに設定された第１ビュー重みにしたがって前記第１の複数のセグメントの投影データを逆投影することにより生成されるものであって、
前記プロセッサは、前記原投影データから前記第１の複数のセグメントを抽出した再編成投影データを生成して前記メインメモリに格納し、前記第１ビュー重みを前記再編成投影データに対応させた第２ビュー重みを生成し、
前記キャッシュメモリには前記メインメモリに格納された前記再編成投影データがあらかじめ転送され、
前記プロセッサは前記再編成投影データ及び前記第２ビュー重みを用いて前記第１断層像データを生成するＸ線ＣＴ装置。
【請求項２】
請求項１において、
前記原投影データは、前記被検体の周りを前記Ｘ線管球及び前記Ｘ線検出器がらせん軌道状に周回しながら撮影を行って得られるＸ線ＣＴ装置。
【請求項３】
請求項２において、
前記被検体から取得した生体信号に基づき、前記第１の複数のセグメントを設定するＸ線ＣＴ装置。
【請求項４】
請求項３において、
前記生体信号は心電波形であり、前記心電波形から求められる心拍時相に基づき前記第１の複数のセグメントを設定するＸ線ＣＴ装置。
【請求項５】
Ｘ線管球と、
前記Ｘ線管球に対向配置され、前記Ｘ線管球から発生され、被検体を透過したＸ線を検出するＸ線検出器と、
前記Ｘ線検出器で検出した透過Ｘ線の空間分布より生成される投影データを格納するメインメモリと、
前記メインメモリから投影データがあらかじめ転送されるキャッシュメモリと、
逆投影処理に使用する投影データが前記キャッシュメモリに転送されている場合には、前記キャッシュメモリに記憶されている投影データを用いて逆投影処理を行い、前記被検体の断層像データを生成するプロセッサとを有し、
第１断層像データは、前記Ｘ線検出器からの連続したビューからなる原投影データに対して、画像位置に基いて第１の複数のセグメントが設定され、前記第１の複数のセグメントごとに設定された第１ビュー重みにしたがって前記第１の複数のセグメントの投影データを逆投影することにより生成されるものであって、
第２断層像データは、前記原投影データに対して、画像位置に基づいて第２の複数のセグメントが設定され、前記第２の複数のセグメントごとに設定された第２ビュー重みにしたがって前記第２の複数のセグメントの投影データを逆投影することにより生成されるものであって、
前記プロセッサは、前記原投影データから前記第１の複数のセグメント及び前記第２の複数のセグメントを重ね合わせて抽出した再編成投影データを生成して前記メインメモリに格納し、前記第１ビュー重みを前記再編成投影データに対応させた第３ビュー重みを生成し、前記第２ビュー重みを前記再編成投影データに対応させた第４ビュー重みを生成し、
前記キャッシュメモリには前記メインメモリに格納された前記再編成投影データがあらかじめ転送され、
前記プロセッサは、前記再編成投影データ及び前記第３ビュー重みを用いて前記第１断層像データを生成し、前記再編成投影データ及び前記第４ビュー重みを用いて前記第２断層像データを生成するＸ線ＣＴ装置。
【請求項６】
請求項５において、
前記原投影データは、前記被検体の周りを前記Ｘ線管球及び前記Ｘ線検出器がらせん軌道状に周回しながら撮影を行って得られるＸ線ＣＴ装置。
【請求項７】
請求項６において、
前記被検体から取得した生体信号に基づき、前記第１の複数のセグメント及び前記第２の複数のセグメントを設定するＸ線ＣＴ装置。
【請求項８】
請求項７において、
前記生体信号は心電波形であり、前記心電波形から求められる心拍時相に基づき前記第１の複数のセグメント及び前記第２の複数のセグメントを設定するＸ線ＣＴ装置。
【請求項９】
請求項７において、
前記第１断層像データの画像位置と前記第２断層像データの画像位置とは互いに異なるＸ線ＣＴ装置。
【請求項１０】
請求項７において、
前記第１断層像データの画像位置と前記第２断層像データの画像位置とは同じ位置であり、前記生体信号に対して異なったタイミングにより前記第１の複数のセグメントと前記第２の複数のセグメントとが設定されるＸ線ＣＴ装置。
【請求項１１】
請求項１０において、
前記生体信号は心電波形であり、前記心電波形から求められる第１の心拍時相に基づき前記第１の複数のセグメントが設定され、前記心電波形から求められる第２の心拍時相に基づき前記第２の複数のセグメントが設定されるＸ線ＣＴ装置。
【請求項１２】
請求項５において、
前記プロセッサは前記再編成投影データに含まれる各ビューが逆投影対象となる断層像の枚数に応じてビュー範囲を区分し、
前記ビュー範囲に応じて、前記メインメモリから前記キャッシュメモリに転送する前記再編成投影データの量を異ならせるＸ線ＣＴ装置。
【請求項１３】
請求項１２において、
前記キャッシュメモリに転送される前記再編成投影データの量は、逆投影処理に割り当てられた前記キャッシュメモリの容量から、前記ビュー範囲における断層像の枚数に応じた断層像データの量を除いて定められるＸ線ＣＴ装置。
【請求項１４】
請求項１２において、
前記プロセッサはマルチコアプロセッサであり、
前記断層像をブロック分割してマルチコアのそれぞれに割り当て、
前記断層像をブロック分割する数は、前記マルチコアの数よりも多いＸ線ＣＴ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｘ線ＣＴ（Computed Tomography）装置に関し、特にＸ線透過データから断層像を再構成する画像処理技術に関する。
【背景技術】
【０００２】
心臓のような一定周期の動きを伴う部位に対して、部位の動きを考慮せずに断層像を作成するとモーションアーチファクトを含んだ断層像となる。
【０００３】
特許文献１には、らせんスキャンを行うことで得られる連続した投影データ及び心電波形を入力とし、心臓の拡張期間となるR波間の投影データで断層像を再構成できるように心電波形をテーブル位置に変換し、心電波形を変換したテーブル位置と連続した投影データとを用いて再構成することにより心臓の拡張期の断層像を得ることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−７９６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示される方法においては、連続した投影データの中には逆投影に使用されないデータも含まれていることになり、使用しない投影データをメインメモリからキャッシュメモリに持ってきた場合、逆投影に使用しない投影データによって逆投影に使用するデータがキャッシュメモリから追い出されることになり、キャッシュヒット率の低下、ひいては画像処理の遅延につながる。
【０００６】
本発明は、投影データを逆投影するときのキャッシュヒット率を向上させることができるＸ線ＣＴ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
Ｘ線管球と、Ｘ線管球に対向配置され、Ｘ線管球から発生され、被検体を透過したＸ線を検出するＸ線検出器と、Ｘ線検出器で検出した透過Ｘ線の空間分布より生成される投影データを格納するメインメモリと、メインメモリから投影データがあらかじめ転送されるキャッシュメモリと、逆投影処理に使用する投影データがキャッシュメモリに転送されている場合には、キャッシュメモリに記憶されている投影データを用いて逆投影処理を行い、被検体の断層像データを生成するプロセッサとを有するＸ線ＣＴ装置において、Ｘ線検出器からの連続したビューからなる原投影データに対して、画像位置に基いて第１の複数のセグメントが設定され、第１の複数のセグメントごとに設定された第１ビュー重みにしたがって第１の複数のセグメントの投影データを逆投影することにより生成される第１断層像データを生成する場合、プロセッサは、原投影データから第１の複数のセグメントを抽出した再編成投影データを生成してメインメモリに格納し、第１ビュー重みを再編成投影データに対応させた第２ビュー重みを生成し、キャッシュメモリにはメインメモリに格納された再編成投影データがあらかじめ転送され、プロセッサは再編成投影データ及び第２ビュー重みを用いて第１断層像データを生成する。
【発明の効果】
【０００８】
本発明によれば、投影データを逆投影するときのキャッシュヒット率を向上させることができるＸ線ＣＴ装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】Ｘ線ＣＴ装置の外観を示す図である。
【図２】Ｘ線ＣＴ装置のブロック図である。
【図３】画像作成部の処理の詳細を説明する図である。
【図４】実施例１のフローチャートである。
【図５】ビュー重み生成部の処理の詳細を説明する図である。
【図６】投影データ取捨領域算出部の処理の詳細を説明する図である。
【図７】投影データ取捨選択部の処理の詳細を説明する図である。
【図８】再編成投影データビュー重み生成部の処理の詳細を説明する図である。
【図９】実施例２のフローチャートである。
【図１０】キャッシュメモリに置くビュー数の求め方を説明する図である。
【図１１】プロセッサ、キャッシュメモリとメインメモリとの関係を示す図である。
【図１２】第１の画像位置での断層像を逆投影するためのビュー重みを示す図である。
【図１３】第２の画像位置での断層像を逆投影するためのビュー重みを示す図である。
【図１４】第３の画像位置での断層像を逆投影するためのビュー重みを示す図である。
【図１５】第１〜第３の画像位置での断層像の再構成に必要なビュー範囲の求め方を説明する図である。
【図１６】投影データの再編成を説明する図である。
【図１７】再編成された投影データにおけるビュー重みを示す図である。
【図１８】セグメント再構成を説明する図である。
【発明を実施するための形態】
【００１０】
以下、添付図を用いて本発明の実施例に係るＸ線ＣＴ装置を説明する。図１にＸ線ＣＴ装置の外観を示し、図２にＸ線ＣＴ装置のブロック図を示す。Ｘ線ＣＴ装置は、寝台102上の被検体に対してＸ線撮像を行うスキャナ101、スキャナ101によるＸ線撮像を制御する操作卓103を備える。
【００１１】
図２に示すように、スキャナ101は、Ｘ線管球107と、寝台102と、Ｘ線検出器108と、Ｘ線制御部110と、ガントリ制御部111と、寝台制御部112と、検出器制御部113とを備えている。Ｘ線管球107は、寝台102上に載置された被検体106にＸ線を照射する装置である。寝台102は被検体106を載置する装置である。Ｘ線検出器108は、被検体106が位置するスキャナ101の中央部を挟んでＸ線管球107と対向配置され、撮像時に被検体106を透過したＸ線を検出することにより透過Ｘ線の空間的な分布を計測する装置である。Ｘ線検出器108には、多数のＸ線検出素子が２次元に配列されている。
【００１２】
Ｘ線制御部110は、Ｘ線管球107に入力される電流及び電圧を制御する装置である。ガントリ制御部111は、Ｚ軸方向を周回転軸としてＸ線管球107及びＸ線検出器108の周回転動作の制御を行う装置である。寝台制御部112は、寝台102の上下・前後・左右の移動を制御する装置である。検出器制御部113は、Ｘ線検出器108を制御する装置である。Ｘ線ＣＴ装置では、一般的に周回方向に１周あたり約1000回の撮影が行われ、１回あたりの撮影を「１ビュー」という単位で呼ぶ。Ｘ線発生中に寝台102が固定され、Ｘ線管球107及びＸ線検出器108が被検体106の周りを円軌道状に周回しながら撮影を行う撮影態様をアキシャルスキャン、ノーマルスキャン、コンベンショナルスキャン等と呼ぶ。一方、Ｘ線発生中に寝台102が周回転軸（Ｚ軸）方向に連続的に移動し、Ｘ線管球107及びＸ線検出器108が被検体106の周りをらせん軌道状に周回しながら撮影を行う撮影態様を、らせんスキャン、ヘリカルスキャン、スパイラルスキャン等（以後、「らせんスキャン」と表記する）と呼ぶ。また、Ｘ線ＣＴ装置により被検体106の心臓の断層像を作成する場合には、心電波形取得装置109が設けられ、被検体106の生体信号として心電波形を取得し、後述する画像作成部115に心電波形を送信している。
【００１３】
操作卓103は、システム制御部114と、画像作成部115と、画像表示部116と、操作部117を備える。システム制御部114は、操作部117からの入力を受けてＸ線ＣＴ装置全体を制御する。具体的には、操作部117により設定された撮影条件にしたがって、Ｘ線制御部110、ガントリ制御部111、寝台制御部112、検出器制御部113を制御し、操作部117により設定された画像再構成条件にしたがって、画像作成部115を制御する。画像作成部115は、検出器制御部113によりＸ線検出器108から送り出された投影データを用いて画像再構成処理を施し、画像を作成する。
【００１４】
画像表示部116は、再構成条件の設定画面や画像を表示するディスプレイ104を備えている。また、操作部117は、被検体氏名、検査日時などを入力するキーボード105Aや、ディスプレイ104上に映るマウスポインターの位置を指示するマウス105B等を備えている。
【００１５】
心臓は一定の周期で収縮／拡張運動を繰り返すため、収縮／拡張運動によるモーションアーチファクトの発生を抑制する必要がある。このための心臓の断層像を作成するための撮影方法として、レトロスペクティブスキャンとプロスペクティブスキャンの２種類が挙げられる。プロスペクティブスキャンでは、心電波形取得装置109からの心電波形と同期してアキシャルスキャンを実施する。心電波形を監視し、特定時相（例えばR波）を検出してから指定した遅延時間後にＸ線を照射してアキシャルスキャンを行う。心臓の動きが小さい時相のみを狙ってＸ線を照射するため、無効被ばくは少ないが、心拍変動や高心拍に対しては撮影が困難になる。これに対して、レトロスペクティブスキャンは、らせんスキャンを実施しながら、被検体106の心電波形を取得する。投影データ及び心電波形の取得後、心電波形情報を用いて心臓の動きが小さい時相（収縮期／拡張期）の投影データを抽出し、抽出された投影データのみを用いて画像再構成を行う。再構成の際には心臓の動きが小さい心拍時相での投影データのみを使用することにより、心臓の動きに起因するモーションアーチファクトを抑えた断層像を作成することができる。
【００１６】
レトロスペクティブスキャンによる心臓画像再構成にはセグメント再構成を用いる。セグメント再構成では、複数の心拍中から同一時相の投影データを用いて再構成を行う。心拍が遅い（心臓の動きが遅い）場合は、１心拍内の投影データのみで再構成可能であるが、心拍が速い（心臓の動きが速い）場合、１心拍内の投影データのみではモーションアーチファクトが出るため、複数心拍の投影データから同一時相のみを集めて再構成する。図１８を用いてセグメント再構成について説明する。画像位置701, 702はそれぞれ投影データから被検体106の心臓の断層像を作成する画像位置である。画像位置701, 702を中心とする近傍として定義される使用セグメント範囲から取得された投影データを用いて断層像を再構成する。図１８の(a)に画像位置702の断層像を形成するためには螺旋703, 704がその使用セグメント範囲に含まれる例を、(b)に画像位置701の断層像を形成するためには螺旋703, 704, 705がその使用セグメント範囲に含まれる例を示す。そのため、画像位置702では２心拍分のセグメント711, 712（セグメント数２）の投影データから断層像を作成し、画像位置701では３心拍分のセグメント713, 714, 715（セグメント数３）の投影データから断層像を作成する。なお、断層像を作成するためには複数セグメントの投影データの合計ビュー数は半周分以上でなければならないので、セグメント数２で断層像を形成する場合とセグメント数３で断層像を形成する場合とでは、セグメントの大きさ（例えば、セグメント711の大きさとセグメント713の大きさ）は異なるものになる。また、画像再構成にはビューごとに重み付けをして逆投影を行うため、セグメントの各ビューに対する重み付けの形状を「ビュー重み」と呼ぶ。
【００１７】
図３に画像作成部115における処理の詳細を示す。スキャナ101のＸ線管球107から被検体106に向けてＸ線を照射し、Ｘ線検出器108が被検体106を透過したＸ線を検出し、透過データとして透過データ入力部201に送る。透過データ入力部201は、取得した透過データを透過データ保存用メモリ202に書き込む。一方、心電波形取得装置109は、被検体106の心電波形を心電波形データ入力部206に送る。心電波形データ入力部206は、受け取った心電波形データを心電波形データ保存用メモリ207に書き込む。
【００１８】
前処理部204は、透過データ保存用メモリ202から透過データを読み込み、前処理を施して投影データ（原投影データ）を作成し、原投影データ保存用メモリ205に書き込む。ここで前処理とは、ＣＴ値精度、画質向上のため、生データである透過データに対して各種補正等の処理を行うものである。
【００１９】
ビュー重み生成部208は、心電波形データ保存用メモリ207から心電波形を読み込み、その心電波形を参考にして、特定の心拍時相の投影データを用いて逆投影するためのビュー重みを全画像分生成する。
【００２０】
投影データ取捨領域算出部209は、ビュー重み生成部208が生成した全画像分のビュー重みを参考にして、全画像を逆投影するために必要な投影データ取捨領域を算出する。投影データ取捨選択部210は、投影データ取捨領域算出部209が算出した投影データ取捨領域を用いて、原投影データ保存用メモリ205から逆投影に必要な投影データのみを読み込み、再編成した後に再編成投影データ保存用メモリ212に書き込む。再編成投影データビュー重み生成部211は、投影データ取捨選択部210が再編成した投影データ（再編成投影データ）に合わせて全画像のビュー重みを作り直す。
【００２１】
逆投影処理部214は、投影データ取捨選択部210が再編成し、再編成投影データ保存用メモリ212に書き込まれた投影データ（再編成投影データ）と、再編成投影データビュー重み生成部211が作成したビュー重みを用いて断層像を作成し、画像保存用メモリ215に書き込む。この断層像作成作業において、再編成投影データ保存用メモリ212（メインメモリ）から読み出した投影データを一時的にキャッシュメモリ213に記憶することで、メモリ212へのアクセス回数を低減させている。
【００２２】
画像表示部116は画像保存用メモリ215から断層像を読み取り、ディスプレイ104に表示する。また、ディスプレイ104には画像再構成に関するパラメータが表示され、操作部117を介してパラメータの変更が可能である。
【実施例１】
【００２３】
以下に、実施例１を説明する。図３で説明した前処理部204、ビュー重み生成部208、投影データ取捨領域算出部209、投影データ取捨選択部210、再編成投影データビュー重み生成部211、逆投影処理部214といった各機能ブロックは、一般的な計算機ハードウェアにより実現されるものであり、計算機のプロセッサが各機能ブロックに相当するプログラムを実行することによって実現されるものである。一般的に、プロセッサは演算を実行する際、メインメモリから必要なデータを読み出し、演算した後に演算結果を再度メインメモリに書き込む。ところで、ここ近年のプロセッサの高速化により、プロセッサとメインメモリとの間の転送速度がプロセッサの処理速度に追いつかず、プロセッサがメインメモリからのデータ待ち状態に陥ることになる。このような待ち状態が生じるのを防止するため、プロセッサとメインメモリとの間にキャッシュメモリが設けられる。すなわち、プロセッサが必要とするデータをあらかじめメインメモリからキャッシュメモリに転送しておくことにより、メインメモリへのアクセスがプロセッサの処理遅延につながらないようにすることができる。キャッシュメモリの容量は小さいが高速アクセスが可能であり、具体的には、プロセッサの演算実行サイクルと並行して、キャッシュラインサイズの整数倍のサイズで連続したデータがメインメモリからキャッシュメモリに転送される。次の演算実行サイクルで使用するデータがキャッシュメモリに転送されている場合には、プロセッサは高速なキャッシュメモリからデータを読み込むことにより、データ待ちが発生しない。
【００２４】
しかし、演算に必要なデータがキャッシュメモリ上に無ければ、プロセッサは必要なデータをメインメモリから読み込むことになり（これを、キャッシュミスという）、データ待ちが発生する。よって、必要なデータがキャッシュメモリに存在している確率（キャッシュヒット率という）を高めることが処理の高速化の観点から重要である。キャッシュヒット率を上げるため、実施例１での各機能ブロックでの処理を図４のフローチャートを用いて説明する。
【００２５】
（ステップＳ１０１）
透過データ入力部201は、Ｘ線検出器108から送られてきた透過データを透過データ保存用メモリ202に書き込む。心電波形データ入力部206は、心電波形取得装置109から送られてきた心電波形データを心電波形データ保存用メモリ207に書き込む。
【００２６】
（ステップＳ１０２）
前処理部204は、透過データ保存用メモリ202から透過データを読み出し、前処理を施して投影データ（原投影データ）を作成し、原投影データ保存用メモリ205に投影データを書き込む。
【００２７】
（ステップＳ１０３）
撮影が終了したか判断する。終了していない場合はステップS101に戻る。撮影終了の場合はステップS104に進む。
【００２８】
（ステップＳ１０４）
ビュー重み生成部208は、心電波形データを用いて全画像のビュー重みを生成する。図５を用いて、ビュー重み生成部208の処理の詳細を説明する。
【００２９】
図５の各横軸はビューを表している。心電波形データ保存用メモリ207から心電波形を読み込み、心電波形の中からR波301の位置を調べる（ａ）。R波の位置から特定時相分ずらしてセグメント位置302を決める（ｂ）。例えば、相対的に特定時相をずらす場合、隣り合うR波−R波間を0−100％とし、0から100％の間で特定時相を設定する。心電波形には心臓における収縮／拡張の状況が表れているため、心臓の動きが小さい時相を心電波形に基づき設定するものである。図５の例では心臓の動きが小さい時相をR波−R波間の75％の位置として、セグメント位置を設定している。
【００３０】
図５ではＺ方向に互いにずれた画像位置304, 309, 313について断層像を作成する例を示している。断層像を作成する画像位置を中心として定義される使用セグメント範囲の中に存在するセグメント位置に合わせてセグメントを設定し、各セグメントに含まれる投影データのそれぞれに対してビュー重みを設定する。画像位置304の断層像の場合（ｃ）、画像位置304を中心とした使用セグメント範囲308の中には３個のセグメント305, 306, 307が存在し、各セグメントにおいてビュー重み305a, 306a, 307aを設定する。なお、この例ではビュー重みはセグメント位置302の投影データのビュー重みを最大としてその前後で漸増、漸減するようになっているが、このようなパターンに限定されるものではなく、撮影条件にしたがって任意に決めることができる。画像位置309の断層像の場合（ｄ）、画像位置309を中心とした使用セグメント範囲312の中には２個のセグメント310, 311が存在し、各セグメントにおいてビュー重み310a, 311aを設定する。画像位置313の断層像の場合（ｅ）、画像位置313を中心とした使用セグメント範囲317の中には３個のセグメント314, 315, 316が存在し、各セグメントにおいてビュー重み314a, 315a, 316aを設定する。先に説明したように、逆投影で断層像を作成するためには、少なくとも半周分のビュー数の投影データが必要となる。よって、セグメント数が多い場合（ｃ，ｅ）は１セグメントの幅は小さくなり、セグメント数が少ない場合（ｄ）は１セグメントあたりの幅は大きくなる。
【００３１】
（ステップＳ１０５）
投影データ取捨領域算出部209は、逆投影で使用する投影データの範囲を算出する。図６を用いて、投影データ取捨領域算出部209の処理の詳細を説明する。図６の各横軸もビューを表している。
【００３２】
投影データ取捨領域算出部209では、ビュー重み生成部208が生成した各断層像に対するセグメントを重ね合わせて、逆投影に必要なビュー範囲を算出する。セグメント位置302aにおける画像位置304のセグメント305は他に重ね合わせるセグメントがないため、結果としてセグメント305と同じビュー範囲318となる。一方、セグメント位置302bにおいては、画像位置304のセグメント306と画像位置309のセグメント310と画像位置313のセグメント314とが、重ね合わされる。これらのうち、最も幅の広いセグメントは、セグメント数が２個であるセグメント310であるため、重ね合わせた後のビュー範囲319は、セグメント310の幅と同じになる。同様に、セグメント位置302cにおいては、画像位置304のセグメント307と画像位置309のセグメント311と画像位置313のセグメント315とが、重ね合わされる。これらのうち、最も幅の広いセグメントは、セグメント数が２個であるセグメント311であるため、重ね合わせた後のビュー範囲320は、セグメント311の幅と同じになる。また、セグメント位置302dにおいては、画像位置313のセグメント316は他に重ね合わせるセグメントがないため、結果としてセグメント316と同じビュー範囲321となる。このようにして算出されたビュー範囲318, 319, 320, 321は、画像位置304, 309, 313の断層像の生成に必要な領域を表す（ｆ）。なお、図６の例は断層像３枚として説明したが、特に枚数の制限はなく、撮影条件による。断層像１枚であってもよい。また、セグメントの幅を用いて必要な領域を算出しており、セグメントにおけるビュー重みの形状は特に限定されない。
【００３３】
（ステップＳ１０６）
投影データ取捨選択部210は、逆投影に必要な投影データのみとなるように投影データを再編成する。図７を用いて、投影データ取捨選択部210の処理の詳細を説明する。図７の各横軸もビューを表している。
【００３４】
投影データ取捨選択部210では、投影データ取捨領域算出部209が算出したビュー範囲318, 319, 320, 321を用いて、原投影データ保存用メモリ205に格納されている投影データ（原投影データ）322から逆投影に必要な投影データ、すなわちビュー範囲318, 319, 320, 321に対応する投影データ323, 324, 325, 326を読み込む（ｇ）。そして、読み込んだ投影データを繋ぎ合わせて再編成した投影データ（再編成投影データ）327を再編成投影データ保存用メモリ212に書き込む（ｈ）。
【００３５】
（ステップＳ１０７）
再編成投影データビュー重み生成部211は、投影データ取捨選択部210で再編成した投影データに合わせて、全画像のビュー重みを生成する。図８を用いて、再編成投影データビュー重み生成部211の処理の詳細を説明する。図８の各横軸もビューを表している。
【００３６】
再編成投影データビュー重み生成部211では、投影データ取捨選択部210が再編成した投影データ（再編成投影データ）327に対して、各画像位置で断層像を作成するための各セグメントのビュー重みを生成する。ビュー重み生成部208が当初の投影データ（原投影データ）322に対して生成したセグメント数及びビュー重みの形状と同じであるが、投影データが再編成されたことにより、ビュー重みの位置が変化する。具体的には、投影データ327の各セグメント323’, 324’, 325’, 326’の中心302a’, 302b’, 302c’, 302d’がビュー重みの中心と一致するようにビュー重みを配置する。
【００３７】
画像位置304の断層像の場合（ｉ）、再編成された投影データ327の３個のセグメント323’, 324’, 325’を使用するが、セグメント324’, 325’の全ての投影データを使用しないため、ビュー重み328, 329, 330は互いに隣接しない。しかしながら、ビュー重み生成部208で生成したビュー重み305a, 306a, 307aと比較すると、その間の間隔は狭くなっている（図５参照）。画像位置309の断層像の場合（ｊ）、再編成された投影データ327の２個のセグメント324’, 325’の全ての投影データを使用するため、ビュー重み331, 332は互いに隣接している。画像位置313の断層像の場合（ｋ）、再編成された投影データ327の３個のセグメント324’, 325’, 326’を使用するが、セグメント324’, 325’の全ての投影データを使用しないため、ビュー重み333, 334, 335は互いに隣接しない。しかしながら、ビュー重み生成部208で生成したビュー重み314a, 315a, 316aと比較すると、その間の間隔は狭くなっている（図５参照）。
【００３８】
（ステップＳ１０８）
逆投影処理部214は、投影データ取捨選択部210が再編成した投影データ（再編成投影データ）327と再編成投影データビュー重み生成部211が生成したビュー重み328〜335とを用いて逆投影処理することで、断層像を作成する。この際、メインメモリ（再編成投影データ保存用メモリ212）からキャッシュ213に持ってきた投影データは常に逆投影処理に使用されることになり、キャッシュヒット率が向上する。
【００３９】
以上より、実施例１では従来と比較して、メインメモリからキャッシュへ持ってくる投影データのサイズが小さく、かつ、キャッシュに持ってきた投影データは必ず逆投影に使用されるため、キャッシュヒット率を向上させることができる。
【００４０】
また、先頭ビューから順に投影データにアクセスすることを想定しており、メモリ上を先頭から順にアクセスすることでハードウェア・プリフェッチが有効に働き、キャッシュヒット率を向上させることができるため、逆投影の処理時間短縮となり、ＣＴ検査のワークフローが向上する。
【００４１】
なお、心臓撮影を例として説明したが、心臓撮影に限定されるものではない。例えば、呼吸同期を用いたＣＴ撮影の時でも、生体信号として呼気・吸気を利用し、心電波形情報と同様に扱うことで実施例１の技術を適用可能である。
【実施例２】
【００４２】
実施例２では、キャッシュメモリの利用の効率化について図９を用いて説明する。
【００４３】
（ステップＳ２０１〜ステップＳ２０７）
ステップＳ２０１〜ステップＳ２０７は、それぞれ実施例１にて説明したステップＳ１０１〜ステップＳ１０７と同様であるため、説明を省略する。
【００４４】
（ステップＳ２０８）
再編成投影データビュー重み生成部211が生成したビュー重み328〜335を用いて、投影データの各ビューが同時に逆投影する断層像の枚数を調べる。図１０はその結果を示している。（ｈ）〜（ｋ）は図８と同じである。投影データ327上のビュー範囲401では、各ビューが逆投影対象となる断層像枚数は「１」となり、逆投影対象の画像は「画像位置304の断層像」及び「画像位置309の断層像」となる。投影データ327上のビュー範囲402では、各ビューが逆投影対象となる断層像枚数は「３」となり、逆投影対象の画像は「画像位置304の断層像」、「画像位置309の断層像」及び「画像位置313の断層像」となる。投影データ327上のビュー範囲403では、各ビューが逆投影対象となる断層像枚数は「１」となり、逆投影対象の画像は「画像位置309の断層像」となる。投影データ327上のビュー範囲404では、各ビューが逆投影対象となる断層像枚数は「３」となり、逆投影対象の画像は「画像位置304の断層像」、「画像位置309の断層像」及び「画像位置313の断層像」となる。投影データ327上のビュー範囲405では、各ビューが逆投影対象となる断層像枚数は「１」となり、逆投影対象の画像は「画像位置309の断層像」及び「画像位置313の断層像」となる。
【００４５】
例えば、投影データ327上のビュー範囲402の場合、逆投影対象は、画像位置304の断層像406、画像位置309の断層像407、画像位置313の断層像408の計３枚となり、１枚あたりのサイズが１ＭＢ（512pixel×512pixel×4byte）とすると、３枚で３ＭＢとなる。一方、１ビューあたりの投影データのサイズに関しては、0.25ＭＢ（1024ch×64slice×4byte）と仮定する。キャッシュメモリ213のサイズが 20 ＭＢの場合、他の処理にてキャッシュメモリ213を利用することを考慮して半分ほど空けておくとすると、逆投影に使用できるキャッシュサイズは10ＭＢとなる。断層像用に3ＭＢ使用し、残り7ＭＢを投影データ用に使用すると、28ビュー分（=7ＭＢ÷0.25ＭＢ）の投影データをキャッシュメモリ213上に置くことができる。
（ステップＳ２０９）
キャッシュメモリ213を使用して逆投影処理を行うためのプロセッサ409、メインメモリ412、キャッシュメモリ213の関係性について図１１を用いて説明する。プロセッサ409が逆投影処理をするためにメインメモリ412上からデータを読み出す時、一旦キャッシュメモリ213に持ってきた後に、プロセッサ409はキャッシュメモリ213からデータを読み出す。読み出したデータを用いて計算した後の結果は、キャッシュメモリ213に書き出した後に、キャッシュメモリ213からメインメモリ412に書き出される。プロセッサ409が次に同じデータを使用する時はキャッシュメモリ213上に存在するデータにアクセスすることになる。データ転送の速度は、キャッシュメモリ213−メインメモリ412間よりも、プロセッサ409−キャッシュメモリ213間の方が高速なため、キャッシュメモリ213に置いたデータをなるべく再利用することが望ましい。
【００４６】
したがって、投影データ327上のビュー範囲402を逆投影する場合においては（図１０参照）、３枚分の断層像データ411と、28ビュー分の投影データ410をメインメモリ412からキャッシュメモリ213に持ってくることで、逆投影に必要なデータはキャッシュメモリ213上にあるため、キャッシュヒット率の向上を図ることができる。28ビュー分の投影データ410を全て逆投影処理に使用した後は、次の28ビュー分の投影データをメインメモリ412から持ってくる。古い投影データに関してはアクセスされなくなるため、キャッシュメモリ213上から消えることになる。３枚分の断層像データに関しては、投影データ327のビュー範囲402の投影データを用いて逆投影している限りは変わらないため、キャッシュメモリ213上に残り続ける。
【００４７】
続く投影データ327のビュー範囲403では、逆投影対象は画像位置309の断層像407の１枚のみとなる。このため、１枚分の断層像データ（1ＭＢ）をキャッシュメモリ213に置いておけばよく、逆投影用の残る9ＭＢ分は投影データに充てることが可能になる。この場合、36ビュー分（9ＭＢ÷0.25ＭＢ）の投影データをキャッシュメモリ213に持ってくることができる。このように、投影データ327を各ビューが同時に逆投影する断層像の枚数に応じてビュー範囲を区分し、逆投影のためにあてるキャッシュメモリ容量から、同時に逆投影する断層像データをまず確保し、残るキャッシュメモリ容量を投影データの記憶のために用いることで、キャッシュミスをできるだけ少なくして効率的にキャッシュメモリ213を使用することができる。
【００４８】
プロセッサ409としてマルチコアプロセッサを使用する場合には、逆投影の計算結果の書き込み先（断層像）がマルチコア同士で競合しないように、断層像をブロック分割し、マルチコアに割り当てる。図１０の例では、断層像１枚あたり１６分割しているが、この分割数に限定されない。マルチコアの並列度を上げるため、ブロック分割数はマルチコア数よりも多い方が望ましい。もし、ブロック分割数がマルチコア数よりも少ない場合、一部のコアは演算中にも関わらず、別のコアはスリープ状態となるため、全てのマルチコアを活かすことができないためである。
【００４９】
以上、投影データの所定のビュー範囲にて、キャッシュメモリ213に持ってくる投影データのビュー数と断層像データの枚数とを適切に設定することにより、逆投影に必要なデータが全てキャッシュメモリ213に載せることができ、キャッシュヒット率が向上し、逆投影の処理時間短縮が可能になり、ＣＴ検査のワークフローが向上する。
【実施例３】
【００５０】
心臓は全身に血液を循環させるために、絶えずポンプ運動を繰り返す。そのポンプ運動において、心臓の動きが小さい時相（収縮期／拡張期）を探すために、複数の時相の断層像をまとめて生成し、その中から一番モーションアーチファクトの少ない断層像（心拍時相）を見つける場合がある。実施例３では、実施例１を応用して複数時相の断層像をまとめて作成する。
【００５１】
最初に、ビュー重み生成部208にて、各画像における複数時相のビュー重みを生成する。図１２は、所定の画像位置（画像位置504）での断層像の生成に必要なビュー範囲を算出する方法を説明するものであり、R波−R波間を0−100％とし、３個の心拍時相（25％、50％、75％）に合わせたビュー範囲を算出する例を示している。心拍時相25%をセグメント位置として設定する場合（ｃ）、画像位置504を中心とした使用セグメント範囲505の中には２個の25％の心拍時相501b, 501cが存在するため、心拍時相501b, 501cにあわせてセグメント506, 507を設定し、各セグメントのそれぞれに対してビュー重み506a, 507aを設定する。心拍時相50%をセグメント位置として設定する場合（ｄ）、画像位置504を中心とした使用セグメント範囲505の中には３個の50％の心拍時相502a, 502b, 502cが存在するため、心拍時相502a, 502b, 502cにあわせてセグメント508, 509, 510を設定し、各セグメントのそれぞれに対してビュー重み508a, 509a, 510aを設定する。心拍時相75%をセグメント位置として設定する場合（ｅ）、画像位置504を中心とした使用セグメント範囲505の中には２個の75％の心拍時相503a, 503bが存在するため、心拍時相503a, 503bにあわせてセグメント511, 512を設定し、各セグメントのそれぞれに対してビュー重み511a, 512aを設定する。
【００５２】
投影データ取捨領域算出部209は、３個の心拍時相（25％、50％、75％）に合わせて設定したセグメントを重ね合わせることで、画像位置504での断層像の生成に必要なビュー範囲513, 514, 515を生成する（ｆ）。ビュー範囲513〜515は、画像位置504にて全ての心拍時相の断層像を作成するために必要なビュー範囲を示している。
【００５３】
図１３は、画像位置504とは異なる画像位置516での断層像の生成に必要なビュー範囲を算出する方法を説明するものである。心拍時相25%をセグメント位置として設定する場合（ｇ）、画像位置516を中心とした使用セグメント範囲517の中には２個の25％の心拍時相501b, 501cが存在するため、心拍時相501b, 501cにあわせてセグメント518, 519を設定し、各セグメントのそれぞれに対してビュー重み518a, 519aを設定する。心拍時相50%をセグメント位置として設定する場合（ｈ）、画像位置516を中心とした使用セグメント範囲517の中には２個の50％の心拍時相502b, 502cが存在するため、心拍時相502b, 502cにあわせてセグメント520, 521を設定し、各セグメントのそれぞれに対してビュー重み520a, 521aを設定する。心拍時相75%をセグメント位置として設定する場合（ｉ）、画像位置516を中心とした使用セグメント範囲517の中には２個の75％の心拍時相503b, 503cが存在するため、心拍時相503b, 503cにあわせてセグメント522, 523を設定し、各セグメントのそれぞれに対してビュー重み522a, 523aを設定する。
【００５４】
投影データ取捨領域算出部209は、３個の心拍時相（25％、50％、75％）に合わせて設定したセグメントを重ね合わせることで、画像位置516での断層像の生成に必要なビュー範囲524, 525を生成する（ｊ）。ビュー範囲524, 525は、画像位置516にて全ての心拍時相の断層像を作成するために必要なビュー範囲を示している。
【００５５】
図１４は、画像位置504, 516とは異なる画像位置526での断層像の生成に必要なビュー範囲を算出する方法を説明するものである。心拍時相25%をセグメント位置として設定する場合（ｋ）、画像位置526を中心とした使用セグメント範囲527の中には２個の25％の心拍時相501c, 501dが存在するため、心拍時相501c, 501dにあわせてセグメント528, 529を設定し、各セグメントのそれぞれに対してビュー重み528a, 529aを設定する。心拍時相50%をセグメント位置として設定する場合（ｌ）、画像位置526を中心とした使用セグメント範囲527の中には３個の50％の心拍時相502b, 502c, 502dが存在するため、心拍時相502b, 502c, 502dにあわせてセグメント530, 531, 532を設定し、各セグメントのそれぞれに対してビュー重み530a, 531a, 532aを設定する。心拍時相75%をセグメント位置として設定する場合（ｍ）、画像位置526を中心とした使用セグメント範囲527の中には２個の75％の心拍時相503b, 503cが存在するため、心拍時相503b, 503cにあわせてセグメント533, 534を設定し、各セグメントのそれぞれに対してビュー重み533a, 534aを設定する。
【００５６】
投影データ取捨領域算出部209は、３個の心拍時相（25％、50％、75％）に合わせて設定したセグメントを重ね合わせることで、画像位置526での断層像の生成に必要なビュー範囲535, 536, 537を生成する（ｎ）。ビュー範囲535〜537は、画像位置526にて全ての心拍時相の断層像を作成するために必要なビュー範囲を示している。
【００５７】
図１５では、投影データ取捨領域算出部209が各画像位置での断層像を生成する３個の心拍時相（25％、50％、75％）のビュー重みを重ね合わせることで得られたビュー範囲513, 514, 515, 524, 525, 535, 536, 537を更に重ね合わせる様子を示す（ｏ）。画像位置504のビュー範囲513は、他に重ね合わせるビュー範囲がないため、結果としてビュー範囲513と同じ幅のビュー範囲538になる。ビュー範囲514は、画像位置516のビュー範囲524と画像位置526のビュー範囲535と重ね合わせることができる。ここで、ビュー範囲514とビュー範囲524とは同じ幅であるため、重ね合わせた後のビュー範囲539の幅は、ビュー範囲514及びビュー範囲524と同じになる。同様に、ビュー範囲515は、ビュー範囲525とビュー範囲536と重ね合わせることができ、ビュー範囲525とビュー範囲536とは同じ幅であるため、重ね合わせた後のビュー範囲540の幅は、ビュー範囲525及びビュー範囲536と同じになる。画像位置526のビュー範囲537は、他に重ね合わせるビュー範囲がないため、結果としてビュー範囲537と同じ幅のビュー範囲541となる。このようにして算出されたビュー範囲538, 539, 540, 541は、３個の画像位置において、かつ３つの心拍時相での断層像の生成に必要な領域を表すビュー範囲となる。なお、今回は３個の画像位置での断層像を作成する例を説明したが、特に枚数の制限はない。また、本例でもビュー重みはセグメント位置の投影データのビュー重みを最大としてその前後で漸増、漸減するようになっているが、このようなパターンに限定されるものではなく、撮影条件にしたがって任意に決めることができる。
【００５８】
図１６では、図１５にて説明した取捨領域に基づき、投影データ取捨選択部210が投影データを再編成する方法を説明する。投影データ取捨選択部210は、投影データ取捨領域算出部209が算出したビュー範囲538〜541を用いて、原投影データ保存用メモリ205に格納されている投影データ（原投影データ）322から逆投影に必要な投影データのみ読み込む（ｐ）。そして、読み込んだ投影データを繋ぎ合わせて再編成した投影データ（再編成投影データ）546を再編成投影データ保存用メモリ212に書き込む（ｑ）。
【００５９】
図１７では、再編成投影データビュー重み生成部211が再編成投影データ546に対して、各心拍時相における全画像のビュー重みを生成する処理の詳細を説明する。ビュー重み生成部208が当初の投影データ（原投影データ）322に対して生成したセグメント数及びビュー重みの形状（図１２〜１４を参照）と同じであるが、投影データが再編成されたことにより、ビュー重みの位置が変化する。
【００６０】
画像位置504、心拍時相25％の断層像の場合（ｒ）、再編成された投影データ546の２個のセグメント543’, 544’を使用するが、それぞれビュー重みの左端が各セグメントの左端に位置するよう、ビュー重み547, 548が配置される。画像位置504、心拍時相50％の断層像の場合（ｓ）、再編成された投影データ546の３個のセグメント542’, 543’ , 544’を使用するが、ビュー重み549の左端がセグメント542’の左端に位置するよう、またそれぞれビュー重みの中央がセグメント543’, 544’の中央に位置するようビュー重み550, 551が配置される。画像位置504、心拍時相75％の断層像の場合（ｔ）、再編成された投影データ546の２個のセグメント542’, 543’を使用するが、それぞれビュー重みの右端が各セグメントの右端に位置するよう、ビュー重み552, 553が配置される。
【００６１】
画像位置516、心拍時相25％の断層像の場合（ｕ）、再編成された投影データ546の２個のセグメント543’, 544’を使用するが、それぞれビュー重みの左端が各セグメントの左端に位置するよう、ビュー重み554, 555が配置される。画像位置516、心拍時相50％の断層像の場合（ｖ）、再編成された投影データ546の２個のセグメント543’ , 544’を使用するが、それぞれビュー重みの中央がセグメントの中央に位置するようビュー重み556, 557が配置される。画像位置516、心拍時相75％の断層像の場合（ｗ）、再編成された投影データ546の２個のセグメント543’, 544’を使用するが、それぞれビュー重みの右端が各セグメントの右端に位置するよう、ビュー重み558, 559が配置される。
【００６２】
画像位置526、心拍時相25％の断層像の場合（ｘ）、再編成された投影データ546の２個のセグメント544’, 545’を使用するが、それぞれビュー重みの左端が各セグメントの左端に位置するよう、ビュー重み560, 561が配置される。画像位置526、心拍時相50％の断層像の場合（ｙ）、再編成された投影データ546の３個のセグメント543’, 544’ , 545’を使用するが、ビュー重み564の右端がセグメント545’の右端に位置するよう、またそれぞれビュー重みの中央がセグメント543’, 544’の中央に位置するようビュー重み562, 563が配置される。画像位置526、心拍時相75％の断層像の場合（ｚ）、再編成された投影データ546の２個のセグメント543’, 544’を使用するが、それぞれビュー重みの右端が各セグメントの右端に位置するよう、ビュー重み565, 567が配置される。
【００６３】
逆投影処理部214は、再編成投影データ546と再編成投影データ546に合わせて生成したビュー重み547〜567を用いて逆投影処理することで、断層像を作成する。この際、投影データは常に逆投影処理に使用されるため、メインメモリ（再編成投影データ保存用メモリ212）からキャッシュメモリ213に持ってきた投影データは必ず使用されることになり、キャッシュヒット率が向上し、逆投影の処理時間短縮につながる。
【００６４】
なお、本実施例は実施例２と組み合わせて使用することも可能である。
【符号の説明】
【００６５】
101：スキャナ、102：寝台、103：操作卓、104：ディスプレイ、105A：キーボード、105B：マウス、106：被検体、107：Ｘ線管球、108：Ｘ線検出器、109：心電波形取得装置、110：Ｘ線制御部、111：ガントリ制御部、112：寝台制御部、113：検出器制御部、114：システム制御部、115：画像作成部、116：画像表示部、117：操作部。
【図１】
2019004980.tif 000003
【図２】
2019004980.tif 000004
【図３】
2019004980.tif 000005
【図４】
2019004980.tif 000006
【図５】
2019004980.tif 000007
【図６】
2019004980.tif 000008
【図７】
2019004980.tif 000009
【図８】
2019004980.tif 000010
【図９】
2019004980.tif 000011
【図１０】
2019004980.tif 000012
【図１１】
2019004980.tif 000013
【図１２】
2019004980.tif 000014
【図１３】
2019004980.tif 000015
【図１４】
2019004980.tif 000016
【図１５】
2019004980.tif 000017
【図１６】
2019004980.tif 000018
【図１７】
2019004980.tif 000019
【図１８】
2019004980.tif 000020