WO2016125754A1 - Particle rendering processing device, particle rendering method, and computer program - Google Patents

Particle rendering processing device, particle rendering method, and computer program Download PDF

Info

Publication number
WO2016125754A1
WO2016125754A1 PCT/JP2016/052954 JP2016052954W WO2016125754A1 WO 2016125754 A1 WO2016125754 A1 WO 2016125754A1 JP 2016052954 W JP2016052954 W JP 2016052954W WO 2016125754 A1 WO2016125754 A1 WO 2016125754A1
Authority
WO
WIPO (PCT)
Prior art keywords
particle
node
rendering
opacity
processing
Prior art date
Application number
PCT/JP2016/052954
Other languages
French (fr)
Japanese (ja)
Inventor
耕二 小山田
尚久 坂本
Original Assignee
国立大学法人京都大学
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 国立大学法人京都大学 filed Critical 国立大学法人京都大学
Priority to JP2016573357A priority Critical patent/JP6719774B2/en
Publication of WO2016125754A1 publication Critical patent/WO2016125754A1/en

Links

Images

Classifications

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

Definitions

  • the present invention relates to particle rendering.
  • Particle rendering is known as a technique for visualizing large-scale volume data (see Non-Patent Document 1).
  • Particle rendering is a technique for rendering a given volume data with opaque luminous particles.
  • the particle rendering process includes two processes: particle generation and particle projection.
  • particle generation Prior to particle generation, it is necessary to estimate the particle density for each grid constituting the volume data.
  • the particle density is the number of particles per unit volume.
  • the particle density for each lattice is obtained from numerical data defined for the lattice using opacity, particle radius, and the like.
  • the opacity is calculated from numerical data defined in the grid using a transfer function specified by the user.
  • the number of particles according to the particle density is generated, and the generated particles are arranged in the lattice.
  • the generated particles are projected onto the image plane.
  • the particles are projected onto the image plane and a pixel value is calculated at each pixel of the image.
  • An aspect of the present invention is a particle rendering processing apparatus, the storage unit storing target data configured to have grid data in which numerical data is defined at nodes of the grid, and a particle rendering process for the target data And a particle rendering process that determines the particle density of the node when one particle is arranged at the node based on a volume sum of one or more grids sharing the node.
  • Another aspect of the present invention is a particle rendering method including performing a particle rendering process.
  • Another aspect of the present invention is a computer program that causes a computer to execute part or all of a particle rendering process. The computer program is recorded on a computer-readable recording medium.
  • an increase in the processing load of particle rendering can be suppressed.
  • the particle rendering processing apparatus 1 includes a processing unit 10 and a storage unit 20.
  • the particle rendering processing apparatus 1 is configured by a computer having a processing unit 10 and a storage unit 20.
  • the processing unit 10 executes the computer program stored in the storage unit 20 to cause the computer to perform particle rendering processing, and causes the computer to function as the particle rendering processing device 1.
  • the processing unit 10 includes a CPU (Central Processing Unit).
  • the processing unit 10 may include a GPU (Graphics Processing Unit) for image processing in addition to the CPU.
  • the particle projection processing 105 and 205 is preferably performed by the GPU instead of the CPU in order to increase the processing speed.
  • the particle rendering process performed by the processing unit 10 is a process of generating visualized image data 401 and 402 from the target data 21 stored in the storage unit 20.
  • the generated image data 401 and 402 are stored in the storage unit 20.
  • the particle rendering apparatus 1 has a monitor for displaying an image, and displays the generated image data 401 and 402 on the monitor.
  • the target data 21 to be subjected to the particle rendering process is, for example, volume data.
  • the volume data is composed of a plurality of grid data.
  • the grid data is data in which numerical data is defined at the nodes (vertices) of the grid.
  • the lattice may be a regular lattice, a structured lattice, or an irregular lattice.
  • the shape of the lattice is, for example, a tetrahedron or a hexahedron, and may be another three-dimensional shape.
  • the numerical data is, for example, scalar data.
  • the scalar data is, for example, values indicating temperature, pressure, density, and energy.
  • FIG. 1 An example of the volume data 21 is shown in FIG.
  • the three-dimensional space in which the volume data 21 is defined is divided into small three-dimensional solids called a lattice E.
  • Grid E has a plurality of nodes.
  • the lattice E in FIG. 2 is a tetrahedron.
  • i an identifier of a node (vertex) of the grid E.
  • a node of a certain grid E is also a node of another grid. That is, a node may be shared by multiple grids.
  • the target data 21 is not limited to volume data that is three-dimensional data, and may be two-dimensional data (surface data) or one-dimensional data (line data).
  • the lattice constituting the two-dimensional data is a planar two-dimensional lattice, and strictly speaking, the lattice thickness is zero.
  • particle generation is performed by regarding the two-dimensional lattice as a plate-like three-dimensional lattice having a thickness equal to the diameter of the generated particles.
  • particle generation is performed by regarding a linear one-dimensional lattice as a rod-shaped three-dimensional lattice having a diameter equal to the diameter of the generated particles.
  • the particle rendering process performed by the processing unit 10 includes a first particle rendering process 100 and a second particle rendering process 200.
  • the first particle rendering process 100 generates particles P only at the positions of the nodes V. For this reason, in the first particle rendering processing 100, an increase in processing load when particle generation is repeated is suppressed. Further, an increase in the memory area for holding the generated particle P data is also suppressed.
  • the second particle rendering process 200 generates a number of particles according to the particle density and places the generated particles P in the lattice E, as in the conventional particle rendering process. For this reason, in the second particle rendering process 200, the processing load tends to increase when particle generation is repeated. In addition, a large amount of memory area is required to hold the generated particle data. However, in the second particle rendering process 200, the distribution of the particles P corresponding to the particle density is obtained in the lattice E, so that the image quality of the generated image data 402 is better than that of the first particle rendering process 100. There is expected.
  • a process selection 300 is performed to determine which of the first particle rendering process 100 and the second particle rendering process 100 is to be executed. In the process selection 300, whether to execute the first particle rendering process 100 or the second particle rendering process 100 on the target data 21 is determined based on a selection input by the user.
  • the first particle rendering process 100 with a low processing load can be used as a preview process for generating image data 401 for preview.
  • the user wants to obtain the image data 401 visualizing the target data 21 as a preview image
  • the user can obtain the preview image 401 efficiently in a relatively short time by selecting the first particle rendering process (preview process). be able to.
  • the user can efficiently perform the visualization work by obtaining the image data 401 with good image quality by the second particle rendering processing 200.
  • the particle rendering processing apparatus 1 may not have the function of executing the second particle rendering process 200.
  • First particle rendering process 100 rather than the number of particles in accordance with the particle density as in the conventional particle rendering process of placing in the lattice, to produce particles P i to the position of the node i.
  • a particle density estimation process 101 is performed as the first process.
  • the particle density estimation process 101 is a process for estimating the particle density ⁇ i of the node i when one particle P i is arranged at the node i.
  • one particle P i is arranged at each node i, so that the particle density ⁇ i is a volume around the node i, that is, one or more grids E sharing the node i. Calculated based on the volume sum V i .
  • the reciprocal of the volume sum V i of one or more grids E sharing the node i is the particle density ⁇ i of the node i when one particle P i is arranged at the node i. It becomes.
  • 1 / V i which is the reciprocal of the volume sum V i of the four lattices E becomes the particle density ⁇ i of the node i.
  • an opacity update process (opacity determination process) 103 is further performed as a second process.
  • the opacity ⁇ i is calculated from numerical data (scalar data S i ) defined for each node i using a transfer function specified by the user. The calculation of opacity is the same as in the conventional particle rendering process.
  • a particle radius calculation process 104 is further performed as a third process.
  • the particle radius calculation process 104 is a process for determining the size of the particle arranged at the node i and generating a particle having the determined size.
  • the size of the particle is determined by the radius r i of the particle P i , for example.
  • the particle radius r i of a node i is determined based on the particle density ⁇ i and opacity ⁇ i of the node i . More specifically, the particle radius r i is calculated based on the following formula (1).
  • the above formula (1) is obtained by modifying the conventional particle density estimation formula described in Patent Document 1.
  • the conventional particle density estimation formula is as the following formula (2).
  • the particle density ⁇ when the opacity ⁇ and the particle radius r are determined, the particle density ⁇ can be obtained.
  • ⁇ t is a ray segment length used in ray casting (see Non-Patent Document 1).
  • the particle radius r is a user-specified value
  • the opacity ⁇ is a value calculated from numerical data defined at the node using a user-specified transfer function. .
  • the particle density ⁇ is obtained from the opacity ⁇ and the particle radius r
  • the particle radius r i of the node i is determined by the particle density estimation processing 101. It is obtained from the obtained particle density ⁇ i and the opacity ⁇ i obtained in the opacity update process 103. As shown in FIG. 2, a particle P i having the determined particle radius r i is generated at the position of the node i.
  • a particle projection process 105 is performed as a fourth process subsequent to the particle radius calculation process 104.
  • the particle projection process 105 is a process for generating image data in which the generated particles are projected on the image plane.
  • the details of the particle projection process 105 are described in Non-Patent Document 1, and the particle projection process 105 of the present embodiment is also performed according to the description of Non-Patent Document 1.
  • the processing unit 10 can repeatedly execute the processing 102 including the opacity update processing 103 and the particle radius calculation processing 104 and the particle projection processing 105 a plurality of times. When the process 102 is repeated, the generated image data can be changed by changing (updating) the opacity ⁇ i each time the process 102 is repeated.
  • the particle density ⁇ is determined according to the opacity ⁇ as shown in the equation (2). Therefore, when the opacity ⁇ is updated, the particle density ⁇ is re-estimated to the particle density ⁇ . It is necessary to perform the process of generating a corresponding number of particles again. Therefore, if the opacity is updated and the process is repeated, the processing load increases accordingly.
  • the particle density ⁇ i indicating the number of particles per unit volume is determined regardless of the opacity ⁇ i , Even if the opacity ⁇ i is updated, it does not change. Further, the first particle rendering 100, the particles P i, for placement only to node i, the process of generating the number of particles corresponding to the particle density is not necessary. Therefore, even if the processing is repeated, an increase in processing load is suppressed.
  • an opacity update process (opacity determination process) 202, a particle density estimation process 203, a particle generation process 204, and a particle projection process 205 are performed.
  • the opacity ⁇ i is calculated from numerical data (scalar data S i ) defined for each node i using a transfer function specified by the user.
  • the particle density ⁇ for each lattice E is estimated (see Non-Patent Document 1).
  • the estimation of the particle density ⁇ is performed based on the opacity ⁇ and the user-specified particle radius r using the above-described equation (2).
  • the particle generation process 204 the number of particles P according to the particle density ⁇ is generated, and the generated particles P are arranged in the lattice E.
  • the particle generation method employed in the particle generation processing 204 is, for example, a uniform sampling method or a metropolis sampling method (see Non-Patent Document 1).
  • the uniform sampling method is a method of generating particles on the assumption that the particle density in the lattice E is constant.
  • the metropolis sampling method is a particle generation method that takes into account changes in particle density inside the lattice E.
  • FIG. 2 shows an example of the particles P generated by the uniform sampling method and the metropolis sampling method.
  • a particle projection process 205 is performed following the particle generation process 204.
  • the particle projection process 205 is a process for generating image data in which the generated particles are projected on the image plane (see Non-Patent Document 1).
  • the processing unit 10 can repeatedly execute the process 201 including the opacity update process 202, the particle density estimation process 203, and the particle generation process 204, and the particle projection process 205 a plurality of times. Further, the processing unit 10 can add a plurality of pixel values obtained by a plurality of repetitions, and finally set an ensemble average obtained by dividing by the number of repetitions as a final pixel value (non-patent document). Reference 1).
  • FIG. 3 shows processing times of the first particle rendering process 100 and the second particle rendering process 200, respectively.
  • “initial drawing” indicates the processing time when the series of processing from the particle density estimation processing 101 to the particle projection processing 105 is performed once for the first particle rendering processing 100.
  • the process 200 indicates the processing time when the processes from the opacity update process 202 to the particle projection process 205 are performed once.
  • “first iteration” means that the first particle rendering processing 100 is performed when a series of processing from the opacity update 103 to the particle projection processing 105 is performed again after “initial drawing”.
  • the processing time is shown, and the second particle rendering processing 100 shows the processing time when processing from the opacity update processing 202 to the particle projection processing 205 is performed again after “initial drawing”.
  • “second iteration” is the first particle rendering processing 100, and after the “first iteration”, a series of processing from the opacity update 103 to the particle projection processing 105 is performed again.
  • the processing time when the processes from the opacity update process 202 to the particle projection process 205 are performed again after the “first iteration” is shown.
  • the second particle rendering process 200 requires a relatively long processing time for each repetition, whereas the first particle rendering process 100 requires a processing time for the repetition of the process after the initial rendering. Thus, an increase in processing load can be suppressed.

