TOP > 国内特許検索 > 粒子レンダリング処理装置、粒子レンダリング方法及びコンピュータプログラム > 明細書

明細書 :粒子レンダリング処理装置、粒子レンダリング方法及びコンピュータプログラム

発行国 日本国特許庁(JP)
公報種別 再公表特許(A1)
発行日 平成29年11月9日(2017.11.9)
発明の名称または考案の名称 粒子レンダリング処理装置、粒子レンダリング方法及びコンピュータプログラム
国際特許分類 G06T  15/00        (2011.01)
FI G06T 15/00 501
国際予備審査の請求 未請求
全頁数 14
出願番号 特願2016-573357 (P2016-573357)
国際出願番号 PCT/JP2016/052954
国際公開番号 WO2016/125754
国際出願日 平成28年2月1日(2016.2.1)
国際公開日 平成28年8月11日(2016.8.11)
優先権出願番号 2015019288
優先日 平成27年2月3日(2015.2.3)
優先権主張国 日本国(JP)
指定国 AP(BW , GH , GM , KE , LR , LS , MW , MZ , NA , RW , SD , SL , ST , SZ , TZ , UG , ZM , ZW) , EA(AM , AZ , BY , KG , KZ , RU , TJ , TM) , EP(AL , AT , BE , BG , CH , CY , CZ , DE , DK , EE , ES , FI , FR , GB , GR , HR , HU , IE , IS , IT , LT , LU , LV , MC , MK , MT , NL , NO , PL , PT , RO , RS , SE , SI , SK , SM , TR) , OA(BF , BJ , CF , CG , CI , CM , GA , GN , GQ , GW , KM , ML , MR , NE , SN , TD , TG) , AE , AG , AL , AM , AO , AT , AU , AZ , BA , BB , BG , BH , BN , BR , BW , BY , BZ , CA , CH , CL , CN , CO , CR , CU , CZ , DE , DK , DM , DO , DZ , EC , EE , EG , ES , FI , GB , GD , GE , GH , GM , GT , HN , HR , HU , ID , IL , IN , IR , IS , JP , KE , KG , KN , KP , KR , KZ , LA , LC , LK , LR , LS , LU , LY , MA , MD , ME , MG , MK , MN , MW , MX , MY , MZ , NA , NG , NI , NO , NZ , OM , PA , PE , PG , PH , PL , PT , QA , RO , RS , RU , RW , SA , SC , SD , SE , SG , SK , SL , SM , ST , SV , SY , TH , TJ , TM , TN , TR , TT , TZ , UA , UG , US
発明者または考案者 【氏名】小山田 耕二
【氏名】坂本 尚久
出願人 【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
個別代理人の代理人 【識別番号】110000280、【氏名又は名称】特許業務法人サンクレスト国際特許事務所
審査請求 未請求
テーマコード 5B080
Fターム 5B080AA17
5B080BA02
5B080BA04
5B080FA03
5B080FA17
5B080GA11
要約
粒子レンダリングの処理負荷の増大を抑制する。粒子レンダリング処理装置は、格子の節点に数値データが定義された格子データを有して構成される対象データ21を記憶する記憶部20と、対象データ21に対する粒子レンダリング処理100を行う処理部10と、を備える。粒子レンダリング処理100は、節点iを共有する1又は複数の格子Eの体積総和Vに基づいて、節点iに一つの粒子Pが配置される場合における節点iの粒子密度ρを推定する処理101と、節点iに定義された数値データSから、節点iにおける不透明度αを決定する処理103と、節点iの粒子密度ρと不透明度αとに基づいて決定された大きさを有する一つの粒子Pを節点iにおいて生成する処理104と、生成された粒子が画像面上に投影された画像データ401を生成する処理105と、を含む。
特許請求の範囲 【請求項1】
粒子レンダリング処理装置であって、
格子の節点に数値データが定義された格子データを有して構成される対象データを記憶する記憶部と、
前記対象データに対する粒子レンダリング処理を行う処理部と、
を備え、
前記粒子レンダリング処理は、
前記節点を共有する1又は複数の格子の体積総和に基づいて、前記節点に一つの粒子が配置される場合における前記節点の粒子密度を推定する第1処理と、
前記節点に定義された数値データから、前記節点における不透明度を決定する第2処理と、
前記節点の前記粒子密度と前記不透明度とに基づいて決定された大きさを有する一つの粒子を前記節点において生成する第3処理と、
生成された粒子が画像面上に投影された画像データを生成する第4処理と、
を含む粒子レンダリング処理装置。
【請求項2】
前記処理部は、前記第1処理、前記第2処理、前記第3処理、及び前記第4処理を実行した後に、前記第2処理、前記第3処理、及び前記第4処理を繰り返し実行できるよう構成されている
請求項1記載の粒子レンダリング処理装置。
【請求項3】
前記不透明度は、前記第2処理の繰り返しの度に更新される
請求項2記載の粒子レンダリング処理装置。
【請求項4】
前記粒子レンダリング処理は、
前記対象データに対して、第1粒子レンダリング処理及び第2粒子レンダリング処理のうちのいずれの処理を実行するかを決定する処理選択を更に含み、
前記第1レンダリング処理は、前記第1処理、前記第2処理、前記第3処理、前記第4処理を含み、
前記第2レンダリング処理は、
前記節点に定義された数値データから、前記節点における不透明度を決定する処理と、
前記不透明度とユーザ指定の粒子半径とに基づいて、前記格子の粒子密度を推定する処理と、
前記格子の前記粒子密度に従った数の粒子を生成し、生成された粒子を前記格子内に配置する処理と、
生成された粒子が画像面上に投影された画像データを生成する処理と、
を含む
請求項1~3のいずれか1項に記載の粒子レンダリング処理装置。
【請求項5】
前記処理選択は、ユーザの選択入力に基づいて決定される
請求項4記載の粒子レンダリング処理装置。
【請求項6】
前記第1処理において、前記粒子密度は、前記節点を共有する1又は複数の格子の体積総和の逆数である
請求項1~5のいずれか1項に記載の粒子レンダリング処理装置。
【請求項7】
前記第3処理において、前記粒子の大きさは、以下の式に基づいて算出される粒子半径として決定される
請求項1~6のいずれか1項に記載の粒子レンダリング処理装置。
【数1】
JP2016125754A1_000005t.gif
ここで、
iは、前記節点の識別子
は、前記節点iの粒子半径
αは、前記節点iの不透明度
ρは、前記節点iの粒子密度
Δtは、レイキャスティングで使用されるレイセグメント長さ
【請求項8】
粒子レンダリング方法であって、
格子の節点に数値データが定義された格子データを有して構成される対象データに対する粒子レンダリング処理を行うことを含み、
前記粒子レンダリング処理は、
前記節点を共有する1又は複数の格子の体積総和に基づいて、前記節点に一つの粒子が配置される場合における前記節点の粒子密度を推定する第1処理と、
前記節点に定義された数値データから、前記節点における不透明度を決定する第2処理と、
前記節点の前記粒子密度と前記不透明度とに基づいて決定された大きさを有する一つの粒子を前記節点において生成する第3処理と、
生成された粒子が画像面上に投影された画像データを生成する第4処理と、
を含む粒子レンダリング方法。
【請求項9】
前記第1処理、前記第2処理、前記第3処理、及び前記第4処理を実行した後に、前記第2処理、前記第3処理、及び前記第4処理を繰り返し実行する
請求項8記載の粒子レンダリング方法。
【請求項10】
前記不透明度は、前記第2処理の繰り返しの度に更新される
請求項9記載の粒子レンダリング方法。
【請求項11】
前記対象データに対して、第1粒子レンダリング処理及び第2粒子レンダリング処理のうちのいずれの処理を実行するかを決定することを更に含み、
前記第1粒子レンダリング処理は、前記第1処理、前記第2処理、前記第3処理、前記第4処理を含み、
前記第2レンダリング処理は、
前記節点に定義された数値データから、前記節点における不透明度を決定する処理と、
前記不透明度とユーザ指定の粒子半径とに基づいて、前記格子の粒子密度を推定する処理と、
前記格子の前記粒子密度に従った数の粒子を生成し、生成された粒子を前記格子内に配置する処理と、
生成された粒子が画像面上に投影された画像データを生成する処理と、
を含む
請求項8~10のいずれか1項に記載の粒子レンダリング方法。
【請求項12】
前記第1粒子レンダリング処理及び前記第2粒子レンダリング処理のうちのいずれの処理を実行するかを決定することは、ユーザの選択入力に基づく
請求項11記載の粒子レンダリング方法。
【請求項13】
前記第1処理において、前記粒子密度は、前記節点を共有する1又は複数の格子の体積総和の逆数である
請求項8~12のいずれか1項に記載の粒子レンダリング方法。
【請求項14】
前記第3処理において、前記粒子の大きさは、以下の式に基づいて算出される粒子半径として決定される
請求項8~13のいずれか1項に記載の粒子レンダリング処理装置。
【数2】
JP2016125754A1_000006t.gif
ここで、
iは、前記節点の識別子
ρは、前記節点iの粒子密度
は、前記節点iの粒子半径
αは、前記節点iの不透明度
Δtは、レイキャスティングで使用されるレイセグメント長さ
【請求項15】
格子の節点に数値データが定義された複数の格子データを有して構成される対象データに対する粒子レンダリング処理を、コンピュータに行わせるコンピュータプログラムであって、
前記粒子レンダリング処理は、
前記節点を共有する1又は複数の格子の体積総和に基づいて、前記節点に一つの粒子が配置される場合における前記節点の粒子密度を推定する第1処理と、
前記節点に定義された数値データから、前記節点における不透明度を決定する第2処理と、
前記節点の前記粒子密度と前記不透明度とに基づいて決定された大きさを有する一つの粒子を前記節点において生成する第3処理と、
生成された粒子が画像面上に投影された画像データを生成する第4処理と、
を含むコンピュータプログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、粒子レンダリングに関するものである。
【背景技術】
【0002】
大規模なボリュームデータの可視化技術として粒子レンダリングが知られている(非特許文献1参照)。粒子レンダリングは、与えられたボリュームデータを、不透明な発光粒子で構成しレンダリングを行う技術である。
【0003】
粒子レンダリングの処理は、粒子生成及び粒子投影という2つの処理を含む。粒子生成の前に、ボリュームデータを構成する格子ごとに粒子密度の推定が必要である。粒子密度とは、単位体積あたりの粒子の数である。格子ごとの粒子密度は、格子に定義された数値データから、不透明度及び粒子半径などを用いて求められる。非特許文献1において、不透明度は、格子に定義された数値データから、ユーザ指定の伝達関数を用いて算出される。
【0004】
粒子生成の処理では、粒子密度に従った数の粒子が生成され、生成された粒子が格子内に配置される。粒子投影の処理では、生成された粒子が画像面に投影される。粒子は画像面上に投影され、画像の各ピクセルで画素値が計算される。
【先行技術文献】
【0005】

