(57)【要約】【課題】ボリュームレンダリングにおけるデプスマップの生成を高速化させることができる技術を提供する。【解決手段】処理対象となる３次元オブジェクトに係るボリュームデータを読込むと、まず、３次元オブジェクトＴＢと６つの基準投影面ＳＰ１〜ＳＰ６との距離の分布を示す６つの基準距離マップをそれぞれ生成する。次に、ボリュームレンダリングにおいて３次元オブジェクトを投影する実投影面を設定する。そして、６つの基準投影面ＳＰ１〜ＳＰ６のうち、実投影面の投影方向と比較的近い投影方向を有する２以上の基準投影面が検出されると、当該２以上の基準投影面にそれぞれ対応する基準距離マップが、実投影面との相対的な位置関係に応じた回転および並進行列によってそれぞれ変換、統合されることで、３次元オブジェクトと実投影面との距離の分布を示す視覚化用距離マップが生成される。【選択図】図４
2006107093.tif 000002
【特許請求の範囲】
【請求項１】
ボリュームレンダリングによって表示用画像を生成する画像処理装置であって、
処理対象となる３次元オブジェクトに係るボリュームデータを所定の記憶手段に読込む読込手段と、
複数の基準面を設定する第１の設定手段と、
前記３次元オブジェクトと各前記基準面との距離の分布を示す基準距離マップをそれぞれ生成する第１の生成手段と、
ボリュームレンダリングにおいて前記３次元オブジェクトを投影する実投影面を設定する第２の設定手段と、
前記第１の生成手段によって生成された複数の基準距離マップのうちの２以上の距離マップを、当該２以上の距離マップにそれぞれ対応する２以上の基準面と前記実投影面との相対的な位置関係に応じて、それぞれ変換して統合することで、前記３次元オブジェクトと前記実投影面との距離の分布を示す視覚化用距離マップを生成する第２の生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
コンピュータにおいて実行されることにより、ボリュームレンダリングによって表示用画像を生成する画像処理装置として前記コンピュータを機能させるプログラムであって、
前記画像処理装置が、
処理対象となる３次元オブジェクトに係るボリュームデータを所定の記憶手段に読込む読込手段と、
複数の基準面を設定する第１の設定手段と、
前記３次元オブジェクトと各前記基準面との距離の分布を示す基準距離マップをそれぞれ生成する第１の生成手段と、
ボリュームレンダリングにおいて前記３次元オブジェクトを投影する実投影面を設定する第２の設定手段と、
前記第１の生成手段によって生成された複数の基準距離マップのうちの２以上の距離マップを、当該２以上の距離マップにそれぞれ対応する２以上の基準面と前記実投影面との相対的な位置関係に応じて、それぞれ変換して統合することで、前記３次元オブジェクトと前記実投影面との距離の分布を示す視覚化用距離マップを生成する第２の生成手段と、
を備えることを特徴とするプログラム。
【請求項３】
請求項２に記載のプログラムであって、
前記第１の設定手段が、
２つの基準面を設定し、
前記２つの基準面からそれぞれ前記３次元オブジェクトに向けて伸びる当該２つの基準面に係る第１および第２の法線ベクトルが相互に１８０度未満の角度を成し、
前記実投影面から前記３次元オブジェクトに向けて伸びる当該実投影面に係る第３の法線ベクトルが、
前記第１および第２の法線ベクトルによって形成される平面上に存在し、かつ前記第１および第２の法線ベクトルが相互に１８０度未満の角度を成す角度範囲に設定されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ボリュームレンダリングによって表示用の画像を生成する技術に関する。
【背景技術】
【０００２】
３次元の構造を示すデータを視覚化して表示する手法として、ボリュームレンダリング(Volume Rendering)という手法が知られている。そして、このボリュームレンダリングには、レイキャスティング(Ray Casting)法と呼ばれる手法がある。
【０００３】
また、ボリュームレンダリングは、例えば、医療分野において診断等を行う目的で、医療用の画像である３次元画像を表示する際にしばしば利用される。そして、例えば、視線方向を適宜変化させつつ、患部などを観察する際には、表示画像の切り替わりが速く、ユーザーがストレスを感じないようにすることが望まれている。
【０００４】
そのため、ボリュームレンダリングを高速化する手法が種々考えられ、提案されている。その中で、視線方向すなわち投影面が変更される度に、まず、投影面と３次元オブジェクトとの距離の分布を示すデプスマップを生成し、このデプスマップを用いて各視線に沿ったサンプリングを実行することで、ボリュームデータの視覚化を実施するタイプのボリュームレンダリングが知られている。そして、ある視点から３次元オブジェクトまでの距離を示すデプスマップの生成には、多大な計算が必要であることが知られている（例えば、特許文献１）。
【０００５】
このような技術に関する先行技術文献としては、以下のようなものがある。
【０００６】
【特許文献１】特開２０００−１０５１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したデプスマップを利用するボリュームレンダリングでは、視線方向が変更される度に、デプスマップを生成し直すためにある程度の計算時間が必要となる。そのため、表示用画像の生成、ひいては表示画像の表示切り替えに長時間を要し、投影面すなわち視線方向の変更に応じて表示画像をスムーズに変化させることが難しい。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、ボリュームレンダリングにおけるデプスマップの生成を高速化させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、請求項１の発明は、ボリュームレンダリングによって表示用画像を生成する画像処理装置であって、処理対象となる３次元オブジェクトに係るボリュームデータを所定の記憶手段に読込む読込手段と、複数の基準面を設定する第１の設定手段と、前記３次元オブジェクトと各前記基準面との距離の分布を示す基準距離マップをそれぞれ生成する第１の生成手段と、ボリュームレンダリングにおいて前記３次元オブジェクトを投影する実投影面を設定する第２の設定手段と、前記第１の生成手段によって生成された複数の基準距離マップのうちの２以上の距離マップを、当該２以上の距離マップにそれぞれ対応する２以上の基準面と前記実投影面との相対的な位置関係に応じて、それぞれ変換して統合することで、前記３次元オブジェクトと前記実投影面との距離の分布を示す視覚化用距離マップを生成する第２の生成手段とを備えることを特徴とする。
【００１０】
また、請求項２の発明は、コンピュータにおいて実行されることにより、ボリュームレンダリングによって表示用画像を生成する画像処理装置として前記コンピュータを機能させるプログラムであって、前記画像処理装置が、処理対象となる３次元オブジェクトに係るボリュームデータを所定の記憶手段に読込む読込手段と、複数の基準面を設定する第１の設定手段と、前記３次元オブジェクトと各前記基準面との距離の分布を示す基準距離マップをそれぞれ生成する第１の生成手段と、ボリュームレンダリングにおいて前記３次元オブジェクトを投影する実投影面を設定する第２の設定手段と、前記第１の生成手段によって生成された複数の基準距離マップのうちの２以上の距離マップを、当該２以上の距離マップにそれぞれ対応する２以上の基準面と前記実投影面との相対的な位置関係に応じて、それぞれ変換して統合することで、前記３次元オブジェクトと前記実投影面との距離の分布を示す視覚化用距離マップを生成する第２の生成手段とを備えることを特徴とする。
【００１１】
また、請求項３の発明は、請求項２に記載のプログラムであって、前記第１の設定手段が、２つの基準面を設定し、前記２つの基準面からそれぞれ前記３次元オブジェクトに向けて伸びる当該２つの基準面に係る第１および第２の法線ベクトルが相互に１８０度未満の角度を成し、前記実投影面から前記３次元オブジェクトに向けて伸びる当該実投影面に係る第３の法線ベクトルが、前記第１および第２の法線ベクトルによって形成される平面上に存在し、かつ前記第１および第２の法線ベクトルが相互に１８０度未満の角度を成す角度範囲に設定されることを特徴とする。
【発明の効果】
【００１２】
請求項１に記載の発明によれば、処理対象となる３次元オブジェクトに係るボリュームデータを読込むと、まず、３次元オブジェクトと複数の基準面との距離の分布を示す複数の基準距離マップをそれぞれ生成し、次に、ボリュームレンダリングにおいて３次元オブジェクトを投影する実投影面を設定すると、複数の基準距離マップのうちの２以上の基準距離マップを、当該２以上の基準距離マップにそれぞれ対応する２以上の基準面と実投影面との相対的な位置関係に応じて、それぞれ変換して統合することで、３次元オブジェクトと実投影面との距離の分布を示す視覚化用距離マップを生成するような構成とすることにより、実投影面の変更に応じたデプスマップの生成時間を抑制することができるため、ボリュームレンダリングにおけるデプスマップの生成を高速化させることができる。
【００１３】
また、請求項２に記載の発明によれば、請求項１に記載の発明と同様な効果を奏する。
【００１４】
また、請求項３に記載の発明によれば、２つの基準面からそれぞれ３次元オブジェクトに向けて伸びる当該２つの基準面に係る第１および第２の法線ベクトルが、相互に１８０度未満の角度を成し、実投影面から３次元オブジェクトに向けて伸びる当該実投影面に係る第３の法線ベクトルが、第１および第２の法線ベクトルによって形成される平面上に存在し、かつ第１および第２の法線ベクトルが相互に１８０度未満の角度を成す角度範囲に設定されるような構成とすることで、視線方向を変更させることができる範囲が限定されるものの、基本距離マップの数が少なくて済むため、基本距離マップの計算負荷を低減することができる。また、例えば、複数の基本距離マップを一時的に記憶するメモリの容量を考慮すると、メモリからの読出しをより高速化することができるため、結果として、デプスマップの生成をより高速化させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態を図面に基づいて説明する。
【００１６】
＜画像処理システムの概要＞
図１は、本発明の実施形態に係る画像処理システム１の概要を例示する図である。
【００１７】
画像処理システム１は、パーソナルコンピュータ（以下単に「パソコン」と称する）２と、パソコン２とデータ送受信可能に接続されるモニター３及び装着部５と、パソコン２に対してユーザーが各種選択事項などを入力する操作部４とを備えて構成される。
【００１８】
パソコン２は、制御部２０、入出力Ｉ／Ｆ２１、及び記憶部２２を備えている。
【００１９】
入出力Ｉ／Ｆ２１は、パソコン２と、モニター３、操作部４、及び装着部５との間でデータの送受信を行うためのインターフェイス（Ｉ／Ｆ）であり、制御部２０との間でデータの送受信を行う。
【００２０】
記憶部２２は、例えばハードディスクなどで構成されており、後述するボリュームレンダリングなどを実現するための画像処理プログラムＰＧなどを格納している。
【００２１】
制御部２０は、主にＣＰＵ、ＲＯＭ２０ａ、及びＲＡＭ２０ｂなどを有し、パソコン２の各部を統括制御する部位である。そして、この制御部２０は、記憶部２２に格納される画像処理プログラムＰＧを読み込んでＣＰＵで実行することにより、ボリュームデータに基づいて表示用の画像データ（「表示用画像」とも称する）を生成するボリュームレンダリング（視覚化）を実施し、当該表示用画像を入出力Ｉ／Ｆ２１を介してモニター３に出力する。このように、パソコン２は、ボリュームレンダリングによりボリュームデータに基づいて表示用画像を生成する画像処理装置として働く。
【００２２】
モニター３は、例えばＣＲＴで構成され、制御部２０で生成される表示用画像を可視的に出力する。つまり、表示用画像に基づいた表示画像を出力する。
【００２３】
操作部４は、キーボードやマウスなどから構成され、ユーザーの各種操作にしたがって各種電気信号を入出力Ｉ／Ｆ２１に送信する。また、装着部５は、メモリカード５１などの記憶媒体を着脱自在に装着することができる。そして、装着部５に装着されたメモリカード５１に格納される各種データやプログラムなどを入出力Ｉ／Ｆ２１を介して制御部２０や記憶部２２に取り込むことができる。
【００２４】
＜ボリュームレンダリングについて＞
ここでは、物体を非常に小さな立方体（又は直方体）を要素とする集合により表現するボクセル表現と呼ばれる手法が用いられる。そして、この要素としての立方体（又は直方体）がボクセルと呼ばれる。
【００２５】
一般に、Ｘ線を利用したＣＴスキャン（Computed Tomography Scan）を使用することにより、人体を輪切りにした時の映像を得ることができる。そして、この輪切りの位置をずらすことにより、また切断方向を上下、前後、左右に変化させることにより、ボクセルごとにＸ線の吸収量を蓄えたデータが得られる。このように３次元空間内の濃度や密度の分布を表したデータは「ボリュームデータ」と呼ばれる。このボリュームデータは、ボリュームデータが表現する対象となる３次元領域、すなわちボリュームデータに対応する３次元領域が複数のボクセルに分割されて、各ボクセルに対して１つのボクセル値（ここでは、Ｘ線の吸収量を示す値）が与えられたデータとなっている。そして、このボリュームデータに対応する３次元領域が、ボリュームデータに基づくボリュームレンダリングにおける演算処理の対象となる。
【００２６】
画像処理システム１におけるボリュームレンダリングでは、まず、処理対象となるボリュームデータが指定されると、ボリュームレンダリングの対象物、すなわちボリュームデータによって規定される３次元オブジェクトの周囲６方向に６つの基準となる投影面（「基準投影面」とも称する）が設定される。そして、当該６つの基準投影面ごとに、それぞれ基準投影面と３次元オブジェクトとの距離の分布を示すデプスマップ（「基準デプスマップ」若しくは「基準距離マップ」とも称する）が生成される。その後、ボリュームレンダリングを行う際の視線方向すなわち３次元オブジェクトを実際に投影する投影面（「実投影面」とも称する）が設定されると、予め生成された６つの基準距離マップのうち、３次元オブジェクトに対して実投影面と近い方向に存在する基準投影面に係る基準距離マップに基づいて、視覚化に用いられる実投影面と３次元オブジェクトとの距離の分布を示すデプスマップ（「視覚化用デプスマップ」若しくは「視覚化用距離マップ」とも称する）が生成される。このような構成により、画像処理システム１では、ボリュームレンダリングにおけるデプスマップの生成を高速化させることができる。なお、本実施形態におけるボリュームレンダリングでは、正投影が行われるものとする。
【００２７】
以下、画像処理システム１におけるボリュームレンダリングの動作について、具体的に説明する。
【００２８】
図２は、画像処理システム１で実行されるボリュームレンダリングの動作フローを示すフローチャートである。本動作フローは、制御部２０が、記憶部２２に格納される画像処理プログラムＰＧを読み込んでＣＰＵで実行することによって実現される。なお、ここでは、例えば、ユーザーが操作部４を種々操作することで、処理対象となるボリュームデータを指定すると、ボリュームレンダリングの動作フローが開始し、図２のステップＳ１１に進む。
【００２９】
ステップＳ１１では、メモリカード５１や記憶部２２などに格納される処理対象となる３次元領域（すなわち３次元オブジェクト）に係るボリュームデータが、制御部２０によって読み出されて取得され、記憶手段として機能するＲＡＭ２０ｂに読み込まれて一時的に記憶される。そして、ステップＳ１２に進む。なお、このとき、制御部２０によりボリュームデータに対して雑音除去のフィルター処理などの前処理が施されるようにしても良い。
【００３０】
ステップＳ１２では、ステップＳ１１で取得されたボリュームデータによって規定される３次元オブジェクトの周囲に６つの基準投影面を設定し、ステップＳ１３に進む。図３では、ボリュームデータによって規定される３次元オブジェクトＴＢの一例を可視的に示した図であり、このステップＳ１２では、図４に示すように、３次元オブジェクトＴＢを囲むように６つの基準投影面ＳＰ１〜ＳＰ６が設定される。なお、図４では、方位関係を明確にするために、ＸＹＺの３次元直交座標系が示されている。そして、６つの基準投影面ＳＰ１〜ＳＰ６は、それぞれ、ＸＹ平面、ＹＺ平面、ＸＺ平面に平行な面であり、相互に直交するように設定される。具体的には、基準投影面ＳＰ１，ＳＰ３は、ＹＺ平面に平行な面、基準投影面ＳＰ２，ＳＰ４は、ＸＺ平面に平行な面、基準投影面ＳＰ５，ＳＰ６は、ＸＹ平面に平行な面となっている。また、ここでは、各基準投影面ＳＰ１〜ＳＰ６ごとに、３次元オブジェクトＴＢに向けて伸びる法線方向（法線ベクトル）の反対方向を、３次元オブジェクトが各基準投影面ＳＰ１〜ＳＰ６に投影される方向（投影方向）としてＲＡＭ２０ｂに記憶される。
【００３１】
ステップＳ１３では、６つの基準投影面ＳＰ１〜ＳＰ６それぞれについて、３次元オブジェクトと各基準投影面との距離の分布を示す基準距離マップを生成し、ステップＳ１４に進む。ここでは、一般的なデプスマップの生成方法と同様な方法によって、各基準投影面ごとに、３次元オブジェクトを構成するセル（例えば、ボクセル等）が基準投影面に対して投影されることで、基準距離マップが生成される。具体的には、表示対象となる３次元オブジェクトを構成する全ボクセルを基準投影面上に投影し、投影された各ピクセルの位置にボクセルと基準投影面との距離を書き込むことで、基準距離マップを生成する。なお、各ピクセルに距離を書き込む際に、既に距離値が書き込まれている場合には、相対的に小さな方の値（すなわち、ボクセルが基準投影面に対して相対的に近距離に位置するケース）を採用する。
【００３２】
ステップＳ１４では、ボリュームレンダリングにおいて３次元オブジェクトを投影する実投影面を設定し、ステップＳ１５に進む。ここでは、例えば、ユーザーが操作部４を種々操作することで、３次元オブジェクトを視覚化する際の視線方向が指定され、実投影面が設定される。
【００３３】
ステップＳ１５では、予め生成された６つの基準距離マップに基づき、実投影面に係る視覚化用距離マップを生成し、ステップＳ１６に進む。図５は、視覚化用距離マップの生成動作フローについて示すフローチャートであり、ここでは、ステップＳ１５に進むと、図５に示す動作フローが開始されて、図５のステップＳ１５１に進む。
【００３４】
ステップＳ１５１では、ステップＳ１４で設定された実投影面の投影方向（視線方向の反対方向）を認識し、ステップＳ１５２に進む。ここでは、例えば、図６に示すように、実投影面ＲＰに係る投影方向（投影ベクトル）ＲＤが認識される。
【００３５】
ステップＳ１５２では、６つの基準投影面のうち、実投影面の投影方向と近い投影方向を有する基準投影面を検出し、ステップＳ１５３に進む。ここでは、６つの基準投影面のうち、３次元オブジェクトが実投影面に対して投影される方向（投影方向）に対して９０度未満の角度を成す投影方向を有する基準投影面が検出される。つまり、実投影面に対向する３次元オブジェクトの表面に対して、同一または異なる方向から対向する基準投影面が検出される。例えば、図６に示すように、実投影面ＲＰに係る投影方向ＲＤに対して９０度未満の角度を成す投影方向ＳＤ１，ＳＤ２に対応する基準投影面ＳＰ１，ＳＰ２が検出される。
【００３６】
また、具体的には、実投影面に係る投影方向と、６つの基準投影面ＳＰ１〜ＳＰ６に係る投影方向のうちのいずれか１つの投影方向とが同一となる場合には、投影方向が同一となる基準投影面が検出される。このような場合には、実投影面に対向する３次元オブジェクトの表面のすべてに対して１つの基準投影面が対向するため、言い換えれば、実投影面に投影される３次元オブジェクトの表面の全ての領域が１つの基準投影面に対して投影される関係にあるため、１つの基準投影面が検出される。
【００３７】
また、実投影面に係る投影方向が、６つの基準投影面ＳＰ１〜ＳＰ６に係る投影方向のうちのいずれか１つの投影方向とは同一とならず、かつＸＹ平面、ＹＺ平面、およびＸＺ平面のうちの何れかの平面に対して平行である場合には、２つの基準投影面が検出される。このような場合には、実投影面に投影される３次元オブジェクトの表面のほぼ全ての領域が、２つの基準投影面に対して投影される関係にあるため、２つの基準投影面が検出される。
【００３８】
更に、実投影面に係る投影方向が、ＸＹ平面、ＹＺ平面、およびＸＺ平面のうちの何れの平面に対しても平行でない場合には、３つの基準投影面が検出される。このような場合には、実投影面に投影される３次元オブジェクトの表面のほぼ全ての領域が、３つの基準投影面に対して投影される関係にあるため、３つの基準投影面が検出される。
【００３９】
ステップＳ１５３では、ステップＳ１５２で検出された基準投影面について生成された基準距離マップに基づいて、視覚化用距離マップを生成し、視覚化用距離マップの生成動作フローを終了する。
【００４０】
ここで、ステップＳ１５３における、基準距離マップに基づいた視覚化用距離マップの生成方法について、図７を参照しつつ、説明する。ここでは、図７に示すように、３次元オブジェクトＴＢと基準投影面ＳＤとの距離の分布を示す基準距離マップＤＭ0があり、３次元オブジェクトＴＢと実投影面ＲＰとの距離の分布を示す視覚化用距離マップＤＭ1を、基準距離マップＤＭ0等に基づいて生成する場合を考える。
【００４１】
ここでは、図７に示すように、各距離マップＤＭ0，ＤＭ1に対しては、各距離マップの左上の点が原点、各投影面がｘｙ平面、＋ｚ方向が各投影面に係る視線方向（投影方向の反対方向）となるように、ｘｙｚ直交座標系がそれぞれ設定される。また、ワールド座標系すなわち基準となるＸＹＺ３次元直交座標系を、各距離マップＤＭ0，ＤＭ1に対して設定された座標系に変換する回転行列と並進行列との組み合わせをそれぞれ（Ｒ0ij，Ｔ0j）および（Ｒ1ij，Ｔ1j）とする。ここではｉ，ｊ＝１，２，３であり、回転行列Ｒ0ij，Ｒ1ijは３×３の正則行列、並進行列Ｔ0j，Ｔ1jは、１×３の行列すなわち列ベクトルとなる。なお、上述した６つの基準投影面ＳＰ１〜ＳＰ６、および実投影面が設定された時点で、各投影面のワールド座標系における位置が決まるため、ワールド座標系から各投影面に係る座標系へ変換する回転行列と並進行列との組み合わせを決定することができる。
【００４２】
ここで、基準距離マップＤＭ0のある点Ｐ0（Ｘ0，Ｙ0）を考える。この点Ｐ0に対しては、距離値ｄ0が与えられているものとする。点Ｐ0は、３次元オブジェクト上の点Ｐと対応する点すなわち点Ｐが基準投影面ＳＤに対して投影された点である。そして、ワールド座標系で示される点Ｐを、回転行列Ｒ0ij、並進行列Ｔ0jによって、基準距離マップＤＭ0に対して設定された座標系に変換して、座標変換後の点を点Ｐ0’とする。更に、点ＰのＸＹＺの座標値、および点Ｐ0’のｘｙｚの座標値をそれぞれ、下式（１）に示すように１×３の行列（列ベクトル）Ｐj，Ｐ0j’と表現すると、行列Ｐjと行列Ｐ0j’との関係は、下式（２）で表現される。
【００４３】
【数１】
2006107093.tif 000003
【００４４】
【数２】
2006107093.tif 000004
【００４５】
ここでは、Ｐ0j’のｘがＸ0、ｙがＹ0、ｚが距離値ｄ0となる。
【００４６】
次に、視覚化用距離マップＤＭ1を生成する際には、実投影面ＲＰ上において、点Ｐ0と対応する点Ｐ1を求める必要性がある。ここでは、基準距離マップＤＭ0に対して設定された座標系で表される点Ｐ0’から元の３次元オブジェクト上のワールド座標系で示される点Ｐの座標位置を求め、当該点Ｐの座標位置を視覚化用距離マップに対して設定された座標系に変換することで、点Ｐ1の座標位置を求めることができる。
【００４７】
具体的には、まず、回転行列Ｒ0ijは３×３の正則行列であるため、逆行列Ｒ0ij-1を求めることができ、下式（３）によって、列ベクトルＰ0j’から列ベクトルＰjを求めることができる。
【００４８】
【数３】
2006107093.tif 000005
【００４９】
そして、ワールド座標系で示される点Ｐの座標位置を、回転行列Ｒ1ij、並進行列Ｔ1jによって、視覚化用距離マップＤＭ1に対して設定された座標系に変換して、座標変換後の点を点Ｐ1’とする。更に、点Ｐ1’のｘｙｚの座標値を、下式（４）に示すように１×３の行列（列ベクトル）Ｐ1j’と表現すると、行列Ｐjと行列Ｐ1j’との関係は、下式（５）で表現される。
【００５０】
【数４】
2006107093.tif 000006
【００５１】
【数５】
2006107093.tif 000007
【００５２】
そして、上式（５）に上式（３）を代入して求められる下式（６）により、行列Ｐ1j’を行列Ｐ0j’から求めることができる。
【００５３】
【数６】
2006107093.tif 000008
【００５４】
ここでは、Ｐ1j’のｘがＸ1、ｙがＹ1、ｚが３次元オブジェクト上の点Ｐと実投影面ＲＰ上の点Ｐ1との距離を示す距離値ｄ1となる。したがって、列ベクトルＰ0j’すなわち点Ｐ0に係る座標位置と距離値との情報に基づいて、点Ｐ1に係る座標位置と距離値との情報を求めることができる。
【００５５】
このような計算を基準距離マップＤＭ0の各ピクセルについて行うことで、視覚化用距離マップＤＭ1の各ピクセルに係る距離値を求めることができる。
【００５６】
ステップＳ１５３では、このような演算を、ステップＳ１５２で検出された各基準投影面に係る各基準距離マップについてそれぞれ行い、視覚化用距離マップの各ピクセルに係る距離値を求める。このとき、視覚化用距離マップの１つのピクセルに対して、複数の距離値が求められる場合には、相対的に近い距離値すなわち３次元オブジェクトからより近い距離を示す距離値が採用される。このようにして、ステップＳ１５２で検出された基準距離マップに基づいた視覚化用距離マップの生成が実現される。
【００５７】
したがって、例えば、ステップＳ１５２において２以上の複数の基準投影面が検出された際には、６つの基準距離マップのうち、ステップＳ１５２で検出された２以上の複数の基準距離面に係る基準距離マップが、当該２以上の複数の基準投影面と実投影面との相対的な位置関係に応じて、それぞれ変換されて統合されることで、視覚化用距離マップが生成される。
【００５８】
図２に戻って、説明を続ける。
【００５９】
ステップＳ１６では、ステップＳ１５において生成された視覚化用距離マップを利用したレイキャスティング法によるボリュームレンダリングが実行され、ステップＳ１７に進む。なお、ここでは、ボリュームレンダリングによって表示用画像が生成され、当該表示用画像がモニター３に対して出力され、モニター３において表示用画像に基づいた表示画像が可視的に出力される。
【００６０】
ここで、レイキャスティング法によるボリュームレンダリングについて説明する。
【００６１】
図８および図９は、レイキャスティング法によるボリュームレンダリングを説明するための概念図である。
【００６２】
レイキャスティング法によるボリュームレンダリングでは、例えば、図８に示すように、３次元空間内に分布しているボクセルデータＶＤを、任意の視点ＳＰから実投影面ＳＣ上の所定の各点ＣＰを介して射出されるレイ（視線とも称する）ＲＹに沿って一定間隔のサンプリング点ＳＭでサンプリングし、その値を加算していくことで最終的に半透明な表示用の画像（表示用画像）が生成される。ここでは、正投影が行われるものとする。なお、実投影面ＳＣ上の各点ＣＰは、最終的に生成される表示用画像の各画素に対応する各画素対応点となっている。また、表示用画像上の画素のうち画素値を算出する対象となっている画素を「対象画素」とも称する。このボリュームレンダリングでは、半透明表示を行うことで物体の内部を可視化するが、これは各ボクセルＶＸに不透明度αを与えることで実現している。
【００６３】
レイキャスティング法によるボリュームレンダリングでは、レイＲＹに沿って視点ＳＰ側から順次各ボクセルの輝度値と不透明度αとの積を加算していき、αの総和が１となるか、又はレイＲＹが対象としているボリュームから抜け出たとき、その対象画素（対象画素に対応する画素対応点ＣＰ）に対する処理を終了し、加算結果を当該対象画素の値（画素値）として採用する。
【００６４】
現在のサンプリング点での輝度値及び不透明度をそれぞれｃ及びαとし、視線に沿って並んだサンプリング点に入射した積算輝度値Ｃinと当該サンプリング点を抜けたときの積算輝度値Ｃoutとの関係は、下式（７）のようになる。
【００６５】
【数７】
2006107093.tif 000009
【００６６】
また、図９に示すように、レイキャスティング法におけるサンプリング点（図９中でハッチングを付した丸印）ＳＭでの輝度値と不透明度は、例えば、周囲の隣接する８つのボクセル（図９中ではボクセルの中心点を白丸印で示す）に係る輝度値及び不透明度から線形補間によって求められる。
【００６７】
図１０は、レイキャスティング法を用いたボリュームレンダリングの動作フローを示すフローチャートである。
【００６８】
レイキャスティング法を用いたボリュームレンダリングの動作フローが開始されると、まず、各ボクセルの輝度値と不透明度とを決定し（ステップＳ２１）、実投影面のうち最終的に生成される表示用画像の各画素に対応する各点（「画素対応点」とも称する）からレイに沿って輝度値と不透明度との積を加算することで、各対象画素に対する最終的な画素値を求めて、１つの画像（表示用画像）が生成される（ステップＳ２２〜Ｓ２５）。
【００６９】
この各レイに沿ってサンプリングを行い、輝度値と不透明度との積を加算する際に、サンプリングを行う開始点が、距離マップを利用して決定される。このことは、距離マップ（デプスマップ）を生成して利用するボリュームレンダリングでは、周知の事項であるが、具体的には、視覚化用距離マップでは、各画素対応点に対して３次元オブジェクトまでの大凡の距離値が与えられているため、視覚化用距離マップを参照することで、各レイについて、実投影面ＳＣからどの程度離れた地点から３次元オブジェクトが存在するのかを認識することができる。したがって、３次元オブジェクトが存在しない位置において無駄なサンプリング処理および演算をさせないために、視覚化用距離マップを参照して、各レイ毎に、対応する距離値以上の地点からサンプリングを行うようにすることができる。さらに、視覚化用距離マップを参照することで、レイ上に３次元オブジェクトが全く存在していない状態も認識することができるため、サンプリングが必要ないレイも検出可能となり、無駄なサンプリングをより省略することができる。
【００７０】
ここで、各ボクセルの輝度値ｃ及び不透明度αの算出方法について説明する。
【００７１】
各ボクセルの輝度値ｃは、隣接するボクセル値の勾配より推定される法線ベクトルＮを用いてフォンのシェーディングモデルから下式（８）のように算出される。
【００７２】
【数８】
2006107093.tif 000010
【００７３】
ここでは、ｃpは光源強度を、ｋa，ｋd，ｋsはそれぞれ環境光、拡散光、及び鏡面反射光成分の割合を表す。ｄは実投影面からボクセルまでの距離を表し、ｋ1及びｋ2は実投影面に近いものほど明るく表示するデプスコーディング(Depth Cording)法のパラメータである。また、Ｌはボクセルから光源への単位方向ベクトルであり、Ｈは正反射光を求めるためのベクトルで、レイの方向を示す視線方向ベクトルＶにより下式（９）で求められる。
【００７４】
【数９】
2006107093.tif 000011
【００７５】
また、あるボクセル値ｆ（ｉ，ｊ，ｋ）の法線ベクトルＮは下式（１０）で求められる。なお、ボクセル値ｆ（ｉ，ｊ，ｋ）は、３次元空間をＸ，Ｙ，Ｚの３次元直交座標系で示した場合のＸ＝ｉ，Ｙ＝ｊ，Ｚ＝ｋの座標におけるボクセル値を示す。
【００７６】
【数１０】
2006107093.tif 000012
【００７７】
また、ここで、∇ｆ（ｉ，ｊ，ｋ）は、ボクセル値のＸ，Ｙ，Ｚ方向それぞれの勾配として下式（１１）のように求められる。
【００７８】
【数１１】
2006107093.tif 000013
【００７９】
また、レンダリングによって得られる表示用画像をカラー画像とする場合には、例えば、光源のＲ（レッド）Ｇ（グリーン）Ｂ（ブルー）の各成分毎に上式（８）〜（１１）を用いた同様の計算を行うことで、各対象画素に対するＲＧＢの画素値を求めることができる。
【００８０】
なお、上式（８）〜（１１）において、光源強度ｃp、環境光成分の割合ｋa，拡散光成分の割合ｋd，鏡面反射光成分の割合ｋs、及びデプスコーディング法のパラメータｋ1，ｋ2は、ユーザーによって適当な値に設定される。また、単位方向ベクトルＬは、光源の位置設定とボクセルとの位置関係によって求まり、レイの方向を示す視線方向ベクトルＶは、視点ＳＰの位置設定によって求まる。したがって、ここでは、上式（８）の右辺の値が全て求まるため、各ボクセルの輝度値ｃを算出することができる。
【００８１】
一方、不透明度αについては、下式（１２）によって算出することができる。
【００８２】
【数１２】
2006107093.tif 000014
【００８３】
ここでは、ｆ（ｉ，ｊ，ｋ）をｆと略して示し、ｆnは、不透明度を与えたいボクセル値の範囲におけるボクセル値の最低値を示し、ｆn+1は、不透明度を与えたいボクセル値の範囲におけるボクセル値の最大値を示す。また、αnは、ボクセル値がｆnのときの不透明度を示し、αn+1は、ボクセル値がｆn+1のときの不透明度を示す。更に、上式（１２）によって不透明度を求めるのは、ｆn＜ｆ＜ｆn+1の関係を満たす場合であり、ｆn＜ｆ＜ｆn+1の関係を満たさない場合には、α＝０とする。
【００８４】
更に、図２に戻って、説明を続ける。
【００８５】
ステップＳ１７では、実投影面を変更する指示（変更指示）の有無について判定する。ここでは、例えば、ユーザーが操作部４を種々操作することで、３次元オブジェクトを視覚化する際の視線方向、すなわち実投影面を変更する指示を与えることができる。そして、実投影面の変更指示がなければ、ステップＳ１７の判定を繰り返し、実投影面の変更指示があれば、ステップＳ１４に戻り、変更後の実投影面についてボリュームレンダリングを実行して表示用画像を生成する。
【００８６】
なお、ここでは、例えば、ユーザーによる操作部４の操作等に応じて、ボリュームレンダリングの動作フローを強制的に終了させることで、図２に示す動作フローから強制的に抜けるさせることが可能である。
【００８７】
以上のように、本発明の実施形態に係る画像処理システム１では、制御部２０が、処理対象となる３次元オブジェクトに係るボリュームデータを読込むと、まず、３次元オブジェクトと６つの基準投影面ＳＰ１〜ＳＰ６との距離の分布を示す６つの基準距離マップをそれぞれ生成する。次に、ボリュームレンダリングにおいて３次元オブジェクトを投影する実投影面を設定する。そして、６つの基準投影面ＳＰ１〜ＳＰ６のうち、実投影面の投影方向と近い投影方向を有する２以上の複数の基準投影面が検出された場合には、検出された複数の基準投影面と実投影面との相対的な位置関係に応じて、検出された２以上の基準投影面に係る複数の基準距離マップを、回転行列および並進行列によってそれぞれ変換して統合することで、３次元オブジェクトと実投影面との距離の分布を示す視覚化用距離マップを生成する。
【００８８】
このような構成により、実投影面が変更される度に、３次元オブジェクトを構成する各ボクセルなどいった小さな領域ごとに、実投影面との距離を検出して、小さな距離値を優先的に採用しつつ視覚化用距離マップを生成する従来の方式に比べて、予め生成しておいた６つの基準距離マップに基づいて、視覚化用距離マップを生成する方が、計算量が少なくて済む。したがって、実投影面の変更に応じたデプスマップの生成時間を抑制することができるため、ボリュームレンダリングにおけるデプスマップの生成を高速化させることができる。その結果、投影面すなわち視線方向の変更に応じて表示画像をスムーズに変化させることができる。
【００８９】
なお、ここでは、ハイブリッド型のボリュームレンダリングにおいて、中間的なデータとして使用する視覚化用距離マップを、複数の基準距離マップに基づいて生成する。そのため、従来技術によって実投影面について直接的に求められる視覚化用距離マップよりも、本実施形態の構成によって生成される視覚化用距離マップの方が、精度の悪いものとなる。しかしながら、視覚化用距離マップは、中間的な段階で使用されるデータであり、最終的に生成される表示用画像の精度には影響を及ぼさないため、表示用画像の精度といった観点から見れば、視覚化用距離マップの精度の悪化は、特に考慮する必要性がない。
【００９０】
＜変形例＞
以上、この発明の実施形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【００９１】
◎例えば、上述した実施形態では、実投影面に係る視覚化用距離マップを生成するための基準距離マップを、実投影面の投影方向に対して９０度未満の角度をなす投影方向に対応する基準投影面を検出することで決定したが、これに限られず、例えば、処理対象となるボリュームデータに係る３次元領域の中心点を基準として、当該中心点から各基準投影面まで延ばした垂線と各基準投影面との交点の位置を、所定の位置を基準とした経度および緯度で示して、各基準投影面の方向関係を示す情報として記憶しておき、実投影面が設定されると、上記中心点から実投影面まで延ばした垂線と実投影面との交点の位置の経度および緯度を検出して、当該実投影面に係る経度および緯度に対してそれぞれ９０度未満の関係にある基準投影面を検出することで、検出された基準投影面に対応する基準距離マップを、実投影面に係る視覚化用距離マップを生成するための基準距離マップとして採用するようにしても良い。
【００９２】
◎また、上述した実施形態では、３次元オブジェクトを取り囲むように設けられた６つの基準投影面ＳＰ１〜ＳＰ６について、それぞれ基準距離マップを生成したが、これに限られず、例えば、３次元オブジェクトを取り囲む正四面体の各面上に基準投影面を設定して、４つの基準投影面を設定するなど、４以上の複数の基準投影面を設定して、当該複数の基準投影面に対応する複数の基準距離マップをそれぞれ生成するようにしても良い。このような構成としても、上述した実施形態と同様な効果を得ることができる。
【００９３】
なお、基準距離マップに基づいて生成される視覚化用距離マップの精度を高めるためには、３次元オブジェクトに対して相互に設定される方向が異なる複数の基準投影面、引いては基準距離マップの数が多ければ多い程良い。但し、基準距離マップの数が多ければ、イメージレンダリングの初期における計算量が多くなり、最初の表示用画像が生成されるまでに長時間を要してしまうといったデメリットを生じる。また、基準距離マップのデータ量が増加し過ぎると、高速読み出しが可能な１次キャッシュの容量をオーバーしてしまうといった様なメモリの容量との兼ね合いで、視覚化用距離マップを生成する際の基準距離マップのデータ読出しに長時間を要し、結果的に、視線方向の変更に応答した表示用画像の生成に長時間を要してしまうといったデメリットも生じる。よって、計算速度やメモリの容量等、装置の仕様に応じて、基準投影面すなわち基準距離マップの数を適宜設定する必要性がある。
【００９４】
◎また、イメージレンダリングを実施する際における視線方向を変更させることが可能な範囲を限定すれば、基準投影面すなわち基準距離マップの数を２つ等、比較的少ない数に抑えることもできる。
【００９５】
ここで、例えば、３次元オブジェクトの周囲に２つの基準投影面が設定され、当該２つの基準面からそれぞれ３次元オブジェクトに向けて伸びる当該２つの基準面に係る第１および第２の法線ベクトルが相互に１８０度未満の角度を成すとともに、実投影面から３次元オブジェクトに向けて伸びる実投影面に係る第３の法線ベクトルが、第１および第２の法線ベクトルによって形成される平面上に存在し、かつ第１および第２の法線ベクトルが相互に１８０度未満の角度を成す角度範囲に設定されるといった限定を与えれば、実投影面についての視覚化用距離マップを、２つの基準投影面に係る基準距離マップに基づいて生成することができる。
【００９６】
例えば、図４に示す２つの基準投影面ＳＰ１，ＳＰ２のみが設定され、基準投影面ＳＰ１，ＳＰ２の３次元オブジェクトに向けた法線ベクトルが含まれる平面（ＸＹ平面）上であって、２つの基準投影面ＳＰ１，ＳＰ２の法線ベクトルが相互に１８０度未満の角度（ここでは、９０度）を成す角度範囲内に、実投影面の３次元オブジェクトに向けた法線ベクトルがくるように、実投影面を設定するようにしても良い。つまり、実投影面の法線ベクトルがＸＹ平面に対して平行であり、かつ＋Ｘおよび＋Ｙ方向に向いたベクトルとなるようにしても良い。
【００９７】
このような設定とすると、実投影面に対向する３次元オブジェクトの表面のほぼ全てに対して２つの基準投影面ＳＰ１，ＳＰ２が対向する。換言すれば、実投影面に投影される３次元オブジェクトの表面のほぼ全ての領域が２つの基準投影面ＳＰ１，ＳＰ２に対して投影される関係となる。したがって、予め２つの基準投影面ＳＰ１，ＳＰ２についてそれぞれ基準距離マップを生成しておき、２つの基準投影面ＳＰ１，ＳＰ２と実投影面との相対的な位置関係に応じて、２つの基準距離マップをそれぞれ変換して統合することで、視覚化用距離マップを生成することができる。
【００９８】
したがって、このような構成により、視線方向を変更させることができる範囲が限定されるものの、基本距離マップの数が少なくて済むため、基本距離マップの計算負荷を低減することができる。また、例えば、複数の基本距離マップを一時的に記憶するメモリの容量を考慮すると、メモリからの読出しをより高速化することができるため、結果として、デプスマップの生成をより高速化させることができる。
【００９９】
◎また、上述した実施形態では、１つの３次元オブジェクトに係るボリュームデータを読み込んでイメージレンダリングを行う場合について説明したが、これに限られず、例えば、複数の３次元オブジェクトを含む処理対象となる３次元領域に係るボリュームデータを読み込んでイメージレンダリングを行う場合にも、本発明を適用することができる。例えば、木や岩等いった複数の３次元オブジェクトそれぞれについて、複数（例えば、上記実施形態のように６つ）の基準距離マップを生成しておき、実投影面の設定に応答して、各オブジェクトに対応する複数の基準距離マップに基づいて、視覚化用距離マップを生成するようにしても良い。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施形態に係る画像処理システム１の概要を例示する図である。
【図２】ボリュームレンダリングの動作フローを示すフローチャートである。
【図３】３次元オブジェクトを例示する図である。
【図４】基準投影面の設定について説明する図である。
【図５】視覚化用距離マップの生成動作フローを示すフローチャートである。
【図６】視覚化用距離マップの生成について説明する図である。
【図７】視覚化用距離マップの生成について説明する図である。
【図８】Ray Casting法によるVolume Renderingについて説明する図である。
【図９】Ray Casting法によるVolume Renderingについて説明する図である。
【図１０】Ray Casting法によるVolume Renderingの動作フローを例示するフローチャートである。
【符号の説明】
【０１０１】
１  画像処理システム
２  パソコン
２０  制御部
２０ａ  ＲＯＭ
２０ｂ  ＲＡＭ
２２  記憶部
ＰＧ  画像処理プログラム
【図１】
2006107093.tif 000015
【図２】
2006107093.tif 000016
【図３】
2006107093.tif 000017
【図４】
2006107093.tif 000018
【図５】
2006107093.tif 000019
【図６】
2006107093.tif 000020
【図７】
2006107093.tif 000021
【図８】
2006107093.tif 000022
【図９】
2006107093.tif 000023
【図１０】
2006107093.tif 000024