JP4656633B2 - Volume data rendering system and volume data rendering processing program - Google Patents

Volume data rendering system and volume data rendering processing program Download PDF

Info

Publication number
JP4656633B2
JP4656633B2 JP2005079661A JP2005079661A JP4656633B2 JP 4656633 B2 JP4656633 B2 JP 4656633B2 JP 2005079661 A JP2005079661 A JP 2005079661A JP 2005079661 A JP2005079661 A JP 2005079661A JP 4656633 B2 JP4656633 B2 JP 4656633B2
Authority
JP
Japan
Prior art keywords
fluctuation
volume
voxel
volume data
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005079661A
Other languages
Japanese (ja)
Other versions
JP2006260408A (en
Inventor
誠孝 井村
國宏 千原
一郎 中堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sohatsu Systems Laboratory Inc
Original Assignee
Sohatsu Systems Laboratory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sohatsu Systems Laboratory Inc filed Critical Sohatsu Systems Laboratory Inc
Priority to JP2005079661A priority Critical patent/JP4656633B2/en
Priority to PCT/JP2006/305148 priority patent/WO2006100984A1/en
Publication of JP2006260408A publication Critical patent/JP2006260408A/en
Application granted granted Critical
Publication of JP4656633B2 publication Critical patent/JP4656633B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

本発明は、3次元空間で定義されたボリュームデータを可視化するボリュームデータレンダリングシステムおよびボリュームデータのレンダリング処理方法に関する。   The present invention relates to a volume data rendering system and volume data rendering processing method for visualizing volume data defined in a three-dimensional space.

3次元コンピュータグラフィックの表現形式には多様なものが提案されている。
一般的には3次元オブジェクトのデータはポリゴンデータとテクスチャデータの組み合わせとして面単位で与えられることが多い。ポリゴンデータを用いれば3次元オブジェクトの外表面形状が網目状のワイヤフレームによって定義できる。描画(レンダリング)の際には表示シーンに応じて3次元オブジェクトの位置と角度を調整しつつポリゴンデータを配し、その表面にテクスチャデータを貼り付けることにより描画されることとなる。3次元オブジェクトの表現形式としてポリゴンデータによる表現は優れたものと言える。
Various representation formats for three-dimensional computer graphics have been proposed.
In general, data of a three-dimensional object is often given in units of planes as a combination of polygon data and texture data. If polygon data is used, the outer surface shape of the three-dimensional object can be defined by a mesh-like wire frame. At the time of drawing (rendering), polygon data is arranged while adjusting the position and angle of the three-dimensional object according to the display scene, and drawing is performed by pasting texture data on the surface. It can be said that the expression by the polygon data is excellent as the expression format of the three-dimensional object.

しかし、ポリゴンデータは、3次元空間内に分布する粒子の密度や濃淡によって表されるオブジェクトや物理現象の表現形式としては適していないとされている。例えば、大気中の水蒸気の濃度分布である「雲」はポリゴンデータとして表現することが難しい。雲は水蒸気の濃度分布に応じて、太陽光の吸収・散乱が起こり、白色や灰色の濃淡として表現されるが、空間内に複雑かつ淡い凹凸模様が連続して広がっており、外表面形状を網目状のワイヤフレームによって定義するポリゴンデータでの表現は困難である。「煙」も同様にポリゴンデータとして表現することが難しい。   However, polygon data is not suitable as a representation format for objects and physical phenomena represented by the density and density of particles distributed in a three-dimensional space. For example, it is difficult to express “clouds” that are the concentration distribution of water vapor in the atmosphere as polygon data. Clouds absorb and scatter sunlight depending on the concentration distribution of water vapor, and are expressed as white or gray shading, but complex and light uneven patterns continuously spread in the space, and the outer surface shape is It is difficult to express with polygon data defined by a mesh-like wire frame. Similarly, it is difficult to express “smoke” as polygon data.

そこで、3次元空間内に分布する粒子の密度や濃淡の表現に適したデータ表現形式としてボリュームデータによる表現形式が研究されている。ボリュームデータとは、3次元空間に分布する粒子の密度や濃淡という特徴量と不透明度をボクセル(Voxel)ごとに持たせた3次元配列データである。ここでボクセルとは3次元空間を細かく分割した格子状の小立方を言う。3次元空間をボクセルで満たし、各ボクセルに特徴量を与えることにより3次元空間に広がりをもって分布する粒子の密度や濃淡という特徴量を適切に定義することができる。ここで、特徴量としては多様なものが想定され、高次元データとして与えられることもあり得る。前述の雲の例であれば特徴量として輝度と色合いが想定される。   Therefore, an expression format based on volume data has been studied as a data expression format suitable for expressing the density and density of particles distributed in a three-dimensional space. The volume data is three-dimensional array data in which each voxel has a feature amount and opacity such as density and density of particles distributed in a three-dimensional space. Here, the voxel is a lattice-like small cube obtained by finely dividing a three-dimensional space. By filling the three-dimensional space with voxels and giving the feature quantity to each voxel, it is possible to appropriately define the feature quantity such as density and shading of the particles distributed in the three-dimensional space. Here, various features are assumed and may be given as high-dimensional data. In the above-described cloud example, brightness and hue are assumed as feature amounts.

一方、不透明度は3次元オブジェクトに対して「ぼかし」や「透かし」の効果を与えるために導入されている。各ボクセルに不透明度を導入することにより、3次元オブジェクトについて半透明状態の表現や、霧のようないわゆる「ぼかし」効果を与えることが可能となる。   On the other hand, opacity is introduced to give a “blur” or “watermark” effect to a three-dimensional object. By introducing opacity into each voxel, it is possible to give a three-dimensional object a translucent state expression or a so-called “blurring” effect like fog.

以上のようにボリュームデータを導入することによって、3次元空間に広がりをもって分布する雲や煙などの3次元オブジェクトを適切に定義することができる。   By introducing volume data as described above, it is possible to appropriately define a three-dimensional object such as a cloud or smoke distributed with a spread in a three-dimensional space.

次に、ボリュームデータを用いて定義された3次元オブジェクトのレンダリング処理について述べる。   Next, a rendering process for a three-dimensional object defined using volume data will be described.

図10は、ボリュームデータを用いた場合のレンダリング処理手順の基本的な流れを示した図である。
まず、ボリュームデータを取得する(S1)。ボリュームデータはあらかじめ用意されているものでも良く、3次元オブジェクトを観察してリアルタイムに作成するものでも良い。なお、取得したボリュームデータを基に必要な雑音除去や画像強調など前処理を行うことが好ましい。
FIG. 10 is a diagram showing a basic flow of a rendering processing procedure when volume data is used.
First, volume data is acquired (S1). The volume data may be prepared in advance or may be created in real time by observing a three-dimensional object. It is preferable to perform preprocessing such as noise removal and image enhancement necessary based on the acquired volume data.

この前処理を施した上で、各ボクセルに対して輝度値と不透明度を決定し(S2)、ボクセルデータセットボリュームを形成する。
次に、レイキャスティング処理により各画素に対する最終的な輝度値を求める。レイキャスティング処理は、サンプリング処理(S3)およびサンプリングされたボクセルの輝度値と不透明度を元にした積分計算処理(S4)を備えている。
After this pre-processing, the luminance value and opacity are determined for each voxel (S2), and a voxel data set volume is formed.
Next, a final luminance value for each pixel is obtained by ray casting processing. The ray casting process includes a sampling process (S3) and an integral calculation process (S4) based on the luminance value and opacity of the sampled voxel.

図11は、レイキャスティング処理の概念を模式的に説明する図である。
レイキャスティングは、視点から各方向に視線(レイ)1202を出し、3次元空間内のボリュームのボクセルデータセット1200に分布しているボクセル1201を、レイ1202に沿ってサンプリングしてゆき、そのサンプリングされた各ボクセル1201の特徴量(輝度値)を加算して行く手法である。各ボクセルに不透明度を与えられていれば、レイキャスティングにより、半透明表示を行って内部が可視化される。レイキャスティングでは順次各ボクセルの輝度値と不透明度との積を加算していき、不透明度の総和が1となるか、レイが、3次元オブジェクトから突き抜けたときに、その画素に対する処理を終了し、加算結果を描画面1300の画素の値1301として表示する。
FIG. 11 is a diagram schematically illustrating the concept of ray casting processing.
In the ray casting, a line-of-sight (ray) 1202 is given in each direction from the viewpoint, and the voxels 1201 distributed in the volume voxel data set 1200 in the three-dimensional space are sampled along the ray 1202 and the sampling is performed. This is a method of adding the feature amount (luminance value) of each voxel 1201. If opacity is given to each voxel, the inside is visualized by a semi-transparent display by ray casting. In ray casting, the product of the brightness value and opacity of each voxel is added sequentially, and when the sum of opacity becomes 1 or the ray penetrates the 3D object, the processing for that pixel is finished. The addition result is displayed as the pixel value 1301 of the drawing surface 1300.

現在のサンプル位置での輝度値と不透明度をそれぞれi、αとすると、レイキャスティングによる画素の輝度値Ioutは、視線の入力時の輝度値をIinとすると以下の積算計算による下記数1で表される。 If the luminance value and opacity at the current sample position are i and α, respectively, the luminance value I out of the pixel by ray casting is expressed by the following equation 1 when the luminance value at the time of line-of-sight input is I in. It is represented by

Figure 0004656633
Figure 0004656633

最終的に描画される画素値1301は、上記数式1をすべてのサンプリングされたボクセルを積分して得られたものとなる。   The pixel value 1301 to be finally drawn is obtained by integrating all the sampled voxels according to Equation 1 above.

従来技術では、上記の手順によりボリュームデータのレンダリング処理が行われ、モニタ上の各画素に対して描画処理(S5)が行われるが、下記の問題点が指摘されている。
第1は、計算コストが大きいことである。ボリュームデータは3次元空間に広がる各ボクセルを基本に計算を行うので、複雑で膨大な計算が必要となる。
第2は、メモリの消費量が大きいことである。3次元空間全体に広がる各ボクセルの輝度値や不透明度をデータとして扱う必要があるので、多量のメモリを消費してしまう。
In the prior art, volume data rendering processing is performed according to the above procedure, and drawing processing (S5) is performed on each pixel on the monitor. However, the following problems have been pointed out.
The first is a high calculation cost. Since the volume data is calculated based on each voxel spreading in a three-dimensional space, complicated and enormous calculation is required.
Second, the amount of memory consumed is large. Since it is necessary to handle the luminance value and opacity of each voxel spreading over the entire three-dimensional space as data, a large amount of memory is consumed.

これら2つの問題を解決しつつ、ボリュームデータのレンダリング処理を高速に行うためには、専用のアクセラレータなどの特別のリソースを搭載し、多量のメモリを装備した専用プロセッサの開発が必要とされていた。   In order to solve these two problems and perform volume data rendering at high speed, it was necessary to develop a dedicated processor equipped with special resources such as a dedicated accelerator and a large amount of memory. .

特に、雲のような静止物を静止状態で表示するものではなく、煙のような動きのあるボリュームデータをバーチャルリアリティ空間においてレンダリング処理する場合には、煙が流れて動くたび、または、観察者が移動するたびに、リアルタイムに複雑な計算を実行しなければならないため、困難性が増す。   In particular, when rendering volume data with movement like smoke in the virtual reality space instead of displaying a stationary object like a cloud in a stationary state, every time smoke moves or an observer Each time the moves, the complexity increases in real time, increasing the difficulty.

この問題点を解決することを目指した従来技術として、特開平5−266216号公報、特開2003−263651号公報が挙げられる。これらはいずれも、ボリュームデータの表現形式に、スライス状のサーフィスモデルの表現形式を導入し、ボリュームデータの内部のレンダリング処理を簡素化する技術である。   JP-A-5-266216 and JP-A-2003-263651 are cited as conventional techniques aiming to solve this problem. Both of these are techniques for introducing a slice-like surface model representation format into the volume data representation format and simplifying the rendering process inside the volume data.

図12は、ボリュームデータの表現形式にスライス状のサーフィスモデルの表現形式を導入する概念を模式的に示す図である。
図11に示した従来技術では、各レイについて行ったサンプリング処理と輝度値の積和計算処理を独立に実行するところ、図12に示す従来技術では、ボリュームデータをスライスして分割し、各スライス面をサーフィスモデルとしてポリゴンデータで記述しておくものである。このようにボリュームデータを各スライス面のサーフィスモデルの積み重ねとして準備しておくことにより、各レイについて行うサンプリング処理と輝度値の処理を当該スライス面ごとにまとめて横断的に行うことができる。例えば、各スライス面のサーフィスモデルに不透明度を与えておけば、半透明のシートを複数枚重ねて通し見たように各画素の最終的な輝度値を決定することができる。また、観察者がボリューム内を移動して行く場合には、視点に応じたスライス面の2次元描画をポリゴンデータで高速処理することにより、擬似的にボリューム内部の描画を行うこともできる。
FIG. 12 is a diagram schematically showing a concept of introducing a sliced surface model expression format into the volume data expression format.
In the prior art shown in FIG. 11, the sampling processing and luminance value product-sum calculation processing performed for each ray are performed independently. In the prior art shown in FIG. 12, volume data is sliced and divided. A surface is described as polygonal data as a surface model. By preparing volume data as a stack of surface models for each slice plane in this manner, sampling processing and luminance value processing for each ray can be performed collectively for each slice plane. For example, if the opacity is given to the surface model of each slice surface, the final luminance value of each pixel can be determined as if a plurality of translucent sheets are viewed through. Further, when the observer moves in the volume, it is possible to perform pseudo-drawing inside the volume by performing high-speed processing of two-dimensional drawing of the slice surface corresponding to the viewpoint with polygon data.

特開平5−266216号公報Japanese Patent Laid-Open No. 5-266216 特開2003−263651号公報JP 2003-263651 A

上記のように、ボリュームデータの表現形式にスライス状のサーフィスモデルの表現形式を導入すれば、計算コストを低減することができ、また、バーチャルリアリティ空間での観察者が移動する場合も、擬似的にボリューム内部の3次元描画処理を実行することができる。   As described above, introducing a slice-like surface model representation format into the volume data representation format can reduce the calculation cost, and even if the observer moves in a virtual reality space, In addition, a three-dimensional drawing process inside the volume can be executed.

しかし、上記従来のレンダリング処理技術では、下記に示す問題がある。
第1の問題は自然さが損なわれる問題である。取得したボリュームデータをできるだけ実体の物理現象に近い状態を表すように描画することが好ましいところ、上記従来技術でレンダリング処理すれば、本来自由空間である3次元空間内にスライス状のサーフィスモデルを導入するためにボクセル間に平面状の拘束関係が生じてしまい、自然さが損なわれてしまう。つまり、煙などは3次元空間内に広がりをもって存在しているが、スライス状のサーフィスモデルを導入するのでボクセルはスライス平面上の3角形のポリゴンデータとして記述されることとなり(特開平5−266216号公報の図5など)、3次元空間内での広がりという特徴が表現できなくなる。
However, the conventional rendering processing technique has the following problems.
The first problem is that naturalness is impaired. It is preferable to render the acquired volume data as close to the physical phenomenon as possible. However, if rendering is performed with the above-described conventional technology, a slice-like surface model is introduced into a three-dimensional space that is essentially free space. Therefore, a planar restraint relationship is generated between the voxels, and the naturalness is impaired. That is, smoke and the like are spread in a three-dimensional space, but since a slice-like surface model is introduced, voxels are described as triangular polygon data on the slice plane (Japanese Patent Laid-Open No. 5-266216). The feature of spreading in a three-dimensional space cannot be expressed.

第2の問題はゆらぎ表現の問題である。取得したボリュームデータ自体にはゆらぎのデータが与えられていないが、煙などは3次元空間において上下左右のみならず前後方向にも自由度を持ちつつゆらぎながら流れており、レンダリング処理において、このゆらぎの表現ができれば、より実体の物理現象に近い状態を表すように描画することができる。しかし、上記従来技術によってレンダリング処理すれば、小さい計算コストにおいてこのような煙などの実体のゆらぎ具合いを表現することができない。   The second problem is a problem of fluctuation expression. Fluctuation data is not given to the acquired volume data itself, but smoke and the like flow in the three-dimensional space with fluctuations not only in the vertical and horizontal directions but also in the forward and backward directions. Can be drawn so as to represent a state closer to the physical phenomenon of the entity. However, if rendering processing is performed according to the above-described conventional technology, it is impossible to express such fluctuations of an entity such as smoke at a low calculation cost.

第3の問題は粒子の流速表現の問題である。取得したボリュームデータにはマクロなボリュームデータの移動は含まれているが、例えば、煙などの場合は煙の粒子が流れて移動する様が表現できないとのっぺりとした塊が移動しているように表現されてしまう。もし、煙粒子の流速が適切に表現できると、より実体の物理現象に近い状態を表すように可視化することができ、さらに、視聴者が煙などの描画対象の流速を直感的に感得しやすくなる。   The third problem is the problem of expressing the velocity of particles. The acquired volume data includes macro volume data movement. For example, in the case of smoke, it seems that the lump of mass is moving if it can not be expressed that smoke particles flow and move. It will be expressed. If the flow velocity of smoke particles can be expressed appropriately, it can be visualized to represent a state closer to the physical phenomenon of the substance, and the viewer can intuitively feel the flow velocity of the drawing object such as smoke. It becomes easy.

本発明は、上記問題点に鑑み、計算コストの増大を抑えつつ、3次元ボリュームデータのゆらぎ表現の付加が柔軟にでき、視聴者が直感的に把握しやすい粒子の流速の表現も可能としたボリュームデータのレンダリングシステムおよびボリュームデータのレンダリング処理方法を提供することを目的とする。   In view of the above problems, the present invention can flexibly add fluctuation expression of three-dimensional volume data while suppressing an increase in calculation cost, and also enables expression of particle flow velocity that is easy for a viewer to grasp intuitively. An object of the present invention is to provide a volume data rendering system and a volume data rendering method.

上記目的を達成するため、本発明のボリュームデータのレンダリングシステムは、ボリュームデータを基に輝度値および不透明度が与えられたボクセルデータセットを生成するボクセルデータセット生成モジュールと、前記ボクセルデータセットからレイに沿ったボクセルをサンプリングし、前記サンプリングにかかるボクセルの輝度値および不透明度を基に描画すべき画素データを生成するレイキャスティングモジュールと、前記画素データを受け、ボリュームデータを描画する描画モジュールとを備え、前記レイキャスティングモジュールが、前記サンプリングにかかるボクセルの座標位置をゆらぎモデルに基づいて変動させることを特徴とする。   In order to achieve the above object, a volume data rendering system according to the present invention includes a voxel data set generation module that generates a voxel data set to which a luminance value and opacity are given based on volume data, and a voxel data set generated from the voxel data set. A ray casting module that generates pixel data to be drawn based on a luminance value and opacity of the voxel applied to the sampling, and a drawing module that receives the pixel data and draws volume data. And the ray casting module varies the coordinate position of the voxel for the sampling based on a fluctuation model.

上記構成において、前記ゆらぎモデルを前記ボリュームデータにより表現される物理現象のゆらぎを反映する系統的なゆらぎモデルとすることが好ましい。例えば、描画対象となるボリュームデータが火災時の煙であれば、煙がモクモクとゆらぎながら立ち昇る具合いを反映する系統的なゆらぎモデルとする。一般的に煙のような乱流現象は、統計的な量により特徴付けられるため、実際に生じる現象における空間濃度分布の周波数特性を反映させたゆらぎボリュームを用意することが好ましい。
さらに上記構成において、前記ゆらぎモデルが、ボクセルの色合いデータについてのゆらぎの記述も備えていることも好ましい。ここで、色合いデータとは画素の色表現に関するデータであり、例えば、加法混色のRGBデータ、減法混色のCMYKデータ、顕色系であるマンセル表色系データやHIS表色系データなどが挙げられる。
In the above configuration, it is preferable that the fluctuation model is a systematic fluctuation model that reflects fluctuation of a physical phenomenon expressed by the volume data. For example, if the volume data to be drawn is smoke at the time of fire, a systematic fluctuation model that reflects how the smoke rises while fluctuating with smoke is used. In general, a turbulent phenomenon such as smoke is characterized by a statistical quantity. Therefore, it is preferable to prepare a fluctuation volume that reflects the frequency characteristics of the spatial concentration distribution in a phenomenon that actually occurs.
Further, in the above configuration, it is preferable that the fluctuation model also includes a description of fluctuations regarding the voxel color data. Here, the hue data is data related to pixel color representation, and examples thereof include additive color mixing RGB data, subtractive color mixing CMYK data, color development Munsell color system data, HIS color system data, and the like. .

また、複数のゆらぎモデルを格納したゆらぎモデルデータベースを備え、前記レイキャスティングモジュールが、前記ゆらぎモデルデータベースから前記ボリュームデータにより表現される物理現象のゆらぎを反映する系統的なゆらぎモデルを選択して装備することも好ましい。   In addition, a fluctuation model database storing a plurality of fluctuation models is provided, and the ray casting module selects and equips a systematic fluctuation model that reflects fluctuations of a physical phenomenon expressed by the volume data from the fluctuation model database. It is also preferable to do.

また、前記レイキャスティングモジュールが、前記ゆらぎモデルに基づく前記サンプリングにかかるボクセルの座標位置の変動において、前記ゆらぎの大きさおよび流れる方向について前記ボリュームデータにより表現される物理現象の移動速度を反映した速度場モデルによる調整を加えることも好ましい。   In addition, the ray casting module reflects the movement speed of the physical phenomenon expressed by the volume data with respect to the magnitude and direction of the fluctuation in the change in the coordinate position of the voxel for the sampling based on the fluctuation model. It is also preferable to add adjustments based on field models.

また、複数の速度場モデルを格納した速度場モデルデータベースを備え、前記レイキャスティングモジュールが、前記速度場モデルデータベースから前記ボリュームデータにより表現される物理現象の移動速度を反映した速度場モデルを選択して装備できることが好ましい。   A velocity field model database storing a plurality of velocity field models, wherein the ray casting module selects a velocity field model reflecting a moving speed of a physical phenomenon expressed by the volume data from the velocity field model database; It is preferable that it can be equipped.

さらに、前記ゆらぎモデルが、各ボクセルにゆらぎ関数を配したゆらぎボリュームの形で定義され、前記速度場モデルが、各ボクセルに速度を表す関数を配した速度場ボリュームの形で定義され、前記ゆらぎボリュームにおいてどのボクセルを参照しているかを示す参照情報を保持するインデックスボリュームを備え、前記インデックスボリュームを介して前記ゆらぎボリュームと前記速度場ボリュームとを連携させ、前記レイキャスティングモジュールが、前記速度場ボリュームによる前記物理現象への影響を反映させて前記インデックスボリュームの参照情報を更新し、前記更新にかかる参照情報が示すゆらぎボリュームのボクセルに配されているゆらぎ関数を用いて前記サンプリングにかかるボリュームデータのボクセルの座標位置を変動させることも好ましい。   Further, the fluctuation model is defined in the form of a fluctuation volume in which a fluctuation function is arranged in each voxel, and the velocity field model is defined in the form of a velocity field volume in which a function representing a velocity is arranged in each voxel. An index volume that holds reference information indicating which voxel is referenced in the volume, the fluctuation volume and the velocity field volume are linked with each other via the index volume, and the ray casting module includes the velocity field volume The reference information of the index volume is updated by reflecting the influence on the physical phenomenon by the fluctuation of the volume data for the sampling using the fluctuation function arranged in the voxel of the fluctuation volume indicated by the reference information for the update. The coordinate position of the voxel It is also preferable to moving.

本発明のボリュームデータのレンダリングシステムによれば、レイキャスティングモジュールがサンプリングにかかるボクセルの座標位置をゆらぎモデルに基づいて変動させるので、煙などの描画対象のレンダリング結果において、計算コストの増大を抑えつつ、3次元ボリュームデータとしての自然さを保ちつつ、煙などのボリュームデータのゆらぎ表現を柔軟に可視化できるボリュームデータのレンダリングシステムを得ることができる。   According to the volume data rendering system of the present invention, since the ray casting module changes the coordinate position of the voxel for sampling based on the fluctuation model, the increase in calculation cost is suppressed in the rendering result of the rendering object such as smoke. It is possible to obtain a volume data rendering system capable of flexibly visualizing fluctuation expression of volume data such as smoke while maintaining naturalness as three-dimensional volume data.

本発明のボリュームデータのレンダリングシステムによれば、レイキャスティングモジュールが、ゆらぎモデルに基づくサンプリングされるボクセル座標位置の変動において、ゆらぎの大きさおよび流れる方向についてボリュームデータにより表現される物理現象の移動速度を反映した速度場モデルによる調整を加えるので、可視化された煙などの描画対象のレンダリング結果において煙の流速を適切に表現することができ、視聴者が煙などの描画対象の流速を感得しやすくなる。   According to the volume data rendering system of the present invention, when the ray casting module changes the sampled voxel coordinate position based on the fluctuation model, the movement speed of the physical phenomenon expressed by the volume data with respect to the magnitude and direction of fluctuation Because the speed field model that reflects this is added, the smoke flow rate can be appropriately expressed in the rendering result of the rendered object such as smoke that has been visualized, and the viewer can perceive the flow rate of the rendered object such as smoke. It becomes easy.

本発明のボリュームデータのレンダリングシステムは、取得したボリュームデータのレンダリング処理において、計算コストの増大を抑えつつ、実体の物理現象に近い自然さを保ちつつ、ゆらぎ表現および粒子の流速の表現も可能としたものである。
本発明では、描画対象となる物理現象が持つ特徴的なゆらぎを記述したゆらぎボリュームという概念を導入し、各ボクセルのサンプリング処理において、当該ゆらぎボリュームを参照しつつボクセルのサンプリング処理にゆらぎを与えるものである。
The volume data rendering system of the present invention is capable of expressing fluctuation and particle velocity while maintaining the naturalness close to the physical phenomenon of the substance while suppressing the increase in calculation cost in the rendering processing of the acquired volume data. It is a thing.
In the present invention, a concept of fluctuation volume describing characteristic fluctuations of a physical phenomenon to be drawn is introduced, and in the sampling process of each voxel, fluctuations are given to the sampling process of the voxel while referring to the fluctuation volume. It is.

以下、実施例1としてゆらぎ表現を可能とした構成例、実施例2としてゆらぎ表現および粒子の流速の表現も可能とした構成例、実施例3として、さらなる応用・拡張を可能とした構成例を示す。   Hereinafter, a configuration example capable of expressing fluctuations as Example 1, a configuration example capable of expressing fluctuations and the flow velocity of particles as Example 2, and a configuration example capable of further application and expansion as Example 3 Show.

実施例1にかかる、ゆらぎ表現を可能としたボリュームデータのレンダリングシステムの構成例を示す。
図1は本発明の実施例1にかかるボリュームデータのレンダリングシステムにおけるレンダリング処理の基本的な流れを模式的に示した図である。
1 illustrates a configuration example of a volume data rendering system that enables fluctuation expression according to a first embodiment;
FIG. 1 is a diagram schematically illustrating a basic flow of a rendering process in the volume data rendering system according to the first embodiment of the present invention.

本発明の実施例1のボリュームデータのレンダリングシステムにおいても、まず、ボリュームデータの取得処理(S1)、各ボクセルごとの輝度値と不透明度の決定処理(S2)が行われる。これらの処理は、図10に示した従来技術によるボリュームレンダリング処理の流れと同様で良い。   Also in the volume data rendering system according to the first embodiment of the present invention, first, volume data acquisition processing (S1) and luminance value and opacity determination processing (S2) for each voxel are performed. These processes may be the same as the flow of the volume rendering process according to the prior art shown in FIG.

本発明のレイキャスティング処理では、新たに、ゆらぎ処理を加味したサンプリング座標位置の決定処理(S10)が加えられており、ボクセルのサンプリング処理(S3)に対してゆらぎ処理(S10)が反映されている。
従来技術のボクセルのサンプリング処理では、図11に示したようにレイの通り道に沿って一定間隔でボクセルをサンプリングするものであり、サンプリングされるボクセルは固定的であった。図12に示したスライス状のサーフィスモデルの概念を取り込んだ従来技術でのボクセルのサンプリング処理も、サーフィス間の距離が固定的であり、結局、レイの通り道に沿って一定間隔でボクセルをサンプリングするものと同様であると言える。
In the ray casting process of the present invention, a sampling coordinate position determination process (S10) is added to the fluctuation process, and the fluctuation process (S10) is reflected on the voxel sampling process (S3). Yes.
In the conventional voxel sampling process, as shown in FIG. 11, the voxels are sampled at regular intervals along the path of the ray, and the sampled voxels are fixed. The voxel sampling process in the prior art incorporating the concept of the sliced surface model shown in FIG. 12 also has a fixed distance between the surfaces, and eventually samples voxels at regular intervals along the path of the ray. It can be said that it is the same as the thing.

しかし、本発明のボリュームデータレンダリングシステムでは、ボクセルのサンプリング位置において、ゆらぎモデルに基づいていわゆる空間的なゆらぎを持たせるため、各々サンプリングされるボクセルの輝度値と色合いが一定ではなくゆらぎが生じることとなる。最終的な輝度値の積分計算の結果においてもゆらぎが生じることとなり、可視化されたレンダリング結果となる画素の輝度値や色合いにゆらぎが反映されることとなる。   However, in the volume data rendering system of the present invention, since the so-called spatial fluctuation is given based on the fluctuation model at the sampling position of the voxel, the luminance value and the hue of each sampled voxel are not constant, and fluctuation occurs. It becomes. The final luminance value integration calculation results in fluctuations, and the fluctuations are reflected in the luminance values and hues of the pixels that are the rendered rendering results.

図2は、本発明のボリュームデータレンダリングシステムのサンプリング処理におけるサンプリングするボクセルの座標位置のゆらぎを模式的に示した図である。
200はボリュームデータのボクセルデータセットである。ボクセルを格子単位として形成されている。201はサンプリングされるボクセルを模式的に表している。300はレイである。
FIG. 2 is a diagram schematically showing the fluctuation of the coordinate position of the voxel to be sampled in the sampling process of the volume data rendering system of the present invention.
Reference numeral 200 denotes a voxel data set of volume data. Voxels are formed as lattice units. 201 schematically represents a sampled voxel. 300 is a ray.

図2の一番上の図は、第1のフレームを描画するためのレイキャスティングによるボクセルデータセットのサンプリング処理の様子を示している。図11に示した固定的なレイサンプリングに対して空間的にゆらぎを持っていることが分かる。レイの通り道に対してサンプリングされるボクセル201の座標位置が3次元的にゆらいでいる。このサンプリング結果に基づいて第1のフレームにおける対応画素の画素値が決められる。   The top diagram in FIG. 2 shows a state of sampling processing of a voxel data set by ray casting for drawing the first frame. It can be seen that there is a spatial fluctuation with respect to the fixed ray sampling shown in FIG. The coordinate position of the voxel 201 sampled with respect to the ray path fluctuates three-dimensionally. Based on the sampling result, the pixel value of the corresponding pixel in the first frame is determined.

図2の中央の図は、第nのフレームを描画するためのレイキャスティングによるボクセルデータセットのサンプリング処理の様子を示している。図2の中央の図においてサンプリングされるボクセル201は、図2の一番上の図においてサンプリングされるボクセル201に対してゆらぎを持っていることが分かる。このゆらぎは図2の一番上の第1のフレームからnフレーム時間分経過したことにより生じているゆらぎ、つまり、時間的ゆらぎである。   The middle diagram of FIG. 2 shows a state of sampling processing of a voxel data set by ray casting for drawing the nth frame. It can be seen that the sampled voxel 201 in the middle diagram of FIG. 2 has fluctuations relative to the sampled voxel 201 in the top diagram of FIG. This fluctuation is a fluctuation caused by the elapse of n frame time from the first frame at the top of FIG. 2, that is, a temporal fluctuation.

このように本発明のボリュームデータレンダリングシステムは、1フレームの中に空間的ゆらぎを織り込むことができ、さらに、動画として表示される可視化画像においてフレーム間の時間的ゆらぎを織り込むことができる。このようにゆらぎ処理(S10)に用いるゆらぎモデルの記述が空間的ゆらぎのみならず時間的ゆらぎを持つものであれば、ゆらぎモデルに基づいてサンプリングするボクセル座標位置がフレーム間でゆらぐこととなり、各ボクセルの輝度値と不透明度から積分計算される輝度値においてゆらぎが反映され、レンダリング結果においてゆらぎを与えることができる。   As described above, the volume data rendering system of the present invention can weave spatial fluctuations in one frame, and can further incorporate temporal fluctuations between frames in a visualized image displayed as a moving image. If the description of the fluctuation model used in the fluctuation processing (S10) has temporal fluctuation as well as spatial fluctuation, the voxel coordinate position sampled based on the fluctuation model fluctuates between frames. Fluctuations are reflected in the luminance value integrated and calculated from the luminance value and opacity of the voxel, and fluctuations can be given to the rendering result.

ここで、上記のゆらぎ処理において、描画する対象となるボリュームデータにより表現される物理現象のゆらぎを反映する系統的なゆらぎモデルを導入すれば、レンダリング結果において描画する対象の実体の物理現象を反映するゆらぎを織り込んで表現することが可能となる。この点の詳しい説明は後述することとする。   Here, in the above fluctuation processing, if a systematic fluctuation model that reflects fluctuation of a physical phenomenon expressed by volume data to be drawn is introduced, the physical phenomenon of the entity to be drawn is reflected in the rendering result. This makes it possible to express the fluctuations that occur. Detailed explanation of this point will be described later.

レイキャスティング処理におけるサンプリング処理の結果、サンプリングされたボクセルの輝度値をi,不透明度をα、このボクセルに入射する入射輝度値をIinとし、このボクセルを抜け出たときの出射輝度値をIoutとすると、当該ボクセルの出射輝度値は、従来技術でも上述の数1として掲載されたものと同じ数式である数2で示される。
最終的に描画される画素値は、対応するレイの通り道に沿ってゆらぎ処理を経てサンプリングされているボクセルについて下記数2を積分したものとなる。
As a result of the sampling process in the ray casting process, the luminance value of the sampled voxel is i, the opacity is α, the incident luminance value incident on this voxel is I in, and the outgoing luminance value when exiting this voxel is I out. Then, the emission luminance value of the voxel is represented by Expression 2, which is the same mathematical expression as that described as Expression 1 in the related art.
The pixel value to be finally drawn is obtained by integrating the following formula 2 for the voxels sampled through the fluctuation process along the path of the corresponding ray.

Figure 0004656633
Figure 0004656633

各画素の描画処理を実行し、モニタ上に煙などのボリュームデータを描画する。
なお、図1に示した積分処理(S4)、各画素の描画処理(S5)については、図10に示した従来技術によるボリュームレンダリング処理の流れと同様で良い。
以上が、本発明のボリュームレンダリングシステムの基本的な処理の流れである。
Drawing processing of each pixel is executed, and volume data such as smoke is drawn on the monitor.
The integration process (S4) and the drawing process (S5) for each pixel shown in FIG. 1 may be the same as the flow of the volume rendering process according to the conventional technique shown in FIG.
The above is the basic processing flow of the volume rendering system of the present invention.

次に、システムの構成例を示す。
図3は、具体的に処理モジュールによってボリュームデータレンダリングシステム100を構築した例を示す図である。各処理モジュールは汎用的なCPUとメモリシステムの組み合わせで構成しても良く、DSPなど専用アクセラレータを用いても良い。
Next, a system configuration example will be shown.
FIG. 3 is a diagram showing an example in which the volume data rendering system 100 is specifically constructed by processing modules. Each processing module may be constituted by a combination of a general-purpose CPU and a memory system, or a dedicated accelerator such as a DSP may be used.

110はボリュームデータ取得モジュールである。例えば、シミュレーションデータとして与えられているボリュームデータを取り込む。外部入力インタフェースを備え、ネットワークを介して外部からボリュームデータを取り込む構成であっても良い。   Reference numeral 110 denotes a volume data acquisition module. For example, volume data given as simulation data is captured. A configuration in which an external input interface is provided and volume data is captured from the outside via a network may be employed.

120はボクセルデータセット生成モジュールである。輝度値決定モジュール121および不透明度決定モジュール122を備えている。ボリュームデータ取得モジュール110からボリュームデータを受け取り、ボクセルごとに展開し、その輝度値と不透明度のデータセットを得る。   Reference numeral 120 denotes a voxel data set generation module. A luminance value determination module 121 and an opacity determination module 122 are provided. Volume data is received from the volume data acquisition module 110 and expanded for each voxel to obtain a data set of its luminance value and opacity.

ボリュームデータ取得モジュール110とボクセルデータセット生成モジュール120間にはループが形成されている。ボリュームデータは、シミュレーションの進行に伴って変化する場合が多い。ボリュームデータの更新を反映した新たなボクセルデータセットを用意しなければないため、ボリュームデータの更新周期ごとにボリュームデータ取得モジュール110を介して新たなボリュームデータを取得し、ボクセルデータセットを生成する必要がある。そのため、図中に示したようにボリュームデータ取得モジュール110とボクセルデータセット生成モジュール120による処理がループを形成する。   A loop is formed between the volume data acquisition module 110 and the voxel data set generation module 120. The volume data often changes as the simulation progresses. Since a new voxel data set reflecting the update of the volume data must be prepared, it is necessary to acquire new volume data via the volume data acquisition module 110 and generate a voxel data set at each update period of the volume data. There is. Therefore, as shown in the figure, the processing by the volume data acquisition module 110 and the voxel data set generation module 120 forms a loop.

130はレイキャスティングモジュールである。レイキャスティングモジュール130は、サンプリングモジュール131と、積分モジュール132と、ゆらぎ処理モジュール133を備えている。   Reference numeral 130 denotes a ray casting module. The ray casting module 130 includes a sampling module 131, an integration module 132, and a fluctuation processing module 133.

サンプリングモジュール131は、まず、サンプリング原座標 d(x,y,z)を所定の規則に従って決める。例えば、図11に示した如く、ある画素に対応するレイを一つ選定し、当該レイがボリュームを貫く道筋に沿って所定間隔のボクセルの座標値 d(x,y,z)を決める。サンプリングモジュール131は当該サンプリング原座標 d(x,y,z)をゆらぎ処理モジュール133に渡す。   The sampling module 131 first determines the original sampling coordinates d (x, y, z) according to a predetermined rule. For example, as shown in FIG. 11, one ray corresponding to a certain pixel is selected, and the coordinate values d (x, y, z) of voxels at a predetermined interval are determined along the path through which the ray passes through the volume. The sampling module 131 passes the sampling original coordinates d (x, y, z) to the fluctuation processing module 133.

ゆらぎ処理モジュール133は、ボリュームデータにより表現される物理現象のゆらぎを反映する系統的なゆらぎモデルを備え、所定間隔であったサンプリング原座標 d(x,y,z)に対して、ゆらぎを考慮したサンプリングゆらぎ座標 U(t,d) に変換する。サンプリングモジュール131より受け取ったサンプリング原座標 d(x,y,z)に対してゆらぎモデルを基にゆらぎ処理を加え、サンプリングゆらぎ座標 U(t,d) を発生するものである。ゆらぎ処理モジュール133は各ボクセルにゆらぎ値を持たせたゆらぎモデルボリュームを備えている。ゆらぎ値は x,y,z の3成分を持つベクトルとして与えられている。   The fluctuation processing module 133 has a systematic fluctuation model that reflects fluctuations in physical phenomena expressed by volume data, and considers fluctuations with respect to the sampling original coordinates d (x, y, z) that were at predetermined intervals. Converted to the sampling fluctuation coordinate U (t, d). The sampling original coordinates d (x, y, z) received from the sampling module 131 are subjected to fluctuation processing based on the fluctuation model to generate sampling fluctuation coordinates U (t, d). The fluctuation processing module 133 has a fluctuation model volume in which a fluctuation value is given to each voxel. The fluctuation value is given as a vector with three components x, y and z.

サンプリングモジュール131はゆらぎ処理モジュール133からサンプリングゆらぎ座標 U(t,d) を受け取り、当該座標位置のボクセルをサンプリング対象として決定する。
レイキャスティングモジュール130は、サンプリングゆらぎ座標 U(t,d) を基にボクセルデータセット生成モジュール120にアクセスし、それぞれの座標位置のボクセルの輝度値と不透明度を取得する。その後、積分モジュール132において、数式2に基づいた積分が施される。この積分値が対象としている画素の画素値となる。
The sampling module 131 receives the sampling fluctuation coordinate U (t, d) from the fluctuation processing module 133, and determines the voxel at the coordinate position as the sampling target.
The ray casting module 130 accesses the voxel data set generation module 120 based on the sampling fluctuation coordinates U (t, d), and acquires the luminance value and opacity of the voxel at each coordinate position. Thereafter, the integration module 132 performs integration based on Equation 2. This integral value is the pixel value of the target pixel.

描画モジュール140は、レイキャスティングモジュール130から積分された輝度値を受け、当該輝度値に従って画素をモニタ上に描画する。この描画モジュール140により全ての画素について描画すれば、ボリュームを可視化した一フレームが完成する。
ボリュームデータのシミュレーション表示が動画である場合、所定のフレーム周期ごとにフレームを書き換える必要がある。そのためレイキャスティングモジュール130と描画モジュール140はループを形成しており、例えば、1秒30フレームで表示する場合、上記レイキャスティングモジュール130と描画モジュール140によるループ処理を1秒間に30回繰り返す。この30フレームの可視化画像において、ボクセルのサンプリング座標位置についてボリュームデータにより表現される物理現象のゆらぎを反映するゆらぎ処理が加えられているため、結果として、煙などが実際に近い形でゆらいでいるような効果を与えることが可能となる。
The drawing module 140 receives the luminance value integrated from the ray casting module 130 and draws the pixel on the monitor according to the luminance value. If all the pixels are drawn by the drawing module 140, one frame in which the volume is visualized is completed.
When the simulation display of the volume data is a moving image, it is necessary to rewrite the frame every predetermined frame period. Therefore, the ray casting module 130 and the drawing module 140 form a loop. For example, when displaying at 30 frames per second, the loop processing by the ray casting module 130 and the drawing module 140 is repeated 30 times per second. In this 30-frame visualized image, fluctuation processing reflecting the fluctuation of the physical phenomenon expressed by the volume data is applied to the sampling coordinate position of the voxel. As a result, smoke and the like fluctuate in a form close to reality. It becomes possible to give such an effect.

図4は、本発明におけるゆらぎ処理の概念を模式的に示した図である。
図4において、200はボリュームデータセットである。210はゆらぎボリュームを模式的に示している。ゆらぎボリューム210とは、ゆらぎモデルに基づいて3次元空間の各ボクセルにゆらぎの関数を配した一種の写像ベクトル空間である。ある座標 d(x,y,z)を与えられると、その座標位置のボクセルに配されたゆらぎ関数 U(t,d) に変換する。
FIG. 4 is a diagram schematically showing the concept of fluctuation processing in the present invention.
In FIG. 4, 200 is a volume data set. 210 schematically shows the fluctuation volume. The fluctuation volume 210 is a kind of mapped vector space in which a fluctuation function is arranged for each voxel in a three-dimensional space based on a fluctuation model. Given a coordinate d (x, y, z), converts it to a fluctuation function U (t, d) placed in the voxel at that coordinate position.

従来技術であれば、点線の矢印で示したように、ボリュームデータに対してある座標 d(x,y,z)を手掛かりとして、直接ボリュームデータの座標 d(x,y,z)に配されているボクセルの輝度値、不透明度を取得する。
しかし、本発明のボリュームデータレンダリングシステムでは、ゆらぎボリュームにおいて座標変換を施してからボリュームデータにアクセスする。実線の矢印で示したように、まず、ある座標 d(x,y,z)をゆらぎボリュームに与え、ゆらぎボリュームにおいて当該座標 d(x,y,z)に配されているゆらぎ関数 U(t,d) に変換する。そして変換されたゆらぎ関数 U(t,d) に基づいて、レンダリングするフレームに対応する時刻t1のゆらぎ関数 U(t1,d) を特定した上で、ボリュームデータにアクセスし、当該座標位置 d+U(t1,d) に配されているボクセルの輝度値、不透明度を取得する。
In the case of the prior art, as indicated by the dotted arrow, the coordinates d (x, y, z) of the volume data are directly assigned to the volume data as a clue to the coordinates d (x, y, z). Get the brightness value and opacity of the current voxel.
However, in the volume data rendering system of the present invention, the volume data is accessed after coordinate conversion is performed on the fluctuation volume. As indicated by the solid arrows, first, a certain coordinate d (x, y, z) is given to the fluctuation volume, and the fluctuation function U (t , d). Based on the converted fluctuation function U (t, d), the fluctuation function U (t1, d) at the time t1 corresponding to the frame to be rendered is specified, the volume data is accessed, and the coordinate position d + Get brightness value and opacity of voxel placed in U (t1, d).

次に、ゆらぎボリューム210の一例を示す。
ゆらぎボリュームの一般的な形式は以下の写像で表現される。
U: (x,y,z)∈R3→R3
また、次の(1)および(2)の性質を満たすことが望ましい。
(1)平均が0であること
(2)特徴的な長さを持つこと(フーリエ変換により得られる周波数成分が特徴的なピークを持つこと)
Next, an example of the fluctuation volume 210 is shown.
The general form of the fluctuation volume is represented by the following map.
U: (x, y, z ) ∈R 3 → R 3
Moreover, it is desirable to satisfy the following properties (1) and (2).
(1) The average is 0
(2) Having a characteristic length (the frequency component obtained by Fourier transform has a characteristic peak)

なお、サンプリング座標位置の決定処理において加味するゆらぎ処理のモデルとして、描画するボリュームデータにより表現される物理現象のゆらぎに近い自然さを反映する系統的なゆらぎモデルを利用することが好ましい。例えば、描画するボリュームが煙である場合、煙が立ち昇る時にみられる特徴的なゆらぎパターンをモデル化したゆらぎモデルを採用すれば、可視化された煙のボリュームデータのゆらぎ具合いが実体の煙のゆらぎ具合いと近くなるという効果が得られる。   Note that it is preferable to use a systematic fluctuation model that reflects the naturalness close to the fluctuation of the physical phenomenon expressed by the volume data to be drawn as the fluctuation processing model to be added in the sampling coordinate position determination process. For example, if the volume to be drawn is smoke, adopting a fluctuation model that models the characteristic fluctuation pattern seen when smoke rises, the fluctuation of the volume data of the visualized smoke will be the fluctuation of the actual smoke The effect of getting close to condition is obtained.

煙に関するゆらぎボリュームu(t,d)は以下の手続きにより生成されたものである。まず、全ゆらぎを0に初期化する。次に、ボリューム中の位置r(x,y,z)をランダムに選択し、各ボクセルdが保持しているゆらぎの各成分に対して正規分布的な下記数3の変化を加える。   The smoke fluctuation volume u (t, d) is generated by the following procedure. First, all fluctuations are initialized to 0. Next, a position r (x, y, z) in the volume is selected at random, and a change of the following formula 3 that is normally distributed is added to each component of fluctuation held by each voxel d.

Figure 0004656633
Figure 0004656633

ここでlは煙が形成するパターンの特徴的なサイズである。k,lにさらにゆらぎを与えることも可能である。上式によるゆらぎボリュームへの摂動の付加を繰り返し行うことにより、短距離自己相関の強いゆらぎが生成される。 Where l is the characteristic size of the pattern formed by smoke. It is possible to give further fluctuations to k and l. By repeatedly adding the perturbation to the fluctuation volume according to the above equation, a fluctuation with strong short-range autocorrelation is generated.

次に、本発明は、上記のようにサンプリングするボクセルの座標位置の決定においてゆらぎを導入するが、さらにそのサンプリングされたボクセルの持つ輝度値や色合いのデータに対して直接ゆらぎを導入することも可能である。ボリュームデータセットにおける隣接するボクセル間の輝度値や色合いの変化が小さい場合であっても、輝度値や色合いのデータに対して直接ゆらぎを導入する調整を行うことにより、視聴者に対して、可視化された煙などのボリュームデータのゆらぎ具合いについての分かりやすい視覚効果を確保せしめることが可能となる。   Next, the present invention introduces fluctuations in the determination of the coordinate position of the voxel to be sampled as described above, but it is also possible to introduce fluctuations directly to the luminance value and hue data of the sampled voxel. Is possible. Even if the change in luminance value or hue between adjacent voxels in the volume data set is small, it can be visualized to viewers by making adjustments that directly introduce fluctuations in the luminance value and hue data It is possible to ensure an easy-to-understand visual effect about the fluctuation of volume data such as smoke.

サンプリングされたボクセルの持つ輝度値や色合いのデータにゆらぎを与えるゆらぎボリュームの一例は以下のようなものが想定できる。
例えば加法混色のRGB系データの場合であれば、
U: (R,G,B)∈R3→R3
例えばHSI系データの場合であれば、
U: (H,S,I)∈R3→R3
The following can be assumed as an example of the fluctuation volume that gives fluctuations to the brightness values and hue data of the sampled voxels.
For example, in the case of additive-mixed RGB data,
U: (R, G, B) ∈R 3 → R 3
For example, in the case of HSI data,
U: (H, S, I) ∈R 3 → R 3

本発明のレンダリングシステムは、雲などの静止物の描画のみならず、煙のように流体物など動的に変化するボリュームデータのレンダリング処理を行うことができるものである。そのため、図4に示したゆらぎボリュームを介したボリュームデータのアクセスは定期的に更新される必要がある。   The rendering system of the present invention can perform not only drawing of a stationary object such as a cloud but also rendering of volume data that dynamically changes such as a fluid such as smoke. Therefore, it is necessary to periodically update the access of the volume data via the fluctuation volume shown in FIG.

第1の更新処理は、フレーム周期ごとに行う更新処理である。例えば、1秒30フレームの表示処理を行うならば1/30秒ごとにゆらぎボリューム210の示す座標位置のボクセルのサンプリング処理と積分処理を実行して次のフレームの各画素の描画処理を実行する。このように1/30秒ごとにゆらぎボリューム210からボリュームデータ200へのアクセスを実行し、実際の煙が持つゆらぎの動きを加味した微妙な煙粒子のゆらぎを表現しつつ描画処理を行う。なお、描画の品質を考慮し、例えば、コマ落ちさせて、1/15秒ごとの更新処理としたり、1/10ごとの更新処理とすることができる。   The first update process is an update process performed every frame period. For example, if display processing of 30 frames per second is performed, sampling processing and integration processing of the voxel at the coordinate position indicated by the fluctuation volume 210 are executed every 1/30 seconds to execute drawing processing of each pixel of the next frame. . In this way, the access from the fluctuation volume 210 to the volume data 200 is executed every 1/30 seconds, and the drawing process is performed while expressing the subtle fluctuations of smoke particles taking into account the fluctuation movement of the actual smoke. In consideration of the quality of drawing, for example, frames can be dropped and the update process can be performed every 1/15 seconds, or the update process can be performed every 1/10.

第2の更新処理は、ボリュームデータ200の更新周期ごとに行う更新処理である。描画対象となる3次元オブジェクトがマクロに移動したり、変形したりする場合、ボリュームデータ200自体を適宜なタイミングで更新して新しいボリュームデータ200に差し替えられる。例えば、煙が壁面に沿って移動したり、風により流されたりするような、マクロな移動や変形を表現する場合、ボリュームデータ200自体を更新する。例えば、0.5秒ごと、1秒後など3次元オブジェクトのマクロな変化の速さに応じて適切なタイミングで更新する。   The second update process is an update process performed for each update cycle of the volume data 200. When a three-dimensional object to be drawn moves to a macro or deforms, the volume data 200 itself is updated at an appropriate timing and replaced with new volume data 200. For example, in the case of expressing macro movement or deformation such as smoke moving along a wall surface or being swept away by wind, the volume data 200 itself is updated. For example, it is updated at an appropriate timing according to the macro change speed of the three-dimensional object such as every 0.5 seconds and after one second.

本発明の実施例2のボリュームデータレンダリングシステムは、実施例1のボリュームデータの粒子のゆらぎ表現に加え、粒子の流速の表現も可能とした構成例である。
トンネル内や地下街での火災などにおいては、単に煙が自然に立ち昇るのみではなく、トンネル内や地下街における空気の流れが煙の動きに大きく影響する。ここで、空気の流れに乗った煙のマクロな移動などは、もともとシミュレーションデータ中に記述されているので、レンダリングシステムは基本的にはそのシミュレーションに従って描画すれば良い。しかし、煙などのオブジェクトはシミュレーションデータ中では粒子一つ一つの動きとして記述されているわけではなく、ボリュームデータという塊で与えられることが多い。そのため、レンダリングシステム側において適切なゆらぎ表現を行わなければ、比較的のっぺりとした塊の動きとして表現されてしまう。また、視聴者にとって煙の流速が実感しづらい場合が多かった。
The volume data rendering system according to the second embodiment of the present invention is a configuration example in which the flow velocity of particles can be expressed in addition to the fluctuation expression of particles in the volume data according to the first embodiment.
In a fire in a tunnel or underground mall, the smoke not only rises naturally, but the flow of air in the tunnel or underground mall greatly affects the movement of the smoke. Here, since the macro movement of the smoke riding on the air flow is originally described in the simulation data, the rendering system may basically draw in accordance with the simulation. However, objects such as smoke are not described as individual particle movements in simulation data, but are often given as a block of volume data. For this reason, unless an appropriate fluctuation expression is performed on the rendering system side, it is expressed as a relatively lumpy movement. In addition, it was often difficult for viewers to feel the smoke flow rate.

そこで、実施例2は、実施例1で導入した煙という物理的現象の特徴を反映するゆらぎ表現に加え、さらに、風など外界からの影響を反映するゆらぎ表現を導入し、視聴者に擬似的に煙の流速を実感しやすい可視化表現を行うものである。
図5は、本発明の実施例2にかかるボリュームデータのレンダリングシステムにおけるレンダリング処理の基本的な流れを模式的に示した図である。
Therefore, in the second embodiment, in addition to the fluctuation expression that reflects the characteristics of the physical phenomenon of smoke introduced in the first embodiment, the fluctuation expression that reflects the influence of the outside world such as wind is further introduced to simulate the viewer. This is a visualization that makes it easy to feel the smoke flow rate.
FIG. 5 is a diagram schematically illustrating a basic flow of a rendering process in the volume data rendering system according to the second embodiment of the present invention.

本発明の実施例2のボリュームデータレンダリングシステムにおいても、実施例1のボリュームデータレンダリングシステムと同様、レイキャスティング処理にゆらぎ処理が加えられているが、実施例2のゆらぎ処理(S10a)は、粒子の流速表現も取り込んだゆらぎ表現とし、視聴者が粒子の流速を実感しやすいような可視化表現となっている。   In the volume data rendering system according to the second embodiment of the present invention, as in the volume data rendering system according to the first embodiment, fluctuation processing is added to the ray casting process. However, the fluctuation processing (S10a) according to the second embodiment is performed using particles. Fluctuation expression that incorporates the flow velocity expression, and a visual expression that makes it easier for viewers to feel the flow velocity of particles.

その他のボリュームデータの取得処理(S1)、各ボクセルごとの輝度値と不透明度の決定処理(S2)、サンプリング処理(S3)、積分処理(S4)、描画処理(S5)は実施例1と同様で良い。   Other volume data acquisition processing (S1), luminance value and opacity determination processing (S2) for each voxel, sampling processing (S3), integration processing (S4), and drawing processing (S5) are the same as in the first embodiment. Good.

本実施例2のボリュームデータレンダリングシステムは、ボリュームデータの粒子のゆらぎ表現に加え、粒子の流速の表現も可能とするため、速度場ボリュームという概念を導入する。速度場ボリュームは、速度場モデルに基づいて3次元空間の各ボクセルに速度を表す関数を配した一種の写像ベクトル空間である。ある座標 d(x,y,z)を与えられると、その座標位置のボクセルに配された速度v(t,d)に変換する。   The volume data rendering system according to the second embodiment introduces the concept of velocity field volume in order to allow the expression of particle flow velocity in addition to the expression of particle fluctuation in volume data. The velocity field volume is a kind of mapping vector space in which a function representing velocity is arranged in each voxel in the three-dimensional space based on the velocity field model. Given a coordinate d (x, y, z), it converts it to a velocity v (t, d) placed in the voxel at that coordinate position.

本実施例2のボリュームデータレンダリングシステムでは、レイキャスティングモジュールは、速度場処理モジュールを介して風などの周囲の環境の影響を反映した上でゆらぎ処理モジュールでのゆらぎ処理を行うものとなっている。
本実施例2のボリュームデータレンダリングシステムは、速度場ボリュームとゆらぎボリュームを維持しつつ、これら2つの3次元ベクトル空間のボクセルに配された関数の演算を行う必要がある。そこで、同じく3次元ベクトル空間のボクセルを持ち、参照点を保持するインデックスボリュームを導入する。
In the volume data rendering system of the second embodiment, the ray casting module performs fluctuation processing in the fluctuation processing module after reflecting the influence of the surrounding environment such as wind through the velocity field processing module. .
The volume data rendering system according to the second embodiment needs to perform calculation of functions arranged in the voxels of these two three-dimensional vector spaces while maintaining the velocity field volume and the fluctuation volume. Therefore, an index volume having voxels in the same three-dimensional vector space and holding reference points is introduced.

図6は、実施例2の流速表現を反映したゆらぎ処理の概念を模式的に示した図である。
図6において、ボリュームデータセット200およびゆらぎボリューム210は図4と同様である。
FIG. 6 is a diagram schematically illustrating the concept of fluctuation processing reflecting the flow velocity expression of the second embodiment.
In FIG. 6, the volume data set 200 and the fluctuation volume 210 are the same as those in FIG.

インデックスボリューム220は、ゆらぎモデルボリューム210の参照点を保持しているボリュームである。インデックスボリューム220は、ボリュームデータ200、ゆらぎボリューム210、速度場ボリューム230と同じ3次元空間に配されたボクセルを持っている。インデックスボリューム220は、初期化時に、各ボクセルに連続した値が入っていることが好ましい。例えば、i(r)=rとする。 The index volume 220 is a volume that holds the reference point of the fluctuation model volume 210. The index volume 220 has voxels arranged in the same three-dimensional space as the volume data 200, the fluctuation volume 210, and the velocity field volume 230. The index volume 220 preferably contains a continuous value in each voxel at the time of initialization. For example, i j (r) = r.

速度場ボリューム230は、風などの影響を記述したモデルを備え、各ボクセルに3次元ベクトルデータを持たせている。例えば、v(r)と表現される。
インデックスボリューム220を介してゆらぎモデルボリューム210を参照するので、速度場の影響で時々刻々と移動する変化をインデックスボリュームに反映させて保持することができる。例えば、下記数4のように参照点を移動する。
The velocity field volume 230 includes a model describing the influence of wind or the like, and each voxel has three-dimensional vector data. For example, it is expressed as v (r).
Since the fluctuation model volume 210 is referred to via the index volume 220, changes that move from moment to moment due to the influence of the velocity field can be reflected and held in the index volume. For example, the reference point is moved as shown in Equation 4 below.

Figure 0004656633
Figure 0004656633

従来技術であれば、点線の矢印で示したように、ボリュームデータに対してある座標 d(x,y,z)を手掛かりとして、直接ボリュームデータの座標 d(x,y,z)に配されているボクセルの輝度値、不透明度を取得する。
しかし、実施例2のボリュームデータレンダリングシステムでは、実線の矢印で示したように、速度場ボリューム230による流速表現の反映と、ゆらぎモデルボリューム210による座標変換を施してからボリュームデータにアクセスする。
In the case of the prior art, as indicated by the dotted arrow, the coordinates d (x, y, z) of the volume data are directly assigned to the volume data as a clue to the coordinates d (x, y, z). Get the brightness value and opacity of the current voxel.
However, in the volume data rendering system of the second embodiment, the volume data is accessed after reflecting the flow velocity expression by the velocity field volume 230 and the coordinate transformation by the fluctuation model volume 210 as indicated by the solid arrow.

まず、ある座標 d(x,y,z)をインデックスボリューム220に与え、インデックスボリューム220において当該座標 d(x,y,z)に配されているボクセルが持つ参照座標 i(t,d)に変換する。次に、参照座標 i(t,d)をゆらぎボリューム210に与え、ゆらぎボリューム210において当該参照座標 i(t,d)に配されているボクセルが持つゆらぎ関数 u(t,i(t,d)) に変換する。そして変換されたゆらぎ関数 u(t,i(t,d))に基づいて、レンダリングするのフレームに対応する時刻t1のゆらぎ関数 u(t1,i(t1,d)) を特定した上で、ボリュームデータにアクセスし、当該座標位置 d+u(t1,i(t1,d)) に配されているボクセルの輝度値、不透明度を取得する。   First, a certain coordinate d (x, y, z) is given to the index volume 220, and the reference coordinate i (t, d) of the voxel arranged at the coordinate d (x, y, z) in the index volume 220 is set. Convert. Next, the reference coordinate i (t, d) is given to the fluctuation volume 210, and the fluctuation function u (t, i (t, d) possessed by the voxel arranged at the reference coordinate i (t, d) in the fluctuation volume 210 is given. )). Based on the converted fluctuation function u (t, i (t, d)), after specifying the fluctuation function u (t1, i (t1, d)) at time t1 corresponding to the frame to be rendered, The volume data is accessed, and the brightness value and opacity of the voxel arranged at the coordinate position d + u (t1, i (t1, d)) are obtained.