【非特許文献1】小山田耕二・坂本尚久共著、”粒子ボリュームレンダリング 理論とプログラミング”コロナ社、2010年
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の粒子生成は、粒子密度に従った数の粒子を格子内へ配置することを必要とするため、粒子生成手法によっては、処理負荷が非常に大きくなることがある。可視化では、数値データと不透明度の関係を対話的に変更しながらデータの分布や特徴を理解するので、変更のたびに粒子生成処理が必要となる。したがって、非常に大規模なデータを対象とする場合には、処理に要する時間が長くなることがある。
【0007】
このため、粒子レンダリングの処理負荷の増大を抑制することが望まれる。
【課題を解決するための手段】
【0008】
本発明のある態様は、粒子レンダリング処理装置であって、格子の節点に数値データが定義された格子データを有して構成される対象データを記憶する記憶部と、前記対象データに対する粒子レンダリング処理を行う処理部と、を備え、前記粒子レンダリング処理は、前記節点を共有する1又は複数の格子の体積総和に基づいて、前記節点に一つの粒子が配置される場合における前記節点の粒子密度を推定する第1処理と、前記節点に定義された数値データから、前記節点における不透明度を決定する第2処理と、前記節点の前記粒子密度と前記不透明度とに基づいて決定された大きさを有する一つの粒子を前記節点において生成する第3処理と、生成された粒子が画像面上に投影された画像データを生成する第4処理と、を含む。本発明の他の態様は、粒子レンダリング処理を行うことを含む粒子レンダリング方法である。本発明の他の態様は、コンピュータに、粒子レンダリング処理の一部又は全部を実行させるコンピュータプログラムである。コンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録される。
【発明の効果】
【0009】
本発明によれば、粒子レンダリングの処理負荷の増大を抑制することができる。
【図面の簡単な説明】
【0010】
【図1】粒子レンダリング処理装置のブロック図である。
【図2】粒子レンダリング処理の説明図である。
【図3】粒子レンダリングの処理時間を示すグラフである。
【発明を実施するための形態】
【0011】
以下、本発明の好ましい実施形態について添付図面を参照しながら説明する。
[1.粒子レンダリング処理装置]
図1に示すように、実施形態に係る粒子レンダリング処理装置1は、処理部10と、記憶部20と、を備えている。粒子レンダリング処理装置1は、処理部10及び記憶部20を有するコンピュータによって構成されている。処理部10は、記憶部20に記憶されたコンピュータプログラムを実行することにより、コンピュータに粒子レンダリング処理を行わせ、コンピュータを粒子レンダリング処理装置1として機能させる。処理部10は、CPU(Central Processing Unit)を有して構成されている。処理部10は、CPUのほか、画像処理用のGPU(Graphics Processing Unit)を有していても良い。処理の高速化のため、粒子レンダリング処理装置1が行う処理のうち、粒子投影処理105,205は、CPUではなく、GPUが行うのが好ましい。