Landscapes

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

Abstract

The purpose of the present invention is to suppress an increase in the processing load for particle rendering. Provided is a particle rendering processing device that comprises: a storage unit 20 that stores target data 21 configured by including matrix data in which numerical data is defined for the nodes of a matrix; and a processing unit 10 that performs particle rendering processing 100 on the target data 21. The particle rendering processing 100 includes: processing 101 for estimating the particle density ρi of a node i in a case where one particle Pi is provided to the node i, such processing performed on the basis of the total content Vi of one or a plurality of matrices E which have the node i in common; processing 103 for determining, from numerical data Si defined for the node i, the opacity αi of the node i; processing 104 for generating, at the node i, the one particle Pi that has a size determined on the basis of the particle density ρi and the opacity αi of the node i; and processing 105 for generating image data 401, which is the generated particle projected onto an image surface.

Description

粒子レンダリング処理装置、粒子レンダリング方法及びコンピュータプログラムParticle rendering processing apparatus, particle rendering method, and computer program
 本発明は、粒子レンダリングに関するものである。 The present invention relates to particle rendering.
 大規模なボリュームデータの可視化技術として粒子レンダリングが知られている(非特許文献1参照)。粒子レンダリングは、与えられたボリュームデータを、不透明な発光粒子で構成しレンダリングを行う技術である。 Particle rendering is known as a technique for visualizing large-scale volume data (see Non-Patent Document 1). Particle rendering is a technique for rendering a given volume data with opaque luminous particles.
 粒子レンダリングの処理は、粒子生成及び粒子投影という2つの処理を含む。粒子生成の前に、ボリュームデータを構成する格子ごとに粒子密度の推定が必要である。粒子密度とは、単位体積あたりの粒子の数である。格子ごとの粒子密度は、格子に定義された数値データから、不透明度及び粒子半径などを用いて求められる。非特許文献1において、不透明度は、格子に定義された数値データから、ユーザ指定の伝達関数を用いて算出される。 The particle rendering process includes two processes: particle generation and particle projection. Prior to particle generation, it is necessary to estimate the particle density for each grid constituting the volume data. The particle density is the number of particles per unit volume. The particle density for each lattice is obtained from numerical data defined for the lattice using opacity, particle radius, and the like. In Non-Patent Document 1, the opacity is calculated from numerical data defined in the grid using a transfer function specified by the user.
 粒子生成の処理では、粒子密度に従った数の粒子が生成され、生成された粒子が格子内に配置される。粒子投影の処理では、生成された粒子が画像面に投影される。粒子は画像面上に投影され、画像の各ピクセルで画素値が計算される。 In the particle generation process, the number of particles according to the particle density is generated, and the generated particles are arranged in the lattice. In the particle projection process, the generated particles are projected onto the image plane. The particles are projected onto the image plane and a pixel value is calculated at each pixel of the image.
 従来の粒子生成は、粒子密度に従った数の粒子を格子内へ配置することを必要とするため、粒子生成手法によっては、処理負荷が非常に大きくなることがある。可視化では、数値データと不透明度の関係を対話的に変更しながらデータの分布や特徴を理解するので、変更のたびに粒子生成処理が必要となる。したがって、非常に大規模なデータを対象とする場合には、処理に要する時間が長くなることがある。 Since conventional particle generation requires that a number of particles according to the particle density be arranged in the lattice, the processing load may become very large depending on the particle generation method. Visualization understands the distribution and characteristics of data while interactively changing the relationship between numerical data and opacity, so a particle generation process is required for each change. Therefore, when a very large amount of data is targeted, the processing time may be long.
 このため、粒子レンダリングの処理負荷の増大を抑制することが望まれる。 Therefore, it is desirable to suppress an increase in the processing load of particle rendering.
 本発明のある態様は、粒子レンダリング処理装置であって、格子の節点に数値データが定義された格子データを有して構成される対象データを記憶する記憶部と、前記対象データに対する粒子レンダリング処理を行う処理部と、を備え、前記粒子レンダリング処理は、前記節点を共有する1又は複数の格子の体積総和に基づいて、前記節点に一つの粒子が配置される場合における前記節点の粒子密度を推定する第1処理と、前記節点に定義された数値データから、前記節点における不透明度を決定する第2処理と、前記節点の前記粒子密度と前記不透明度とに基づいて決定された大きさを有する一つの粒子を前記節点において生成する第3処理と、生成された粒子が画像面上に投影された画像データを生成する第4処理と、を含む。本発明の他の態様は、粒子レンダリング処理を行うことを含む粒子レンダリング方法である。本発明の他の態様は、コンピュータに、粒子レンダリング処理の一部又は全部を実行させるコンピュータプログラムである。コンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録される。 An aspect of the present invention is a particle rendering processing apparatus, the storage unit storing target data configured to have grid data in which numerical data is defined at nodes of the grid, and a particle rendering process for the target data And a particle rendering process that determines the particle density of the node when one particle is arranged at the node based on a volume sum of one or more grids sharing the node. A first process to be estimated; a second process for determining opacity at the node from numerical data defined for the node; and a size determined based on the particle density and the opacity of the node. And a third process for generating one particle having the node at the node and a fourth process for generating image data in which the generated particle is projected on the image plane. Another aspect of the present invention is a particle rendering method including performing a particle rendering process. Another aspect of the present invention is a computer program that causes a computer to execute part or all of a particle rendering process. The computer program is recorded on a computer-readable recording medium.
 本発明によれば、粒子レンダリングの処理負荷の増大を抑制することができる。 According to the present invention, an increase in the processing load of particle rendering can be suppressed.
