A differential volume rendering method with second-order difference for time-varying volume data

https://doi.org/10.1016/S1045-926X(03)00020-XGet rights and content

Abstract

The differential volume rendering method is a ray casting based method for time-varying volume data. In the differential volume rendering method, the changed voxels between consecutive time steps are extracted to form differential files in advance. When the dataset is to be rendered, changed voxels are projected onto the image plane to determine the positions of changed pixels. Only the changed pixels, instead of all pixels on the image, are updated by casting new rays in each time step. The main overhead of the differential volume rendering method is the determination of changed pixels. In this paper, we propose a two-level differential volume rendering method, in which the determination of changed pixels is accelerated by the aid of the second-order difference. Since changed voxels in two consecutive differential files may partially overlap in the space, the projection computation spent on the overlapped area is redundant. We use this property to extract the difference of changed voxels between consecutive differential files to form the second-order difference. Based on the second-order difference, the changed pixels can be determined more efficiently. The experimental results show that the proposed method outperforms the comparative methods for all test datasets in most cases. In addition, the rendering time can be predicted once the data files are loaded in each time step.

Introduction

Volume rendering, which projects a 3D volume data into a 2D image to reveal the internal structure of the object, is a computation-demanding task [1], [2], [3], [4]. A time-varying volume data (TVVD, also referred as 4D volume data [5]) is a sequence of subsequent volume datasets during a period of time steps. In comparison with a single 3D volume dataset that contains the static internal structure, TVVD contains the dynamic evolution of the structure. For example, CFD simulations can be rendered into a flow animation. However, the computation demand of rendering TVVD is much more than that of rendering a single 3D volume data. In order to reduce the computation amount, many techniques have been proposed to exploit the spatial coherency and temporal coherency in TVVD. The basic idea of these techniques is to reuse the steady portion to avoid redundant storage or computation.

Shen et al. [6] proposed the differential volume rendering method to render TVVD. We refer this method as DVRM in this paper. In this method, the changed voxels between consecutive time steps are extracted to form differential files. These files are used to determine the positions of changed pixels on the image plane. Only the changed pixels, instead of all pixels in the image, are updated by casting new rays at the positions in each time step. Ma et al. [7] encoded each single volume data into an octree for the sake of spatial coherency. For coherency, consecutive octrees are merged. Pointers are used to replace identical subtrees in the consecutive octrees. In [8], a time-space partitioning (TSP) tree was proposed. A TSP tree is a time-supplemented octree that utilizes both the spatial and temporal coherency effectively and allows flexible tradeoff between image quality and rendering speed. Based on the shear warp factorization, Anagnostou et al. [5] proposed a 4D volume rendering technique that detects and renders the changed areas in every volume to exploit the temporal coherency. Besides the above coherency-based techniques, some other techniques are developed based on parallel processing [9], hardware-assistance [10], or transformation [11], [12].

Without sacrificing image quality for rendering speed, the image generated by DVRM is the same as that generated by rendering all pixels in the image. When the amount of changed voxels in the differential file is small, DVRM is quite efficient. However, DVRM is not efficient when the amount of changed voxels is large. If the number of changed voxels is large, determining the changed pixels may make the rendering time longer than the time to do ray casting for all the pixels. We are motivated to alleviate the overhead to render TVVD more efficiently. Therefore, we propose a two-level differential volume rendering method in this paper. When TVVD evolves gradually, it is possible that some of the changed voxel positions appear in consecutive differential files. These changed voxels are projected to the same point on the image plane in consecutive time steps. Therefore, the projection computation for these changed voxels can be performed in the first of the consecutive time steps and can be omitted in the following time steps. Based on this property, the proposed method filters out the overlapped voxels and extracts the difference of changed voxel positions between consecutive differential files. The extracted difference information is referred as the second-order difference (SOD). The differential files store difference information between volume data. We refer this information stored in differential files as the first-order difference (FOD). The proposed method uses FOD to update volume data. Based on SOD, the proposed method can determine the changed pixel positions more efficiently. Since we used FOD and SOD in the proposed method, the name “two-level differential” is used. To evaluate the proposed method, DVRM and a regular ray casting method are used as comparative methods. Three CFD datasets are used as test datasets. The experimental results show that the proposed method outperforms the comparative methods for all test datasets in most cases. In addition, the rendering time of the methods can be predicted once the data files are loaded in each time step.