【0012】
処理部10が行う粒子レンダリング処理は、記憶部20に記憶された対象データ21から、可視化した画像データ401,402を生成する処理である。生成された画像データ401,402は、記憶部20に格納される。粒子レンダリング装置1は、画像を表示するためのモニタを有し、生成された画像データ401,402をモニタに表示する。

【0013】
粒子レンダリング処理の対象となる対象データ21は、例えば、ボリュームデータである。ボリュームデータは、複数の格子データを有して構成される。格子データは、格子の節点(頂点)に数値データが定義されてなるデータである。格子は、規則格子、構造格子、不規則格子のいずれであってもよい。格子の形状は、例えば、四面体、六面体であり、その他の3次元形状であってもよい。数値データは、例えば、スカラデータである。スカラデータは、例えば、温度、圧力、密度、エネルギーを示す値である。

【0014】
ボリュームデータ21の例を図2中に示した。ボリュームデータ21が定義される3次元空間は、格子Eと呼ばれる小さな3次元立体に分割される。格子Eは複数の節点を有する。図2の格子Eは、四面体である。ここでは、iを格子Eの節点(頂点)の識別子とする。図2の格子Eは、節点識別子i=0~3で示される4つの節点を有する。各節点i=0~3は、スカラデータSなどの数値データが定義されている。つまり、ボリュームデータ21は、複数の節点i=0~3それぞれの位置(座標)と、各節点i=0~3に対応付けられたスカラデータSと、を有して構成されている。図2のボリュームデータ21から明らかなように、ある格子Eの節点は、他の格子の節点でもある。つまり、節点は、複数の格子によって共有されることがある。