上記のように、風などの影響を反映した形でインデックスボリューム220の参照座標が移動して行くので、輝度値および不透明度の変化の速さも参照座標の移動の速さに従って変化するので、擬似的に煙などの粒子の流速を可視化したレンダリングが可能となる。   As described above, since the reference coordinates of the index volume 220 move in a manner that reflects the influence of wind or the like, the speed of change of the luminance value and opacity also changes according to the speed of movement of the reference coordinates. In addition, rendering that visualizes the flow velocity of particles such as smoke becomes possible.

図7は、具体的に処理モジュールによってボリュームデータレンダリングシステム100を構築した例を示す図である。各処理モジュールは汎用的なCPUとメモリシステムの組み合わせで構成しても良く、DSPなど専用アクセラレータを用いても良い。   FIG. 7 is a diagram showing an example in which the volume data rendering system 100 is specifically constructed by processing modules. Each processing module may be constituted by a combination of a general-purpose CPU and a memory system, or a dedicated accelerator such as a DSP may be used.

実施例2では、レイキャスティングモジュール130の中に、サンプリングモジュール131と、積分モジュール132と、ゆらぎ処理モジュール133に加え、速度場処理モジュール134が加えられている。   In the second embodiment, a velocity field processing module 134 is added to the ray casting module 130 in addition to the sampling module 131, the integration module 132, and the fluctuation processing module 133.