粒子レンダリング処理装置のブロック図である。It is a block diagram of a particle rendering processing apparatus. 粒子レンダリング処理の説明図である。It is explanatory drawing of a particle rendering process. 粒子レンダリングの処理時間を示すグラフである。It is a graph which shows the processing time of particle | grain rendering.
 以下、本発明の好ましい実施形態について添付図面を参照しながら説明する。
[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が行うのが好ましい。
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
[1. Particle rendering processor]
As illustrated in FIG. 1, the particle rendering processing apparatus 1 according to the embodiment includes a processing unit 10 and a storage unit 20. The particle rendering processing apparatus 1 is configured by a computer having a processing unit 10 and a storage unit 20. The processing unit 10 executes the computer program stored in the storage unit 20 to cause the computer to perform particle rendering processing, and causes the computer to function as the particle rendering processing device 1. The processing unit 10 includes a CPU (Central Processing Unit). The processing unit 10 may include a GPU (Graphics Processing Unit) for image processing in addition to the CPU. Of the processing performed by the particle rendering processing device 1, the particle projection processing 105 and 205 is preferably performed by the GPU instead of the CPU in order to increase the processing speed.
 処理部10が行う粒子レンダリング処理は、記憶部20に記憶された対象データ21から、可視化した画像データ401,402を生成する処理である。生成された画像データ401,402は、記憶部20に格納される。粒子レンダリング装置1は、画像を表示するためのモニタを有し、生成された画像データ401,402をモニタに表示する。 The particle rendering process performed by the processing unit 10 is a process of generating visualized image data 401 and 402 from the target data 21 stored in the storage unit 20. The generated image data 401 and 402 are stored in the storage unit 20. The particle rendering apparatus 1 has a monitor for displaying an image, and displays the generated image data 401 and 402 on the monitor.
 粒子レンダリング処理の対象となる対象データ21は、例えば、ボリュームデータである。ボリュームデータは、複数の格子データを有して構成される。格子データは、格子の節点(頂点)に数値データが定義されてなるデータである。格子は、規則格子、構造格子、不規則格子のいずれであってもよい。格子の形状は、例えば、四面体、六面体であり、その他の3次元形状であってもよい。数値データは、例えば、スカラデータである。スカラデータは、例えば、温度、圧力、密度、エネルギーを示す値である。 The target data 21 to be subjected to the particle rendering process is, for example, volume data. The volume data is composed of a plurality of grid data. The grid data is data in which numerical data is defined at the nodes (vertices) of the grid. The lattice may be a regular lattice, a structured lattice, or an irregular lattice. The shape of the lattice is, for example, a tetrahedron or a hexahedron, and may be another three-dimensional shape. The numerical data is, for example, scalar data. The scalar data is, for example, values indicating temperature, pressure, density, and energy.
 ボリュームデータ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の節点は、他の格子の節点でもある。つまり、節点は、複数の格子によって共有されることがある。 An example of the volume data 21 is shown in FIG. The three-dimensional space in which the volume data 21 is defined is divided into small three-dimensional solids called a lattice E. Grid E has a plurality of nodes. The lattice E in FIG. 2 is a tetrahedron. Here, i is an identifier of a node (vertex) of the grid E. The grid E in FIG. 2 has four nodes indicated by node identifiers i = 0-3. For each node i = 0 to 3, numerical data such as scalar data S i is defined. That is, the volume data 21 is configured to have the positions (coordinates) of the plurality of nodes i = 0 to 3 and the scalar data S i associated with the nodes i = 0 to 3 respectively. As is apparent from the volume data 21 in FIG. 2, a node of a certain grid E is also a node of another grid. That is, a node may be shared by multiple grids.
 対象データ21は、3次元データであるボリュームデータに限られず、2次元データ(面データ)又は1次元データ(線データ)であってもよい。対象データ21が2次元データである場合、2次元データを構成する格子は、面状の2次元格子となり、厳密には格子厚みが0となる。この場合、2次元格子を、生成される粒子の直径と等しい厚みを有する板状3次元格子とみなして、粒子生成が行われる。同様に、対象データ21が1次元データある場合、線状の1次元格子を、生成される粒子の直径と等しい直径を有する棒状の3次元格子とみなして、粒子生成が行われる。 The target data 21 is not limited to volume data that is three-dimensional data, and may be two-dimensional data (surface data) or one-dimensional data (line data). When the target data 21 is two-dimensional data, the lattice constituting the two-dimensional data is a planar two-dimensional lattice, and strictly speaking, the lattice thickness is zero. In this case, particle generation is performed by regarding the two-dimensional lattice as a plate-like three-dimensional lattice having a thickness equal to the diameter of the generated particles. Similarly, when the target data 21 is one-dimensional data, particle generation is performed by regarding a linear one-dimensional lattice as a rod-shaped three-dimensional lattice having a diameter equal to the diameter of the generated particles.
 処理部10が行う粒子レンダリング処理は、第1粒子レンダリング処理100と第2粒子レンダリング処理200とを含む。後述のように、第1粒子レンダリング処理100は、節点Vの位置だけに粒子Pを生成する。このため、第1粒子レンダリング処理100では、粒子生成を繰り返した場合の処理負荷の増大が抑えられている。また、生成された粒子Pのデータを保持するためのメモリ領域の増加も抑えられている。 The particle rendering process performed by the processing unit 10 includes a first particle rendering process 100 and a second particle rendering process 200. As will be described later, the first particle rendering process 100 generates particles P only at the positions of the nodes V. For this reason, in the first particle rendering processing 100, an increase in processing load when particle generation is repeated is suppressed. Further, an increase in the memory area for holding the generated particle P data is also suppressed.
 一方、第2粒子レンダリング処理200は、従来の粒子レンダリング処理と同様に、粒子密度に従った数の粒子を生成し、生成した粒子Pを格子E内に配置する。このため、第2粒子レンダリング処理200では、粒子生成を繰り返した場合に処理負荷が増大しやすい。また、生成された粒子のデータを保持するために、多くのメモリ領域を必要とする。ただし、第2粒子レンダリング処理200では、格子E内に粒子密度に応じた粒子Pの分布が得られるため、生成される画像データ402の画質は、第1粒子レンダリング処理100よりも良好になることが期待される。 On the other hand, the second particle rendering process 200 generates a number of particles according to the particle density and places the generated particles P in the lattice E, as in the conventional particle rendering process. For this reason, in the second particle rendering process 200, the processing load tends to increase when particle generation is repeated. In addition, a large amount of memory area is required to hold the generated particle data. However, in the second particle rendering process 200, the distribution of the particles P corresponding to the particle density is obtained in the lattice E, so that the image quality of the generated image data 402 is better than that of the first particle rendering process 100. There is expected.
 処理部10が行う粒子レンダリング処理では、第1粒子レンダリング処理100及び第2粒子レンダリング処理100のうちの、いずれの処理を実行するかを決定するための処理選択300が行われる。処理選択300では、対象データ21に対して、第1粒子レンダリング処理100を実行するのか、第2粒子レンダリング処理100を実行するのかが、ユーザの選択入力に基づいて決定される。 In the particle rendering process performed by the processing unit 10, a process selection 300 is performed to determine which of the first particle rendering process 100 and the second particle rendering process 100 is to be executed. In the process selection 300, whether to execute the first particle rendering process 100 or the second particle rendering process 100 on the target data 21 is determined based on a selection input by the user.
 処理負荷の小さい第1粒子レンダリング処理100は、プレビュー用の画像データ401を生成するためのプレビュー処理として用いることができる。ユーザは、対象データ21を可視化した画像データ401をプレビュー画像として得たい場合には、第1粒子レンダリング処理(プレビュー処理)を選択することで、比較的短時間で、効率よくプレビュー画像401を得ることができる。プレビュー画像401の確認後に、第2粒子レンダリング処理200で画質の良い画像データ401を得ることで、ユーザは可視化作業を効率よく行うことができる。
 なお、粒子レンダリング処理装置1は、第2粒子レンダリング処理200を実行する機能を有していなくてもよい。
The first particle rendering process 100 with a low processing load can be used as a preview process for generating image data 401 for preview. When the user wants to obtain the image data 401 visualizing the target data 21 as a preview image, the user can obtain the preview image 401 efficiently in a relatively short time by selecting the first particle rendering process (preview process). be able to. After confirming the preview image 401, the user can efficiently perform the visualization work by obtaining the image data 401 with good image quality by the second particle rendering processing 200.
Note that the particle rendering processing apparatus 1 may not have the function of executing the second particle rendering process 200.
[2.第1粒子レンダリング処理と第2粒子レンダリング処理]
 以下、第1粒子レンダリング処理100と第2粒子レンダリング処理200について説明する。以下では、一つの格子に関して説明するが、対象データ21を構成する他の格子についても同様の処理が行われる。
[2. First particle rendering process and second particle rendering process]
Hereinafter, the first particle rendering process 100 and the second particle rendering process 200 will be described. In the following, a single grid will be described, but the same processing is performed for other grids constituting the target data 21.
[2.1 第1粒子レンダリング処理]
 第1粒子レンダリング処理100は、従来の粒子レンダリング処理のように粒子密度に従った数の粒子を格子内に配置するのではなく、節点iの位置に粒子Pを生成する。
[2.1 First particle rendering process]
First particle rendering process 100, rather than the number of particles in accordance with the particle density as in the conventional particle rendering process of placing in the lattice, to produce particles P i to the position of the node i.
 図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の粒子密度ρとなる。 As shown in FIG. 1, in the first particle rendering process 100, a particle density estimation process 101 is performed as the first process. The particle density estimation process 101 is a process for estimating the particle density ρ i of the node i when one particle P i is arranged at the node i. The particle density ρ i estimated in the first particle rendering process 100 is estimated based on the volume sum V i of one or more grids E sharing each node i = 1 to 3. In the first particle rendering process 100, one particle P i is arranged at each node i, so that the particle density ρ i is a volume around the node i, that is, one or more grids E sharing the node i. Calculated based on the volume sum V i . More specifically, the reciprocal of the volume sum V i of one or more grids E sharing the node i is the particle density ρ i of the node i when one particle P i is arranged at the node i. It becomes. For example, when there are four lattices E sharing a certain node i, 1 / V i which is the reciprocal of the volume sum V i of the four lattices E becomes the particle density ρ i of the node i.
 第1粒子レンダリング処理100では、さらに、第2処理として不透明度更新処理(不透明度決定処理)103が行われる。不透明度更新処理103は、各節点i=0~3の不透明度αを決定(更新)する処理である。不透明度αは、各節点iに定義された数値データ(スカラデータS)から、ユーザ指定の伝達関数を用いて算出される。不透明度の算出は、従来の粒子レンダリング処理と同様である。 In the first particle rendering process 100, an opacity update process (opacity determination process) 103 is further performed as a second process. The opacity update process 103 is a process for determining (updating) the opacity α i of each node i = 0 to 3. The opacity α i is calculated from numerical data (scalar data S i ) defined for each node i using a transfer function specified by the user. The calculation of opacity is the same as in the conventional particle rendering process.
 第1粒子レンダリング処理100では、さらに、第3処理として粒子半径計算処理104が行われる。粒子半径計算処理104は、節点iに配置される粒子の大きさを決定し、決定された大きさの粒子を生成する処理である。粒子の大きさは、例えば、粒子Pの半径rによって決定される。ある節点iの粒子半径rは、当該節点の粒子密度ρと不透明度αに基づいて決定される。より具体的には、粒子半径rは以下の式(1)に基づいて算出される。
Figure JPOXMLDOC01-appb-M000003
In the first particle rendering process 100, a particle radius calculation process 104 is further performed as a third process. The particle radius calculation process 104 is a process for determining the size of the particle arranged at the node i and generating a particle having the determined size. The size of the particle is determined by the radius r i of the particle P i , for example. The particle radius r i of a node i is determined based on the particle density ρ i and opacity α i of the node i . More specifically, the particle radius r i is calculated based on the following formula (1).
Figure JPOXMLDOC01-appb-M000003
 上記式(1)は、特許文献1に記載の従来の粒子密度推定式を変形して得たものである。従来の粒子密度推定式は、以下の式(2)のとおりである。
Figure JPOXMLDOC01-appb-M000004
The above formula (1) is obtained by modifying the conventional particle density estimation formula described in Patent Document 1. The conventional particle density estimation formula is as the following formula (2).
Figure JPOXMLDOC01-appb-M000004
 式(2)に示す従来の粒子密度推定式では、不透明度αと粒子半径rとが決まると、粒子密度ρを求めることができる。なお、Δtはレイキャスティングで使用されるレイセグメント長さである(非特許文献1参照)。また、従来の式(2)では、粒子半径rは、ユーザ指定の値であり、不透明度αは、節点に定義された数値データから、ユーザ指定の伝達関数を用いて算出される値である。 In the conventional particle density estimation formula shown in Formula (2), when the opacity α and the particle radius r are determined, the particle density ρ can be obtained. Note that Δt is a ray segment length used in ray casting (see Non-Patent Document 1). In the conventional equation (2), the particle radius r is a user-specified value, and the opacity α is a value calculated from numerical data defined at the node using a user-specified transfer function. .
 従来の式(2)では、不透明度αと粒子半径rとから粒子密度ρを求めていたのに対して、式(1)では、節点iの粒子半径rを、粒子密度推定処理101で求めた粒子密度ρと、不透明度更新処理103で求めた不透明度αと、から求める。
 図2に示すように、求めた粒子半径rを有する粒子Pが、節点iの位置に生成される。
In the conventional equation (2), the particle density ρ is obtained from the opacity α and the particle radius r, whereas in the equation (1), the particle radius r i of the node i is determined by the particle density estimation processing 101. It is obtained from the obtained particle density ρ i and the opacity α i obtained in the opacity update process 103.
As shown in FIG. 2, a particle P i having the determined particle radius r i is generated at the position of the node i.
 第1粒子レンダリング処理100では、粒子半径計算処理104に続いて、第4処理として粒子投影処理105が行われる。粒子投影処理105は、生成された粒子が画像面に投影された画像データを生成する処理である。粒子投影処理105の詳細は、非特許文献1に記載されおり、本実施形態の粒子投影処理105も、非特許文献1の記載に従って行われる。
 なお、処理部10は、不透明度更新処理103及び粒子半径計算処理104を含む処理102と、粒子投影処理105と、を複数回繰り返し実行することができる。処理102を繰り返し行う際には、繰り返しの度に、不透明度αを変化(更新)させて、生成される画像データを変化させることができる。
In the first particle rendering process 100, a particle projection process 105 is performed as a fourth process subsequent to the particle radius calculation process 104. The particle projection process 105 is a process for generating image data in which the generated particles are projected on the image plane. The details of the particle projection process 105 are described in Non-Patent Document 1, and the particle projection process 105 of the present embodiment is also performed according to the description of Non-Patent Document 1.
Note that the processing unit 10 can repeatedly execute the processing 102 including the opacity update processing 103 and the particle radius calculation processing 104 and the particle projection processing 105 a plurality of times. When the process 102 is repeated, the generated image data can be changed by changing (updating) the opacity α i each time the process 102 is repeated.
 従来の粒子レンダリング処理では、粒子密度ρは、式(2)に示すように、不透明度αに応じて決まるため、不透明度αを更新すると、粒子密度ρを推定し直して、粒子密度ρに応じた数の粒子を生成する処理を再度行う必要が生じる。したがって、不透明度を更新して処理を繰り返すと、その分、処理負荷が増大する。 In the conventional particle rendering process, the particle density ρ is determined according to the opacity α as shown in the equation (2). Therefore, when the opacity α is updated, the particle density ρ is re-estimated to the particle density ρ. It is necessary to perform the process of generating a corresponding number of particles again. Therefore, if the opacity is updated and the process is repeated, the processing load increases accordingly.
 これに対し、第1粒子レンダリング処理100では、粒子Pは、節点iだけに配置されるため、単位体積あたりの粒子数を示す粒子密度ρは、不透明度αとは無関係に決まり、不透明度αが更新されても、変化しない。また、第1粒子レンダリング処理100では、粒子Pは、節点iだけに配置されるため、粒子密度に応じた数の粒子を生成する処理も不要である。したがって、処理を繰り返しても、処理負荷の増大が抑制される。 On the other hand, in the first particle rendering process 100, since the particles P i are arranged only at the node i, the particle density ρ i indicating the number of particles per unit volume is determined regardless of the opacity α i , Even if the opacity α i is updated, it does not change. Further, the first particle rendering 100, the particles P i, for placement only to node i, the process of generating the number of particles corresponding to the particle density is not necessary. Therefore, even if the processing is repeated, an increase in processing load is suppressed.
 なお、第1レンダリング処理では、処理102の複数回の繰り返しで得られた複数の画素値を加算していき、最後に繰り返し数で割り算して得られたアンサンブル平均を最終画素値とすることができる(非特許文献1参照)。 In the first rendering process, a plurality of pixel values obtained by repeating the process 102 a plurality of times are added, and finally, an ensemble average obtained by dividing by the number of repetitions is used as a final pixel value. Yes (see Non-Patent Document 1).
[2.2 第2粒子レンダリング処理]
 第2粒子レンダリング処理は、従来の粒子レンダリング処理と同様に、粒子密度に従った数の粒子を格子内に配置する。
[2.2 Second particle rendering process]
Similar to the conventional particle rendering process, the second particle rendering process places a number of particles according to the particle density in the lattice.
 図1に示すように、第2粒子レンダリング処理200では、不透明度更新処理(不透明度決定処理)202と、粒子密度推定処理203と、粒子生成処理204と、粒子投影処理205と、が行われる。これらの処理は、従来の粒子レンダリング処理と同様である。
 つまり、不透明度更新処理202は、各節点i=0~3の不透明度αを決定(更新)する処理である。不透明度αは、各節点iに定義された数値データ(スカラデータS)から、ユーザ指定の伝達関数を用いて算出される。
As shown in FIG. 1, in the second particle rendering process 200, an opacity update process (opacity determination process) 202, a particle density estimation process 203, a particle generation process 204, and a particle projection process 205 are performed. . These processes are the same as the conventional particle rendering process.
That is, the opacity update process 202 is a process for determining (updating) the opacity α of each node i = 0 to 3. The opacity α i is calculated from numerical data (scalar data S i ) defined for each node i using a transfer function specified by the user.
 粒子密度推定処理203では、格子Eごとの粒子密度ρが推定される(非特許文献1参照)。粒子密度ρの推定は、前述の式(2)を用いて、不透明度αとユーザ指定の粒子半径rとに基づいて行われる。
 粒子生成処理204では、粒子密度ρに従った数の粒子Pが生成され、生成された粒子Pが格子E内に配置される。粒子生成処理204において採用される粒子生成手法は、例えば、一様サンプリング法、メトロポリスサンプリング法である(非特許文献1参照)。一様サンプリング法は、格子E内の粒子密度を一定と仮定して粒子を生成する手法である。メトロポリスサンプリング法は、格子E内部における粒子密度変化を考慮に入れた粒子生成手法である。図2では、一様サンプリング法及びメトロポリスサンプリング法それぞれで生成される粒子Pの例を示した。
In the particle density estimation process 203, the particle density ρ for each lattice E is estimated (see Non-Patent Document 1). The estimation of the particle density ρ is performed based on the opacity α and the user-specified particle radius r using the above-described equation (2).
In the particle generation process 204, the number of particles P according to the particle density ρ is generated, and the generated particles P are arranged in the lattice E. The particle generation method employed in the particle generation processing 204 is, for example, a uniform sampling method or a metropolis sampling method (see Non-Patent Document 1). The uniform sampling method is a method of generating particles on the assumption that the particle density in the lattice E is constant. The metropolis sampling method is a particle generation method that takes into account changes in particle density inside the lattice E. FIG. 2 shows an example of the particles P generated by the uniform sampling method and the metropolis sampling method.
 第2粒子レンダリング処理200では、図2に示すように、粒子Pが粒子密度ρに従って格子E内に多数配置されるため、画像データ402の画質が良好になることが期待される。 In the second particle rendering process 200, as shown in FIG. 2, since a large number of particles P are arranged in the lattice E according to the particle density ρ, it is expected that the image quality of the image data 402 is improved.
 第2粒子レンダリング処理200では、粒子生成処理204に続いて、粒子投影処理205が行われる。粒子投影処理205は、生成された粒子が画像面に投影された画像データを生成する処理である(非特許文献1参照)。
 なお、処理部10は、不透明度更新処理202、粒子密度推定処理203及び粒子生成処理204からなる処理201と、粒子投影処理205と、を複数回繰り返し実行することができる。また、処理部10は、複数回の繰り返しで得られた複数の画素値を加算していき、最後に繰り返し数で割り算して得られたアンサンブル平均を最終画素値とすることができる(非特許文献1参照)。
In the second particle rendering process 200, a particle projection process 205 is performed following the particle generation process 204. The particle projection process 205 is a process for generating image data in which the generated particles are projected on the image plane (see Non-Patent Document 1).
The processing unit 10 can repeatedly execute the process 201 including the opacity update process 202, the particle density estimation process 203, and the particle generation process 204, and the particle projection process 205 a plurality of times. Further, the processing unit 10 can add a plurality of pixel values obtained by a plurality of repetitions, and finally set an ensemble average obtained by dividing by the number of repetitions as a final pixel value (non-patent document). Reference 1).
[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までの処理を再度行った場合の処理時間を示している。
[3. Comparison of processing time]
FIG. 3 shows processing times of the first particle rendering process 100 and the second particle rendering process 200, respectively. In FIG. 3, “initial drawing” indicates the processing time when the series of processing from the particle density estimation processing 101 to the particle projection processing 105 is performed once for the first particle rendering processing 100. The process 200 indicates the processing time when the processes from the opacity update process 202 to the particle projection process 205 are performed once. In FIG. 3, “first iteration” means that the first particle rendering processing 100 is performed when a series of processing from the opacity update 103 to the particle projection processing 105 is performed again after “initial drawing”. The processing time is shown, and the second particle rendering processing 100 shows the processing time when processing from the opacity update processing 202 to the particle projection processing 205 is performed again after “initial drawing”. Further, in FIG. 3, “second iteration” is the first particle rendering processing 100, and after the “first iteration”, a series of processing from the opacity update 103 to the particle projection processing 105 is performed again. In the case of the second particle rendering process 100, the processing time when the processes from the opacity update process 202 to the particle projection process 205 are performed again after the “first iteration” is shown.
 図3から明らかなように、第2粒子レンダリング処理200では、繰り返しの度に比較的長い処理時間を要するのに対し、第1粒子レンダリング処理100では、初期描画後の処理の繰り返しでは、処理時間を短縮できており、処理負荷の増大を抑制することができる。 As is clear from FIG. 3, the second particle rendering process 200 requires a relatively long processing time for each repetition, whereas the first particle rendering process 100 requires a processing time for the repetition of the process after the initial rendering. Thus, an increase in processing load can be suppressed.
 1 粒子レンダリング処理装置
10 処理部
20 記憶部
21 対象データ
101 粒子密度推定処理
103 不透明度更新処理
104 粒子半径計算処理
105 粒子投影処理
401 画像データ
1 Particle Rendering Processing Device 10 Processing Unit 20 Storage Unit 21 Target Data 101 Particle Density Estimation Processing 103 Opacity Update Processing 104 Particle Radius Calculation Processing 105 Particle Projection Processing 401 Image Data

Claims (15)

  1.  粒子レンダリング処理装置であって、
     格子の節点に数値データが定義された格子データを有して構成される対象データを記憶する記憶部と、
     前記対象データに対する粒子レンダリング処理を行う処理部と、
    を備え、
     前記粒子レンダリング処理は、
      前記節点を共有する1又は複数の格子の体積総和に基づいて、前記節点に一つの粒子が配置される場合における前記節点の粒子密度を推定する第1処理と、
      前記節点に定義された数値データから、前記節点における不透明度を決定する第2処理と、
      前記節点の前記粒子密度と前記不透明度とに基づいて決定された大きさを有する一つの粒子を前記節点において生成する第3処理と、
      生成された粒子が画像面上に投影された画像データを生成する第4処理と、
     を含む粒子レンダリング処理装置。
    A particle rendering processing device,
    A storage unit for storing target data configured to have grid data in which numerical data is defined at nodes of the grid;
    A processing unit for performing a particle rendering process on the target data;
    With
    The particle rendering process includes:
    A first process for estimating a particle density of the node when one particle is arranged at the node based on a volume sum of one or more grids sharing the node;
    A second process for determining opacity at the node from the numerical data defined at the node;
    A third process for generating one particle at the node having a size determined based on the particle density and the opacity of the node;
    A fourth process for generating image data in which the generated particles are projected on the image plane;
    A particle rendering processing apparatus.
  2.  前記処理部は、前記第1処理、前記第2処理、前記第3処理、及び前記第4処理を実行した後に、前記第2処理、前記第3処理、及び前記第4処理を繰り返し実行できるよう構成されている
     請求項1記載の粒子レンダリング処理装置。
    The processing unit may repeatedly execute the second process, the third process, and the fourth process after executing the first process, the second process, the third process, and the fourth process. The particle rendering processing device according to claim 1, which is configured.
  3.  前記不透明度は、前記第2処理の繰り返しの度に更新される
     請求項2記載の粒子レンダリング処理装置。
    The particle rendering processing apparatus according to claim 2, wherein the opacity is updated each time the second process is repeated.
  4.  前記粒子レンダリング処理は、
      前記対象データに対して、第1粒子レンダリング処理及び第2粒子レンダリング処理のうちのいずれの処理を実行するかを決定する処理選択を更に含み、
     前記第1レンダリング処理は、前記第1処理、前記第2処理、前記第3処理、前記第4処理を含み、
     前記第2レンダリング処理は、
      前記節点に定義された数値データから、前記節点における不透明度を決定する処理と、
      前記不透明度とユーザ指定の粒子半径とに基づいて、前記格子の粒子密度を推定する処理と、
      前記格子の前記粒子密度に従った数の粒子を生成し、生成された粒子を前記格子内に配置する処理と、
      生成された粒子が画像面上に投影された画像データを生成する処理と、
     を含む
     請求項1~3のいずれか1項に記載の粒子レンダリング処理装置。
    The particle rendering process includes:
    A process selection for determining which of the first particle rendering process and the second particle rendering process is to be performed on the target data;
    The first rendering process includes the first process, the second process, the third process, and the fourth process,
    The second rendering process includes
    A process for determining opacity at the node from the numerical data defined at the node;
    Estimating the particle density of the lattice based on the opacity and a user-specified particle radius;
    Generating a number of particles according to the particle density of the lattice, and placing the generated particles in the lattice;
    A process of generating image data in which the generated particles are projected on the image plane;
    The particle rendering processing apparatus according to any one of claims 1 to 3, further comprising:
  5.  前記処理選択は、ユーザの選択入力に基づいて決定される
     請求項4記載の粒子レンダリング処理装置。
    The particle rendering processing apparatus according to claim 4, wherein the processing selection is determined based on a selection input by a user.
  6.  前記第1処理において、前記粒子密度は、前記節点を共有する1又は複数の格子の体積総和の逆数である
     請求項1~5のいずれか1項に記載の粒子レンダリング処理装置。
    The particle rendering processing apparatus according to any one of claims 1 to 5, wherein, in the first processing, the particle density is a reciprocal of a volume sum of one or a plurality of lattices sharing the node.
  7.  前記第3処理において、前記粒子の大きさは、以下の式に基づいて算出される粒子半径として決定される
     請求項1~6のいずれか1項に記載の粒子レンダリング処理装置。
    Figure JPOXMLDOC01-appb-M000001
     ここで、
     iは、前記節点の識別子
     rは、前記節点iの粒子半径
     αは、前記節点iの不透明度
     ρは、前記節点iの粒子密度
     Δtは、レイキャスティングで使用されるレイセグメント長さ
    The particle rendering processing apparatus according to any one of claims 1 to 6, wherein in the third process, the size of the particle is determined as a particle radius calculated based on the following expression.
    Figure JPOXMLDOC01-appb-M000001
    here,
    i is the node identifier r i is the particle radius α i of the node i is the opacity of the node i ρ i is the particle density of the node i Δt is the ray segment length used in ray casting
  8.  粒子レンダリング方法であって、
     格子の節点に数値データが定義された格子データを有して構成される対象データに対する粒子レンダリング処理を行うことを含み、
     前記粒子レンダリング処理は、
      前記節点を共有する1又は複数の格子の体積総和に基づいて、前記節点に一つの粒子が配置される場合における前記節点の粒子密度を推定する第1処理と、
      前記節点に定義された数値データから、前記節点における不透明度を決定する第2処理と、
      前記節点の前記粒子密度と前記不透明度とに基づいて決定された大きさを有する一つの粒子を前記節点において生成する第3処理と、
      生成された粒子が画像面上に投影された画像データを生成する第4処理と、
     を含む粒子レンダリング方法。
    A particle rendering method,
    Performing particle rendering processing on target data configured to have grid data in which numerical data is defined at nodes of the grid,
    The particle rendering process includes:
    A first process for estimating a particle density of the node when one particle is arranged at the node based on a volume sum of one or more grids sharing the node;
    A second process for determining opacity at the node from the numerical data defined at the node;
    A third process for generating one particle at the node having a size determined based on the particle density and the opacity of the node;
    A fourth process for generating image data in which the generated particles are projected on the image plane;
    Particle rendering method including:
  9.  前記第1処理、前記第2処理、前記第3処理、及び前記第4処理を実行した後に、前記第2処理、前記第3処理、及び前記第4処理を繰り返し実行する
     請求項8記載の粒子レンダリング方法。
    The particle according to claim 8, wherein the second process, the third process, and the fourth process are repeatedly executed after the first process, the second process, the third process, and the fourth process are executed. Rendering method.
  10.  前記不透明度は、前記第2処理の繰り返しの度に更新される
     請求項9記載の粒子レンダリング方法。
    The particle rendering method according to claim 9, wherein the opacity is updated each time the second process is repeated.
  11.  前記対象データに対して、第1粒子レンダリング処理及び第2粒子レンダリング処理のうちのいずれの処理を実行するかを決定することを更に含み、
     前記第1粒子レンダリング処理は、前記第1処理、前記第2処理、前記第3処理、前記第4処理を含み、
     前記第2レンダリング処理は、
      前記節点に定義された数値データから、前記節点における不透明度を決定する処理と、
      前記不透明度とユーザ指定の粒子半径とに基づいて、前記格子の粒子密度を推定する処理と、
      前記格子の前記粒子密度に従った数の粒子を生成し、生成された粒子を前記格子内に配置する処理と、
      生成された粒子が画像面上に投影された画像データを生成する処理と、
     を含む
     請求項8~10のいずれか1項に記載の粒子レンダリング方法。
    Determining whether to perform a first particle rendering process or a second particle rendering process on the target data;
    The first particle rendering process includes the first process, the second process, the third process, and the fourth process,
    The second rendering process includes
    A process for determining opacity at the node from the numerical data defined at the node;
    Estimating the particle density of the lattice based on the opacity and a user-specified particle radius;
    Generating a number of particles according to the particle density of the lattice, and placing the generated particles in the lattice;
    A process of generating image data in which the generated particles are projected on the image plane;
    The particle rendering method according to any one of claims 8 to 10.
  12.  前記第1粒子レンダリング処理及び前記第2粒子レンダリング処理のうちのいずれの処理を実行するかを決定することは、ユーザの選択入力に基づく
     請求項11記載の粒子レンダリング方法。
    The particle rendering method according to claim 11, wherein determining which of the first particle rendering process and the second particle rendering process is to be performed is based on a selection input by a user.
  13.  前記第1処理において、前記粒子密度は、前記節点を共有する1又は複数の格子の体積総和の逆数である
     請求項8~12のいずれか1項に記載の粒子レンダリング方法。
    The particle rendering method according to any one of claims 8 to 12, wherein, in the first processing, the particle density is a reciprocal of a volume sum of one or a plurality of lattices sharing the node.
  14.  前記第3処理において、前記粒子の大きさは、以下の式に基づいて算出される粒子半径として決定される
     請求項8~13のいずれか1項に記載の粒子レンダリング処理装置。
    Figure JPOXMLDOC01-appb-M000002
     ここで、
     iは、前記節点の識別子
     ρは、前記節点iの粒子密度
     rは、前記節点iの粒子半径
     αは、前記節点iの不透明度
     Δtは、レイキャスティングで使用されるレイセグメント長さ
    The particle rendering processing apparatus according to any one of claims 8 to 13, wherein in the third process, the size of the particle is determined as a particle radius calculated based on the following equation.
    Figure JPOXMLDOC01-appb-M000002
    here,
    i is the node identifier ρ i is the particle density of the node i r i is the particle radius α i of the node i is the opacity of the node i Δt is the ray segment length used in ray casting
  15.  格子の節点に数値データが定義された複数の格子データを有して構成される対象データに対する粒子レンダリング処理を、コンピュータに行わせるコンピュータプログラムであって、
     前記粒子レンダリング処理は、
      前記節点を共有する1又は複数の格子の体積総和に基づいて、前記節点に一つの粒子が配置される場合における前記節点の粒子密度を推定する第1処理と、
      前記節点に定義された数値データから、前記節点における不透明度を決定する第2処理と、
      前記節点の前記粒子密度と前記不透明度とに基づいて決定された大きさを有する一つの粒子を前記節点において生成する第3処理と、
      生成された粒子が画像面上に投影された画像データを生成する第4処理と、
     を含むコンピュータプログラム。
    A computer program for causing a computer to perform a particle rendering process on target data including a plurality of grid data in which numerical data is defined at nodes of the grid,
    The particle rendering process includes:
    A first process for estimating a particle density of the node when one particle is arranged at the node based on a volume sum of one or more grids sharing the node;
    A second process for determining opacity at the node from the numerical data defined at the node;
    A third process for generating one particle at the node having a size determined based on the particle density and the opacity of the node;
    A fourth process for generating image data in which the generated particles are projected on the image plane;
    A computer program containing
PCT/JP2016/052954 2015-02-03 2016-02-01 Particle rendering processing device, particle rendering method, and computer program WO2016125754A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016573357A JP6719774B2 (en) 2015-02-03 2016-02-01 Particle rendering processing device, particle rendering method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015019288 2015-02-03
JP2015-019288 2015-02-03

Publications (1)

Publication Number Publication Date
WO2016125754A1 true WO2016125754A1 (en) 2016-08-11

Family

ID=56564097

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/052954 WO2016125754A1 (en) 2015-02-03 2016-02-01 Particle rendering processing device, particle rendering method, and computer program

Country Status (2)

Country Link
JP (1) JP6719774B2 (en)
WO (1) WO2016125754A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255605A (en) * 2017-12-29 2018-07-06 北京邮电大学 Image recognition cooperative computing method and system based on neural network
CN116866621A (en) * 2023-09-05 2023-10-10 湖南马栏山视频先进技术研究院有限公司 Cloud synchronization method and system for video real-time rendering

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUN NISHIMURA ET AL.: "Daikibo Uchu Simulation Kekka no Tameno Taiwateki Kashika Shuho", THE 29TH JAPAN SOCIETY FOR SIMULATION TECHNOLOGY TAIKAI HAPPYO RONBUNSHU, 19 June 2010 (2010-06-19), pages 347 - 350 *
NAOHISA SAKAMOTO ET AL.: "Simulation and Volume Visualization", SIMULATION, vol. 27, no. 1, 15 March 2008 (2008-03-15), pages 8 - 15 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255605A (en) * 2017-12-29 2018-07-06 北京邮电大学 Image recognition cooperative computing method and system based on neural network
CN116866621A (en) * 2023-09-05 2023-10-10 湖南马栏山视频先进技术研究院有限公司 Cloud synchronization method and system for video real-time rendering
CN116866621B (en) * 2023-09-05 2023-11-03 湖南马栏山视频先进技术研究院有限公司 Cloud synchronization method and system for video real-time rendering

Also Published As

Publication number Publication date
JP6719774B2 (en) 2020-07-08
JPWO2016125754A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
JP5371221B2 (en) Slice data structure for particle method simulation, and method for implementing particle method simulation on GPU using slice data structure
JP2018026134A (en) Zero coefficient skipping convolution neural network engine
JP5634104B2 (en) Tile-based rendering apparatus and method
JP2020503628A5 (en)
JP2018055688A5 (en)
WO2016125754A1 (en) Particle rendering processing device, particle rendering method, and computer program
JP2009069929A (en) Method for constructing surface of fluid simulation based on particle method, program and storage medium with its program stored
TWI671544B (en) Meteorological data processing device, system including meteorological data processing device, meteorological data processing method and meteorological data processing program
JP2016103132A (en) Finite element calculation program, finite element calculation device, and finite element calculation method
KR20200067222A (en) Compression and decompression of indexes in the graphics pipeline
JP2020513630A5 (en)
JP5099354B2 (en) Volume data visualization apparatus and method, and program
US10115224B2 (en) Method and apparatus generating acceleration structure
JP6677733B2 (en) Efficient time series histogram
JP2013156696A (en) Clustering device, method and program
US11004251B2 (en) Automatic configuration of knobs to optimize performance of a graphics pipeline
JP2016126771A (en) Designing choropleth map
Sakamoto et al. Visualization of Large-scale CFD Simulation Results Using Distributed Particle-Based Volume Rendering.
Kochurov et al. GPU implementation of Jacobi Method and Gauss-Seidel Method for Data Arrays that Exceed GPU-dedicated Memory Size
JP2017142547A (en) Three-dimensional model generation device, three-dimensional model generation method, and program
JP2013156698A (en) Clustering device, method, and program
JP2007066055A (en) Computer program and tensor quantity display screen generation method for displaying tensor quantity three-dimensionally distributed within three-dimensional object
JP2006284352A (en) Data processor and data processing method
JP2014160337A (en) Clustering device, clustering processing method, and program therefor
JP7089174B2 (en) Simultaneous equation processing device, simultaneous equation processing method and simultaneous equation processing program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16746585

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016573357

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16746585

Country of ref document: EP

Kind code of ref document: A1