(57)【特許請求の範囲】
【請求項１】
ボクセルデータ、前記ボクセルデータを２以上の異なる領域にラベリングするセグメンテーションデータ、および前記ボクセルデータと前記セグメンテーションデータとをもとにボリュームレンダリングして得られたレンダリング画像を取得する取得部と、
前記ボクセルデータ、前記セグメンテーションデータ、および前記レンダリング画像をもとに、前記ボリュームレンダリングに用いられたパラメータを推定する推定部と、
前記推定部が推定したパラメータを用いて前記ボクセルデータをボリュームレンダリングした結果を表示部に出力する表示出力部とを備える情報処理装置。
【請求項２】
前記推定部は、少なくとも前記ボリュームレンダリングで用いられるオパシティ決定関数を特定するパラメータを推定し、
前記オパシティ決定関数は、前記ボクセルデータの値をオパシティに変換する関数である請求項１に記載の情報処理装置。
【請求項３】
前記推定部は、前記セグメンテーションデータがラベリングする領域それぞれについて、前記オパシティ決定関数を特定するパラメータを推定する請求項２に記載の情報処理装置。
【請求項４】
基準となるオパシティ決定関数を設定する基準関数設定部と、
前記推定部が推定したパラメータそれぞれから特定されるオパシティ決定関数を決定する関数決定部と、
前記関数決定部が決定したオパシティ決定関数が変換するオパシティと同一のオパシティが前記基準となるオパシティ決定関数によって変換されるように、前記ボクセルデータの値を変更するデータ変換部をさらに備える請求項３に記載の情報処理装置。
【請求項５】
前記基準関数設定部は、前記推定部が推定した２以上のパラメータの中から選択した一つのパラメータによって特定されるオパシティ決定関数を前記基準となるオパシティ決定関数として設定する請求項４に記載の情報処理装置。
【請求項６】
ボクセルデータ、前記ボクセルデータを２以上の異なる領域にラベリングするセグメンテーションデータ、および前記ボクセルデータと前記セグメンテーションデータとをもとにボリュームレンダリングして得られたレンダリング画像を取得する取得ステップと、
前記ボクセルデータ、前記セグメンテーションデータ、および前記レンダリング画像をもとに、前記ボリュームレンダリングに用いられたパラメータを推定する推定ステップと、
推定したパラメータを用いて、ボクセルデータに対してレンダリングした結果を表示する表示ステップとをプロセッサが実行する情報処理方法。
【請求項７】
コンピュータに、
ボクセルデータ、前記ボクセルデータを２以上の異なる領域にラベリングするセグメンテーションデータ、および前記ボクセルデータと前記セグメンテーションデータとをもとにボリュームレンダリングして得られたレンダリング画像を取得する取得機能と、
前記ボクセルデータ、前記セグメンテーションデータ、および前記レンダリング画像をもとに、前記ボリュームレンダリングに用いられたパラメータを推定する推定機能と、
推定したパラメータを用いて、ボクセルデータに対してレンダリングした結果を表示する表示機能とを実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、情報処理方法、およびプログラムに関し、特にボクセルデータのボリュームレンダリング技術に関する。
【背景技術】
【０００２】
近年のコンピュータの急速な発達により、ＣＴ（Computed Tomography）やＭＲＩ（Magnetic Resonance Imaging）等の各種モダリティから得られる大量のデータを、医師等の医療従事者に３次元的に提示する技術が普及している。このような技術としては、例えばボリュームレンダリング処理があげられる。一般に、上述のようなモダリティから得られるデータは膨大であり、ボリュームレンダリングのような処理には高価かつ高性能なワークステーション等の計算機が必要となる。ボリュームレンダリング処理は、例えば非特許文献１に開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Pawasauskas, John, "Volume Visualization With Ray Casting", CS563-Advanced Topics in Computer Graphics, Feb. 18, 1997, http://web.cs.wpi.edu/~matt/courses/cs563/talks/powwie/p1/ray-cast.htm（アクセス日：２０１５年５月６日）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願の発明者は、ワークステーション等の処理結果であるボリュームレンダリング画像をもとにして、そのボリュームレンダリング処理を再現することができれば、ワークステーション等が存在しない環境においても医療従事者等に対してボリュームレンダリング処理を提供できる可能性について認識するに到った。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、その目的は、ボリュームレンダリング画像をもとにそのボリュームレンダリング画像を再現する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の情報処理装置は、ボクセルデータ、ボクセルデータを２以上の異なる領域にラベリングするセグメンテーションデータ、およびボクセルデータとセグメンテーションデータとをもとにボリュームレンダリングして得られたレンダリング画像を取得する取得部と、ボクセルデータ、セグメンテーションデータ、およびレンダリング画像をもとに、ボリュームレンダリングに用いられたパラメータを推定する推定部と、推定部が推定したパラメータを用いてボクセルデータをボリュームレンダリングした結果を表示部に出力する表示出力部とを備える。
【０００７】
推定部は、少なくともボリュームレンダリングで用いられるオパシティ決定関数を特定するパラメータを推定し、オパシティ決定関数は、ボクセルデータの値をオパシティに変換する関数であってもよい。
【０００８】
推定部は、セグメンテーションデータがラベリングする領域それぞれについて、オパシティ決定関数を特定するパラメータを推定してもよい。
【０００９】
基準となるオパシティ決定関数を設定する基準関数設定部と、推定部が推定したパラメータそれぞれから特定されるオパシティ決定関数を決定する関数決定部と、関数決定部が決定したオパシティ決定関数が変換するオパシティと同一のオパシティが基準となるオパシティ決定関数によって変換されるように、ボクセルデータの値を変更するデータ変換部をさらに備えてもよい。
【００１０】
基準関数設定部は、推定部が推定した２以上のパラメータの中から選択した一つのパラメータによって特定されるオパシティ決定関数を基準となるオパシティ決定関数として設定してもよい。
【００１１】
本発明の別の態様は、情報処理方法である。この方法は、ボクセルデータ、ボクセルデータを２以上の異なる領域にラベリングするセグメンテーションデータ、およびボクセルデータとセグメンテーションデータとをもとにボリュームレンダリングして得られたレンダリング画像を取得する取得ステップと、ボクセルデータ、セグメンテーションデータ、およびレンダリング画像をもとに、ボリュームレンダリングに用いられたパラメータを推定する推定ステップと、推定したパラメータを用いて、ボクセルデータに対してレンダリングした結果を表示する表示ステップとをプロセッサが実行する。
【００１２】
本発明のさらに別の態様は、プログラムである。このプログラムは、コンピュータに、ボクセルデータ、ボクセルデータを２以上の異なる領域にラベリングするセグメンテーションデータ、およびボクセルデータとセグメンテーションデータとをもとにボリュームレンダリングして得られたレンダリング画像を取得する取得機能と、ボクセルデータ、セグメンテーションデータ、およびレンダリング画像をもとに、ボリュームレンダリングに用いられたパラメータを推定する推定機能と、推定したパラメータを用いて、ボクセルデータに対してレンダリングした結果を表示する表示機能とを実現させる。
【００１３】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、ボリュームレンダリング画像をもとにそのボリュームレンダリング画像を再現する技術を提供する技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図２】セグメンテーションデータを説明するための模式図である。
【図３】図３（ａ）−（ｂ）は、オパシティ決定関数の概形を示す図である。
【図４】本発明の実施の形態に係る情報処理装置が実行するパラメータ推定処理の流れを説明するフローチャートである。
【図５】本発明の実施の形態に係るデータ変換部が実行する前処理の結果を示す模式図である。
【図６】本発明の実施の形態に係るデータ変換部が実行する前処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【００１６】
本発明の実施の形態に係る情報処理装置の概要を述べる。実施の形態に係る情報処理装置は、例えばタブレットＰＣ（Personal Computer）やノートＰＣ、スマートフォンのような携帯端末、あるいはＰＣ等の据え置き型の計算機で実現される。実施の形態に係る情報処理装置は、ＣＴやＭＲ等の３次元計測装置が生成したボクセルデータをもとに、他の装置が生成したボリュームレンダリング画像を取得する。情報処理装置は、そのボリュームレンダリング画像と、元となるボクセルデータおよびボクセルデータを複数の領域にラベリングするセグメンテーションデータとをもとに、ボリュームレンダリング画像を生成する際に設定されたパラメータを推定する。このパラメータは、例えばボクセルデータに対して設定するオパシティを決定するためのオパシティ決定関数を特定するパラメータである。これにより、実施の形態に係る情報処理装置は、他の装置が存在しない環境においても、その装置が生成するボリュームレンダリング画像を再現することができる。
【００１７】
オパシティ決定関数は異なるラベリング領域それぞれに設定されるのが通常である。したがって、ボリュームレンダリング処理を実行する装置は、ボクセルデータを走査しながらラベリング領域毎にオパシティ決定関数を選択してオパシティを決定する。これに対し、実施の形態に係る情報処理装置は、まず推定した複数のオパシティ決定関数の中からひとつのオパシティ決定関数を選択する。情報処理装置は続いて、ボクセルデータ全体に対して選択したオパシティ決定関数を適用して得られるオパシティが、ラベリング領域毎にオパシティ決定関数を選択しながら決定したオパシティとなるように、ボクセルデータの値自体を変更する。これにより、実施の形態に係る情報処理装置は、オパシティ決定関数の選択等に係るメモリアクセスを抑制でき、ボリュームレンダリング処理の負荷を軽減することができる。結果として、実施の形態に係る情報処理装置は、計算リソースが小さい場合であってもユーザにボリュームレンダリング処理を提供することができる。
【００１８】
以下図面を参照して実施の形態に係る情報処理装置を詳細に説明する。
【００１９】
図１は、本発明の実施の形態に係る情報処理装置１００の機能構成を模式的に示す図である。実施の形態に係る情報処理装置１００は、制御部１０と記憶部２０とを備える。制御部１０は、取得部３０、推定部４０、基準関数設定部５０、データ変換部６０、関数決定部７０、描画部８０、および表示出力部９０を備える。
【００２０】
図１は、実施の形態に係る情報処理装置１００のパラメータ推定処理、およびボクセルデータの値変更処理を実現するための機能構成を示しており、その他の構成は省略している。図１において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メインメモリ、その他のＬＳＩ（Large Scale Integration）で構成することができる。またソフトウェア的には、メインメモリにロードされたプログラムなどによって実現される。なお、このプログラムは、コンピュータが読み出し可能な記録媒体に格納されていてもよく、通信回線を介してネットワークからダウンロードされてもよい。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００２１】
記憶部２０は、ＣＴやＭＲＩ、超音波診断装置等のモダリティが生成したボクセルデータを格納する。例えばＣＴが生成したボクセルデータは、被験者である人体のＣＴ値またはＨＵ（Hounsfield Unit；ハンスフィールドユニット）で構成される３次元データである。記憶部２０はまた、ボクセルデータを２以上の異なる領域にラベリングするセグメンテーションデータも格納する。セグメンテーションデータとは、例えばボクセルデータのうち「骨」が存在する領域、「血管」が存在する領域、「空気や水」が存在する領域、「脂肪等の軟部組織」が存在する領域をラベリングするデータである。
【００２２】
記憶部２０はさらに、ボクセルデータとセグメンテーションデータとをもとに、情報処理装置１００とは異なる他の装置（以下本明細書において「外部装置」と記載することがある。）がボリュームレンダリング処理をして得られたレンダリング画像も格納する。取得部３０は、記憶部２０を参照してボクセルデータ、セグメンテーションデータ、およびレンダリング画像を取得する。
【００２３】
図２は、実施の形態に係る情報が処理するセグメンテーションデータを説明するための模式図である。より具体的に、図２は人体の腹部のＣＴ画像２００に対してセグメンテーション処理をした結果を示すセグメンテーションデータの一例を示す図であり、肝臓や椎骨、肋骨等を含むアキシャル（axial）断面を例示する図である。
【００２４】
図２において、符号２０２で示す領域は、人体中の骨が撮像されている領域（以下、「骨領域２０２」と記載することがある。）を示す。煩雑となることを防ぐために図２において骨が撮像されている全ての領域に対して符号を付すことをしていないが、図２に示すＣＴ画像２００において白色で示す領域は骨が撮像されている領域である。図２において、符号２０４で示す領域（図２中左上から右下に向かう斜線で示す領域）は動脈が撮像されている領域（以下、「動脈領域２０４」と記載することがある。）を示す。また、図２において符号２０６で示す領域（図２中右上から左下に向かう斜線で示す領域）は肝臓が撮像されている領域を示す。さらに、図２において符号２０８で示す領域は空気や水、軟部組織が示されている領域である。これらの領域は既知の領域認識アルゴリズムを用いてセグメンテーションされてもよいし、医療従事者によって手動でセグメンテーションされてもよい。なお、図２中には示していないが、静脈もセグメンテーションされラベルが割り当てられてもよい。
【００２５】
記憶部２０が記憶するボクセルデータは、例えば縦５１２ピクセル、横５１２ピクセルのアキシャル画像を対軸方向に数１００〜２０００枚程度並べて構成される３次元データである。セグメンテーションデータは、分割した領域の数と同数存在するデータであり、各データはボクセルデータと同じ構造を持つ。より具体的には、各セグメンテーションデータはそれぞれの領域に対応する。例えば骨領域２０２を示すセグメンテーションデータは、骨が撮像されている領域を「１」、それ以外の領域が「０」で埋められたボクセルデータである。動脈領域２０４を示すセグメンテーションデータも同様であり、動脈が撮像されている領域を「１」、それ以外の領域が「０」で埋められたボクセルデータである。他の領域を示すセグメンテーションデータも同様である。
【００２６】
図１の説明に戻る。推定部４０は、ボクセルデータ、セグメンテーションデータ、およびレンダリング画像をもとに、ボリュームレンダリングに用いられたパラメータを推定する。推定部４０が推定するパラメータは、レンダリング画像を生成する際のボリュームレンダリング処理に用いるパラメータであり、上述した外部装置が設定したパラメータである。限定はしないが一例として、このパラメータはボリュームレンダリングで用いられるオパシティ決定関数を特定するパラメータである。このオパシティ決定関数は、ボクセルデータの値をオパシティに変換するための変換規則を定める関数である。より具体的には、ボクセルデータの値を入力値として、その値に応じてオパシティを出力する関数である。推定部４０によるパラメータ推定の詳細は後述する。なお、ボリュームレンダリング処理およびその処理に用いられるオパシティについては既知の技術であるため詳細な説明は省略する。
【００２７】
図３（ａ）−（ｂ）は、オパシティ決定関数の概形を示す図である。図３（ａ）−（ｂ）はＣＴが生成したボクセルデータに対するオパシティ決定関数の例を示す図であり、横軸がＣＴ値（ＨＵ）、縦軸がそのＣＴ値に対応するオパシティを示す。より具体的に、図３（ａ）は動脈領域２０４に対するオパシティ決定関数ｆ１の概形を示す図であり、図３（ｂ）は骨領域２０２に対するオパシティ決定関数ｆ２の概形を示す図である。
【００２８】
図３（ａ）に示すように、動脈領域２０４に対するオパシティ決定関数ｆ１は、入力するＣＴ値がｈ１未満の場合０を出力する。また、オパシティ決定関数ｆ１は入力するＣＴ値がｈ２（ｈ２＞ｈ１のとき、Ｏ１（Ｏ１＞０）を出力する。オパシティ決定関数ｆ１は、入力するＣＴ値がｈ１≦ｈ≦ｈ２のとき、ＣＴ値の大きさに応じて０からＯ１までの間を線形に変化させる値を出力する。以上をまとめると、オパシティ決定関数ｆ１は以下の式（１）で表される。
【数１】
0006543099.tif 000002
【００２９】
同様に、図３（ｂ）に示す骨領域２０２に対するオパシティ決定関数ｆ２は、以下の式（２）で表される。
【数２】
0006543099.tif 000003
ここで、ｈ２＜ｈ３、Ｏ１＜Ｏ２である。
【００３０】
一般に動脈のＣＴ値はおよそ１００である。式（１）においてはｈ１＜１００＜ｈ２となるようにｈ１とｈ２との値が設定されている。限定はしないが一例として、ｈ１＝８０であり、ｈ２＝１２０である。また、一般に骨のＣＴ値はおよそ２００である。式（２）においてはｈ３＜２００＜ｈ４となるようにｈ３とｈ４と設定されている。限定はしないが一例として、ｈ３＝１９０であり、ｈ４＝２１０である。
【００３１】
式（１）から明らかなように、動脈領域２０４に対するオパシティ決定関数ｆ１は、ｈ１、ｈ２、およびＯ１を定めることで一意に特定することができる。したがって、ｈ１、ｈ２、およびＯ１は、推定部４０が推定の対象とするオパシティ決定関数ｆ１を特定するためのパラメータである。同様に、ｈ３、ｈ４、およびＯ２も、推定部４０が推定の対象とするオパシティ決定関数ｆ２を特定するためのパラメータである。
【００３２】
図１の説明に戻る。推定部４０は、セグメンテーションデータがラベリングする領域それぞれについて、上述したオパシティ決定関数を特定するパラメータを推定する。関数決定部７０は、推定部４０が推定したパラメータをもとに、セグメンテーションデータがラベリングする領域それぞれに対応するオパシティ決定関数を生成する。
【００３３】
描画部８０は、記憶部２０が格納するボクセルデータおよびセグメンテーションデータを取得し、関数決定部７０が生成した各オパシティ決定関数を用いてボリュームレンダリング画像を生成する。表示出力部９０は、推定部４０が推定したパラメータを用いてボクセルデータをボリュームレンダリングした結果を図示しないタッチパネルやモニタ等の表示装置に出力する。より具体的には、表示出力部９０は、描画部８０が生成したボリュームレンダリング画像を表示装置に表示させる。
【００３４】
ここで表示出力部９０は、描画部８０が生成したボリュームレンダリング画像に加えて、上述の外部装置が生成したボリュームレンダリング画像も表示装置に表示させてもよい。情報処理装置１００のユーザは、外部装置が生成したボリュームレンダリング画像と、推定部４０が推定したパラメータをもとに再現されたボリュームレンダリング画像とを並べて観察することができる。これによりユーザは、推定部４０がパラメータを適切に推定できているか否かを視覚的に判断することができる。
【００３５】
以下、実施の形態に係る情報処理装置１００によるパラメータ推定についてより詳細に説明する。
【００３６】
図４は、実施の形態に係る情報処理装置１００が実行するパラメータ推定処理の流れを説明するフローチャートである。本フローチャートにおける処理は、例えば取得部３０が記憶部２０にアクセスしたときに開始する。
【００３７】
取得部３０は、記憶部２０を参照してＣＴ等のモダリティが生成したボクセルデータを取得する（Ｓ２）。取得部３０は記憶部２０を参照し、ボクセルデータを２以上の異なる領域にラベリングするセグメンテーションデータを取得する（Ｓ４）。取得部３０はさらに、記憶部２０を参照して外部装置が生成したボリュームレンダリング画像Ｉｍ１を取得する（Ｓ６）。
【００３８】
上述したように、セグメンテーションデータはボクセルデータをラベリングしてできる２以上の部分領域毎に存在するため、その数は部分領域の数（すなわち、ラベリングの数）と同数である。推定部４０は、各ラベリングが示す部分領域に対応するオパシティ決定関数それぞれについてパラメータの初期値を設定する（Ｓ８）。
【００３９】
例えばボクセルデータが人体のＣＴデータである場合、そのボリュームレンダリング画像も、多くの場合は類似するオパシティ決定関数を用いて作成されていると考えられる。例えば、人体の骨のＣＴ値は２００前後であるという事実は代わらないため、骨領域２０２に対応するオパシティ決定関数は、多くの場合は図３（ｂ）に示す形状と同様の形状が用いられると考えられる。
【００４０】
そこで推定部４０は、選択したラベリングが示す部分領域に含まれるボクセルデータのＣＴ値をもとに、その領域に撮像されている組織を推定し、その組織に対応するオパシティ決定関数のパラメータの初期値を設定する。具体的には、選択したラベリングが示す部分領域に含まれるボクセルデータのＣＴ値の平均値が例えば２００前後の場合、推定部４０は、その部分領域は骨領域２０２であると推定する。この場合、推定部４０は、オパシティ決定関数のパラメータの初期値として、図３（ｂ）を参照して上述したｈ３、ｈ４、およびＯ２を設定する。他の領域についても同様である。
【００４１】
関数決定部７０は、設定されたパラメータを用いてオパシティ決定関数を生成する（Ｓ１０）。描画部８０は、オパシティ決定関数が生成した各領域に対応するオパシティ決定関数、セグメンテーションデータ、およびボクセルデータを用いて、ボリュームレンダリング画像Ｉｍ２を生成する（１２）。
【００４２】
推定部４０は、外部装置が生成したボリュームレンダリング画像Ｉｍ１のうち０より大きな画素値となる画素数と、描画部８０が生成したボリュームレンダリング画像Ｉｍ２のうち０より大きな値となる画素数とを比較する。両者の画素数が異なる場合（Ｓ１４のＮ）、推定部４０は両者の画素数を近づける方向にパラメータを修正することにより、オパシティ決定関数を修正する（Ｓ１８）。
【００４３】
例えば、図３（ｂ）に示す骨領域２０２のオパシティ決定関数を例に考える。オパシティが０より大きな値を持っているとき、ボリュームレンダリング画像の画素値が０より大きくなる。したがって、オパシティ決定関数の立ち上がり、すなわち図３（ｂ）におけるｈ３の値を小さくすることにより、ボリュームレンダリング画像の画素値が０より大きな画素の数が増加する。反対に、すなわち図３（ｂ）におけるｈ３の値を大きくすることにより、ボリュームレンダリング画像の画素値が０より大きな画素の数が減少する。推定部４０は各オパシティ決定関数の立ち上がりの値を変更することで、生成されるボリュームレンダリング画像の非ゼロの値を持つ画素数を変更することができる。
【００４４】
外部装置が生成したボリュームレンダリング画像Ｉｍ１のうち０より大きな画素値となる画素数と、描画部８０が生成したボリュームレンダリング画像Ｉｍ２のうち０より大きな値となる画素数とが同数の場合（Ｓ１４のＹ）、推定部４０は、両者の対応する各画素値が一致するか否かを比較する。一致しない場合（Ｓ１６のＮ）、推定部４０は両者の画素値を近づける方向にパラメータを修正することにより、オパシティ決定関数を修正する（Ｓ１８）。
【００４５】
ボリュームレンダリング画像の画素値は、投影されるボクセルデータのオパシティに依存する。したがって推定部４０は、オパシティ決定関数の傾きを変更することにより、投影されるボクセルデータのオパシティを変更する。より具体的に図３（ｂ）に示すオパシティ決定関数を例とすると、推定部４０はｈ４およびＯ２を変更することにより、オパシティ決定関数を修正する。
【００４６】
以上、ステップＳ１０からＳ１８を繰り返すことにより、推定部４０は外部装置がボリュームレンダリング画像を生成するときに使用したオパシティ決定関数を特定するためのパラメータを推定することができる。
【００４７】
外部装置が生成したボリュームレンダリング画像Ｉｍ１の画素値と、描画部８０が生成したボリュームレンダリング画像Ｉｍ２の画素値とが一致する場合（Ｓ１６のＹ）、関数決定部７０は推定部４０が推定したパラメータを用いて各オパシティ決定関数を生成し出力する（Ｓ２０）。描画部８０は、関数決定部７０が生成したオパシティ決定関数を用いてボリュームレンダリング画像を生成し、表示出力部９０はそのボリュームレンダリング画像を表示装置に表示させる（Ｓ２２）。表示出力部９０がボリュームレンダリング画像を表示させると、本フローチャートにおける処理は終了する。
【００４８】
以上説明したように、実施の形態に係る情報処理装置１００によれば、外部装置が生成したボリュームレンダリング画像から、そのボリュームレンダリング画像の生成に用いたオパシティ決定関数を推定することができる。これにより、情報処理装置１００のユーザは、外部装置自体を用いることなく、元データとなるボクセルデータおよびセグメンテーションデータからボリュームレンダリング画像を再現することできる。
【００４９】
続いて、セグメンテーションデータが示す各領域に対応するオパシティ決定関数が既知である場合に、ボリュームレンダリング画像の生成の高速化およびボリュームレンダリング画像生成時のリソースを低減する処理について説明する。
【００５０】
上述したように、ボリュームレンダリング画像の生成に利用されるオパシティ決定関数は、セグメンテーションデータによってラベリングされる部分領域毎に定められている。ボリュームレンダリング画像を生成する処理は、一般に以下に示すステップで生成されると考えられる。
【００５１】
ステップ１：ボリュームレンダリング画像を生成するための視点、すなわちどの位置からボクセルデータを観察するかを示す情報を設定する。
ステップ２：ボリュームレンダリング画像を構成する各画素を順次走査し、視点と各画素を結ぶ線をレイ（ｒａｙ）として設定する。
ステップ３：各レイが通過するボクセルデータそれぞれについて、セグメンテーションデータを参照して対応するオパシティ決定関数を取得する。
ステップ４：各レイが通過するボクセルデータそれぞれについて、ボクセルの値とオパシティ決定関数とをもとにオパシティを決定する。
ステップ４：各レイが通過するボクセルデータのオパシティを積算することで、各レイに対応するボリュームレンダリング画像の画素値を決定する。
【００５２】
以上のステップによるボリュームレンダリング画像の生成によると、ボリュームレンダリング画像の各画素値を決定するためにする走査は一回で足りる。しかしながら、各画素値を決定するために、あらかじめ複数のオパシティ決定関数および複数のセグメンテーションデータを計算機のメモリに格納し、各セグメンテーションデータを参照しながらオパシティ決定関数をメモリから読み出す必要がある。このためメモリアクセスが頻繁に発生し得るため、ボリュームレンダリング画像の生成に時間がかかる。また、複数のセグメンテーションデータやオパシティ決定関数をメモリに格納する必要があり、多くのメモリも必要となる。
【００５３】
そこで実施の形態に係る情報処理装置１００は、ボリュームレンダリング画像生成時のメモリアクセス頻度および使用量の抑制を実現するために、ボクセルデータに前処理を施す。以下、情報処理装置１００が実施する前処理につて説明する。
【００５４】
情報処理装置１００が実施する前処理の概要は以下のとおりである。従来のオパシティ決定関数は、セグメンテーションデータに示される部分領域毎に異なるオパシティ決定関数が定められている。これは言い換えると、ボクセルデータをボクセル値に応じて複数の領域に分割し、領域毎にオパシティ決定関数を定めているとも言える。情報処理装置１００が実施する前処理は、オパシティ決定関数を一つに固定し、固定したオパシティ決定関数によって定められるオパシティが、従来の複数のオパシティ決定関数によって定められるオパシティと一致するように、ボクセルデータのボクセル値をあらかじめ修正する処理である。これにより、ボリュームレンダリング画像を生成する際にセグメンテーションデータが不要となり、またオパシティ決定関数も一つで足りる。結果として、ボリュームレンダリング画像の生成が高速となり、また必要なメモリも抑制することができる。情報処理装置１００が実施する前処理は、主に図１における基準関数設定部５０とデータ変換部６０とによって実現される。
【００５５】
基準関数設定部５０は、基準となるオパシティ決定関数（以下、「基準関数」と記載する。）を一つ設定する。基準関数設定部５０が設定する基準関数は図３（ａ）−（ｂ）に示す関数と類似の形状であればどのような形状であってもよい。例えば、基準関数設定部５０は、推定部４０が推定した２以上のパラメータの中から選択した一つのパラメータによって特定されるオパシティ決定関数を基準関数として設定してもよい。
【００５６】
データ変換部６０は、関数決定部７０が決定したオパシティ決定関数が変換するオパシティと同一のオパシティが基準関数によって変換されるように、ボクセルデータの値を変更する。以下具体例として、式（２）で示すオパシティ決定関数を基準関数とした場合に、式（１）で示すオパシティ決定関数で変換されるＣＴ値の変更について説明する。
【００５７】
いま、データ変換部６０による変更前のオリジナルのＣＴ値をｈ、データ変換部６０によって変更された後のＣＴ値をｈ’とする。式（１）および（２）より、ｈ’は、以下の式（３）を満たす
ｆ１（ｈ）＝ｆ２（ｈ’）    （３）
【００５８】
式（３）をｈ’について解くことにより、以下の式（４）を得る。
【数３】
0006543099.tif 000004
【００５９】
式（４）から明らかなように、データ変換部６０が用いるボクセルデータの変換式は、上述したオパシティ決定関数のパラメータを用いて表現することができる。
【００６０】
式（４）は、式（１）で示すオパシティ決定関数で変換されるオパシティが式（２）で変換されるためのＣＴ値の変換式である。このとき、式（２）における場合分けの条件も式（４）によって変換される。すなわち、式（４）により、ｈ１はｈ３に変換され、ｈ２は（Ｏ１／Ｏ２）（ｈ４−ｈ３）＋ｈ３に変換されるため、結果としてｈ’の変換式は以下の式（５）となる。
【数４】
0006543099.tif 000005
【００６１】
式（４）は、式（２）で示される骨領域２０２のオパシティ決定関数を基準関数とした場合に、式（１）で示される動脈領域２０４のＣＴ値の変換式を示すが、他の領域についてもオパシティ決定関数のパラメータが既知であれば同様の変換式を導出できる。また、オパシティ決定関数のパラメータが既知であれば、そのオパシティ決定関数を基準関数とする場合の変換式も導出できる。
【００６２】
データ変換部６０は、セグメンテーションデータが示す全ての部分領域におけるボクセルデータについてそれぞれ式（４）と同様の変換式を導出する。データ変換部６０は次いで、導出した変換式を用いてボクセルデータの値を変換する。これにより、描画部８０がデータ変換部６０によって変換されたボクセルデータをボリュームレンダリングする際には、基準関数によって全てのボクセルデータのオパシティを決定することができる。結果としてセグメンテーションデータが不要となり、メモリを大幅に節約することができる。また、オパシティ決定関数の選択が不要となり、メモリアクセスの回数を削減することができる。
【００６３】
図５は、本発明の実施の形態に係るデータ変換部６０が実行する前処理の結果を示す模式図である。図５に示す例は、骨領域２０２のオパシティ決定関数を基準関数とした場合に、動脈領域２０４のＣＴ値を変更した場合の結果を示す。図５に示すように、データ変換部６０による変換の結果、動脈領域２０４のＣＴ値が骨領域２０２のＣＴ値に近い値となっていることを示している。また、肝臓を示す領域２０６は関心領域でないためＣＴ値は０とされている。このように、ボリュームレンダリング処理時にオパシティを持たせる領域のＣＴ値を骨領域２０２のＣＴ値に変換することにより、骨領域２０２のオパシティ決定関数のみを用いてオパシティを決定することが可能となる。
【００６４】
図６は、本発明の実施の形態に係るデータ変換部６０が実行する前処理の流れを説明するフローチャートである。本フローチャートにおける処理は、例えば推定部４０がオパシティ決定関数の推定を終えたときに開始する。
【００６５】
データ変換部６０は、記憶部２０を参照してボクセルデータを取得する（Ｓ２４）。データ変換部６０はまた、記憶部２０を参照してセグメンテーションデータを取得する（Ｓ２６）。データ変換部６０はさらに、関数決定部７０から推定部４０が推定したパラメータを取得する（Ｓ２８）。基準関数設定部５０は、関数決定部７０が決定したオパシティ決定関数の中から一つのオパシティ決定関数を選択し、基準関数として設定する（Ｓ３０）。
【００６６】
データ変換部６０は、推定部４０が推定したパラメータで特定されるオパシティ決定関数で得られるオパシティが基準関数の出力と同一となるように、ボクセルデータのボクセル値を変更する（Ｓ３２）。
【００６７】
以上の構成による本システムの動作は以下のとおりである。ユーザは情報処理装置１００に、元データとなるボクセルデータ、セグメンテーションデータ、およびそれらのデータから情報処理装置１００とは異なる外部装置が生成したボリュームレンダリング画像を入力する。情報処理装置１００は、入力された各データを用いて外部装置がボリュームレンダリング画像の生成に用いたオパシティ決定関数を特定するためのパラメータを推定する。これにより、情報処理装置１００のユーザは外部装置がなくても外部装置によるボリュームレンダリング処理を再現することができる。
【００６８】
情報処理装置１００はさらに、外部装置よりも計算量リソースが乏しい環境でもボリュームレンダリング処理を実用に耐えるレベルで処理できるようにするために、ボクセルデータの前処理を実行する。これにより例えばタブレットＰＣ等を情報処理装置１００とすることができ、その情報処理装置１００を用いてボリュームレンダリング処置を実現することができる。タブレットＰＣはワークステーション等と比較して計算リソースが乏しいが、持ち運びが容易であるという利便性がある。このようなデバイスでボリュームレンダリング処理を実用化することができるため、ユーザの利便性を向上することができる。
【００６９】
以上より、実施形態に係る情報処理装置１００によれば、ボリュームレンダリング画像をもとにそのボリュームレンダリング画像を再現する技術を提供することができる。
【００７０】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７１】
上記の説明では、推定部４０はオパシティ決定関数を特定するためのパラメータを推定する場合について説明した。これに加えて推定部４０は、ボリュームレンダリング画像を生成する際の視点位置および視線方向を推定してもよい。これは例えば推定部４０は視点位置を定める座標の初期値、および視線方向を示すベクトルの初期値をパラメータとして設定し、それによって得られるボリュームレンダリング画像の非ゼロ画素の画素数および画素値が推定目標とするボリュームレンダリング画像と同じとなるようにパラメータを修正する反復処理によって実現できる。
【符号の説明】
【００７２】
１０  制御部、  ２０  記憶部、  ３０  取得部、  ４０  推定部、  ５０  基準関数設定部、  ６０  データ変換部、  ７０  関数決定部、  ８０  描画部、  ９０  表示出力部、  １００  情報処理装置、  ２００  ＣＴ画像、  ２０２  骨領域、  ２０４  動脈領域。
【図１】
0006543099.tif 000006
【図２】
0006543099.tif 000007
【図３】
0006543099.tif 000008
【図４】
0006543099.tif 000009
【図５】
0006543099.tif 000010
【図６】
0006543099.tif 000011