実施例1の図3の場合、サンプリングモジュール131は、サンプリング原座標 d(x,y,z)を所定の規則に従って決め、当該サンプリング原座標 d(x,y,z)をゆらぎ処理モジュール133に渡したが、実施例2の場合、サンプリングモジュール131は、サンプリング原座標 d(x,y,z)を所定の規則に従って決め、まず、速度場処理モジュール134に渡す。   In the case of FIG. 3 in the first embodiment, the sampling module 131 determines the sampling original coordinates d (x, y, z) according to a predetermined rule, and the sampling original coordinates d (x, y, z) is input to the fluctuation processing module 133. In the case of the second embodiment, the sampling module 131 determines the original sampling coordinates d (x, y, z) according to a predetermined rule, and first passes it to the velocity field processing module 134.

速度場処理モジュール134は、風などの周囲の環境の影響を記述したモデルを備え、サンプリングモジュール131より受け取ったサンプリング原座標 d(x,y,z)に対して速度場モデルを基に、煙などの流速を反映したシフト処理を加え、インデックスボリュームの当該座標位置のボクセルが持つ参照座標 i(t,d)を発生する。つまり、サンプリング原座標 d(x,y,z)に対して、煙粒子の風などによる動きを考慮した参照座標 i(t,d)に変換する。   The velocity field processing module 134 has a model describing the influence of the surrounding environment such as wind, and the smoke is generated based on the velocity field model with respect to the sampling original coordinates d (x, y, z) received from the sampling module 131. The reference coordinate i (t, d) of the voxel at the corresponding coordinate position of the index volume is generated by adding a shift process reflecting the flow velocity. That is, the sampling original coordinates d (x, y, z) are converted into the reference coordinates i (t, d) in consideration of the movement of smoke particles due to the wind.