【0015】
対象データ21は、3次元データであるボリュームデータに限られず、2次元データ(面データ)又は1次元データ(線データ)であってもよい。対象データ21が2次元データである場合、2次元データを構成する格子は、面状の2次元格子となり、厳密には格子厚みが0となる。この場合、2次元格子を、生成される粒子の直径と等しい厚みを有する板状3次元格子とみなして、粒子生成が行われる。同様に、対象データ21が1次元データある場合、線状の1次元格子を、生成される粒子の直径と等しい直径を有する棒状の3次元格子とみなして、粒子生成が行われる。

【0016】
処理部10が行う粒子レンダリング処理は、第1粒子レンダリング処理100と第2粒子レンダリング処理200とを含む。後述のように、第1粒子レンダリング処理100は、節点Vの位置だけに粒子Pを生成する。このため、第1粒子レンダリング処理100では、粒子生成を繰り返した場合の処理負荷の増大が抑えられている。また、生成された粒子Pのデータを保持するためのメモリ領域の増加も抑えられている。

【0017】
一方、第2粒子レンダリング処理200は、従来の粒子レンダリング処理と同様に、粒子密度に従った数の粒子を生成し、生成した粒子Pを格子E内に配置する。このため、第2粒子レンダリング処理200では、粒子生成を繰り返した場合に処理負荷が増大しやすい。また、生成された粒子のデータを保持するために、多くのメモリ領域を必要とする。ただし、第2粒子レンダリング処理200では、格子E内に粒子密度に応じた粒子Pの分布が得られるため、生成される画像データ402の画質は、第1粒子レンダリング処理100よりも良好になることが期待される。

