(57)【要約】      （修正有）【課題】計算負荷を抑制し、計算時間がを短縮できるボリュームレンダリング像の作成方法を提供する。【解決手段】２次元投影画像の生成領域をＮ個の分割生成領域に分割し、複数の２次元の断層画像と各画素を対応させたボクセル画像に対して、分割生成領域の各画素より視線方向に仮想光線を照射し、各仮想光線が交差するボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に代表信号値を算出し、代表信号値を仮想光線が照射された分割生成領域の画素の画素値として与えることにより、各分割生成領域に対して、分割画像を生成する２次元投影画像生成手段７０を有し、２次元投影画像生成手段７０は、Ｎ個の分割生成領域に対して分割画像を生成する処理を並行して実行し２次元投影画像を生成する。【選択図】図３
2020038589.tif 000002
【特許請求の範囲】
【請求項１】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するためのレンダリング装置であって、
前記２次元投影画像を生成する領域である生成領域をＮ個の分割生成領域に分割し、
前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像と前記仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段を有し、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記２次元投影画像を生成するレンダリング装置。
【請求項２】
前記２次元投影画像生成手段は、前記代表信号値として前記抽出された複数のボクセルの信号値の最大値、最小値または平均値のいずれかを算出するようにしている請求項１に記載のレンダリング装置。
【請求項３】
前記２次元投影画像生成手段は、
前記各分割生成領域が所定の視線方向と交差する領域として視点座標系に定義されている場合、
前記視点座標系において、前記分割生成領域の各画素より、前記視線方向において所定の参照間隔で前記ボクセル画像の対応する複数のボクセルの信号値を取得し、取得された複数のボクセルの信号値を基に前記単一の代表信号値を算出する請求項１または請求項２に記載のレンダリング装置。
【請求項４】
前記２次元投影画像生成手段は、
前記分割生成領域の所定の画素において、前記視線方向の上限値を探索開始座標として、有効範囲に含まれる前記視線方向のうち最大となる座標値を起点座標として、探索する起点座標探索手段を備え、
前記起点座標探索手段により算出された起点座標より下限値に向けて所定数ｍ１で前記視線方向における座標を減じながら、視点座標系の３次元座標ごとに所定の座標変換を行って前記ボクセル画像の対応するボクセルの信号値を算出するようにしている請求項３に記載のレンダリング装置。
【請求項５】
前記２次元投影画像生成手段は、
前記分割生成領域の所定の画素に対して、前記視線方向の座標において算出されたボクセルの信号値が前記有効範囲に含まれ、前記所定数ｍ１を減じた後の前記視線方向の座標において算出されたボクセルの信号値が前記有効範囲に含まれない場合、
前記起点座標探索手段は、前記所定数ｍ１を減じた後の前記視線方向の座標を探索開始座標として、前記有効範囲に含まれる起点座標を探索するようにしている請求項４に記載のレンダリング装置。
【請求項６】
前記起点座標探索手段は、
前記視線方向の座標を所定の上限値より所定の下限値の範囲で前記所定数ｍ１より大きい所定数ｍ２（ｍ２＞ｍ１）で減算させて、各３次元座標に対して、前記座標変換を行ってボクセルの信号値を算出し、
前記所定数ｍ２の減算後の前記視線方向の座標におけるボクセルの信号値が前記有効範囲に含まれる場合は、前記減算後の前記視線方向の座標より前記所定数ｍ１を増加させて各３次元座標に対して、前記座標変換を行ってボクセルの信号値を算出する請求項４または請求項５に記載のレンダリング装置。
【請求項７】
前記所定数ｍ１の増加後の前記視線方向の座標における３次元座標に対応するボクセルの信号値が前記有効範囲に含まれない場合は、前記所定数ｍ１の増加後の前記視線方向の座標からｍ１だけ減算した値を前記起点座標として与えるようにする請求項６に記載のレンダリング装置。
【請求項８】
前記所定数ｍ２の減算後の前記視線方向の座標におけるボクセルの信号値のいずれもが前記有効範囲に含まれない場合は、前記起点座標として前記視線方向の座標の下限値より小さい値を与えるようにしている請求項６または請求項７に記載のレンダリング装置。
【請求項９】
前記起点座標探索手段は、
前記座標変換を行って実数値のボクセル座標を算出し、算出された実数値のボクセル座標の各値を四捨五入して整数値のボクセル座標を取得し、
前記取得した整数値のボクセル座標が所定の有効領域に含まれる場合、前記ボクセル座標に対応する前記ボクセル画像の画素値を前記３次元座標に対応するボクセルの信号値として与え、
前記ボクセル座標が前記有効領域に含まれない場合は、前記３次元座標に対応するボクセルの信号値として、前記有効範囲に含まれない値を与える請求項８に記載のレンダリング装置。
【請求項１０】
前記２次元投影画像生成手段は、
前記座標変換を行って実数値のボクセル座標を算出し、算出された実数値のボクセル座標の近傍に位置する整数値のボクセル座標を複数個取得し、
取得された複数の整数値のボクセル座標の中で、所定の有効領域に含まれる整数値のボクセル座標に対応する前記ボクセル画像の複数のボクセルを特定し、特定した複数のボクセルの各信号値に所定の重みを掛けながら加算した値を、前記３次元座標に対応するボクセルの信号値として与えるようにしている請求項４に記載のレンダリング装置。
【請求項１１】
前記ボクセル画像を構成する各断層画像のｘ軸方向の左端に対応する座標をＸｓｏ、ｘ軸方向の右端に対応する座標をＸｅｏ、ｙ軸方向の上端に対応する座標をＹｓｏ、ｙ軸方向の下端に対応する座標をＹｅｏ、最初の断層画像が配置されるｚ座標をＺｓｏ、最終の断層画像が配置されるｚ座標をＺｅｏとすると、Ｘｓｏ≦Ｘｓ＜Ｘｅ≦Ｘｅｏ、Ｙｓｏ≦Ｙｓ＜Ｙｅ≦Ｙｅｏ、Ｚｓｏ≦Ｚｓ＜Ｚｅ≦Ｚｅｏを満たす、６つの座標Ｘｓ，Ｘｅ，Ｙｓ，Ｙｅ，Ｚｓ，Ｚｅが定義されている場合、
前記有効領域は、前記６つの座標Ｘｓ，Ｘｅ，Ｙｓ，Ｙｅ，Ｚｓ，Ｚｅに囲まれた領域である請求項９または請求項１０に記載のレンダリング装置。
【請求項１２】
前記ボクセル画像に対応して、０（表示しない）または１（表示する）の値をもつマスクデータＭａｓｋがあらかじめ定義されている場合、前記有効領域は、Ｍａｓｋ＝１である請求項９から請求項１１のいずれか一項に記載のレンダリング装置。
【請求項１３】
前記座標変換のパラメータを入力する座標変換パラメータ入力手段と、前記２次元投影画像生成手段により生成される２次元投影画像を表示出力する画像出力手段を更に備え、
外部より所定の変更指示が行われている場合には、
前記座標変換パラメータ入力手段により、座標変換パラメータの入力を行い、
所定の間隔で間引きながら、前記２次元投影画像の画素に対して、前記２次元投影画像生成手段を実行し、残りの画素に対しては、前記２次元投影画像生成手段が実行された画素を基に補間するようにして生成された２次元投影画像を、前記画像出力手段は表示するようにし、
前記所定の確定指示がなされた場合には、
前記座標変換パラメータ入力手段により、座標変換パラメータの入力を行い、
前記２次元投影画像の全ての画素に対して、前記２次元投影画像生成手段が実行され生成された２次元投影画像を、前記画像出力手段は表示するようにしている請求項９から請求項１２のいずれか一項に記載のレンダリング装置。
【請求項１４】
前記２次元投影画像生成手段により生成された２次元投影画像の各画素値が８ビットを超える階調をもつ場合に、あらかじめ定義された階調の下限値Ｌｍｉｎと階調の上限値Ｌｍａｘを用い、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＬｍｉｎ≦Ｉｍａｇｅ（ｘ，ｙ）≦Ｌｍａｘの場合、前記画素値を（Ｉｍａｇｅ（ｘ，ｙ）´＝（Ｉｍａｇｅ（ｘ，ｙ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ（ｘ，ｙ）−Ｌｍｉｎ）とし、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＩｍａｇｅ（ｘ，ｙ）＞Ｌｍａｘの場合、前記画素値をＩｍａｇｅ´（ｘ，ｙ）＝２５５とし、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＩｍａｇｅ（ｘ，ｙ）＜Ｌｍｉｎの場合、前記画素値をＩｍａｇｅ´（ｘ，ｙ）＝０として、
前記各画素値を８ビットの階調に変換して表示するようにしている請求項１３に記載のレンダリング装置。
【請求項１５】
前記生成領域をｘ軸方向、ｙ軸方向の２次元の領域とした場合、
前記Ｎ個の分割生成領域は、ｘ軸方向のみまたはｙ軸方向のみに分割されたものであり、
各分割生成領域は、１つの連続した領域である請求項１から請求項１４のいずれか一項に記載のレンダリング装置。
【請求項１６】
前記生成領域をｘ軸方向、ｙ軸方向の２次元の領域とした場合、前記各分割生成領域は、複数の離れたブロックである請求項１から請求項１４のいずれか一項に記載のレンダリング装置。
【請求項１７】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するため、
コンピュータを、
前記２次元投影画像を生成する領域である生成領域をＮ個の分割生成領域に分割し、前記分割生成領域の各画素より前記視線方向に仮想光線を照射し、前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像と前記仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段として機能させ、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し前記２次元投影画像を生成するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、二次元の断層画像を複数枚用いて、３次元的に可視化するためのレンダリング技術に関する。
【背景技術】
【０００２】
従来、ＣＴ、ＭＲＩ、ＰＥＴなど医療画像診断機器（モダリティ）により所定のスライス間隔で連続的に撮像され、ＤＩＣＯＭ形式等でＰＡＣＳ（Picture Archiving and Communication Systems）等の医療情報システムに保管されている複数の断層画像を基に、臓器等を３次元的に可視化することが行われている。
【０００３】
３次元の情報を２次元に投影した２次元投影画像として可視化した画像の１つに、ＭＩＰ（Maximum  Intensity  Projection）画像がある。ＭＩＰ画像は、ＭＩＰ（ＭＰＲのＭＩＰ表示モードと区別するため３Ｄ−ＭＩＰともいう）というボリュームレンダリングの一手法であり、レイキャスティング法と同様なアルゴリズムで生成される。このＭＩＰ画像を始めとするボリュームレンダリング像の作成は、、計算負荷が高く、計算時間が長くなるという問題がある。
【０００４】
これに対して、生成するＭＩＰ画像をｘｙ軸方向に所定の間隔で間引きながらＭＩＰ画素を探索し、間引きされた画素に対しては、近傍で既に探索されたＭＩＰ画素の深さ方向の位置を中心に限定した範囲でＭＩＰ画素を探索することにより、高速化する手法が提案されている（特許文献１参照）。また、ＭＩＰ画像を回転表示させるにあたり、任意のアングルで再計算する方法をとると、リアルタイムな表示が行えないため、８方向に限定し、正八面体に投影した像をあらかじめ算出しておき、ユーザ指定により、８方向のいずれかにリアルタイムに回転させ、併せて表示像のアングルを提示する手法も提案されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−４６２０７号公報
【特許文献２】特開２００１−２２９３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１、特許文献２に記載の技術では、ＭＩＰ画素を探索する範囲を狭くする方法をとっているため、ＭＩＰ表示モードでは問題が生じにくいが、ＲａｙＳｕｍのようにレイ方向に配列している全ボクセルの平均値を算出するという表示モードを実現できないという問題がある。即ち、特許文献１では、演算抑制の効果はＭＩＰモードに限定され、ＲａｙＳｕｍモードやＭｉｎＩＰモードでは演算抑制の効果が働かない。また、特許文献２に記載の技術では、８方向以外のアングルでは再計算が必要になるため、任意の角度にアングルを微調整したいという要望に応えられないという問題がある。即ち、特許文献２では、演算抑制の効果は特定のアングルに限定され、任意の角度にアングルを微調整する場合、演算抑制の効果が働かない。
【０００７】
要するに、特許文献１、特許文献２に記載の技術では、適用される表示方法が限定されてしまう。
【課題を解決するための手段】
【０００８】
本開示は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、
対象物に対して所定の間隔で撮影され、各画素に信号値が付与された複数の２次元の断層画像に基づいて、視線方向を通過する各画素の信号値を基に算出された代表信号値で構成される２次元投影画像を生成するためのレンダリング装置であって、
前記２次元投影画像を生成する領域である生成領域をＮ個の分割生成領域に分割し、前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像と各仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域の画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段を有し、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対して分割画像を生成する処理を並行して実行し前記２次元投影画像を生成する。
【０００９】
また、本開示は、
対象物に対して所定の間隔で撮影され、各画素に信号値が付与された複数の２次元の断層画像に基づいて、視線方向を通過する各画素の信号値を基に算出された代表信号値で構成されるモノクロ画像を生成するため、
コンピュータを、
前記モノクロ画像の生成領域をＮ個の分割生成領域に分割し、前記複数の２次元の断層画像と各画素を対応させたボクセル画像に対して、前記分割生成領域の各画素より視線方向に仮想光線を照射し、各仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域の画素の画素値として与えることにより、各分割生成領域に対して、分割画像を生成するモノクロ画像生成手段として機能させ、
前記モノクロ画像生成手段は、前記Ｎ個に分割された分割生成領域に対して分割画像を生成する処理を並行して実行し、得られた分割画像を統合して前記モノクロ画像を生成するプログラムを提供する。
【発明の効果】
【００１０】
本開示によれば、複数の断層画像を用いて３次元的に可視化するための２次元投影画像の生成処理の速度を向上させることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】複数の断層画像と、生成されるモノクロの２次元投影画像であるＭＩＰ画像を示す図である。
【図２】本開示の一実施形態に係るレンダリング装置１００のハードウェア構成図である。
【図３】本実施形態に係るレンダリング装置の構成を示す機能ブロック図である。
【図４】本実施形態に係るレンダリング装置の処理動作を示すフローチャートである。
【図５】ＭＩＰ画像生成の詳細を示すフローチャートである。
【図６】座標変換の概念図である。
【図７】図５のステップＳ５４０における分割画像生成処理を示すフローチャートである。
【図８】図７のステップＳ６２０における代表信号値Ｖｍの算出処理を示すフローチャートである。
【図９】起点座標探索手段７７が各画素において起点座標を探索する処理を示すフローチャートである。
【図１０】生成されたＭＩＰ画像の例を示す図である。
【図１１】コンピュータによりレンダリング装置１００を実現する場合の並列化処理を示す図である。
【図１２】コンピュータによりレンダリング装置１００を実現する場合の並列化処理のソフトウェアによる流れを示す図である。
【図１３】プログレッシブレンダリングの処理手順を示すフローチャートである。
【図１４】プログレッシブレンダリングにより表示された画面例を示す図である。
【図１５】生成領域を複数の分割生成領域に分割する場合の様々な態様を示す図である。
【図１６】各処理スレッドの終了ごとに表示処理を行う場合の並列化処理のソフトウェアによる流れを示す図である。
【発明を実施するための形態】
【００１２】
以下、本開示の好適な実施形態について図面を参照して詳細に説明する。
本開示は、複数の断層画像に基づいて、所定の値をもつ２次元投影画像であるＭＩＰ画像を生成するものである。図１は、複数の断層画像と、生成される２次元投影画像であるＭＩＰ画像を示す図である。図１（ａ）は複数の断層画像、図１（ｂ）は１枚の断層画像、図１（ｃ）は２次元投影画像である。図１（ａ）（ｂ）に示す断層画像は、ＤＩＣＯＭ形式のものを示している。図１（ａ）は、３７０枚の断層画像群であり、図１（ｂ）は、そのうちの１枚を拡大したものである。後述する実施形態のレンダリング装置では、図１（ａ）に示したような複数の断層画像に対してレンダリング処理を実行して、図１（ｃ）に示したような１枚の２次元投影画像を生成する。図１（ｃ）に示した２次元投影画像は、広義のＭＩＰ画像と呼ばれ、各画素が単一の信号値を有している。広義のＭＩＰ画像は、単一の信号値として最大値を記録した「狭義のＭＩＰ」、単一の信号値として最小値を記録したＭｉｎＩＰ、単一の信号値として平均値を記録したＲａｙＳｕｍを含んでいる。以降、本明細書では、何らかの単一の信号値を記録した２次元投影画像である広義のＭＩＰ画像を、単にＭＩＰ画像と呼ぶことにする。なお、本実施形態で生成する２次元投影画像はモノクロのＭＩＰ画像であるが、モノクロ画像以外の２次元投影画像を生成することもできる。また、本開示におけるレンダリング装置におけるレンダリング処理は、「狭義のＭＩＰ」、「ＭｉｎＩＰ」、「ＲａｙＳｕｍ」等に限定されず、レイキャスティング等、他のレンダリング処理にも適用される。
【００１３】
＜１．装置構成＞
図２は、本開示の一実施形態に係るレンダリング装置１００のハードウェア構成図である。本実施形態に係るレンダリング装置１００は、汎用のコンピュータで実現することができ、図２に示すように、ＣＰＵ（Central Processing Unit）１と、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２と、ＣＰＵ１が実行するプログラムやデータを記憶するためのハードディスク、ＳＳＤ（Solid State Drive）、フラッシュメモリ等の大容量の記憶装置３と、キーボード、マウス等の指示入力Ｉ／Ｆ（インターフェース）４と、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５と、液晶ディスプレイ等の表示デバイスである表示部６と、グラフィックスに特化した演算処理部であるＧＰＵ（Graphics Processing Unit）７と、表示部６に表示する画像を保持するフレームメモリ８と、を備え、互いにバスを介して接続されている。ＧＰＵ７による演算結果はフレームメモリ８に書き込まれるため、ＧＰＵ７とフレームメモリ８は、表示部６へのインタフェースを備えたビデオカードに搭載されて汎用のコンピュータにバス経由で装着されていることが多い。
【００１４】
本実施形態において、ＣＰＵ１は、マルチコアＣＰＵであり、複数のＣＰＵコアを有し、並列処理が可能となっている。図２の例では、ＲＡＭ２が１つだけ示されているが、ＣＰＵ１の各ＣＰＵコアが、１つのＲＡＭ２にアクセスするように構成されている。なお、ＣＰＵ１は複数であってもよい。またマルチコアＣＰＵは、論理的に複数のＣＰＵコアを有するＣＰＵであってもよい。
【００１５】
図３は、本実施形態に係るレンダリング装置の構成を示す機能ブロック図である。図３において、１０は断層画像読込手段、１５は座標変換パラメータ入力手段、２０はＲＯＩクリッピング設定手段、２５はマスク設定手段、３０はボクセル画像作成手段、７０は２次元投影画像生成手段、８０は画像出力手段である。
【００１６】
断層画像読込手段１０は、ＣＴ、ＭＲＩ、ＰＥＴなどの医用画像診断機器により収集および蓄積されたＰＡＣＳから、記憶媒体や入力部を経由して、複数の断層画像を読み込む手段である。断層画像は、対象物に対して所定の間隔で撮影されて得られたものであり、各画素に信号値が付与された２次元の断層画像である。座標変換パラメータ入力手段１５は、座標変換のためのパラメータを入力する手段である。ＲＯＩクリッピング設定手段２０は、読み込んだ複数の断層画像のうち、ボクセル画像の作成対象を、関心領域であるＲＯＩとして設定する手段である。マスク設定手段２５は、読み込んだ複数の断層画像のうち、表示させない領域をマスク設定する手段である。ボクセル画像作成手段３０は、複数の２次元の断層画像を所定の間隔でｚ軸方向に配置し、断層画像の各画素を三次元に配置した各ボクセルに対して、断層画像の各画素の画素値である信号値をもたせたボクセル画像を作成する手段である。
【００１７】
２次元投影画像生成手段７０は、ボクセル画像を用いてモノクロのボリュームレンダリング像であるＭＩＰ画像を生成する手段である。２次元投影画像生成手段７０は、２次元投影画像であるＭＩＰ画像として、狭義のＭＩＰ、ＭＩｎＩＰ、ＲａｙＳｕｍの３種類を生成可能となっている。画像出力手段８０は、生成されたＭＩＰ画像を所定の態様で出力する手段である。通常は、表示部６等に表示出力が行われる。
【００１８】
断層画像読込手段１０は、ＣＰＵ１が補助しながら、主にデータ入出力Ｉ／Ｆ５において実現される。座標変換パラメータ入力手段１５は、ＣＰＵ１が補助しながら、主に指示入力Ｉ／Ｆ４において実現される。ＲＯＩクリッピング設定手段２０は、ＣＰＵ１が補助しながら、主に指示入力Ｉ／Ｆ４において実現される。マスク設定手段２５は、ＣＰＵ１が補助しながら、主に指示入力Ｉ／Ｆ４および表示部６において実現される。２次元投影画像生成手段７０は、マルチコアＣＰＵであるＣＰＵ１が、プログラムを実行することにより実現される。このプログラムは、ＭＩＰ画像の生成領域を複数の分割生成領域に分割し、各コアに各分割生成領域を割り当てて、各コアがＭＩＰ画像の分割画像を生成する処理を並行して行う。画像出力手段８０は、ＣＰＵ１が補助しながら、主にフレームメモリ８と表示部６において実現される。
【００１９】
図３に示した各構成手段は、現実には図２に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。本実施形態においては、ＣＰＵがマルチコアＣＰＵであることが好ましい。ＣＰＵが、マルチコアＣＰＵでなくても、複数のＣＰＵで構成されるマルチプロセッサ構成などプログラムを並行して実行可能な並列処理を可能とする構成である必要がある。なお、本明細書において、コンピュータとは、ＣＰＵ、ＧＰＵ等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、マルチコアＣＰＵを搭載するタブレットなどの携帯端末や様々な装置に組み込まれたコンピュータも含む。
【００２０】
＜２．処理動作＞
次に、図２、図３に示したレンダリング装置の処理動作について説明する。図４は、本実施形態に係るレンダリング装置の処理動作を示すフローチャートである。まず、断層画像読込手段１０が、複数の断層画像を読み込む。複数の断層画像は、図１（ａ）に示したような態様のものである。本実施形態では、ＤＩＣＯＭ形式の断層画像群Ｄｏ（ｘ，ｙ，ｚ）（−３２７６８≦Ｄｏ（ｘ，ｙ，ｚ）≦３２７６７，０≦ｘ≦Ｓｘ−１，０≦ｙ≦Ｓｙ−１，０≦ｚ≦Ｓｚ−１; 解像度：Ｒｘｙ，Ｒｚ）を読み込むものとする。断層画像群Ｄｏ（ｘ，ｙ，ｚ）は１画素が１６ビットで記録されるため、−３２７６８〜３２７６７の信号値Ｄｏ（ｘ，ｙ，ｚ）が記録されている。断層画像群Ｄｏ（ｘ，ｙ，ｚ）は、ｘ座標のサイズ（画素数）がＳｘ、ｙ座標のサイズ（画素数）がＳｙの断層画像が、Ｓｚ枚積層されたものである。図１（ｂ）における１枚の断層画像の左右方向がｘ軸、上下方向がｙ軸に対応し、図１（ａ）に示した複数の断層画像を重ねた場合の積層方向がｚ軸に対応する。
【００２１】
ＤＩＣＯＭ形式の複数の断層画像を読み込んだら、ＲＯＩクリッピング設定手段２０が、ＲＯＩクリッピング設定を行う（ステップＳ１０）。ＲＯＩとはＲｅｇｉｏｎ  ｏｆ  Ｉｎｔｅｒｅｓｔの略であり、本願明細書では３次元空間における関心領域を意味する（学術的には、ＲＯＩは２次元領域を指し、３次元領域の場合、ＶＯＩ（Ｖｏｌｕｍｅ  ｏｆ  Ｉｎｔｅｒｅｓｔ）と称するが、医用画像業界では３次元領域でもＲＯＩが多用される）。ここでは、ＭＩＰ画像およびボクセル画像の作成対象とする領域を示す。ＲＯＩを設定することにより、３次元的に任意の位置で被写体を断裁したＭＩＰ画像を生成することができ、体表や骨に隠れた臓器や臓器の内部を描出するのに用いられる。ステップＳ２０以降の処理において、所定の範囲にボクセル画像作成対象が限定されるように、ステップＳ１０においてＲＯＩを設定する。
【００２２】
読み込んだ各断層画像のｘ軸方向の左端に対応する座標をＸｓｏ、ｘ軸方向の右端に対応する座標をＸｅｏ、ｙ軸方向の上端に対応する座標をＹｓｏ、ｙ軸方向の下端に対応する座標をＹｅｏ、第１スライスの断層画像に対応する座標をＺｓｏ、最終スライスの断層画像に対応する座標をＺｅｏとすると、Ｘｓｏ≦Ｘｓ＜Ｘｅ≦Ｘｅｏ、Ｙｓｏ≦Ｙｓ＜Ｙｅ≦Ｙｅｏ、Ｚｓｏ≦Ｚｓ＜Ｚｅ≦Ｚｅｏを満たす［Ｘｓ，Ｘｅ］、［Ｙｓ，Ｙｅ］、［Ｚｓ，Ｚｅ］の６つの座標による直方体で定義される領域をＲＯＩと定義し処理対象として特定する。ステップＳ１０におけるＲＯＩクリッピング設定の結果、処理対象の画素数が（Ｘｅｏ−Ｘｓｏ＋１）×（Ｙｅｏ−Ｙｓｏ＋１）×（Ｚｅｏ−Ｚｓｏ＋１）画素から、（Ｘｅ−Ｘｓ＋１）×（Ｙｅ−Ｙｓ＋１）×（Ｚｅ−Ｚｓ＋１）画素に削減されることになる。ＲＯＩクリッピング設定手段２０によるステップＳ１０のＲＯＩクリッピング設定を行うことにより、観察対象の臓器を露出させたＭＩＰ画像が得られるという効果に加え、処理対象の画素が減って処理負荷を抑え応答性を向上させることができるという二重のメリットがあるため、設定される場合が多いが、必須の処理ではなく省略することも可能である。尚、ステップＳ１０のＲＯＩクリッピング設定の段階では、ＲＯＩクリッピングを適用する範囲を定義するだけで、具体的なクリッピング処理は、ステップＳ２０以降の各処理で実行される。各々の処理において、ボクセル画像のＲＯＩ範囲に限定して演算が行われることにより処理負荷が軽減され、ステップＳ７０のＭＩＰ画像生成処理でクリッピング（断裁）されたレンダリング像が生成される。
【００２３】
ＲＯＩクリッピング設定手段２０により、ＲＯＩクリッピング設定が行われたら、次に、マスク設定手段２５が、マスク設定を行う（ステップＳ１５）。マスク設定とは、断層画像の各画素を表示させるか否かの設定である。マスク設定の手法は、特に限定されないが、本実施形態では、ステップＳ１０において読み込んだ断層画像群をＭＰＲ画像（アキシャル・コロナル・サジタルの３画面）として画面表示するとともに、本願明細書に記載の方法に基づいて作成されるＭＩＰ画像または公知の手法により作成されるボリュームレンダリング像を表示させ、これら２次元投影された複数の画像の中から最も指示がしやすい画像を選択し、選択した画像の２次元領域を指示しながら、マスクして表示させない範囲とマスクせずに表示させる領域を特定する。
【００２４】
また、ＭＩＰ画像の場合、公知のボリュームレンダリング像のようにカラーマップにより特定の信号領域を透明にするなどの制御ができないため、何も手を加えないと、骨領域だけが鮮明に映り他の臓器がボケてしまう。そこで本実施形態では、公知の骨除去手法を適用し、骨領域をマスクしたマスクデータを自動的に生成する機能も搭載している。このマスク設定により、断層画像群に対応した３次元空間におけるマスクデータが得られる。マスクデータＭａｓｋ（ｘ，ｙ，ｚ）は、断層画像群Ｄｏ（ｘ，ｙ，ｚ）の各画素に対応して“０”か“１”かのいずれかの値が設定されたものである。ＭＩＰ画像の場合、マスクデータを使用しないと、骨領域だけが鮮明に映り他の臓器がボケてしまうため、このような３次元マスクを作成する処理は必須の処理に近いが、省略することも可能である。
【００２５】
観察対象の臓器を描出する方法として、上述のＲＯＩクリッピングもあるが、３次元マスクに比べ操作が簡便であり、処理負荷も減少するため、ＲＯＩクリッピング処理も併用される頻度が多い。ＲＯＩクリッピング設定手段２０、マスク設定手段２５により表示させるべき特定の領域が設定されることになるが、両手段で設定されている場合は、いずれも表示すべき領域として設定された領域が有効領域となり、いずれか一方が設定されている場合は、その結果、表示すべき領域として設定された領域が有効領域となる。ＲＯＩクリッピング設定手段２０、マスク設定手段２５のどちらにも設定されない場合は、読み込まれた断層画像群の全領域が有効領域となる。
【００２６】
次に、ボクセル画像作成手段３０が、ボクセル画像作成処理を行う（ステップＳ２０）。ボクセル画像とは、断層画像の各画素が三次元空間にボクセルとして配置されたボクセル構造体である。ステップＳ２０における具体的な処理としては、クリッピング設定、マスク設定後の断層画像の有効領域（ＲＯＩ、マスクにより特定）に含まれる各画素の信号値を、対応する各ボクセルに付与し、ボクセル画像を作成する。
【００２７】
ステップＳ２０においては、ボクセル画像作成手段３０が、複数の断層画像のＸｓ≦ｘ≦ＸｅかつＹｓ≦ｙ≦ＹｅかつＺｓ≦ｚ≦Ｚｅの領域に対応する各画素（ｘ，ｙ，ｚ）における信号値を取得する。複数（Ｓｚ）枚の断層画像における全ての画素に対して、この処理を行うことにより、複数枚の断層画像に対応した三次元のボクセル画像Ｖ（ｘ，ｙ，ｚ）が得られる。本実施形態では、ＤＩＣＯＭ形式の断層画像群Ｄｏ（ｘ，ｙ，ｚ）の信号値をそのままボクセル値として与えているため、ボクセル画像Ｖ（ｘ，ｙ，ｚ）の各画素は、１画素が１６ビットで記録され、−３２７６８〜３２７６７の値をとる。このボクセル画像は、不揮発性の記憶装置３に記憶する必要はなく、ＲＡＭ２上に一時的に作成すればよい。
【００２８】
次に、２次元投影画像生成手段７０がＭＩＰ画像の生成を行う（ステップＳ７０）。モノクロの２次元投影画像であるＭＩＰ画像は、視線方向を通過する各画素の信号値を基に算出された代表信号値で構成される。図５は、ＭＩＰ画像生成の詳細を示すフローチャートである。まず、生成するＭＩＰ画像のサイズ（画素数）の設定を行う（ステップＳ５１０）。レンダリング像であるＭＩＰ画像は、２次元投影画像であるため、サイズとしては、ｘ座標のサイズとｙ座標のサイズが設定され、断層画像のサイズと同一に設定されることが多いが、任意に設定することができる。本実施形態では、ｘ座標のサイズとｙ座標のサイズを同一とし、Ｓｉｚｅとしている。
【００２９】
次に、生成する座標変換パラメータの設定を行う（ステップＳ５２０）。２次元投影画像生成手段７０は、以後のステップにおいて座標変換を実施する際に共通に用いるパラメータである座標変換パラメータを設定する。座標変換パラメータの設定は、ボクセルに対して仮想光を照射する際、ボクセル単位に逐次座標変換処理を円滑に行うことができるようにするために、視点を基準とする視点座標系における３次元座標を基にボクセル画像が定義されているボクセル座標系の３次元座標に変換し、ボクセル座標系において対応するボクセルの信号値を取得するための処理である。
【００３０】
ここで、座標変換の概念図と座標変換パラメータの具体例については説明する。図６は、座標変換の概念図である。レンダリングにより得られるＭＩＰ画像は視点から見た画像であるので、ＭＩＰ画像の各画素（ｘ，ｙ）の基準となる視点座標系は必ずしもボクセル座標系とは一致していない。そこで２次元投影画像生成手段７０は、ボクセル座標系に定義されているボクセル画像を視点座標系に変換する必要がある。すなわち、本来は、図６（ａ）に示すように、投影面の各点からボクセル画像に対して任意の方向に仮想光線（レイ）を発射し、仮想光線が交差するボクセル画像内の指定範囲における信号値を複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値（最大値・最小値・平均値）を算出する。しかし、計算を簡単にするため、ボクセル画像に座標変換を施し、図６（ｂ）に示すように、投影面の各点よりｚ軸負方向に指定範囲における代表信号値（最大値・最小値・平均値）を算出する。
【００３１】
座標変換を実施する際には、様々な座標変換パラメータを用いる。視点座標系とボクセル座標系の位置関係が同じであれば、座標変換パラメータも同じであると考えられる。即ち、２次元投影画像生成手段７０において、視点座標系で参照される全てのボクセルに対して、ボクセル座標系に座標変換を実施するための座標変換パラメータは同一である。そこで２次元投影画像生成手段７０は、ステップＳ５２０において座標変換パラメータをあらかじめ算出し、以後のステップにおいてはその座標変換パラメータを共通の座標変換パラメータとして流用する。座標変換パラメータとしては例えば以下のようなものが挙げられる。
【００３２】
・所定の３次元座標系における回転を定義した３×３行列（逆方向に投影変換が行われるため、指示入力Ｉ／Ｆ４により指示され定義された３×３行列の逆行列）
・ｘｙｚ軸方向のオフセット値：Ｘｏｆｆ、Ｙｏｆｆ、Ｚｏｆｆ（単位：ボクセル）
・拡大又は縮小倍率：Ｓｃａｌｅ（ｘｙｚ各軸について同じ値を用いる。）
・ｚ軸方向変倍率：Ｓｃｚ＝Ｒｘｙ／Ｒｚ（ｘｙ軸方向の解像度Ｒｘｙとｚ軸方向の解像度Ｒｚの間の比率）
・仮想光線のサブサンプリング倍率：Ｓｒａｙ（通常は１以上の整数、値が大きいと粗くなる、１未満の実数も指定可）
【００３３】
ＭＩＰ画像のサイズと、座標変換パラメータが設定されたら、設定されたサイズと座標変換パラメータに基づいて、ＭＩＰ画像の生成を行う。ＭＩＰ画像の生成は、設定されたサイズにより定まる生成領域を複数に分割し、得られた各分割生成領域について並行して処理を行って分割画像を生成することにより行う。まず、２次元投影画像生成手段７０は、並列処理を行うための分割する分割生成領域を初期設定する（ステップＳ５３０）。本実施形態では、ｘ座標については分割せず、ｙ座標についてＮ個に分割する。具体的には、各分割生成領域のｙ座標の先頭座標をＹ１、末尾座標をＹ２とし、先頭座標Ｙ１、末尾座標Ｙ２に、設定されたサイズで特定される全体のＭＩＰ画像の分割生成領域を割り当てていく。初期値として、Ｙ１＝０、Ｙ２＝Ｓｉｚｅ／Ｎ−１が設定される。
【００３４】
分割生成領域が設定されたら、次に、ＭＩＰ画像の分割画像の生成処理を行う（ステップＳ５４０）。上述のように、ＭＩＰ画像は、ｙ座標においてのみＮ個に分割されているため、分割画像のｘ座標の画素数はＳｉｚｅであり、分割画像のｙ座標の画素数は（Ｙ２−Ｙ１＋１）となる。したがって、ステップＳ５４０においては、Ｓｉｚｅ×（Ｙ２−Ｙ１＋１）画素の分割画像を生成することになる。このステップＳ５４０の処理については後述する。
【００３５】
ステップＳ５４０の処理は、複数のＣＰＵコアにより並行して行われる。このため、最初の分割範囲について分割画像の生成処理を１つのＣＰＵコアに割り当てて実行処理を起動したら、処理終了を待たずに次の分割生成領域を設定および生成処理の起動を進める（ステップＳ５５０）。具体的には、Ｙ１、Ｙ２の値をそれぞれＳｉｚｅ／Ｎだけ増加し、次の分割生成領域におけるｙ座標の先頭座標Ｙ１、末尾座標Ｙ２を新たに設定する。
【００３６】
ステップＳ５５０において新たな分割生成領域を設定した後、新たな分割生成領域がＭＩＰ画像全体のサイズを超えている場合、すなわち、ここでは、Ｙ２＞Ｓｉｚｅ−１を満たす場合は、全ての分割生成領域について設定および分割画像生成の処理の起動を終えたとして、図５に示すステップＳ７０の処理を終了する。ただし、この段階ではステップＳ５４０における個々の分割画像生成の処理が終了している訳ではない。ステップＳ５５０において新たな分割生成領域を設定した後、新たな分割生成領域がＭＩＰ画像のサイズを超えていない場合、すなわち、ここでは、Ｙ２≦Ｓｉｚｅ−１を満たす場合は、全ての分割生成領域について処理を終えていないため、ステップＳ５４０に戻って、他のＣＰＵコアに割り当て、分割画像の生成を起動する処理を繰り替えす。
【００３７】
ステップＳ５４０の処理について説明する。図７は、図５のステップＳ５４０における分割画像生成処理を示すフローチャートである。上述のように、分割画像生成処理においては、ｘ軸方向については、画素数Ｓｉｚｅの全範囲、ｙ軸方向については、先頭座標Ｙ１、末尾座標Ｙ２までの範囲で処理が行われる。まず、生成する分割画像の各画素の初期値を全て０とする（Ｉｍａｇｅ（ｘ，ｙ）＝０）。また、代表信号値算出モードｍｏｄｅ （０：ＭＩＰ,  １：ＭｉｎＩＰ,  ２：ＲａｙＳｕｍ）を設定する。そして、各２次元座標（ｘ，ｙ）（０≦ｘ≦Ｓｉｚｅ−１,Ｙ１≦ｙ≦Ｙ２）に対して図７のフローチャートに従った処理を実行する。
【００３８】
まず、処理対象とする画素の初期設定を行う（ステップＳ６１０）。最初は、ｘ座標、ｙ座標の値がともに最小であるｙ＝Ｙ１、ｘ＝０を処理対象の画素とする。次に、処理対象とされた画素に与えるべき代表信号値Ｖｍの算出を行う（ステップＳ６２０）。このステップＳ６２０の処理については後述する。
【００３９】
ステップＳ６２０における処理により、代表信号値Ｖｍが算出されたら、処理対象の画素（ｘ，ｙ）の値として代表信号値Ｖｍを与えて記録する。具体的には、Ｉｍａｇｅ（ｘ，ｙ）＝Ｖｍとする処理を行う（ステップＳ６３０）。処理対象とする画素に対応する代表信号値を記録したら、処理対象の画素を変更する。具体的には、ｘ座標の値を１だけインクリメントする（ステップＳ６４０）。ステップＳ６４０において処理対象の画素を変更した結果、処理対象の画素がｘ座標のサイズ内である場合、すなわち、ここでは、ｘ＜Ｓｉｚｅを満たす場合は、ステップＳ６２０に戻って代表信号値Ｖｍの算出を行う。ステップＳ６４０において処理対象の画素を変更した結果、処理対象の画素がｘ座標のサイズを超える場合、すなわち、ここでは、ｘ≧Ｓｉｚｅを満たす場合は、ｙ座標の値を１だけインクリメントする（ステップＳ６５０）。ステップＳ６５０において処理対象の画素を変更した結果、処理対象の画素がｙ座標のサイズ内である場合、すなわち、ここでは、ｙ≦Ｙ２を満たす場合は、ステップＳ６２０に戻って代表信号値Ｖｍの算出を行う。ステップＳ６５０において処理対象の画素を変更した結果、処理対象の画素がｙ座標のサイズを超える場合、すなわち、ここでは、ｙ＞Ｙ２を満たす場合は、割り当てられた分割範囲について処理を終えたとして、図７に示すステップＳ５４０の処理を終了する。
【００４０】
次に、図７のステップＳ６２０の処理について詳細に説明する。図８は、図７のステップＳ６２０における代表信号値Ｖｍの算出処理を示すフローチャートである。まず、変数の初期化を行う（ステップＳ７１０）。具体的には、代表信号値Ｖｍ、カウンタＣｎｔ、Ｚｓの初期化を行う。Ｚｓは、Ｚｓ＝Ｓｉｚｅ／Ｓｒａｙ−１として初期値が算出される。代表信号値Ｖｍは、モードにより異なる。３種類のモードのうち、ｍｏｄｅ＝０の場合Ｖｍ＝−３２７６８、ｍｏｄｅ＝１の場合Ｖｍ＝３２７６７、ｍｏｄｅ＝２の場合Ｖｍ＝０として初期化される。カウンタＣｎｔは、ｍｏｄｅ＝２の場合のみ使用され、Ｃｎｔ＝０として初期化される。
【００４１】
次に、起点座標の探索を行う（ステップＳ７２０）。ステップＳ７２０の処理については、図９を用いて説明する。図９は、起点座標探索手段７７が各画素において起点座標を探索する処理を示すフローチャートである。起点座標探索手段７７は、各対象画素（ｘ，ｙ）について図９に示したフローチャートに従った処理を実行する。
【００４２】
起点座標探索手段７７は、起点座標を探索する対象画素（ｘ，ｙ）、視点座標系の３次元座標（ｘ，ｙ，ｚ）をセットする（ステップＳ３０１）。探索開始座標であるｚ座標の初期値はｚ＝Ｚｓ（上限値）とする。ｚ座標の下限値は０、上限値はＺｓである。上限値であるＺｓは視点のｚ座標である。
【００４３】
起点座標探索手段７７は、３次元座標（ｘ，ｙ，ｚ）について、座標変換を実施して対応するボクセル画像のボクセルの信号値Ｖｓを算出する（ステップＳ３０２）。座標変換は、視点座標系をボクセル座標系に変換する操作であり、ＧＵＩ側の変換操作とは逆になる。ＧＵＩ側ではＲＯＩによるクリッピング、スケーリング、ｚ軸方向変倍処理、回転、オフセット（ｘｙｚ軸方向同時）の順に行うものと仮定し、与えられた視点座標系の３次元座標（ｘ，ｙ，ｚ）（整数値）に対応するＤＩＣＯＭ形式の複数の断層画像Ｄｏ（ｘ，ｙ，ｚ）の各画素に１対１で対応するボクセル画像のボクセルに対応する実数の座標（ｘｒ，ｙｒ，ｚｒ）を算出する。
【００４４】
具体的には、まず、整数値である視点座標系の３次元座標（ｘ，ｙ，ｚ）を実数値（ｘｘ，ｙｙ，ｚｚ）に変換する。視点座標系は、Ｓｉｚｅ×Ｓｉｚｅ×Ｓｉｚｅ／Ｓｒａｙの直方体であり、Ｓｘ×Ｓｙ×Ｓｚのボクセル構造体とは独立して定義される。ＤＩＣＯＭ形式の断層画像のサイズＳｘ×Ｓｙは、通常Ｓｘ＝Ｓｙ＝５１２であるため、Ｓｉｚｅ＝５１２とすることが多い。
【００４５】
視点座標系のｚ軸方向は仮想光線サブサンプル（１／Ｓｒａｙ）倍（Ｓｒａｙ＞１）に縮小されていることを考慮して、最初に、以下の〔数式１〕に従った処理を実行してｘｙｚ軸方向同時にオフセット処理を行う。
【００４６】
〔数式１〕
ｘｘ＝ｘ−Ｓｉｚｅ／２＋Ｘｏｆｆ
ｙｙ＝ｙ−Ｓｉｚｅ／２＋Ｙｏｆｆ
ｚｚ＝ｚ・Ｓｒａｙ−Ｓｉｚｅ／２＋Ｚｏｆｆ
【００４７】
続いて、生成された３×３回転逆行列を用いて、以下の〔数式２〕に従った処理を実行して回転処理を行う。
【００４８】
〔数式２〕
ｘｘ´＝Ｒ１１・ｘｘ＋Ｒ１２・ｙｙ＋Ｒ１３・ｚｚ
ｙｙ´＝Ｒ２１・ｘｘ＋Ｒ２２・ｙｙ＋Ｒ２３・ｚｚ
ｚｚ´＝Ｒ３１・ｘｘ＋Ｒ３２・ｙｙ＋Ｒ３３・ｚｚ
【００４９】
回転処理後の座標として（ｘｘ´，ｙｙ´，ｚｚ´）が得られる。続いて、以下の〔数式３〕に従った処理を実行して、スケーリング、ｚ軸方向変倍処理を同時に行う。
【００５０】
〔数式３〕
ｘｒ＝ｘｘ／Ｓｃａｌｅ＋Ｓｘ／２
ｙｒ＝ｙｙ／Ｓｃａｌｅ＋Ｓｙ／２
ｚｒ＝ｚｚ／（Ｓｃａｌｅ・Ｓｃｚ）＋Ｓｚ／２
【００５１】
このようにしてボクセル座標系の座標（ｘｒ，ｙｒ，ｚｒ）が算出される。この座標（ｘｒ，ｙｒ，ｚｒ）は実数値である。次に、起点座標探索手段７７は、算出されたボクセル座標系の座標（ｘｒ，ｙｒ，ｚｒ）を整数値化する。具体的には、以下の〔数式４〕に従った処理を実行して、整数値化を行う。
【００５２】
〔数式４〕
ｘｉ＝ＩＮＴ［ｘｒ＋０．５］
ｙｉ＝ＩＮＴ［ｙｒ＋０．５］
ｚｉ＝ＩＮＴ［ｚｒ＋０．５］
【００５３】
〔数式４〕において、ＩＮＴは［］内の数値の小数点以下を切り捨てて整数化することを意味する。したがって、〔数式４〕に従った処理により、実数値の座標（ｘｒ，ｙｒ，ｚｒ）の各値は、四捨五入されて、整数値の座標（ｘｉ，ｙｉ，ｚｉ）が得られる。
【００５４】
このようにして、視点座標系の座標（ｘ，ｙ，ｚ）に対応するボクセル座標系の座標（ｘｉ，ｙｉ，ｚｉ）が得られたら、ＲＯＩおよびマスクデータＭａｓｋを用いて、以下の〔数式５〕に従った処理を実行して、ボクセル座標系の座標（ｘｉ，ｙｉ，ｚｉ）に対応するボクセル信号値Ｖｓを求める。
【００５５】
〔数式５〕
Ｍａｓｋ（ｘｉ，ｙｉ，ｚｉ）＝０（マスクされる箇所）、または、ｘｉ＜Ｘｓまたはｘｉ＞Ｘｅまたはｙｉ＜Ｙｓまたはｙｉ＞Ｙｅまたはｚｉ＜Ｚｓまたはｚｉ＞Ｚｅ（ＲＯＩの外）の場合（すなわち有効領域でない場合）：Ｖｓ＝−９９９９９（無効値）
上記以外の場合（すなわち有効領域である場合）：Ｖｓ＝Ｖ（ｘｉ，ｙｉ，ｚｉ）
【００５６】
〔数式５〕において、マスクされる箇所、またはＲＯＩの外である場合は、Ｖｓに−９９９９９を設定しているが、信号値が有効範囲の外であって無効であることを示すことができる値であれば、どのような値であってもよい。
【００５７】
ここで、有効領域とは、マスクデータによりマスクされておらず（Ｍａｓｋ（ｘｉ，ｙｉ，ｚｉ）＝１）、かつＲＯＩ内である領域を示している。すなわち、ＲＯＩクリッピング、マスク設定のいずれにおいても、表示すべき領域として設定された領域が有効領域となる。また、有効範囲とは、画素がとり得る信号値の範囲であり、１６ビットの場合、−３２７６８〜３２７６７が有効範囲となる。上記〔数式５〕では、変換後の座標が有効領域でない場合、有効範囲外の値を無効値として設定している。
【００５８】
Ｖｓが−３２７６８より小さければステップＳ３０３へ進み、Ｖｓが−３２７６８以上であればステップＳ３０５へ進む。この“−３２７６８”は、ボクセルの１６ビットの信号値がとり得る下限値である。すなわち、Ｖｓが無効値であればステップＳ３０３へ進み、Ｖｓが有効値であればステップＳ３０５へ進む。
【００５９】
ステップＳ３０３において、起点座標探索手段７７は、ｚ軸方向に所定個数のボクセルをスキップする。具体的には現在のｚ座標から所定数ｍ２（例えばｍ２＝８）を減算する。なお、ステップＳ７４０、Ｓ７６０で用いられる所定数ｍ１と比較すると、ｍ２＞ｍ１である。本実施形態ではｍ１＝１である。減算した結果、ｚ座標が０以上である場合はステップＳ３０２へ戻って同様の処理を繰り返す。ｚ座標が０未満になった場合は、ステップＳ３０４へ進む。
【００６０】
ステップＳ３０４において、起点座標探索手段７７は、現在の対象画素（ｘ，ｙ）に対応するｚ座標に対して、起点座標が見つからなかった旨を示す値（ｚの本来の下限値が０である場合、例えば−１などの負値）をセットして起点座標の探索処理を終了する。
【００６１】
ステップＳ３０５に進んだ場合、起点座標探索手段７７は、変数ｉを初期化した後（ステップＳ３０５）、ｍ１だけ加算する（ステップＳ３０６）。ｉがｍ２まで到達した場合、または現在のｚ座標にｉを加算すると視点ｚ座標である上限値Ｚｓに達する場合は、ステップＳ３０８に進み、ｚ座標に対して、現在のｚ座標にｍ１を加算する前のｉを加算した値をセットする。ｉがｍ２まで到達しておらず、かつ現在のｚ座標にｉを加算しても視点ｚ座標である上限値Ｚｓまで達しない場合は、ステップＳ３０７へ進む。
【００６２】
ステップＳ３０７において、起点座標探索手段７７は、３次元座標（ｘ，ｙ，ｚ＋ｉ）について、座標変換を実施して対応するボクセルの信号値Ｖｓを算出する。算出手順はステップＳ３０２と同じである。Ｖｓが−３２７６８以上であればステップＳ３０６へ戻ってｉにｍ１を加算して同様の処理を繰り返す。Ｖｓが−３２７６８より小さければステップＳ３０８へ進む。
【００６３】
ステップＳ３０８において、起点座標探索手段７７は、現在の対象画素（ｘ，ｙ）に対応して、ステップＳ３０７の１つ手前のｚ座標（ｚ＋ｉ−ｍ１）をセットして起点座標の探索を終了する。
【００６４】
結局、起点座標探索手段７７は、図９に示した処理に従い、ｚ座標を所定の上限値より所定の下限値の範囲で前記所定数ｍ１より大きい所定数ｍ２（ｍ２＞ｍ１）で減算させて、各３次元座標に対して、座標変換を行ってボクセルの信号値を算出し（Ｓ３０２）、所定数ｍ２の減算後のｚ座標におけるボクセルの信号値が有効範囲に含まれる場合（Ｓ３０５）は、減算後のｚ座標より所定数ｍ１を増加させて（Ｓ３０６）各３次元座標（ｘ，ｙ，ｚ）に対して、座標変換を行ってボクセルの信号値を算出している（Ｓ３０７）。この処理は、ＭＩＰモードに限定されず、ＲａｙＳｕｍモードやＭｉｎＩＰモードにおいても利用可能であり、演算抑制の効果が得られる。
【００６５】
図９に示した処理を実行して、起点座標ｚが探索されたら、図８に示すステップＳ７２０の処理を終えたことになる。得られた起点座標ｚがｚ＜０である場合は、有効ボクセルが存在しなかったことを意味するので、ステップＳ７７０に進む。得られた起点座標ｚがｚ≧０である場合は、３次元座標（ｘ，ｙ，ｚ＋ｉ）を座標変換してボクセル信号値Ｖｓを取得する（ステップＳ７３０）。
【００６６】
具体的には、ステップＳ３０２、Ｓ３０８における〔数式１〕〜〔数式３〕に従った処理を実行して、与えられた視点座標系の３次元座標（ｘ，ｙ，ｚ）（整数値）に対応するＤＩＣＯＭ形式の複数の断層画像Ｄｏ（ｘ，ｙ，ｚ）の各画素に１対１で対応するボクセル画像のボクセルに対応する実数の座標（ｘｒ，ｙｒ，ｚｒ）を算出する。
【００６７】
次に、算出されたボクセル座標系の座標（ｘｒ，ｙｒ，ｚｒ）を整数値化する。ステップＳ３０２、Ｓ３０８の処理とは異なり、まず、小数点以下を切り捨て整数化した座標を（ｘｉａ，ｙｉａ，ｚｉａ）とし、切り捨てた小数点以下の端数を（ｗｘ，ｗｙ，ｗｚ）とする。すなわち、ｘｒ＝ｘｉａ＋ｗｘ，ｙｒ＝ｙｉａ＋ｗｙ，ｚｒ＝ｚｉａ＋ｗｚとなる。
【００６８】
次に、ＲＯＩおよびマスクデータＭａｓｋを用いて、以下の〔数式６〕に従った処理を実行して、ボクセル座標系の座標（ｘｉａ，ｙｉａ，ｚｉａ）に対応するボクセル信号値Ｖｓを求める。以下の〔数式６〕においては、３通りに分けて処理が行われる。
【００６９】
〔数式６〕
１）Ｍａｓｋ（ｘｉａ，ｙｉａ，ｚｉａ）＝０（マスクされる箇所）、または、ｘｉａ＜Ｘｓまたはｘｉａ＞Ｘｅまたはｙｉａ＜Ｙｓまたはｙｉａ＞Ｙｅまたはｚｉａ＜Ｚｓまたはｚｉａ＞Ｚｅ（ＲＯＩ範囲外）の場合：Ｖｓ＝−９９９９９（無効値）
２）上記１）を満たさず、ｘｉａ＋１＞Ｘｅまたはｙｉａ＋１＞Ｙｅまたはｚｉａ＋１＞Ｚｅの場合、補間処理を実行せずにＶｓ＝Ｖ（ｘｉａ，ｙｉａ，ｚｉａ）
３）上記１）２）を満たさない場合、以下の補間処理を実行
Ｖｓ＝（１−ｗｚ）（１−ｗｙ）（１−ｗｘ）・Ｖ（ｘｉａ，ｙｉａ，ｚｉａ）
＋（１−ｗｚ）（１−ｗｙ）・ｗｘ・Ｖ（ｘｉａ＋１，ｙｉａ，ｚｉａ）
＋（１−ｗｚ）・ｗｙ・（１−ｗｘ）・Ｖ（ｘｉａ，ｙｉａ＋１，ｚｉａ）
＋（１−ｗｚ）・ｗｙ・ｗｘ・Ｖ（ｘｉａ＋１，ｙｉａ＋１，ｚｉａ）
＋ｗｚ・（１−ｗｙ）（１−ｗｘ）・Ｖ（ｘｉａ，ｙｉａ，ｚｉａ＋１）
＋ｗｚ・（１−ｗｙ）・ｗｘ・Ｖ（ｘｉａ＋１，ｙｉａ，ｚｉａ＋１）
＋ｗｚ・ｗｙ・（１−ｗｘ）・Ｖ（ｘｉａ，ｙｉａ＋１，ｚｉａ＋１）
＋ｗｚ・ｗｙ・ｗｘ・Ｖ（ｘｉａ＋１，ｙｉａ＋１，ｚｉａ＋１）
【００７０】
〔数式６〕の３）においては、補間処理を行う際に、実数値のボクセル座標（ｘｒ，ｙｒ，ｚｒ）の近傍に位置する整数値のボクセル座標（ｘｉａ，ｙｉａ，ｚｉａ）等を８個取得し、この値を用いて、各信号値に所定の重みｗｘ、ｗｙ、ｗｚ、（１−ｗｘ）、（１−ｗｙ）、（１−ｗｚ）を掛けながら加算した値を、３次元座標に対応するボクセルの信号値Ｖｓとして与えている。〔数式６〕において、マスクされる箇所またはＲＯＩの外である場合、すなわち有効領域の外である場合は、Ｖｓに−９９９９９を設定しているが、無効であることを示すことができる値であれば、どのような値であってもよい。
【００７１】
Ｖｓが−３２７６８より小さければステップＳ７４０へ進み、Ｖｓが−３２７６８以上であればステップＳ７５０へ進む。この“−３２７６８”は、ボクセルの１６ビットの信号値がとり得る下限値である。すなわち、Ｖｓが無効値であればステップＳ７４０へ進み、Ｖｓが有効値であればステップＳ７５０へ進む。
【００７２】
ステップＳ７４０において、起点座標探索手段７７は、視点の座標を所定数ｍ１だけ減じる。この所定数ｍ１は整数である。上述のように、本実施形態では、ｍ１＝１であり、ｍ１＜ｍ２である。そして、ステップＳ７２０へ戻って同様の処理を繰り返す。
【００７３】
ステップＳ７５０において、起点座標探索手段７７は、代表信号値Ｖｍを設定する。ステップＳ７５０においては、設定されているモードにより処理が異なる。具体的には、以下の〔数式７〕に従った処理を実行して、代表信号値Ｖｍを設定する。
【００７４】
〔数式７〕
ｍｏｄｅ＝０（ＭＩＰｍｏｄｅ）：Ｖｓ＞ＶｍならばＶｍ＝Ｖｓ
ｍｏｄｅ＝１（ＭｉｎＩＰｍｏｄｅ）：Ｖｓ＜ＶｍならばＶｍ＝Ｖｓ
ｍｏｄｅ＝２（ＲａｙＳｕｍｍｏｄｅ）：Ｖｍ←Ｖｍ＋Ｖｓ，ｃｎｔ←ｃｎｔ＋１
【００７５】
代表信号値Ｖｍが設定されたら、次に、ｚを所定数ｍ１だけ減じる（ステップＳ７６０）。本実施形態では、ｍ１＝１であり、ｍ１＜ｍ２である。そして、ｚが０以上であれば、ステップＳ７３０へ戻って同様の処理を繰り返す。ｚが０未満であれば、対象とするボクセルがなくなるので、ステップＳ７７０へ進む。〔数式１〕の第３式に示したように、ステップＳ３０２におけるオフセット処理の際、ｚは仮想光線のサブサンプリング倍率Ｓｒａｙと乗じられる。そのため、実質的には、ｚ軸方向においては、所定の参照間隔（ｍ１・Ｓｒａｙ）ごとにボクセルが参照されてボクセル信号値Ｖｓが取得されることになる。したがって、（ｍ１・Ｓｒａｙ）＞１であれば、ｚ軸方向に対しては、全てのボクセルを参照して処理するのではなく、間引いたボクセルを参照して処理を行うことになる。そのため、ｚ軸方向に対して処理するボクセル数が少なくなり効率化が図られる。本実施形態では、ｍ１＝１であるため、Ｓｒａｙ＞１であることが好ましい。また、Ｓｒａｙ≦１である場合は、（ｍ１・Ｓｒａｙ）＞１となるような値になるようにｍ１を設定することが好ましい。参照間隔（ｍ１・Ｓｒａｙ）は、（ｍ１・Ｓｒａｙ）＝１であってもよいが、（ｍ１・Ｓｒａｙ）≧２であることがより好ましい。
【００７６】
ステップＳ７７０、Ｓ７８０では、モードに応じた処理を行う。まず、ステップＳ７７０では、ｍｏｄｅ＝２であるか否かを判定する。そして、ｍｏｄｅ＝２でない場合、すなわち、ｍｏｄｅ＝０または１である場合は、処理を終了する。ｍｏｄｅ＝２である場合、Ｖｍをｃｎｔで除算して、新たなＶｍを得る（ステップＳ７８０）。そして、処理を終了する。
【００７７】
以上のようにして代表信号値Ｖｍを得る処理を、Ｎ個の各ＣＰＵが、図５に示したステップＳ５４０の処理を、Ｎ個に分割された各分割画像に対して実行し、得られた分割画像を統合することにより、設定されたＳｉｚｅ×Ｓｉｚｅのモノクロの２次元投影画像であるＭＩＰ画像が生成される。なお、必ずしも設定されたＳｉｚｅ×Ｓｉｚｅの２次元投影画像に統合する必要はなく、各分割画像を順次表示する場合には、分割画像の統合は行わない。
【００７８】
ＭＩＰ画像が生成されたら、次に、ＭＩＰ画像の表示処理を行う。ＭＩＰ画像の表示を行う表示機器は、１画素８ビットであることが多い。そのため、１画素１６ビットで記録されたＭＩＰ画像を表示する場合は、表示部６のビット数に合わせるため、ＭＩＰ画像の階調を落として表示処理を行う必要がある。具体的には、以下の〔数式８〕に従った処理を実行することにより、ＭＩＰ画像の階調を８ビットに変換する。
【００７９】
〔数式８〕
Ｉｍａｇｅ´（ｘ，ｙ）＝（Ｉｍａｇｅ（ｘ，ｙ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）
Ｉｍａｇｅ´（ｘ，ｙ）＞２５５の場合：Ｉｍａｇｅ´（ｘ，ｙ）＝２５５、Ｉｍａｇｅ´（ｘ，ｙ）＜０の場合：Ｉｍａｇｅ´（ｘ，ｙ）＝０
【００８０】
〔数式８〕の第２式に示すように、信号値が上限値Ｌｍａｘを超える場合は２５５、下限値Ｌｍｉｎを下回る場合は０として、下限値Ｌｍｉｎから上限値Ｌｍａｘの範囲を０から２５５に線形変換する。
【００８１】
なお、〔数式８〕において用いる下限値Ｌｍｉｎと上限値Ｌｍａｘ については、表示中にＧＵＩを通じてユーザが任意に変更・調整できるようにしている。医療分野では、下限値Ｌｍｉｎと上限値Ｌｍａｘ の代わりに、ＤＩＣＯＭ規格のＷｉｎｄｏｗ Ｗｉｄｔｈ（ウィンドウ幅：ＷＷ）、Ｗｉｎｄｏｗ Ｌｅｖｅｌ（ウィンドウレベル:ＷＬ）を使用する習慣があるため、ＧＵＩもこれに基づいて設計される。ＷＬ＝（Ｌｍａｘ＋Ｌｍｉｎ）／２, ＷＷ＝Ｌｍａｘ −Ｌｍｉｎで定義されていることから、ＷＬ、ＷＷが与えられた場合、Ｌｍａｘ＝ＷＬ＋ＷＷ／２, Ｌｍｉｎ=ＷＬ−ＷＷ／２と設定される。
【００８２】
図１０は、生成されたＭＩＰ画像の例を示す図である。いずれもＲＯＩとして、ｘ:0-511, ｙ:170-250 (0-511), ｚ:0-369とした例を示しており、後述する８ビットに圧縮した階調圧縮断層画像に基づいて生成された８ビット階調のＭＩＰ画像である。図１０（ａ）は、ＭＩＰ（ｍｏｄｅ＝０）のＭＩＰ画像、図１０（ｂ）は、ＭｉｎＩＰ（ｍｏｄｅ＝１）のＭＩＰ画像、図１０（ｃ）は、ＲａｙＳｕｍ（ｍｏｄｅ＝２）のＭＩＰ画像を示している。図１０（ａ）のＭＩＰ画像では、８ビット階調で５０−１８０の範囲（１６ビット階調換算では、Ｌｍｉｎ＝−４０６、Ｌｍａｘ＝５７４、ＷＬ＝８４、ＷＷ＝９８０）を２５６段階で表示する態様としている。図１０（ｂ）のＭＩＰ画像では、８ビット階調で０−１２０の範囲（１６ビット階調換算では、Ｌｍｉｎ＝−７８４、Ｌｍａｘ＝１２１、ＷＬ＝―３３１、ＷＷ＝９０５）を２５６段階で表示する態様としている。図１０（ｃ）のＭＩＰ画像では、８ビット階調で０−１３０の範囲（１６ビット階調換算では、Ｌｍｉｎ＝−７８４、Ｌｍａｘ＝１９６、ＷＬ＝−２９４、ＷＷ＝９８０）を２５６段階で表示する態様としている。
【００８３】
上述のように、本実施形態に係るレンダリング装置１００では、２次元投影画像生成手段７０が、マルチコアＣＰＵであるＣＰＵ１が、プログラムを実行することにより実現される。このプログラムは、ＭＩＰ画像の生成領域を複数に分割し、各コアに各分割生成領域を割り当てて、各コアがＭＩＰ画像の部分画像を生成する処理を並行して行う。レンダリング装置１００を、汎用的なコンピュータであるパソコンで実現した場合について説明する。図１１は、コンピュータによりレンダリング装置１００を実現する場合の並列化処理を示す図である。図１１に示すように、２次元投影画像生成手段７０が、アプリケーションプログラムにより実現され、例えばＮ＝４個にＭＩＰ画像を分割する場合、アプリケーションプログラムは、４個の各分割生成領域に対する処理を４つの処理スレッド♯ｎ１〜処理スレッド♯ｎ４に分割する。そして、２次元投影画像生成手段７０（アプリケーションプログラム）が稼働するマルチタスク・オペレーティングシステムのジョブスケジューラが、複数のＣＰＵコアが有するＣＰＵスレッド＃１〜ＣＰＵスレッド＃８に割り当てる。
【００８４】
図１２は、コンピュータによりレンダリング装置１００を実現する場合の並列化処理のソフトウェアによる流れを示す図である。図１２に示すように、２次元投影画像生成手段７０を実現するアプリケーションプログラムは、４個の各分割生成領域に対する処理を４つの処理スレッド♯ｎ１〜処理スレッド♯ｎ４に分割した後、それぞれ並列処理関数を起動する。そうすると、マルチタスク・オペレーティングシステムのジョブスケジューラが、４つのスレッド♯ｎ１〜スレッド♯ｎ４を複数のＣＰＵコアが有するＣＰＵスレッド＃３、ＣＰＵスレッド＃５、ＣＰＵスレッド＃７、ＣＰＵスレッド＃２、にそれぞれ割り当てる。このようにして、オペレーティングシステムにより空いているＣＰＵコアのＣＰＵスレッドに、処理すべき処理スレッドが割り当てられるため、並列処理が可能となる。図１２の例では、アプリケーションプログラムが各ＣＰＵスレッドからの終了メッセージを待ち、全てのＣＰＵスレッドから終了メッセージが得られたら、生成された分割画像を統合した画像を生成し、一括して表示部６に出力し、表示を行う。４コア構成のＣＰＵ(Intel CORE-i7)が実装されているWindows10/64bitsのパーソナルコンピュータで実測した結果、図１２の構成ではシングルスレッド実行時(512×512のフル解像度画像の生成時間：約1.6sec)の３倍弱程度の処理速度しか得られず(同生成時間：約0.6sec)、一部のＣＰＵスレッドに処理待ちが生じていた。そこで、ＭＩＰ画像生成処理の分割数をＮ＝８に上げて、８処理スレッドで並列処理を行ったら、シングルスレッド実行時のほぼ４倍の処理性能が得られ(同生成時間：約0.4sec)、Ｎ＞８に上げても処理性能は殆ど変化せず４倍で頭打ちであった。
【００８５】
図１２に示した例は、全ての処理スレッドの終了を待って、生成された分割画像を統合して表示処理を開始する場合の例であるが、各処理スレッドの終了ごとに、分割画像を統合せずに表示処理を行う流れとすることもできる。図１６は、各処理スレッドの終了ごとに表示処理を行う場合の並列化処理のソフトウェアによる流れを示す図である。図１２に示した例と同様、２次元投影画像生成手段７０を実現するアプリケーションプログラムは、４個の各分割生成領域に対する処理を４つの処理スレッド♯ｎ１〜処理スレッド♯ｎ４に分割した後、それぞれ並列処理関数を起動する。そうすると、マルチタスク・オペレーティングシステムのジョブスケジューラが、４つの処理スレッド♯ｎ１〜処理スレッド♯ｎ４を複数のＣＰＵコアが有するＣＰＵスレッド＃３、ＣＰＵスレッド＃５、ＣＰＵスレッド＃７、ＣＰＵスレッド＃２、にそれぞれ割り当てる。図１６の例では、アプリケーションプログラムが各ＣＰＵスレッドからの終了メッセージを待ち、各ＣＰＵスレッドから終了メッセージが得られたら、生成された分割画像ごとに表示部６に出力し、表示を行う。
【００８６】
＜３．プログレッシブレンダリング＞
次に、本実施形態に係るレンダリング装置を用いて、プログレッシブレンダリングを行う処理について説明する。図１３は、プログレッシブレンダリングの処理手順を示すフローチャートである。まず、指示入力機器であるマウスボタンのプレス操作に基づいて、マウス座標およびｘｙ回転角の初期設定を行う（ステップＳ８１０）。具体的には、所定の位置にマウス座標を設定し、ｘｙ回転角（ｘ軸中心の回転角およびｙ軸中心の回転角、ｚ軸中心の回転角は直接指定できないがｘｙ回転操作を繰り返すことで変更可）を所定角度に設定し、３次元座標系における回転を定義した３×３行列を生成する。そして、生成された３×３行列に基づいて座標変換パラメータを設定し、ｘ軸方向、ｙ軸方向それぞれに１／４ずつ間引いてＭＩＰ画像を生成し、表示部６に表示出力する（ステップＳ８２０）。すなわち、ｘ軸方向、ｙ軸方向それぞれに１／４間引かれたＭＩＰ画像が初期画像として表示されることになる。ステップＳ８２０においては、図５のフローチャートに従った処理を実行して、ＭＩＰ画像を生成する。ただし、全ての画素に対して実行するのではなく、ｘ軸方向、ｙ軸方向それぞれに１／４、全体としては１／１６の画素に対して、レンダリングによる画素値の算出処理を行い。残りの１５／１６の画素に対しては、レンダリングにより得られた画素を補間することにより画素値を求める。図５のフローチャートに従った処理を実行する際には、ステップＳ８１０で初期設定されたｘｙ回転角をステップＳ５２０において取得し、３次元座標系における回転を定義した３×３行列を生成した上で、座標変換パラメータを設定する。
【００８７】
マウスのドラッグ操作（ボタンを押しながら移動）が行われると、マウス座標の移動量に基づき、ｘｙ回転角の更新を行う（ステップＳ８３０）。具体的には、所定のタイミングでマウス移動が検知された場合、取得されたマウス座標の、前回取得されたマウス座標からの移動量を求め、ｘ座標の移動量を基にｙ軸中心の回転角を更新し、ｙ座標の移動量を基にｘ軸中心の回転角を更新する。そして、更新されたｘｙ回転角に基づいて３×３行列を更新し、更新された３×３行列に基づいて座標変換パラメータを設定し、ｘ軸方向、ｙ軸方向それぞれに１／４ずつ間引いてＭＩＰ画像を生成し、表示部６に表示出力する（ステップＳ８４０）。この時、ＭＩＰ画像の生成はフル解像度の生成時間（４コアＣＰＵの場合、約０．４秒）の約１／１６で実行されるため、マウスのドラッグ操作に追従して、間引き表示されているＭＩＰ画像がリアルタイムに更新されるため、利用者から見れば、マウスのドラッグ操作を行うことにより、アングル（回転角）の変更指示を行っていることになる。ステップＳ８４０における処理は、ステップＳ８２０と同様にして行われる。ステップＳ８３０、ステップＳ８４０の処理は、マウスボタンがプレスした状態で、ドラッグ操作が継続している間、繰り返し実行される。したがって、利用者がマウスを用いてドラッグ操作を続けている間、表示部６の画面には、ｘ軸方向、ｙ軸方向それぞれに１／４に間引きされたＭＩＰ画像が角度を変えながら表示され続けることになる。
【００８８】
マウスボタンのリリース操作が行われると、マウス座標の移動量に基づき、ｘｙ回転角の更新を行う（ステップＳ８５０）。具体的には、マウスボタンのリリース時において取得されたマウス座標の、前回取得されたマウス座標からの移動量を求め、ｘ座標の移動量を基にｙ軸中心の回転角を更新し、ｙ座標の移動量を基にｘ軸中心の回転角を更新する。そして、更新されたｘｙ回転角に基づいて３×３行列を更新し、更新された３×３行列に基づいて座標変換パラメータを設定し、間引きを行わずにＭＩＰ画像を生成し、表示部６に表示出力する（ステップＳ８６０）。すなわち、図５のフローチャートに従った処理を実行して、全ての画素について画素値を算出し、ＭＩＰ画像を生成し、表示する。このため、マウスのドラッグ操作を中止し、マウスボタンをリリースした際には、表示部６の画面には、静止した状態で間引きされていないフル解像度のＭＩＰ画像が表示されることになる。したがって、利用者から見れば、マウスボタンのリリース操作を行うことにより、アングル（回転角）の確定指示を行っていることになる。
【００８９】
図１４は、プログレッシブレンダリングにより表示された画面例を示す図である。図１４（ａ）は、ステップＳ８２０、Ｓ８４０における表示の際の画面であり、図１４（ｂ）は、ステップＳ８６０における表示の際の画面である。マウスのドラッグ操作時には、間引き表示を行っているため、図１４（ａ）に示すように、画像は粗くなるが、マウスの移動操作に追従して回転角度が異なる画像を次々にリアルタイムに表示することができる。そして、マウスのドラッグ操作を終えて回転角度が確定された際には、図１４（ｂ）に示すように、高精細な画像を表示することができる。
【００９０】
＜４．断層画像の階調落とし＞
上記実施形態では、各画素が１６ビットの信号値を記録した断層画像をそのまま用いてボクセル画像を作成するようにしたが、断層画像を８ビットに階調変換して階調低下画像を作成した後、ボクセル画像を作成するようにしてもよい。断層画像を８ビットに階調変換することにより、各画素の処理における負荷を削減することができ、ＭＩＰ画像の高速な生成に寄与する。
【００９１】
この場合、断層画像階調変換手段を更に設け、断層画像読込手段１０が単一の断層画像を読み込むごとに、階調変換を行う。具体的には、一連のＤＩＣＯＭ形式の断層画像Ｄｏ（ｘ，ｙ，ｚ）（−３２７６８≦Ｄｏ（ｘ，ｙ，ｚ）≦３２７６７，０≦ｘ≦Ｓｘ−１，０≦ｙ≦Ｓｙ−１，０≦ｚ≦Ｓｚ−１; 解像度：Ｒｘｙ，Ｒｚ）の中で、Ｓｚ／２番目の中間の断層画像Ｄｏ（ｘ，ｙ，ｚ／２）を最初に読み込み、同断層画像における全ての画素の最小値をＤｍｉｎ、最大値をＤｍａｘとする。ＤｍｉｎとＤｍａｘは全ての断層画像より最小値と最大値を求める方法をとっても良いが、中間の断層画像だけで決定する方法をとると、大容量の１６ビットの原断層画像の全てのスライス分を読み込んでメモリ上に保持することなく、階調低下画像である階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）だけをメモリ上に直接構築できる。続いて、以下の〔数式９〕に従った処理を実行して、下限値Ｌｍｉｎ および上限値Ｌｍａｘを算出する。下限値Ｌｍｉｎ および上限値Ｌｍａｘは、〔数式８〕において用いる下限値Ｌｍｉｎと上限値Ｌｍａｘ と同様な作用をするが、〔数式８〕と異なり固定的に与える。
【００９２】
〔数式９〕
下限値Ｌｍｉｎ＝(Ｄｍａｘ−Ｄｍｉｎ)・γ＋Ｄｍｉｎ
上限値Ｌｍａｘ＝(Ｄｍａｘ−Ｄｍｉｎ)・(１−γ)＋Ｄｍｉｎ
【００９３】
〔数式９〕において、γは階調圧縮画像のコントラスト調整幅で、０に近いほどコントラストが増大するが輝度が小さくなる。γは０．３未満の実数値であるが、通常はγ＝０．１に設定する。ＭＩＰ画像の輝度コントラストはＧＵＩ側において後述する〔数式１０〕と同様な計算式で調整できるので、γは固定で良い。そして、下限値Ｌｍｉｎおよび上限値Ｌｍａｘの範囲を２５６段階に圧縮して階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）を得る。具体的には、階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）（０≦Ｄ８（ｘ，ｙ，ｚ）≦２５５，０≦ｘ≦Ｓｘ−１，０≦ｙ≦Ｓｙ−１，０≦ｚ≦Ｓｚ−１; 解像度：Ｒｘｙ，Ｒｚ）としたとき、以下の〔数式１０〕に従った処理を実行して、階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ） を算出する。
【００９４】
〔数式１０〕
Ｄ８（ｘ，ｙ，ｚ）＝（Ｄｏ（ｘ，ｙ，ｚ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）
Ｄ８（ｘ，ｙ，ｚ）＞２５５の場合：Ｄ８（ｘ，ｙ，ｚ）＝２５５、Ｄ８（ｘ，ｙ，ｚ）＜０の場合：Ｄ８（ｘ，ｙ，ｚ）＝０
【００９５】
〔数式１０〕の第２式に示すように、信号値が上限値Ｌｍａｘを超える場合は２５５、下限値Ｌｍｉｎを下回る場合は０として、下限値Ｌｍｉｎから上限値Ｌｍａｘの範囲を０から２５５に線形変換する。算出された階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）に対して、図５に基づく処理を実行すると階調が８ビットのＭＩＰ画像が生成される。そのため、原理的には〔数式８〕に従った処理を行わずに表示処理を行うことができる。しかし、ＭｉｎＩＰやＲａｙＳｕｍモードでは２５６階調の下側に画素値が集中することが多く、適切なコントラストで表示することが難しい。そこで、１６ビット階調のＭＩＰ画像を表示する場合と同様に、ＧＵＩ側でＷｉｎｄｏｗ Ｗｉｄｔｈ（ウィンドウ幅：ＷＷ）、Ｗｉｎｄｏｗ Ｌｅｖｅｌ（ウィンドウレベル:ＷＬ）を調整し、２５６階調の範囲で下限値Ｌｍｉｎと上限値Ｌｍａｘを設定し、〔数式８〕に従った処理を行うことが多い。前述の図１０は３つとも８ビットのＭＩＰ画像の生成例で、図１０（ａ）はＬｍｉｎ＝５０，Ｌｍａｘ＝１８０に、図１０（ｂ）はＬｍｉｎ＝０，Ｌｍａｘ＝１２０に、図１０（ｃ）はＬｍｉｎ＝０，Ｌｍａｘ＝１３０に、各々設定して〔数式８〕に従った処理を行って表示したものである。
【００９６】
上記実施形態では、ＭＩＰ画像の生成領域をｙ軸方向のみに複数に分割するようにしたが、複数の領域に分割することができれば、分割の態様は特に限定されない。図１５に、生成領域を複数の分割生成領域に分割する場合の様々な態様を示す図である。図１５において、矩形は、画像の生成領域を示し、左右方向がｘ軸、上下方向がｙ軸である。また、図１５においては、いずれもＮ＝４として、４個の分割生成領域Ｒ１〜Ｒ４に分割する例を示している。図１５（ａ）は、ｙ軸方向のみに複数に分割した例を示している。上記実施形態では、図１５（ａ）のような分割態様を想定して説明した。図１５（ｂ）は、ｘ軸方向のみに複数に分割した例を示している。図１５（ｃ）は、ｘ軸方向、ｙ軸方向ともに分割した例を示している。図１５（ａ）〜図１５（ｃ）の例では、いずれも、１つの分割生成領域は１つの連続した領域となっている。
【００９７】
図１５（ａ）〜図１５（ｃ）に示した例の中では、図１５（ｂ）に示したように、ｘ軸方向のみに複数に分割することが好ましく、次に図１５（ａ）に示したように、ｙ軸方向のみに複数に分割することが好ましい。通常、ＣＰＵは、スクリーン（表示画面）のｙ軸方向は、正面アングルでは、ボクセル画像のｚ軸方向に対応し、各分割生成領域はｚ軸方向に飛び飛びのアドレスでボクセル画像にアクセスすることになる。この際、ｘ軸方向のみに分割すれば、各分割生成領域について殆ど同一のｚ座標でボクセル画像にアクセスすることになり、アクセス時間が短縮する。このため、使用頻度の高い正面アングルにおいて最も高速化できるｘ軸方向のみに分割するようにしてもよい。また、アングルに応じて分割する方向を切り替えるようにしてもよい。
【００９８】
図１５（ｄ）の例では、１つの分割生成領域が１つの連続した領域となっておらず、１つの分割生成領域が離れた態様となった例を示している。図１５（ｄ）の例においても、Ｎ＝４であり、４つの分割生成領域Ｒ１〜Ｒ４に分割されるが、さらに各分割生成領域Ｒ１〜Ｒ４が４つのブロックに分割されている。このように、１つの分割生成領域を複数のブロックに分けて処理を行う場合、各ＣＰＵスレッドが、１つの連続する領域を処理するのではなく、離れた複数のブロックを処理することになる。
【００９９】
図１２を用いて説明したように、全ての処理スレッドの終了を待って、表示処理を開始する場合は、１つの分割生成領域が１つの連続した領域となっていても、１つの分割生成領域が複数のブロックに分かれていても変わりはない。しかし、図１６を用いて説明したように、各処理スレッドの終了ごとに表示処理を行う場合は、表示の態様に違いが生じる。図１５（ａ）〜図１５（ｃ）の例のように１つの分割生成領域が連続している場合は、ＣＰＵスレッドが処理されるごとに画像の表示出力を行うと、偏った一部分から先に表示されることになる。例えば、分割生成領域Ｒ１の処理だけが先に終わると、上だけ、左だけ、左上だけが先に表示される。これに対して、図１５（ｄ）の例のように１つの分割生成領域が複数のブロックに分かれている場合は、全体にバランスよく表示が行われることになる。例えば、分割生成領域Ｒ１の処理だけが先に終わったとしても、４箇所の離れたブロックが表示される。
【０１００】
更に、図１５（ｄ）の例の分割区画を更に細かくし、Ｒ１〜Ｒ４の各分割生成領域を１画素にする構成をとることもできる。即ち、２×２画素の隣接する４画素に、異なる処理スレッドで実行させる方法である。この方法は、いずれか１つの処理スレッドの実行が終了すれば、１つ置きに間引かれた画像が完成し、処理途上で完成像を概ね確認できるというメリットがある。
【０１０１】
以上、本開示の好適な実施形態について説明したが、本開示は上記実施形態に限定されず、種々の変形が可能である。本開示の趣旨を逸脱しない範囲で変更された態様は、本開示の技術的範囲に含まれる。
【０１０２】
また、上記実施形態では、各分割画像の生成を、各ＣＰＵコアに割り当てるようにしたが、１つのＣＰＵコアが複数の処理を並行して実行できる場合、１つのＣＰＵコアに複数の分割画像の生成を割り当てるようにしてもよい。
【符号の説明】
【０１０３】
１・・・ＣＰＵ（Central Processing Unit）
２・・・ＲＡＭ（Random Access Memory）
３・・・記憶装置
４・・・指示入力Ｉ／Ｆ
５・・・データ入出力Ｉ／Ｆ
６・・・表示部
７・・・ＧＰＵ
８・・・フレームメモリ
１０・・・断層画像読込手段
１５・・・座標変換パラメータ入力手段
２０・・・ＲＯＩクリッピング設定手段
２５・・・マスク設定手段
３０・・・ボクセル画像作成手段
７０・・・２次元投影画像生成手段
７７・・・起点座標探索手段
８０・・・画像出力手段
１００・・・レンダリング装置
【図１】
2020038589.tif 000003
【図２】
2020038589.tif 000004
【図３】
2020038589.tif 000005
【図４】
2020038589.tif 000006
【図５】
2020038589.tif 000007
【図６】
2020038589.tif 000008
【図７】
2020038589.tif 000009
【図８】
2020038589.tif 000010
【図９】
2020038589.tif 000011
【図１０】
2020038589.tif 000012
【図１１】
2020038589.tif 000013
【図１２】
2020038589.tif 000014
【図１３】
2020038589.tif 000015
【図１４】
2020038589.tif 000016
【図１５】
2020038589.tif 000017
【図１６】
2020038589.tif 000018
【手続補正書】
【提出日】平成30年12月20日(2018.12.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するためのレンダリング装置であって、
前記２次元投影画像を生成する領域である生成領域をＮ個の分割生成領域に分割して前記視線方向と交差する領域として視点座標系に定義し、
前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記視点座標系において、前記分割生成領域の各画素より、前記視線方向において所定の参照間隔で、前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像の対応する複数のボクセルの信号値を抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段を有し、
前記２次元投影画像生成手段は、
前記分割生成領域の所定の画素において、前記視線方向の上限値を探索開始座標として、有効範囲に含まれる前記視線方向のうち最大となる座標値を起点座標として、探索する起点座標探索手段を備え、前記起点座標探索手段により算出された起点座標より下限値に向けて所定数ｍ２で前記視線方向における座標を減じながら、視点座標系の３次元座標ごとにボクセル座標系への座標変換を行って前記ボクセル画像の対応するボクセルの信号値を算出するようにしており、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記２次元投影画像を生成するレンダリング装置。
【請求項２】
前記生成領域を一方の軸と他方の軸が互いに直交する２次元の領域とした場合、
前記Ｎ個の分割生成領域は、前記一方の軸方向のみまたは前記他方の軸方向のみに分割されたものであり、
各分割生成領域は、１つの連続した領域である請求項１に記載のレンダリング装置。
【請求項３】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するためのレンダリング装置であって、
前記２次元投影画像を生成する領域であって一方の軸と他方の軸が互いに直交する２次元の領域である生成領域を複数の離れたブロックであるＮ個の分割生成領域に分割し、
前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像と前記仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段を有し、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記２次元投影画像を生成するレンダリング装置。
【請求項４】
前記２次元投影画像生成手段は、前記代表信号値として前記抽出された複数のボクセルの信号値の最大値、最小値または平均値のいずれかを算出するようにしている請求項１から請求項３のいずれか一項に記載のレンダリング装置。
【請求項５】
前記２次元投影画像生成手段は、
前記分割生成領域の所定の画素に対して、前記視線方向の座標において算出されたボクセルの信号値が前記有効範囲に含まれ、前記所定数ｍ２を減じた後の前記視線方向の座標において算出されたボクセルの信号値が前記有効範囲に含まれない場合、
前記起点座標探索手段は、前記所定数ｍ２を減じた後の前記視線方向の座標を探索開始座標として、前記有効範囲に含まれる起点座標を探索するようにしている請求項１または請求項２に記載のレンダリング装置。
【請求項６】
前記起点座標探索手段は、
前記視線方向の座標を所定の上限値より所定の下限値の範囲で前記所定数ｍ２で減算させて、各３次元座標に対して、前記座標変換を行ってボクセルの信号値を算出し、
前記所定数ｍ２の減算後の前記視線方向の座標におけるボクセルの信号値が前記有効範囲に含まれる場合は、前記減算後の前記視線方向の座標より前記所定数ｍ２より小さい所定数ｍ１（ｍ２＞ｍ１）を増加させて各３次元座標に対して、前記座標変換を行ってボクセルの信号値を算出する請求項１、２、５のいずれか一項に記載のレンダリング装置。
【請求項７】
前記所定数ｍ１の増加後の前記視線方向の座標における３次元座標に対応するボクセルの信号値が前記有効範囲に含まれない場合は、前記所定数ｍ１の増加後の前記視線方向の座標からｍ１だけ減算した値を前記起点座標として与えるようにする請求項６に記載のレンダリング装置。
【請求項８】
前記所定数ｍ２の減算後の前記視線方向の座標におけるボクセルの信号値のいずれもが前記有効範囲に含まれない場合は、前記起点座標として前記視線方向の座標の下限値より小さい値を与えるようにしている請求項６または請求項７に記載のレンダリング装置。
【請求項９】
前記起点座標探索手段は、
前記座標変換を行って実数値のボクセル座標を算出し、算出された実数値のボクセル座標の各値を四捨五入して整数値のボクセル座標を取得し、
前記取得した整数値のボクセル座標が所定の有効領域に含まれる場合、前記整数値のボクセル座標に対応する前記ボクセル画像の画素値を前記３次元座標に対応するボクセルの信号値として与え、
前記整数値のボクセル座標が前記有効領域に含まれない場合は、前記３次元座標に対応するボクセルの信号値として、前記有効範囲に含まれない値を与える請求項８に記載のレンダリング装置。
【請求項１０】
前記２次元投影画像生成手段は、
前記座標変換を行って実数値のボクセル座標を算出し、算出された実数値のボクセル座標の近傍に位置する整数値のボクセル座標を複数個取得し、
取得された複数の整数値のボクセル座標の中で、所定の有効領域に含まれる整数値のボクセル座標に対応する前記ボクセル画像の複数のボクセルを特定し、特定した複数のボクセルの各信号値に所定の重みを掛けながら加算した値を、前記３次元座標に対応するボクセルの信号値として与えるようにしている請求項１、２、５から９のいずれか一項に記載のレンダリング装置。
【請求項１１】
前記ボクセル画像は３次元座標系に第１の軸と第２の軸が互いに直交する２次元の断層画像が第３の軸方向に複数枚配置されているとき、前記断層画像における第１の軸方向の一端に対応する座標をＸｓｏ、前記断層画像における第１の軸方向の他端に対応する座標をＸｅｏ、前記断層画像における第２の軸方向の一端に対応する座標をＹｓｏ、前記断層画像における第２の軸方向の他端に対応する座標をＹｅｏ、第３の軸方向において断層画像が配置される一端に対応する座標をＺｓｏ、第３の軸方向において断層画像が配置される他端に対応する座標をＺｅｏとすると、Ｘｓｏ≦Ｘｓ＜Ｘｅ≦Ｘｅｏ、Ｙｓｏ≦Ｙｓ＜Ｙｅ≦Ｙｅｏ、Ｚｓｏ≦Ｚｓ＜Ｚｅ≦Ｚｅｏを満たす、６つの座標Ｘｓ，Ｘｅ，Ｙｓ，Ｙｅ，Ｚｓ，Ｚｅが定義されている場合、
前記有効領域は、前記６つの座標Ｘｓ，Ｘｅ，Ｙｓ，Ｙｅ，Ｚｓ，Ｚｅに囲まれた領域である請求項９または請求項１０に記載のレンダリング装置。
【請求項１２】
前記ボクセル画像に対応して、０（表示しない）または１（表示する）の値をもつマスクデータＭａｓｋがあらかじめ定義されている場合、前記有効領域は、Ｍａｓｋ＝１である請求項９から請求項１１のいずれか一項に記載のレンダリング装置。
【請求項１３】
前記座標変換のパラメータを入力する座標変換パラメータ入力手段と、前記２次元投影画像生成手段により生成される２次元投影画像を表示出力する画像出力手段を更に備え、
外部より回転角の変更指示が行われている場合には、
前記座標変換パラメータ入力手段により、座標変換パラメータの入力を行い、
所定の間隔で間引きながら、前記２次元投影画像の画素に対して、前記２次元投影画像生成手段を実行し、残りの画素に対しては、前記２次元投影画像生成手段が実行された画素を基に補間するようにして生成された２次元投影画像を、前記画像出力手段は表示するようにし、
前記回転角の確定指示がなされた場合には、
前記座標変換パラメータ入力手段により、座標変換パラメータの入力を行い、
前記２次元投影画像の全ての画素に対して、前記２次元投影画像生成手段が実行され生成された２次元投影画像を、前記画像出力手段は表示するようにしている請求項９から請求項１２のいずれか一項に記載のレンダリング装置。
【請求項１４】
前記２次元投影画像生成手段により生成された２次元投影画像の各画素値が８ビットを超える階調をもつ場合に、あらかじめ定義された階調の下限値Ｌｍｉｎと階調の上限値Ｌｍａｘを用い、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＬｍｉｎ≦Ｉｍａｇｅ（ｘ，ｙ）≦Ｌｍａｘの場合、前記画素値を（Ｉｍａｇｅ（ｘ，ｙ）´＝（Ｉｍａｇｅ（ｘ，ｙ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）とし、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＩｍａｇｅ（ｘ，ｙ）＞Ｌｍａｘの場合、前記画素値をＩｍａｇｅ´（ｘ，ｙ）＝２５５とし、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＩｍａｇｅ（ｘ，ｙ）＜Ｌｍｉｎの場合、前記画素値をＩｍａｇｅ´（ｘ，ｙ）＝０として、
前記各画素値を８ビットの階調に変換して表示するようにしている請求項１３に記載のレンダリング装置。
【請求項１５】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するため、
コンピュータを、
前記２次元投影画像を生成する領域である生成領域をＮ個の分割生成領域に分割して前記視線方向と交差する領域として視点座標系に定義し、前記分割生成領域の各画素より前記視線方向に仮想光線を照射し、前記視点座標系において、前記分割生成領域の各画素より、前記視線方向において所定の参照間隔で、前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像の対応する複数のボクセルの信号値を取得し、取得された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段として機能させ、
前記２次元投影画像生成手段は、
前記分割生成領域の所定の画素において、前記視線方向の上限値を探索開始座標として、有効範囲に含まれる前記視線方向のうち最大となる座標値を起点座標として、探索する起点座標探索手段を備え、前記起点座標探索手段により算出された起点座標より下限値に向けて所定数ｍ２で前記視線方向における座標を減じながら、視点座標系の３次元座標ごとにボクセル座標系への座標変換を行って前記ボクセル画像の対応するボクセルの信号値を算出するようにしており、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し前記２次元投影画像を生成するプログラム。
【請求項１６】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するため、
コンピュータを、
前記２次元投影画像を生成する領域であって一方の軸と他方の軸が互いに直交する２次元の領域である生成領域を複数の離れたブロックであるＮ個の分割生成領域に分割し、
前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像と前記仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段として機能させ、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記２次元投影画像を生成するプログラム。
【手続補正書】
【提出日】平成31年4月19日(2019.4.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するためのレンダリング装置であって、
前記２次元投影画像を生成する領域である生成領域をＮ個の分割生成領域に分割して前記視線方向と交差する領域として視点座標系に定義し、
前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記視点座標系において、前記分割生成領域の各画素より、前記視線方向において所定の参照間隔で、前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像の対応する複数のボクセルの信号値を抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段を有し、
前記２次元投影画像生成手段は、
前記分割生成領域の所定の画素において、前記視線方向の座標値が上限値である座標を探索開始座標として、信号値が有効範囲に含まれる座標の中で前記視線方向のうち座標値が最大となる座標を探索し探索結果の座標を起点座標とする起点座標探索手段を備え、前記起点座標探索手段により探索された起点座標より座標値が下限値である座標に向けて所定数ｍ２で前記視線方向における座標を減じながら、視点座標系の３次元座標ごとにボクセル座標系への座標変換を行って前記ボクセル画像の対応するボクセルの信号値を算出するようにしており、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記２次元投影画像を生成するレンダリング装置。
【請求項２】
前記生成領域を一方の軸と他方の軸が互いに直交する２次元の領域とした場合、
前記Ｎ個の分割生成領域は、前記一方の軸方向のみまたは前記他方の軸方向のみに分割されたものであり、
各分割生成領域は、１つの連続した領域である請求項１に記載のレンダリング装置。
【請求項３】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するためのレンダリング装置であって、
前記２次元投影画像を生成する領域であって一方の軸と他方の軸が互いに直交する２次元の領域である生成領域を、各分割生成領域が互いに連続しない複数のブロックで構成される、Ｎ個の分割生成領域に分割し、
前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像と前記仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段を有し、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記２次元投影画像を生成するレンダリング装置。
【請求項４】
前記２次元投影画像生成手段は、前記代表信号値として前記抽出された複数のボクセルの信号値の最大値、最小値または平均値のいずれかを算出するようにしている請求項１から請求項３のいずれか一項に記載のレンダリング装置。
【請求項５】
前記２次元投影画像生成手段は、
前記分割生成領域の所定の画素に対して、前記視線方向の座標において算出されたボクセルの信号値が前記有効範囲に含まれ、前記所定数ｍ２を減じた後の前記視線方向の座標において算出されたボクセルの信号値が前記有効範囲に含まれない場合、
前記起点座標探索手段は、前記所定数ｍ２を減じた後の前記視線方向の座標を探索開始座標として、前記有効範囲に含まれる起点座標を探索するようにしている請求項１または請求項２に記載のレンダリング装置。
【請求項６】
前記起点座標探索手段は、
前記視線方向の座標を所定の上限値より所定の下限値の範囲で前記所定数ｍ２で減算させて、各３次元座標に対して、前記座標変換を行ってボクセルの信号値を算出し、
前記所定数ｍ２の減算後の前記視線方向の座標におけるボクセルの信号値が前記有効範囲に含まれる場合は、前記減算後の前記視線方向の座標より前記所定数ｍ２より小さい所定数ｍ１（ｍ２＞ｍ１）を増加させて各３次元座標に対して、前記座標変換を行ってボクセルの信号値を算出する請求項１、２、５のいずれか一項に記載のレンダリング装置。
【請求項７】
前記所定数ｍ１の増加後の前記視線方向の座標における３次元座標に対応するボクセルの信号値が前記有効範囲に含まれない場合は、前記所定数ｍ１の増加後の前記視線方向の座標からｍ１だけ減算した値を前記起点座標として与えるようにする請求項６に記載のレンダリング装置。
【請求項８】
前記所定数ｍ２の減算後の前記視線方向の座標におけるボクセルの信号値のいずれもが前記有効範囲に含まれない場合は、前記起点座標として前記視線方向の座標の下限値より小さい値を与えるようにしている請求項６または請求項７に記載のレンダリング装置。
【請求項９】
前記起点座標探索手段は、
前記座標変換を行って実数値のボクセル座標を算出し、算出された実数値のボクセル座標の各値を四捨五入して整数値のボクセル座標を取得し、
前記取得した整数値のボクセル座標が所定の有効領域に含まれる場合、前記整数値のボクセル座標に対応する前記ボクセル画像の画素値を前記３次元座標に対応するボクセルの信号値として与え、
前記整数値のボクセル座標が前記有効領域に含まれない場合は、前記３次元座標に対応するボクセルの信号値として、前記有効範囲に含まれない値を与える請求項８に記載のレンダリング装置。
【請求項１０】
前記２次元投影画像生成手段は、
前記座標変換を行って実数値のボクセル座標を算出し、算出された実数値のボクセル座標の近傍に位置する整数値のボクセル座標を複数個取得し、
取得された複数の整数値のボクセル座標の中で、所定の有効領域に含まれる整数値のボクセル座標に対応する前記ボクセル画像の複数のボクセルを特定し、特定した複数のボクセルの各信号値に所定の重みを掛けながら加算した値を、前記３次元座標に対応するボクセルの信号値として与えるようにしている請求項１、２、５から９のいずれか一項に記載のレンダリング装置。
【請求項１１】
前記ボクセル画像は３次元座標系に第１の軸と第２の軸が互いに直交する２次元の断層画像が第３の軸方向に複数枚配置されているとき、前記断層画像における第１の軸方向の一端に対応する座標をＸｓｏ、前記断層画像における第１の軸方向の他端に対応する座標をＸｅｏ、前記断層画像における第２の軸方向の一端に対応する座標をＹｓｏ、前記断層画像における第２の軸方向の他端に対応する座標をＹｅｏ、第３の軸方向において断層画像が配置される一端に対応する座標をＺｓｏ、第３の軸方向において断層画像が配置される他端に対応する座標をＺｅｏとすると、Ｘｓｏ≦Ｘｓ＜Ｘｅ≦Ｘｅｏ、Ｙｓｏ≦Ｙｓ＜Ｙｅ≦Ｙｅｏ、Ｚｓｏ≦Ｚｓ＜Ｚｅ≦Ｚｅｏを満たす、６つの座標Ｘｓ，Ｘｅ，Ｙｓ，Ｙｅ，Ｚｓ，Ｚｅが定義されている場合、
前記有効領域は、前記６つの座標Ｘｓ，Ｘｅ，Ｙｓ，Ｙｅ，Ｚｓ，Ｚｅに囲まれた領域である請求項９または請求項１０に記載のレンダリング装置。
【請求項１２】
前記ボクセル画像に対応して、０（表示しない）または１（表示する）の値をもつマスクデータＭａｓｋがあらかじめ定義されている場合、前記有効領域は、Ｍａｓｋ＝１である請求項９から請求項１１のいずれか一項に記載のレンダリング装置。
【請求項１３】
前記座標変換のパラメータを入力する座標変換パラメータ入力手段と、前記２次元投影画像生成手段により生成される２次元投影画像を表示出力する画像出力手段を更に備え、
外部より回転角の変更指示が行われている場合には、
前記座標変換パラメータ入力手段により、座標変換パラメータの入力を行い、
所定の間隔で間引きながら、前記２次元投影画像の画素に対して、前記２次元投影画像生成手段を実行し、残りの画素に対しては、前記２次元投影画像生成手段が実行された画素を基に補間するようにして生成された２次元投影画像を、前記画像出力手段は表示するようにし、
前記回転角の確定指示がなされた場合には、
前記座標変換パラメータ入力手段により、座標変換パラメータの入力を行い、
前記２次元投影画像の全ての画素に対して、前記２次元投影画像生成手段が実行され生成された２次元投影画像を、前記画像出力手段は表示するようにしている請求項９から請求項１２のいずれか一項に記載のレンダリング装置。
【請求項１４】
前記２次元投影画像生成手段により生成された２次元投影画像の各画素値が８ビットを超える階調をもつ場合に、あらかじめ定義された階調の下限値Ｌｍｉｎと階調の上限値Ｌｍａｘを用い、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＬｍｉｎ≦Ｉｍａｇｅ（ｘ，ｙ）≦Ｌｍａｘの場合、前記画素値を（Ｉｍａｇｅ（ｘ，ｙ）´＝（Ｉｍａｇｅ（ｘ，ｙ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）とし、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＩｍａｇｅ（ｘ，ｙ）＞Ｌｍａｘの場合、前記画素値をＩｍａｇｅ´（ｘ，ｙ）＝２５５とし、
前記画素値Ｉｍａｇｅ（ｘ，ｙ）がＩｍａｇｅ（ｘ，ｙ）＜Ｌｍｉｎの場合、前記画素値をＩｍａｇｅ´（ｘ，ｙ）＝０として、
前記各画素値を８ビットの階調に変換して表示するようにしている請求項１３に記載のレンダリング装置。
【請求項１５】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するため、
コンピュータを、
前記２次元投影画像を生成する領域である生成領域をＮ個の分割生成領域に分割して前記視線方向と交差する領域として視点座標系に定義し、前記分割生成領域の各画素より前記視線方向に仮想光線を照射し、前記視点座標系において、前記分割生成領域の各画素より、前記視線方向において所定の参照間隔で、前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像の対応する複数のボクセルの信号値を取得し、取得された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段として機能させ、
前記２次元投影画像生成手段は、
前記分割生成領域の所定の画素において、前記視線方向の座標値が上限値である座標を探索開始座標として、信号値が有効範囲に含まれる座標の中で前記視線方向のうち座標値が最大となる座標を探索し探索結果の座標を起点座標とする起点座標探索手段を備え、前記起点座標探索手段により探索された起点座標より座標値が下限値である座標に向けて所定数ｍ２で前記視線方向における座標を減じながら、視点座標系の３次元座標ごとにボクセル座標系への座標変換を行って前記ボクセル画像の対応するボクセルの信号値を算出するようにしており、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し前記２次元投影画像を生成するプログラム。
【請求項１６】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像を、所定の視線方向から観察した状態を表す２次元投影画像を生成するため、
コンピュータを、
前記２次元投影画像を生成する領域であって一方の軸と他方の軸が互いに直交する２次元の領域である生成領域を、各分割生成領域が互いに連続しない複数のブロックで構成される、Ｎ個の分割生成領域に分割し、
前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記複数の２次元の断層画像を構成する各画素を対応させたボクセル画像と前記仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する２次元投影画像生成手段として機能させ、
前記２次元投影画像生成手段は、前記Ｎ個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記２次元投影画像を生成するプログラム。