ゆらぎ処理モジュール133は、速度場処理モジュール134から参照座標 i(t,d)を受け取り、参照座標 i(t,d)に対してゆらぎモデルを基にゆらぎ処理を加え、サンプリングゆらぎ座標 u(t,i(t,d))を発生する。つまり、ゆらぎ処理モジュール133は受け取った参照座標 i(t,d)に対して、ゆらぎを考慮したサンプリングゆらぎ座標 u(t,i(t,d))に変換する。サンプリングモジュール131はゆらぎ処理モジュール133からサンプリングゆらぎ座標 u(t,i(t,d))を受け取り、当該座標位置のボクセルをサンプリング対象として決定する。   The fluctuation processing module 133 receives the reference coordinate i (t, d) from the velocity field processing module 134, applies fluctuation processing to the reference coordinate i (t, d) based on the fluctuation model, and obtains the sampling fluctuation coordinate u (t , i (t, d)). That is, the fluctuation processing module 133 converts the received reference coordinates i (t, d) into sampling fluctuation coordinates u (t, i (t, d)) in consideration of fluctuations. The sampling module 131 receives the sampling fluctuation coordinate u (t, i (t, d)) from the fluctuation processing module 133, and determines the voxel at the coordinate position as the sampling target.

このように、実施例2では、レイキャスティングモジュール130は、速度場処理モジュール134を介して風などの周囲の環境の影響を反映した上でゆらぎ処理モジュール133でのゆらぎ処理を行うものとなっている。
レイキャスティングモジュール130は、サンプリングゆらぎ座標 u(t,i(t,d))を基にボクセルデータセット生成モジュール120にアクセスし、それぞれの座標位置のボクセルの輝度値と不透明度を取得する。その後、積分モジュール132において、前述の数2に基づいた積分が施される。この積分値が対象としている画素の画素値となる。描画モジュール140は、レイキャスティングモジュール130から積分された輝度値を受け、当該輝度値に従って画素をモニタ上に描画する。この描画モジュール140により全ての画素について描画すれば、ボリュームを可視化した一フレームが完成する。
As described above, in the second embodiment, the ray casting module 130 performs the fluctuation processing in the fluctuation processing module 133 after reflecting the influence of the surrounding environment such as wind via the velocity field processing module 134. Yes.
The ray casting module 130 accesses the voxel data set generation module 120 based on the sampling fluctuation coordinates u (t, i (t, d)), and acquires the luminance value and opacity of the voxel at each coordinate position. Thereafter, the integration module 132 performs integration based on the above-described equation 2. This integral value is the pixel value of the target pixel. The drawing module 140 receives the luminance value integrated from the ray casting module 130 and draws the pixel on the monitor according to the luminance value. If all the pixels are drawn by the drawing module 140, one frame in which the volume is visualized is completed.