【0018】
処理部10が行う粒子レンダリング処理では、第1粒子レンダリング処理100及び第2粒子レンダリング処理100のうちの、いずれの処理を実行するかを決定するための処理選択300が行われる。処理選択300では、対象データ21に対して、第1粒子レンダリング処理100を実行するのか、第2粒子レンダリング処理100を実行するのかが、ユーザの選択入力に基づいて決定される。

【0019】
処理負荷の小さい第1粒子レンダリング処理100は、プレビュー用の画像データ401を生成するためのプレビュー処理として用いることができる。ユーザは、対象データ21を可視化した画像データ401をプレビュー画像として得たい場合には、第1粒子レンダリング処理(プレビュー処理)を選択することで、比較的短時間で、効率よくプレビュー画像401を得ることができる。プレビュー画像401の確認後に、第2粒子レンダリング処理200で画質の良い画像データ401を得ることで、ユーザは可視化作業を効率よく行うことができる。
なお、粒子レンダリング処理装置1は、第2粒子レンダリング処理200を実行する機能を有していなくてもよい。

【0020】
[2.第1粒子レンダリング処理と第2粒子レンダリング処理]
以下、第1粒子レンダリング処理100と第2粒子レンダリング処理200について説明する。以下では、一つの格子に関して説明するが、対象データ21を構成する他の格子についても同様の処理が行われる。

【0021】
[2.1 第1粒子レンダリング処理]
第1粒子レンダリング処理100は、従来の粒子レンダリング処理のように粒子密度に従った数の粒子を格子内に配置するのではなく、節点iの位置に粒子Pを生成する。

【0022】
図1に示すように、第1粒子レンダリング処理100では、第1処理として粒子密度推定処理101が行われる。粒子密度推定処理101は、節点iに一つの粒子Pが配置される場合における前記節点iの粒子密度ρを推定する処理である。第1粒子レンダリング処理100で推定される粒子密度ρは、各節点i=1~3を共有する1又は複数の格子Eの体積総和Vに基づいて推定される。第1粒子レンダリング処理100では、粒子Pは各節点iに一つずつ配置されるため、粒子密度ρは節点iの周囲の体積、すなわち当該節点iを共有する1又は複数の格子Eの体積総和V、に基づいて計算される。より具体的には、当該節点iを共有する1又は複数の格子Eの体積総和Vの逆数が、当該節点iに一つの粒子Pが配置される場合における当該節点iの粒子密度ρとなる。例えば、ある節点iを共有する格子Eが4つ存在する場合、その4つの格子Eの体積総和Vの逆数である1/Vが、当該節点iの粒子密度ρとなる。