This paper is organized as follows. In Section 2, the regular ray casting method and the differential volume rendering method are described. In Section 3, the proposed method is described in detail. In Section 4, we present the theoretical analysis and the experimental results. In Section 5, we describe a method of predicting the rendering time and present the prediction results.

Section snippets

The ray casting and the differential volume rendering methods

The ray casting method is a common backward-projection algorithm that can generate good quality images [13], [14]. The method fires a ray from each pixel position into the volume data. At constant sampling interval, sampling points along the ray are given their interpolated gradients and sample values from the neighboring voxels. Given a transfer function, the gradients and sample values at sampling points are mapped to color and opacity values. Finally, the color and opacity of sampling points

The two-level differential volume rendering method

In this section, the proposed two-level differential volume rendering method (TLDVRM) is described in detail. Similar to DVRM, TLDVRM also consists of two phases: the static and the dynamic phases. In the static phase, the proposed method extracts FOD and SOD. In the dynamic phase, the proposed method updates volume data by using FOD; determines the positions of changed pixels by using either FOD or SOD; and updates those changed pixels by casting new rays for them. We now define SOD and

Analysis and experimental results

In this section, we first analyze the theoretical rendering time of RRCM, DVRM, and TLDVRM. Then, we compare their experimental performance on three CFD datasets.

Rendering time predictions

In the above experiments, the rendering time is measured after rendering. It is useful if the rendering time can be predicted in advance. For example, we can switch to the best method in each time step. In practice, the prediction of Tt(RRCM) is rather simple. Tt(RRCM) is almost constant in all time steps. If Tt(RRCM) is measured in the first few time steps, for the rest of time steps, Tt(RRCM) can be set as the previously measured Tt(RRCM).

For DVRM (or TLDVRM), Tt(DVRM) (or Tt(DVRM)) can be

Conclusions and future work

In this paper, we have proposed TLDVRM to render TVVD. The core concept of the proposed method is to determine the positions of changed pixels by using SOD. From the theoretical analysis and the experimental results, we have the following conclusions. TLDVRM is superior to RRCM and DVRM in most cases. The performance of DVRM and TLDVRM is closely related to the characteristics such as P(DFt), TSODt, and CSt of the datasets. When P(DFt) is much larger than TSODt, the superiority of TLDVRM to

References (17)

  • M. Levoy

    Efficient ray tracing of volume data

    ACM Transactions on Graphics

    (1990)
  • P.F. Fung, P.A. Heng, Efficient volume rendering by IsoRegion leaping acceleration, The Sixth International Conference...
  • P. Lacroute

    Analysis of a parallel volume rendering system based on the shear-warp factorization

    IEEE Transactions on Visualization and Computer Graphics

    (1996)
  • W.M. Hsu, Segmented ray casting for data parallel volume rendering, Proceedings of 1993 Parallel Rendering Symposium...
  • Anagnostou, T.J. Atherton, A.E. Waterfall, 4D Volume rendering with shear warp factorization, Volume Visualization and...
  • H.W. Shen, C.R. Johnson, Differential volume rendering: a fast volume visualization technique for flow animation,...
  • K.L. Ma, H.W. Shen, Compression and accelerated rendering of time-varying volume datasets, Workshop on Computer...
  • H.W. Shen, L.J. Chiang, K.L. Ma, A fast volume rendering algorithm for time-varying fields using a time-space...
There are more references available in the full text version of this article.

Cited by (0)

View full text