このように実施例2のボリュームデータレンダリングシステムは、1フレームの中に空間的ゆらぎを織り込むことができ、さらに、動画として表示される可視化画像において、風などの影響を反映した流速表現を取り込んだフレーム間の時間的ゆらぎを織り込むことができる。このように流速表現を取り込んだゆらぎ処理(S10a)を行うことにより、サンプリングするボクセル座標位置がフレーム間でゆらぐこととなり、レンダリング結果において擬似的に流速表現を取り込んだゆらぎを与えることができる。   As described above, the volume data rendering system according to the second embodiment can incorporate spatial fluctuations in one frame, and further incorporates a flow velocity expression that reflects the influence of wind or the like in a visualized image displayed as a moving image. Time fluctuations between frames can be incorporated. By performing the fluctuation process (S10a) incorporating the flow velocity expression in this way, the sampled voxel coordinate position fluctuates between frames, and it is possible to give the fluctuation that incorporates the flow velocity expression in the rendering result.

次に、インデックスボリュームの定期的な初期化処理の工夫について述べる。
風などボリュームデータに対する外界の影響が複雑であり空間全体にわたり一様というものではなく、場所(座標位置)によっては異なる速度を持っている速度場モデルである場合、サンプリング原座標において近くに位置し、相互に相関が強く、当初、ゆらぎボリューム内の近くのボクセルを参照していた2点について、速度場モデルにおいて異なる速度を持っている場合、時間の経過とともにインデックスボリュームでの参照点が互いに離れて行き、ゆらぎボリュームにおいて参照したボクセルのゆらぎ座標について、相互の相関性が失われ、相互のゆらぎが単にランダムなものとなってしまい、描画対象のボリュームデータにより表現される物理現象のゆらぎを反映した系統的なゆらぎとはならない。本発明の実施例2のボリュームデータレンダリングシステムでは、風などの影響による粒子の流速が視聴者に分かりやすく可視化できれば良いので、速度場モデルに基づいてインデックスボリューム内での参照座標のシフト量が反映できれば良く、参照座標を初期化しても大きな問題とはならない。そこで、インデックスボリュームを定期的に初期化して各ボクセルに連続した値が入っている状態に戻す工夫を施すことができる。このようにインデックスボリュームを定期的に初期化すれば、サンプリング原座標において近くに位置し、相互に相関が強いデータ間の相関性を適度に維持することができる。
Next, a device for periodically initializing the index volume will be described.
The influence of the outside world on volume data such as wind is complicated and not uniform throughout the space. If the velocity field model has different velocities depending on the location (coordinate position), it is located close to the sampling original coordinates. When the two points that were strongly correlated with each other and initially referred to nearby voxels in the fluctuation volume had different velocities in the velocity field model, the reference points in the index volume moved away from each other over time. The correlation between the voxel fluctuation coordinates referenced in the fluctuation volume is lost, and the mutual fluctuation is simply random, reflecting the fluctuation of the physical phenomenon expressed by the volume data to be drawn. It is not a systematic fluctuation. In the volume data rendering system according to the second embodiment of the present invention, it is sufficient that the flow velocity of particles due to the influence of wind or the like can be easily visualized by the viewer, so that the shift amount of the reference coordinates in the index volume is reflected based on the velocity field model. It is only necessary to initialize the reference coordinates. Therefore, it is possible to devise a method for periodically initializing the index volume so that each voxel contains a continuous value. If the index volume is periodically initialized in this way, the correlation between data that are located close to each other in the original sampling coordinates and have strong correlation with each other can be maintained appropriately.