【0023】
第1粒子レンダリング処理100では、さらに、第2処理として不透明度更新処理(不透明度決定処理)103が行われる。不透明度更新処理103は、各節点i=0~3の不透明度αを決定(更新)する処理である。不透明度αは、各節点iに定義された数値データ(スカラデータS)から、ユーザ指定の伝達関数を用いて算出される。不透明度の算出は、従来の粒子レンダリング処理と同様である。

【0024】
第1粒子レンダリング処理100では、さらに、第3処理として粒子半径計算処理104が行われる。粒子半径計算処理104は、節点iに配置される粒子の大きさを決定し、決定された大きさの粒子を生成する処理である。粒子の大きさは、例えば、粒子Pの半径rによって決定される。ある節点iの粒子半径rは、当該節点の粒子密度ρと不透明度αに基づいて決定される。より具体的には、粒子半径rは以下の式(1)に基づいて算出される。
【数1】
JP2016125754A1_000003t.gif

【0025】
上記式(1)は、特許文献1に記載の従来の粒子密度推定式を変形して得たものである。従来の粒子密度推定式は、以下の式(2)のとおりである。
【数2】
JP2016125754A1_000004t.gif

【0026】
式(2)に示す従来の粒子密度推定式では、不透明度αと粒子半径rとが決まると、粒子密度ρを求めることができる。なお、Δtはレイキャスティングで使用されるレイセグメント長さである(非特許文献1参照)。また、従来の式(2)では、粒子半径rは、ユーザ指定の値であり、不透明度αは、節点に定義された数値データから、ユーザ指定の伝達関数を用いて算出される値である。

【0027】
従来の式(2)では、不透明度αと粒子半径rとから粒子密度ρを求めていたのに対して、式(1)では、節点iの粒子半径rを、粒子密度推定処理101で求めた粒子密度ρと、不透明度更新処理103で求めた不透明度αと、から求める。
図2に示すように、求めた粒子半径rを有する粒子Pが、節点iの位置に生成される。

【0028】
第1粒子レンダリング処理100では、粒子半径計算処理104に続いて、第4処理として粒子投影処理105が行われる。粒子投影処理105は、生成された粒子が画像面に投影された画像データを生成する処理である。粒子投影処理105の詳細は、非特許文献1に記載されおり、本実施形態の粒子投影処理105も、非特許文献1の記載に従って行われる。
なお、処理部10は、不透明度更新処理103及び粒子半径計算処理104を含む処理102と、粒子投影処理105と、を複数回繰り返し実行することができる。処理102を繰り返し行う際には、繰り返しの度に、不透明度αを変化(更新)させて、生成される画像データを変化させることができる。

【0029】
従来の粒子レンダリング処理では、粒子密度ρは、式(2)に示すように、不透明度αに応じて決まるため、不透明度αを更新すると、粒子密度ρを推定し直して、粒子密度ρに応じた数の粒子を生成する処理を再度行う必要が生じる。したがって、不透明度を更新して処理を繰り返すと、その分、処理負荷が増大する。

【0030】
これに対し、第1粒子レンダリング処理100では、粒子Pは、節点iだけに配置されるため、単位体積あたりの粒子数を示す粒子密度ρは、不透明度αとは無関係に決まり、不透明度αが更新されても、変化しない。また、第1粒子レンダリング処理100では、粒子Pは、節点iだけに配置されるため、粒子密度に応じた数の粒子を生成する処理も不要である。したがって、処理を繰り返しても、処理負荷の増大が抑制される。

【0031】
なお、第1レンダリング処理では、処理102の複数回の繰り返しで得られた複数の画素値を加算していき、最後に繰り返し数で割り算して得られたアンサンブル平均を最終画素値とすることができる(非特許文献1参照)。

【0032】
[2.2 第2粒子レンダリング処理]
第2粒子レンダリング処理は、従来の粒子レンダリング処理と同様に、粒子密度に従った数の粒子を格子内に配置する。

【0033】
図1に示すように、第2粒子レンダリング処理200では、不透明度更新処理(不透明度決定処理)202と、粒子密度推定処理203と、粒子生成処理204と、粒子投影処理205と、が行われる。これらの処理は、従来の粒子レンダリング処理と同様である。
つまり、不透明度更新処理202は、各節点i=0~3の不透明度αを決定(更新)する処理である。不透明度αは、各節点iに定義された数値データ(スカラデータS)から、ユーザ指定の伝達関数を用いて算出される。

【0034】
粒子密度推定処理203では、格子Eごとの粒子密度ρが推定される(非特許文献1参照)。粒子密度ρの推定は、前述の式(2)を用いて、不透明度αとユーザ指定の粒子半径rとに基づいて行われる。
粒子生成処理204では、粒子密度ρに従った数の粒子Pが生成され、生成された粒子Pが格子E内に配置される。粒子生成処理204において採用される粒子生成手法は、例えば、一様サンプリング法、メトロポリスサンプリング法である(非特許文献1参照)。一様サンプリング法は、格子E内の粒子密度を一定と仮定して粒子を生成する手法である。メトロポリスサンプリング法は、格子E内部における粒子密度変化を考慮に入れた粒子生成手法である。図2では、一様サンプリング法及びメトロポリスサンプリング法それぞれで生成される粒子Pの例を示した。

【0035】
第2粒子レンダリング処理200では、図2に示すように、粒子Pが粒子密度ρに従って格子E内に多数配置されるため、画像データ402の画質が良好になることが期待される。

【0036】
第2粒子レンダリング処理200では、粒子生成処理204に続いて、粒子投影処理205が行われる。粒子投影処理205は、生成された粒子が画像面に投影された画像データを生成する処理である(非特許文献1参照)。
なお、処理部10は、不透明度更新処理202、粒子密度推定処理203及び粒子生成処理204からなる処理201と、粒子投影処理205と、を複数回繰り返し実行することができる。また、処理部10は、複数回の繰り返しで得られた複数の画素値を加算していき、最後に繰り返し数で割り算して得られたアンサンブル平均を最終画素値とすることができる(非特許文献1参照)。

【0037】
[3.処理時間の比較]
図3は、第1粒子レンダリング処理100と第2粒子レンダリング処理200それぞれの処理時間を示している。図3において、「初期描画」は、第1粒子レンダリング処理100については、粒子密度推定処理101から粒子投影処理105までの一連の処理を1回行った場合の処理時間を示し、第2粒子レンダリング処理200については、不透明度更新処理202から粒子投影処理205までの処理を1回行った場合の処理時間を示している。また、図3において、「第1回繰り返し」は、第1粒子レンダリング処理100については、「初期描画」の後に、不透明度更新103から粒子投影処理105までの一連の処理を再度行った場合の処理時間を示し、第2粒子レンダリング処理100については、「初期描画」の後に不透明度更新処理202から粒子投影処理205までの処理を再度行った場合の処理時間を示している。さらに、図3において、「第2回繰り返し」は、第1粒子レンダリング処理100については、「第1回繰り返し」の後に、不透明度更新103から粒子投影処理105までの一連の処理を再度行った場合の処理時間を示し、第2粒子レンダリング処理100については、「第1回繰り返し」の後に不透明度更新処理202から粒子投影処理205までの処理を再度行った場合の処理時間を示している。

【0038】
図3から明らかなように、第2粒子レンダリング処理200では、繰り返しの度に比較的長い処理時間を要するのに対し、第1粒子レンダリング処理100では、初期描画後の処理の繰り返しでは、処理時間を短縮できており、処理負荷の増大を抑制することができる。
【符号の説明】
【0039】
1 粒子レンダリング処理装置
10 処理部
20 記憶部
21 対象データ
101 粒子密度推定処理
103 不透明度更新処理
104 粒子半径計算処理
105 粒子投影処理
401 画像データ
図面
【図1】
0
【図2】
1
【図3】
2