本発明の実施例3のボリュームデータレンダリングシステムは、実施例1、実施例2に示したゆらぎ処理モジュール133のゆらぎモデル、速度場処理モジュール134の速度場モデルの入れ替えを柔軟に可能とした構成例である。   The volume data rendering system according to the third embodiment of the present invention is a configuration example in which the fluctuation model of the fluctuation processing module 133 and the velocity field model of the velocity field processing module 134 shown in the first and second embodiments can be flexibly exchanged. It is.

本発明の実施例3のボリュームデータレンダリングシステムの描画対象は煙には限定されないが、以下は一例として描画対象を煙として説明する。
トンネル内や地下街での火災などにおいては、単に煙が自然に立ち昇るのみではなく、トンネル内や地下街における空気の流れが煙の動きに大きく影響する。さらに、トンネル内の非常口の開閉、防火扉の開閉や、送風口からの送風能力の変動、地下鉄駅構内であれば電車の発着などの物体の移動など、空気の流れが大きく変わる場合がある。このような空気の流れが大きく変わる場合、空気の流れを記述する速度場モデルを変更する必要が生じる。本実施例3ではゆらぎ処理モジュール133のゆらぎモデル、速度場処理モジュール134の速度場モデルの入れ替えを柔軟に可能としている。
Although the drawing target of the volume data rendering system according to the third embodiment of the present invention is not limited to smoke, the drawing target will be described as smoke as an example below.
In a fire in a tunnel or underground mall, the smoke not only rises naturally, but the flow of air in the tunnel or underground mall greatly affects the movement of the smoke. Furthermore, the flow of air may change greatly, such as the opening and closing of emergency exits in tunnels, the opening and closing of fire doors, fluctuations in blowing capacity from the blower openings, and movement of objects such as arrival and departure of trains in subway stations. When the air flow changes greatly, it is necessary to change the velocity field model describing the air flow. In the third embodiment, the fluctuation model of the fluctuation processing module 133 and the speed field model of the speed field processing module 134 can be flexibly exchanged.

また、煙のゆらぎ具合いは、着火している材料、空間内での酸素濃度、温度、火災の規模などによって異なる場合がある。このような煙のゆらぎ具合いに影響を与える条件は、火災の進行、火災の規模などにより変動するので、煙のゆらぎ具合いを適切に表すゆらぎモデルを動的に採用することが好ましい。   The smoke fluctuation may vary depending on the material being ignited, the oxygen concentration in the space, the temperature, the scale of the fire, and the like. Since the conditions that affect the smoke fluctuation condition vary depending on the progress of the fire, the scale of the fire, and the like, it is preferable to dynamically adopt a fluctuation model that appropriately represents the smoke fluctuation condition.

図8は、処理モジュールによって実施例3にかかるボリュームデータレンダリングシステム100を構築した例を示す図である。各処理モジュールは汎用的なCPUとメモリシステムの組み合わせで構成しても良く、DSPなど専用アクセラレータを用いても良い。   FIG. 8 is a diagram illustrating an example in which the volume data rendering system 100 according to the third embodiment is constructed by the processing module. Each processing module may be constituted by a combination of a general-purpose CPU and a memory system, or a dedicated accelerator such as a DSP may be used.

実施例3では、レイキャスティングモジュール130の中に、サンプリングモジュール131と、積分モジュール132と、ゆらぎ処理モジュール133、速度場処理モジュール134に加え、ゆらぎモデルデータベース135と速度場モデルデータベース136を備えるものとなっている。   In the third embodiment, the ray casting module 130 includes a fluctuation model database 135 and a velocity field model database 136 in addition to the sampling module 131, the integration module 132, the fluctuation processing module 133, and the velocity field processing module 134. It has become.

ゆらぎモデルデータベース135には、着火している材料、空間内での酸素濃度、温度、火災の規模などに応じた複数のゆらぎモデルが格納されている。
速度場モデルデータベース136には、非常口の開閉、防火扉の開閉や、送風口からの送風能力の変動などに応じた複数の速度場モデルが格納されている。
The fluctuation model database 135 stores a plurality of fluctuation models according to the material being ignited, the oxygen concentration in the space, the temperature, the scale of the fire, and the like.
The speed field model database 136 stores a plurality of speed field models corresponding to the opening / closing of the emergency exit, the opening / closing of the fire door, the fluctuation of the blowing capacity from the blower opening, and the like.

ゆらぎ処理モジュール133は、着火している材料、空間内での酸素濃度、温度、火災の規模などの情報を自ら検知しまたは外部からの通知を受け、それに応じたゆらぎモデルをゆらぎモデルデータベース135から取り出して動的に装備する。   The fluctuation processing module 133 detects information such as the material that is ignited, the oxygen concentration in the space, the temperature, and the scale of the fire by itself or receives notification from the outside, and the fluctuation model corresponding to the information is received from the fluctuation model database 135. Take out and equip dynamically.

速度場処理モジュール134は、非常口の開閉、防火扉の開閉や、送風口からの送風能力の変動などの情報を自ら検知しまたは外部からの通知を受け、それに応じた速度場モデルを速度場モデルデータベース136から取り出して動的に装備する。   The speed field processing module 134 detects information such as the opening / closing of the emergency exit, the opening / closing of the fire door, and the change in the air blowing capacity from the air outlet, or receives a notification from the outside, and the speed field model corresponding to the information is sent to the speed field model. Retrieve from database 136 and dynamically equip.

このように、本発明の実施例3のボリュームデータレンダリングシステムは、多様な条件変動に応じたゆらぎモデル、速度場モデルの動的な入れ替えができ、自然なゆらぎを表現したレンダリング処理を継続して行くことができる。   As described above, the volume data rendering system according to the third embodiment of the present invention can dynamically replace the fluctuation model and the velocity field model according to various condition fluctuations, and continues the rendering process expressing the natural fluctuation. can go.

本発明のボリュームデータレンダリングシステムは、上記に説明した構成を実現する処理ステップを記述したプログラムとして提供することにより、各種コンピュータを用いて構築することができる。本発明のボリュームデータレンダリングシステムを実現する処理ステップを備えたプログラムは、例えば、図9に図示した構成例に示すように、CD−ROMやDVDやフレキシブルディスク等の可搬型記録媒体だけでなく、ネットワーク上にあるプログラムサーバからダウンロードさせるものであっても良く、プログラム実行時には、プログラムはコンピュータ上にローディングされ、主メモリ上で実行される。   The volume data rendering system of the present invention can be constructed using various computers by providing it as a program describing processing steps for realizing the configuration described above. The program including the processing steps for realizing the volume data rendering system of the present invention is not limited to a portable recording medium such as a CD-ROM, DVD, or flexible disk, as shown in the configuration example shown in FIG. The program may be downloaded from a program server on the network. When the program is executed, the program is loaded on the computer and executed on the main memory.

さらに、ソースプログラムをコンパイルしたもののみならず、いわゆるネットワークを介してクライアントコンピュータに中間言語形式のアプレットを送信し、クライアントコンピュータ上でインタープリタ実行して動作する構成であっても良い。   Further, it may be configured not only to compile a source program but also to send an intermediate language format applet to a client computer via a so-called network and execute the interpreter on the client computer.

本発明は、3次元空間で定義されたボリュームデータを可視化するボリュームデータレンダリングシステムおよびボリュームデータレンダリング処理方法に適用できる。   The present invention can be applied to a volume data rendering system and volume data rendering processing method for visualizing volume data defined in a three-dimensional space.

本発明の実施例1にかかるボリュームデータのレンダリングシステムにおけるレンダリング処理の基本的な流れを模式的に示した図FIG. 5 is a diagram schematically illustrating a basic flow of a rendering process in the volume data rendering system according to the first embodiment of the invention. 本発明のボリュームデータレンダリングシステムのサンプリング処理におけるサンプリングするボクセルの座標位置のゆらぎを模式的に示した図The figure which showed typically the fluctuation of the coordinate position of the voxel to sample in the sampling process of the volume data rendering system of this invention 処理モジュールによってシステムを構築した例を示す図The figure which shows the example which built the system with processing module 本発明におけるゆらぎ処理の概念を模式的に示した図The figure which showed typically the concept of the fluctuation process in this invention 本発明の実施例2にかかるボリュームデータのレンダリングシステムにおけるレンダリング処理の基本的な流れを模式的に示した図The figure which showed typically the basic flow of the rendering process in the rendering system of the volume data concerning Example 2 of this invention. 実施例2の流速表現を反映したゆらぎ処理の概念を模式的に示した図The figure which showed typically the concept of the fluctuation process which reflected the flow-velocity expression of Example 2. FIG. 具体的に処理モジュールによってシステムを構築した例を示す図The figure which shows the example which built the system concretely with the processing module 処理モジュールによって実施例3にかかるボリュームデータレンダリングシステムを構築した例を示す図The figure which shows the example which constructed | assembled the volume data rendering system concerning Example 3 by the processing module. 本発明のボリュームデータレンダリングシステムを実現する処理ステップを記述したプログラムとして提供する様子を模式的に示す図The figure which shows typically a mode that it provides as a program which described the processing step which implement | achieves the volume data rendering system of this invention. ボリュームデータを用いた場合のレンダリング処理手順の基本的な流れを示した図The figure which showed the basic flow of the rendering processing procedure when using volume data レイキャスティング処理の概念を模式的に説明する図Diagram explaining the concept of ray casting processing ボリュームデータの表現形式にスライス状のサーフィスモデルの表現形式を導入する概念を模式的に示す図The figure which shows the concept which introduces the expression form of the sliced surface model in the expression form of the volume data

符号の説明Explanation of symbols

100 ボリュームデータレンダリングシステム
110 ボリュームデータ取得モジュール
120 ボクセルデータセット生成モジュール
121 輝度値決定モジュール
122 不透明度決定モジュール
130 レイキャスティングモジュール
131 サンプリングモジュール
132 積分モジュール
133 ゆらぎ処理モジュール
134 速度場処理モジュール
135 ゆらぎモデルデータベース
136 速度場モデルデータベース
140 描画モジュール
200 ボリュームデータのボクセルデータセット
201 ボクセル
202 レイ
210 ゆらぎボリューム
220 インデックスボリューム
230 速度場ボリューム





DESCRIPTION OF SYMBOLS 100 Volume data rendering system 110 Volume data acquisition module 120 Voxel data set production module 121 Luminance value determination module 122 Opacity determination module 130 Ray casting module 131 Sampling module 132 Integration module 133 Fluctuation processing module 134 Speed field processing module 135 Fluctuation model database 136 Velocity field model database 140 Drawing module 200 Voxel data set of volume data 201 Voxel 202 Ray 210 Fluctuation volume 220 Index volume 230 Velocity field volume





Claims (8)

ボリュームデータを基に輝度値および不透明度が与えられたボクセルデータセットを生成するボクセルデータセット生成モジュールと、
前記ボクセルデータセットからレイに沿ったボクセルをサンプリングし、前記サンプリングにかかるボクセルの輝度値および不透明度を基に描画すべき画素データを生成するレイキャスティングモジュールと、
前記画素データを受け、ボリュームデータを描画する描画モジュールとを備え、
前記レイキャスティングモジュールが、前記サンプリングにかかるボクセルの座標位置をゆらぎモデルに基づいて変動させることを特徴とするボリュームデータレンダリングシステム。
A voxel data set generation module that generates a voxel data set given a luminance value and opacity based on volume data;
A ray casting module that samples voxels along a ray from the voxel data set, and generates pixel data to be drawn based on a luminance value and opacity of the voxel involved in the sampling;
A drawing module that receives the pixel data and draws volume data;
The volume data rendering system, wherein the ray casting module changes a coordinate position of a voxel for the sampling based on a fluctuation model.
前記ゆらぎモデルが、前記ボリュームデータにより表現される物理現象のゆらぎを反映する系統的なゆらぎモデルである請求項1に記載のボリュームデータレンダリングシステム。 The volume data rendering system according to claim 1, wherein the fluctuation model is a systematic fluctuation model reflecting fluctuation of a physical phenomenon represented by the volume data. 前記ゆらぎモデルが、ボクセルの色合いデータについてのゆらぎの記述も備えている請求項1又は2に記載のボリュームデータレンダリングシステム。 The volume data rendering system according to claim 1 or 2, wherein the fluctuation model also includes a description of fluctuations regarding voxel hue data. 複数のゆらぎモデルを格納したゆらぎモデルデータベースを備え、
前記レイキャスティングモジュールが、前記ゆらぎモデルデータベースから前記ボリュームデータにより表現される物理現象のゆらぎを反映する系統的なゆらぎモデルを選択して装備した請求項1又は3に記載のボリュームデータレンダリングシステム。
Equipped with a fluctuation model database that stores multiple fluctuation models
The volume data rendering system according to claim 1 or 3, wherein the ray casting module selects and equips a systematic fluctuation model that reflects fluctuations of a physical phenomenon expressed by the volume data from the fluctuation model database.
前記ゆらぎモデルに基づく前記サンプリングにかかるボクセルの座標位置の変動において、前記ゆらぎの大きさおよび流れる方向について前記ボリュームデータにより表現される物理現象の移動速度を反映した速度場モデルによる調整を加えた請求項1乃至3のいずれかに記載のボリュームデータレンダリングシステム。 In the fluctuation of the coordinate position of the voxel for the sampling based on the fluctuation model, an adjustment by a velocity field model reflecting the movement speed of a physical phenomenon expressed by the volume data is added to the fluctuation size and the flowing direction. Item 4. The volume data rendering system according to any one of Items 1 to 3. 複数の速度場モデルを格納した速度場モデルデータベースを備え、
前記レイキャスティングモジュールが、前記速度場モデルデータベースから前記ボリュームデータにより表現される物理現象の移動速度を反映した速度場モデルを選択して装備する請求項4に記載のボリュームデータレンダリングシステム。
It has a speed field model database that stores multiple speed field models,
The volume data rendering system according to claim 4, wherein the ray casting module selects and equips a speed field model reflecting a moving speed of a physical phenomenon expressed by the volume data from the speed field model database.
前記ゆらぎモデルが、各ボクセルにゆらぎ関数を配したゆらぎボリュームの形で定義され、前記速度場モデルが、各ボクセルに速度を表す関数を配した速度場ボリュームの形で定義され、
前記ゆらぎボリュームにおいてどのボクセルを参照しているかを示す参照情報を保持するインデックスボリュームを備え、
前記インデックスボリュームを介して前記ゆらぎボリュームと前記速度場ボリュームとを連携させ、
前記レイキャスティングモジュールが、前記速度場ボリュームによる前記物理現象への影響を反映させて前記インデックスボリュームの参照情報を更新し、前記更新にかかる参照情報が示すゆらぎボリュームのボクセルに配されているゆらぎ関数を用いて前記サンプリングにかかるボリュームデータのボクセルの座標位置を変動させる請求項5または6に記載のボリュームデータレンダリングシステム。
The fluctuation model is defined in the form of a fluctuation volume in which a fluctuation function is arranged in each voxel, and the velocity field model is defined in the form of a velocity field volume in which a function representing a velocity is arranged in each voxel,
An index volume that holds reference information indicating which voxel is referenced in the fluctuation volume;
Linking the fluctuation volume and the velocity field volume via the index volume,
The ray casting module updates the reference information of the index volume by reflecting the influence of the velocity field volume on the physical phenomenon, and the fluctuation function arranged in the voxel of the fluctuation volume indicated by the reference information related to the update The volume data rendering system according to claim 5 or 6, wherein the coordinate position of the voxel of the volume data related to the sampling is changed by using.
コンピュータに、
ボリュームデータを基に輝度値および不透明度が与えられたボクセルデータセットを生成するボクセルデータセット生成処理ステップと、
前記ボクセルデータセットからレイに沿ったボクセルをサンプリングし、前記サンプリングにかかるボクセルの輝度値および不透明度を基に描画すべき画素データを生成するレイキャスティング処理ステップと、
前記画素データを受け、ボリュームデータを描画する描画処理ステップと、を実行させるためのプログラムであって、
前記レイキャスティング処理ステップにおいて、前記サンプリングにかかるボクセルの座標位置をゆらぎモデルに基づいて変動させることを特徴とするボリュームデータレンダリング処理プログラム。
On the computer,
A voxel data set generation processing step for generating a voxel data set given a luminance value and opacity based on volume data;
A ray casting processing step of sampling voxels along a ray from the voxel data set, and generating pixel data to be drawn based on a luminance value and opacity of the voxel involved in the sampling;
A drawing processing step for receiving the pixel data and drawing the volume data ;
A volume data rendering processing program characterized in that, in the ray casting processing step, a coordinate position of a voxel for sampling is changed based on a fluctuation model.
JP2005079661A 2005-03-18 2005-03-18 Volume data rendering system and volume data rendering processing program Active JP4656633B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005079661A JP4656633B2 (en) 2005-03-18 2005-03-18 Volume data rendering system and volume data rendering processing program
PCT/JP2006/305148 WO2006100984A1 (en) 2005-03-18 2006-03-15 Volume data rendering system and volume data rendering processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005079661A JP4656633B2 (en) 2005-03-18 2005-03-18 Volume data rendering system and volume data rendering processing program

Publications (2)

Publication Number Publication Date
JP2006260408A JP2006260408A (en) 2006-09-28
JP4656633B2 true JP4656633B2 (en) 2011-03-23

Family

ID=37023648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005079661A Active JP4656633B2 (en) 2005-03-18 2005-03-18 Volume data rendering system and volume data rendering processing program

Country Status (2)

Country Link
JP (1) JP4656633B2 (en)
WO (1) WO2006100984A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101788583B1 (en) 2011-02-08 2017-10-23 삼성전자주식회사 Method and apparatus for constructing kd-tree based on voxel visibility
KR101090660B1 (en) 2011-09-14 2011-12-07 인하대학교 산학협력단 Method for real-time volume rendering using point-primitive
JP6513391B2 (en) * 2014-12-24 2019-05-15 キヤノンメディカルシステムズ株式会社 Medical image processing apparatus, image data display method in medical image processing apparatus, and X-ray CT apparatus
CN110489480A (en) * 2019-07-04 2019-11-22 华北电力大学 A kind of more attributes of log data are switched fast method for visualizing
CN117078836A (en) * 2023-07-24 2023-11-17 中国人民解放军海军工程大学 Radiation sound field visualization method and system based on near-field acoustic holography in shallow sea environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312809A (en) * 2001-04-12 2002-10-25 Ziosoft Inc Three-dimensional image display method
JP2003334189A (en) * 2002-05-21 2003-11-25 Mitsubishi Electric Corp Apparatus and process for planning radiation treatment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0454682A (en) * 1990-06-22 1992-02-21 Toshiba Corp Method and device for three-dimensional picture processing
JPH08138078A (en) * 1994-11-09 1996-05-31 Toshiba Medical Eng Co Ltd Image processing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312809A (en) * 2001-04-12 2002-10-25 Ziosoft Inc Three-dimensional image display method
JP2003334189A (en) * 2002-05-21 2003-11-25 Mitsubishi Electric Corp Apparatus and process for planning radiation treatment

Also Published As

Publication number Publication date
WO2006100984A1 (en) 2006-09-28
JP2006260408A (en) 2006-09-28

Similar Documents

Publication Publication Date Title
US7450122B2 (en) Volumetric hair rendering
CN112513712B (en) Mixed reality system with virtual content warping and method of generating virtual content using the same
US10354397B2 (en) Methods and apparatus for modeling deformations of an object
US7289119B2 (en) Statistical rendering acceleration
US8154544B1 (en) User specified contact deformations for computer graphics
US8760449B1 (en) Multi-stage fire simulation
US7940268B2 (en) Real-time rendering of light-scattering media
KR100568563B1 (en) A real-time simulation and rendering method for fluid flows using particle dynamics and volume rendering techniques
JP4656633B2 (en) Volume data rendering system and volume data rendering processing program
Ganovelli et al. Introduction to computer graphics: A practical learning approach
WO2008014384A2 (en) Real-time scenery and animation
Krüger et al. GPU simulation and rendering of volumetric effects for computer games and virtual environments
Goswami A survey of modeling, rendering and animation of clouds in computer graphics
Wang et al. Capturing the dance of the earth: PolarGlobe: Real-time scientific visualization of vector field data to support climate science
US6967653B2 (en) Apparatus and method for semi-automatic classification of volume data
Steffen et al. Hybrid polygon and hydrodynamic nebula modeling with multi-waveband radiation transfer in astrophysics
JP2023178274A (en) Method and system for generating polygon meshes approximating surfaces using root-finding and iteration for mesh vertex positions
King et al. Fast volume rendering and animation of amorphous phenomena
Nordahl Enhancing the hpc-lab snow simulator with more realistic terrains and other interactive features
Andrei et al. Bioblender: A software for intuitive representation of surface properties of biomolecules
Hempe et al. Efficient real-time generation and rendering of interactive grass and shrubs for large sceneries
Rousseau et al. Gpu rainfall
Wang et al. Real-time rendering of flames on arbitrary deformable objects
Wang et al. Art-directable cloud animation
Puig-Centelles et al. Multiresolution techniques for rain rendering in virtual environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101203

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350