prefiltered b-spline reconstruction for hardware...

9
Prefiltered B-Spline Reconstruction for Hardware-Accelerated Rendering of Optimally Sampled Volumetric Data Bal´ azs Cs´ ebfalvi Department of Control Engineering and Information Technology Budapest University of Technology and Economics, Hungary Markus Hadwiger VRVis Research Center Vienna, Austria Abstract In this paper odd-order B-spline filters are proposed to reconstruct volumetric data sampled on an op- timal Body-Centered Cubic (BCC) grid. To make these filters nearly interpolating, we adapt a pre- viously published framework, which is based on a discrete frequency-domain prefiltering. It is shown that a BCC-sampled B-spline kernel is not invert- ible, therefore the interpolation constraint cannot be satisfied by a discrete prefiltering. To remedy this problem, we use a slightly modified discrete B- spline for prefiltering, which is proven to be invert- ible. Although this modification leads to an approx- imation, the proposed prefiltered B-spline recon- struction of BCC-sampled data still provides much higher image quality than the interpolating pre- filtered B-spline reconstruction of volume data sam- pled on an equivalent Cartesian Cubic (CC) grid. Furthermore, our method directly supports an ef- ficient implementation on a conventional graphics hardware, unlike the previous reconstruction meth- ods developed for the BCC grid. 1 Introduction Due to its optimality, the BCC grid requires about 30% fewer samples to represent the same amount of spatial information than an equivalent CC grid does. According to another interpretation, taking the same number of samples, higher-quality recon- struction can be ensured if the original signal is sampled on a BCC grid rather than on a CC grid. This advantageous property of the BCC grid has already been demonstrated by several researchers [12, 3, 2]. In this paper we empirically show that, e-mail: [email protected], http://www.iit.bme.hu/˜cseb/ e-mail: [email protected], http://medvis.vrvis.at/ using a practical reconstruction scheme, the BCC representation provides higher quality even if it is compared to a theoretically equivalent CC represen- tation. In Section 2 the previous work related to re- construction and optimal regular volume sampling is reviewed. In Section 3 a previously published framework for prefiltered reconstruction of BCC- sampled data is revisited. This framework is then adapted to the B-spline family of reconstruction fil- ters in Section 4. In Section 5 we demonstrate the superiority of the BCC-sampled volume repre- sentation over the CC-sampled representation when prefiltered B-spline reconstruction is used to evalu- ate arbitrary samples for ray casting. Additionally, a hardware-accelerated implementation is also pre- sented. Finally, in Section 6, the contribution of this paper is summarized. 2 Previous Work An appropriate filter for a certain application can be designed according to different criteria, which are either defined in the spatial domain or in the frequency domain. Marschner and Lobb defined frequency-domain quality metrics to measure the smoothing and postaliasing effect of practical re- construction filters [7]. M¨ oller et al. proposed to design 1D filters for function and derivative recon- struction based on spatial-domain constraints de- rived from a Taylor series expansion [9]. The ob- tained 1D filters are then supposed to be extended to 2D or 3D by a separable tensor product exten- sion. This approach, however, is unfeasible if the data itself is sampled on a non-separable grid, like a BCC or an FCC (Face-Centered Cubic) grid. An- other possible extension of 1D filters is the spher-

Upload: dinhminh

Post on 29-Apr-2018

217 views

Category:

Documents


2 download

TRANSCRIPT

Prefiltered B-Spline Reconstruction for Hardware-AcceleratedRendering of Optimally Sampled Volumetric Data

Balazs Csebfalvi∗

Department of Control Engineering and Information TechnologyBudapest University of Technology and Economics, Hungary

Markus Hadwiger†

VRVis Research CenterVienna, Austria

Abstract

In this paper odd-order B-spline filters are proposedto reconstruct volumetric data sampled on an op-timal Body-Centered Cubic (BCC) grid. To makethese filters nearly interpolating, we adapt a pre-viously published framework, which is based on adiscrete frequency-domain prefiltering. It is shownthat a BCC-sampled B-spline kernel is not invert-ible, therefore the interpolation constraint cannotbe satisfied by a discrete prefiltering. To remedythis problem, we use a slightly modified discrete B-spline for prefiltering, which is proven to be invert-ible. Although this modification leads to an approx-imation, the proposed prefiltered B-spline recon-struction of BCC-sampled data still provides muchhigher image quality than the interpolating pre-filtered B-spline reconstruction of volume data sam-pled on an equivalent Cartesian Cubic (CC) grid.Furthermore, our method directly supports an ef-ficient implementation on a conventional graphicshardware, unlike the previous reconstruction meth-ods developed for the BCC grid.

1 Introduction

Due to its optimality, the BCC grid requires about30% fewer samples to represent the same amountof spatial information than an equivalent CC griddoes. According to another interpretation, takingthe same number of samples, higher-quality recon-struction can be ensured if the original signal issampled on a BCC grid rather than on a CC grid.This advantageous property of the BCC grid hasalready been demonstrated by several researchers[12, 3, 2]. In this paper we empirically show that,

∗e-mail: [email protected], http://www.iit.bme.hu/˜cseb/†e-mail: [email protected], http://medvis.vrvis.at/

using a practical reconstruction scheme, the BCCrepresentation provides higher quality even if it iscompared to a theoretically equivalent CC represen-tation.

In Section 2 the previous work related to re-construction and optimal regular volume samplingis reviewed. In Section 3 a previously publishedframework for prefiltered reconstruction of BCC-sampled data is revisited. This framework is thenadapted to the B-spline family of reconstruction fil-ters in Section 4. In Section 5 we demonstratethe superiority of the BCC-sampled volume repre-sentation over the CC-sampled representation whenprefiltered B-spline reconstruction is used to evalu-ate arbitrary samples for ray casting. Additionally,a hardware-accelerated implementation is also pre-sented. Finally, in Section 6, the contribution of thispaper is summarized.

2 Previous Work

An appropriate filter for a certain application canbe designed according to different criteria, whichare either defined in the spatial domain or in thefrequency domain. Marschner and Lobb definedfrequency-domain quality metrics to measure thesmoothing and postaliasing effect of practical re-construction filters [7]. Moller et al. proposed todesign 1D filters for function and derivative recon-struction based on spatial-domain constraints de-rived from a Taylor series expansion [9]. The ob-tained 1D filters are then supposed to be extendedto 2D or 3D by a separable tensor product exten-sion.

This approach, however, is unfeasible if the dataitself is sampled on a non-separable grid, like aBCC or an FCC (Face-Centered Cubic) grid. An-other possible extension of 1D filters is the spher-

ically symmetric extension. A spherically sym-metric filter might seem to be a natural choice es-pecially for BCC-sampled data, since the primaryspectrum is assumed to be bounded by a sphere inthis case (otherwise the optimality of the BCC gridcould not be exploited). On the other hand, theadvantageous properties of a filter designed in 1D,are not necessarily inherited when it is extended tohigher dimensions by a spherical extension. For ex-ample, a spherical extension of an interpolating fil-ter generally does not yield a higher-dimensional in-terpolating filter. Furthermore, by using a sphericalextension, it can hardly be guaranteed that the fre-quency response of the obtained filter equals to zeroat the centers of all the aliasing spectra [7], whichmight cause a sample frequency ripple.

Although there have been attempts to still use ei-ther a separable or a spherical extension of 1D filtersto reconstruct optimally sampled data [12, 11, 8],the reported results did not confirm the theoreti-cal advantages of the BCC-sampled volume repre-sentation. For example, the application of spher-ically symmetric filters resulted in blurry images[12], while a direction-dependent separable shearedtrilinear interpolation caused view-dependent arti-facts [11, 8].

The first reconstruction filters which take the spe-cial geometry of the neighboring BCC samples intoaccount, were derived by Entezari et al. [3]. Theproposed odd-order box-spline filters were provento guarantee zero-crossings in the frequency do-main at the grid points of the dual FCC grid exceptthe origin. Nevertheless, when the original data issampled at a frequency closed to the Nyquist limit,the interpolating linear box-spline filter results insevere aliasing, while the approximating cubic-boxspline blurs the high-frequency details.

Currently the highest-quality reconstruction ofBCC-sampled data can be achieved by using Pre-filtered Gaussian Reconstruction [2], which is theadaptation of Generalized Interpolation [1, 13] tothe BCC grid. In this paper, we extend this frame-work by applying the B-spline family of filtersrather than a Gaussian filter. In order to point out thetheoretical and practical drawbacks of the Gaussiankernel, we derive the frequency response of the gen-eral prefiltered reconstruction in Section 3. After-wards we show that these drawbacks can be easilyavoided by using a B-spline of odd order as a basisfunction.

Recently, prefiltered B-spline reconstruction ofCC-sampled data was proposed by Li and Mueller[6, 5] for high-quality refraction computations involumetric data. The authors demonstrated thata prefiltered cubic B-spline interpolation is supe-rior to the highly accurate Catmull-Rom spline in-terpolation, as it provides much better pass-bandand stop-band behavior for the same computationalcost.

3 Prefiltered Reconstruction

Traditional interpolation between evenly placedsamples of a function f(x) is formulated by the fol-lowing convolution:

f(x) ≈ f(x) =�

k

fkφ(x/T − k), (1)

where fk = f(kT ) and φ(x) is a reconstructionkernel which satisfies the interpolation constraint:

φ(k) =�

1 if k = 00 otherwise, (2)

for each k ∈ Z. In contrast, using generalized in-terpolation [1, 13], the basis function φ(x) does notneed to be interpolating and it is convolved with co-efficients ck , which are not necessarily equal to theoriginal samples fk:

f(x) =�

k

ckφ(x/T − k). (3)

Coefficients ck have to be determined such that theinterpolation constraint is satisfied:

f(iT ) =�

k

ckφ(i − k) = ci ⊗ gi = fi. (4)

As this condition is defined by a discrete convolu-tion, the solution is obtained by a discrete deconvo-lution: ci = fi ⊗ g−1

i . The deconvolution can beefficiently implemented either in the spatial domainby using a recursive algorithm [1] or in the discretefrequency domain replacing the deconvolution by asimple division.

3.1 Adaptation to the BCC Grid

Generalized interpolation can be adapted to opti-mally sampled volume data by exploiting the sym-metry and periodicity of the BCC grid [2]. Further-more, it can be utilized that the BCC grid consistsof two overlapping CC grids (see Figure 1). Oneof them contains grid points x

(1)i,j,k (light gray dots)

and the other one consists of grid points x(2)i,j,k (dark

gray dots), where i ∈ {0, 1, . . . , Nx − 1}, j ∈

{0, 1, . . . , Ny − 1}, and k ∈ {0, 1, . . . , Nz − 1}.Due to the geometry of the BCC grid x

(1)i,j,k =

[i ·T, j ·T, k ·T ], and x(2)i,j,k = [(i+ 1

2) ·T, (j + 1

2) ·

T, (k + 12) ·T ], where T is the sampling distance in

the separate CC grids.

X

Z Y

T

T

T/2

T/2

Figure 1: The BCC grid as two overlapping CCgrids.

Function f(x) reconstructed from the BCC sam-ples of the original function f(x) is expressed bythe following convolution:

f(x) ≈ f(x) = c(x) ⊗ φ(x/T ), (5)

where function c(x) is defined by the coeffi-cients c

(1)i,j,k and c

(2)i,j,k of the shifted basis functions

φ(x/T ) associated to the BCC grid points x(1)i,j,k

and x(2)i,j,k respectively:

c(x) =�i,j,k

c(1)i,j,kδ(x − x

(1)i,j,k) (6)

+�i,j,k

c(2)i,j,kδ(x − x

(2)i,j,k).

Equation 5 can also be formulated as two separateconvolutions on the overlapping CC grids:

f(x) =�i,j,k

c(1)i,j,k · φ

��x − x

(1)i,j,k

T

�� (7)

+�i,j,k

c(2)i,j,k · φ

��x − x

(2)i,j,k

T

�� .

In order to accurately reconstruct the samplesf

(1)i,j,k = f(x

(1)i,j,k), and f

(2)i,j,k = f(x

(2)i,j,k) of func-

tion f(x), the following conditions have to be ful-filled:

f(x(1)i,j,k) =

�l,m,n

c(1)l,m,n ·φ

��x

(1)i,j,k − x

(1)l,m,n

T

�� (8)

+�

l,m,n

c(2)l,m,n · φ

��x

(1)i,j,k − x

(2)l,m,n

T

��

= (c(1) ⊗ g)i,j,k + (c(2) ⊗ g(2))i,j,k = f(1)i,j,k,

and

f(x(2)i,j,k) =

�l,m,n

c(1)l,m,n · φ

��x

(2)i,j,k − x

(1)l,m,n

T

��

+�

l,m,n

c(2)l,m,n · φ

��x

(2)i,j,k − x

(2)l,m,n

T

��

= (c(1) ⊗ g(1))i,j,k + (c(2) ⊗ g)i,j,k = f(2)i,j,k.

In Equation 8, it is assumed that function f(x) isdefined by a periodic extension of its known sam-ples (f (1)

i,j,k = f(1)i+l·Nx,j+m·Ny ,k+n·Nz

, f(2)i,j,k =

f(2)i+l·Nx,j+m·Ny ,k+n·Nz

, where l, m, n ∈ Z). Con-sequently, function c(x) is periodic as well, and allthe convolutions in Equation 8 are cyclic.

Discrete convolution kernels g, g(1), and g(2) aredefined by sampling the continuous basis functionφ(x):

gi mod Nx,j mod Ny,k mod Nz = φ([i, j, k]), (9)

g(1)i mod Nx,j mod Ny,k mod Nz

= φ

��i +

1

2, j +

1

2, k +

1

2

�,

g(2)i mod Nx,j mod Ny,k mod Nz

= g(1)(i−1) mod Nx,(j−1) mod Ny,(k−1) mod Nz

,

where i ∈ {−Nx/2, . . . , Nx/2 − 1},j ∈ {−Ny/2, . . . , Ny/2 − 1}, andk ∈ {−Nz/2, . . . , Nz/2 − 1}.

Since the BCC samples f(1)i,j,k and f

(2)i,j,k are ex-

pressed as two 3D discrete functions defined byconvolution operations with the unknown coeffi-cients c

(1)i,j,k and c

(2)i,j,k , the solution can be effi-

ciently obtained by deconvolution operations per-formed in the frequency domain. Equation 8 canbe transformed into the frequency domain by usingtraditional 3D DFT operations:

C(1)u,v,wGu,v,w + C

(2)u,v,wG

(2)u,v,w = F

(1)u,v,w, (10)

C(1)u,v,wG

(1)u,v,w + C

(2)u,v,wGu,v,w = F

(2)u,v,w.

By solving Equation 10, C(1)u,v,w and C

(2)u,v,w are

expressed as:

C(1)u,v,w =

(F (1)G − F (2)G(2))u,v,w

(GG − G(1)G(2))u,v,w, (11)

C(2)u,v,w =

(F (2)G − F (1)G(1))u,v,w

(GG − G(1)G(2))u,v,w.

As the solution is obtained in the frequency do-main, coefficients c

(1)i,j,k and c

(2)i,j,k are calculated by

the inverse discrete Fourier transforms of C(1)u,v,w

and C(2)u,v,w respectively. In fact, coefficients c

(1)i,j,k

and c(2)i,j,k are obtained by a frequency-domain dis-

crete prefiltering of the original BCC samples f(1)i,j,k

and f(2)i,j,k , and afterwards a sample at an arbitrary

position is evaluated by a convolution according toEquation 7. Therefore this scheme is called pre-filtered reconstruction (see further details in [2]).

3.2 Frequency Response of Prefiltered Re-construction

According to Equation 8, at the BCC grid points theoriginal function f(x) equals to its approximationf(x). BCC sampling in the spatial domain corre-sponds to a convolution with a shah function de-fined on the dual FCC grid in the frequency domain(see Figure 2). Therefore, in the frequency domain,Equation 8 can be expressed as follows:

F (ω) ⊗ XF CC(ω) = F (ω) ⊗ XF CC(ω). (12)

Transforming Equation 5 into the frequency do-main and substituting it into Equation 12 we obtain:

F (ω)⊗XF CC(ω) = [C(ω) ·Φ(ωT )] ⊗XF CC(ω).(13)

In the spatial domain, it is easy to see thatthe right side of Equation 13 equals to C(ω) ·[Φ(ωT ) ⊗ XF CC(ω)] exploiting that c(y) =c(y) · XBCC(y) and XBCC(x) · XBCC(y) =XBCC(x − y):

[C(ω) · Φ(ωT )] ⊗ XF CC(ω) (14)

⇐⇒

c(y) · φ�

x − y

T

dy · XBCC (x)

=

c(y) · XBCC (y) · φ

�x − y

T

· XBCC(x)dy

=

c(y) · φ

�x− y

T

· XBCC(x − y)dy

⇐⇒ C(ω) · [Φ(ωT ) ⊗ XF CC(ω)].

As a consequence,

C(ω) =F (ω) ⊗ XF CC(ω)

Φ(ωT ) ⊗ XF CC(ω), (15)

so the resultant frequency response H(ω) of pre-filtered reconstruction of BCC-sampled functions(see Figure 3) is derived as follows:

F (ω) = C(ω) · Φ(ωT ) (16)

=F (ω) ⊗ XF CC(ω)

Φ(ωT ) ⊗ XF CC(ω)· Φ(ωT )

= [F (ω) ⊗ XF CC(ω)] · H(ω),

T 4 /T�

ШBCC

( )x ШFCC

( )�

spatial domain frequency domain

Figure 2: The duality between shah functions de-fined on BCC and FCC grids.

F( ) ( )� � �ШFCC

Φ( ) ( )� � �T ШFCC

1 Φ( )�T

F( )�~

H( )�

discrete prefiltering continuous filtering

prefiltered reconstruction

reconstructed signal

BCC-sampled input signal

C( )�

Figure 3: Prefiltered reconstruction of a BCC-sampled signal.

where:

H(ω) =Φ(ωT )

Φ(ωT ) ⊗ XF CC(ω). (17)

3.3 Drawbacks of the Gaussian KernelIn the original framework on prefiltered reconstruc-tion of BCC-sampled data, a truncated Gaussiankernel was used as a basis function:

φ(x) = e−|x|2/(2σ2) · b(x), (18)

where b(x) is a box function:

b([x, y, z]) =

�� ��

1 if − Nx/2 ≤ x < Nx/2 and−Ny/2 ≤ y < Ny/2 and−Nz/2 ≤ z < Nz/20 otherwise.

Truncation by function b(x) is necessary, other-wise the reconstruction kernel φ(x) could not beinverted in the discrete frequency domain. Froma practical point of view, the main drawback of

the truncated Gaussian kernel is that parameter σhas to be carefully chosen such that Φ(ωT ) ⊗XF CC(ω) �= 0. Equation 18 in the frequency do-main is a Gaussian spectrum convolved with a sincfunction. As the sinc function takes also negativevalues, the Gaussian spectrum has to dominate theresult of the convolution. The smaller the parame-ter σ, the wider the Gaussian spectrum in the fre-quency domain. Therefore σ has to be small enoughto make Φ(ωT )⊗XF CC(ω) positive everywhere.

Furthermore, to efficiently evaluate a convolutionwith a Gaussian kernel in the spatial domain accord-ing to Equation 7, it has to be truncated by a win-dow, which is much narrower than b(x). This trun-cation, however, results in an approximation, andtheoretically the reconstructed function will not becontinuous.

4 Prefiltered B-Spline Reconstruction

In order to avoid the upper mentioned drawbacks,we adapt the family of odd-order B-spline filters toprefiltered reconstruction of BCC-sampled data. Asthese filters have compact support, truncation by thebox function b(x) is not required. Moreover, theFourier transform of any odd-order B-spline is non-negative, therefore its convolution with a shah func-tion XF CC(ω) cannot be negative either. To avoiddivision by zero in Equation 15, however, it still hasto be investigated whether Φ(ωT )⊗XF CC(ω) canbe equal to zero.

4.1 The B-Spline Family of FiltersThe B-spline of order zero is defined as a symmetricbox filter:

β0(x) =

� �

1 if |x| < 12

12

if |x| = 12

0 otherwise.(19)

The non-symmetric nearest-neighbor interpolationkernel and β0(x) are almost identical, they differfrom each other only at the transition values. Gen-erally, the B-spline filter of order n is derived byconsecutively convolving β0(x) n times with itself.The first-order B-spline is the linear interpolationfilter:

β1(x) = β0(x) ⊗ β0(x) =�

1 − |x| if |x| ≤ 10 otherwise.

(20)

Higher-order B-splines are only approximation fil-ters, as they do not satisfy the interpolation con-straint. For example, the cubic B-spline results in

a smooth C2 continuous approximation, thereforeit is often used in practice to reconstruct signals thatare corrupted by noise. Since the Fourier transformof β0(x) is sinc(ω/2) = sin(ω/2)/(ω/2) and theconsecutive convolutions in the spatial domain cor-respond to consecutive multiplications in the fre-quency domain, the Fourier transform of βn(x) issincn+1(ω/2). Note that, the frequency responseof any B-spline takes a value of zero at the centersof all the aliasing spectra (if ω = k2π, where k ∈ Z

and k �= 0), therefore a sample frequency ripple canbe avoided by using a B-spline filter for 1D functionreconstruction.

4.2 Inversion in the Frequency DomainApplying a separable extension of the B-spline fil-ter of order n, basis function φ(x) and its Fouriertransform Φ(ω) are derived as:

φ([x, y, z]) = βn(x)βn(y)βn(z), (21)

Φ([ωx, ωy , ωz ])

= sincn+1�ωx

2

�sincn+1

�ωy

2

�sincn+1

�ωz

2

�.

It is easy to see that Φ(ωT ) ⊗ XF CC(ω) = 0at ω = [i2π/T, j2π/T, k2π/T ] if i + j + k is anodd number. As a consequence, a discrete B-splinesampled on a BCC grid is not invertible.

In order to still use a B-spline of odd order forprefiltered reconstruction, we propose to calculatea kind of pseudo inverse of a BCC-sampled B-spline. In Equation 9, g0,0,0 actually representsthe “DC” component of Φ(ωT ) ⊗ XF CC(ω). Ifg0,0,0 is increased by an arbitrarily small but pos-itive ε, Φ(ωT ) ⊗ XF CC(ω) is slightly lifted, soit will be positive everywhere (note that Φ(ωT ) isnon-negative because of the even powers of the sincfunction). Therefore prefiltering can be performedby the modified invertible kernel. This modifica-tion introduces a relatively small and controllableerror between f(x) and f(x) at the original gridpoints, since f(x) is still evaluated by a convolutionwith φ(x/T ) according to Equation 7. To main-tain the average level of f(x) regardless of ε, co-efficients c

(1)i,j,k and c

(2)i,j,k are normalized such that

H([0, 0, 0]) = 1 (see Equation 17). Unlike thetruncated Gaussian kernel, a B-spline kernel resultsin a continuous reconstructed function, where theorder of continuity is n − 1. Nevertheless, the orig-inal function is still approximated and not interpo-lated by f(x). On the other hand, the resultant fre-quency response H(ω) equals to zero at the cen-

(a) (b)

(c) (d)

(e) (f)

Figure 4: The Marschner-Lobb test signal recon-structed from 40×40×40 CC samples (a, c, e) andfrom 28× 28× 28× 2 BCC samples (b, d, f) usingprefiltered linear (a, b), cubic (c, d), and quintic (e,f) B-spline reconstructions.

ters of all the aliasing spectra (which are located atFCC grid points), therefore a sample frequency rip-ple cannot occur. Unfortunately, this criterion ofhigh-quality filters is contradictive to the interpo-lation constraint, when prefiltered reconstruction isapplied for BCC sampled data.

Note that, applying prefiltered B-spline recon-struction for CC-sampled data, the discretized B-spline is invertible, since Φ(ωT ) is convolved witha shah function defined on a dual CC grid in thefrequency domain. In this case, prefiltering en-sures an exact interpolation. According to our ex-periments, however, an approximating prefilteredB-spline reconstruction of BCC-sampled data stillprovides higher quality than the interpolating pre-filtered B-spline reconstruction of volumetric datasampled on an equivalent CC grid.

(a) (b)

(c) (d)

(e) (f)

Figure 5: Angular error of the gradient field recon-structed from 40×40×40 CC samples (a, c, e) andfrom 28× 28× 28× 2 BCC samples (b, d, f) usingprefiltered linear (a, b), cubic (c, d), and quintic (e,f) B-spline reconstructions. Angular error of 30 de-grees is mapped onto white, while black representsangular error of zero degree.

5 Implementation

To empirically compare CC and BCC volume rep-resentations concerning the quality of prefilteredB-spline reconstruction, we implemented a high-quality ray caster. The skeleton of the implemen-tation was the same, only the resampling functionsand the storage structures were different for CC-sampled and BCC-sampled data. We rendered theclassical Marschner-Lobb test signal (see Figure 6a)sampled on a CC grid of resolution 40 × 40 × 40and on a nearly equivalent BCC grid of resolution28 × 28 × 28 × 2. Since the BCC grid consistsof even more than 30% fewer samples than the CCgrid does, one might expect that, using prefiltered

B-spline reconstruction of the same order, the accu-racy of the reconstruction from the CC samples isat least as high as from the BCC samples. Surpris-ingly, the quality of images rendered from the BCC-sampled data is still higher than that of the imagesrendered from the CC-sampled data, as it is shownin Figure 4. Figure 5 shows the angular errors of thegradients estimated by central differencing on thereconstructed function. Angular error of 30 degreesis mapped onto white, while black represents angu-lar error of zero degree. The difference is less appar-ent when a prefiltered linear B-spline reconstructionis applied, but using higher-order cubic and quinticB-splines, the BCC representation is clearly supe-rior over the CC representation. Note that, the errorof the BCC reconstruction is much more uniformlydistributed than the error of the CC reconstruction.The error distribution is probably closely related tothe discrepancy (deviation from the uniform distri-bution) of the sampling grid, which is lower for theBCC grid than for the CC grid. The theoreticalanalysis of this relationship, however, requires fur-ther research.

In a practical application, it is an important as-pect, how to set parameter ε appropriately. In fact,this parameter ensures a scalable smoothing effect.Figure 6 shows the test signal reconstructed from32 × 32 × 32 × 2 BCC samples using differentsettings of ε, which is expressed as a percentageof g0,0,0. Theoretically, if ε goes to zero, the er-ror of the approximation at the original BCC sam-ple positions approaches zero. In practice, however,an infinitesimally small ε would lead to a numeri-cal instability. On the other hand, by increasing ε,the smoothing effect of prefiltered B-spline recon-struction is getting stronger, which might be advan-tageous if the original data is corrupted by noise.

B-spline filtering can be efficiently implementedexploiting the texture-mapping capability of re-cent programmable graphics cards. We adaptedthe hardware-accelerated filtering method by Siggand Hadwiger [10] to BCC-sampled data using ourprefiltered reconstruction scheme. Loading coeffi-cients c

(1)i,j,k and c

(2)i,j,k into the texture memory as

two separate volumetric textures, each sample canbe evaluated by performing traditional resamplingseparately on the two texture maps and adding theircontributions. Of course, it has to be taken intoaccount in the fragment program that the secondtexture containing coefficients c

(2)i,j,k is translated in

space by a vector [T/2, T/2, T/2]. For example,for a linear prefiltered B-spline reconstruction, onlytwo separate trilinear texture fetches are necessary.

We tested our hardware-supported implementa-tion on the Marschner-Lobb signal and on real-world CT data as well. One of the most impor-tant practical benefits of the BCC grid is that itcan be used for downsampling high-resolution CC-sampled data [4], which otherwise could not beloaded entirely into the limited texture memory. Wedownsampled CT scans of a hand (244 × 124 ×258×16 bits) and a head (512×512×334×16 bits)onto BCC grids of resolutions 122 × 62 × 129 × 2and 256 × 256 × 167 × 2 respectively, similarlyas it was proposed by Entezari et al. [4]. However,we exploited that in the frequency domain a per-fect low-pass filtering can be performed before thesubsampling. Therefore we multiplied the discreteFourier transform of the original CC-sampled databy the characteristic function of the FCC Voronoicell, that is the frequency response of the ideal low-pass filter for BCC downsampling. Afterwards wetransformed the data back into the spatial domainand took the samples of the BCC subgrid. We thenrendered the obtained BCC-sampled volume by us-ing our hardware-accelerated prefiltered B-splinereconstruction scheme. The prefiltered voxel val-ues were loaded into the texture memory as 16-bitfloating-point textures, thus the data was finally re-duced to 25%. Note that, the obtained BCC rep-resentation is lossy, but it still yields a better trade-off than downsampling onto a CC subgrid which re-duces the data to 12.5%. Table 1 shows the framerates for linear and cubic B-spline reconstructions.The CT scan of the head was rendered by alpha-blending volume rendering, while the CT scan ofthe hand was rendered by a simple isosurface ren-dering (see Figure 7 in the color plate). In bothcases prefiltered cubic B-spline reconstruction wasused for resampling.

6 Conclusion and Future Work

In this paper odd-order B-spline filters have beenadapted to the optimal BCC grid. The most im-portant practical advantage of our reconstructionscheme is that it directly supports an efficienthardware implementation, as a convolution with ahigher-order B-spline can be evaluated from trilin-ear texture fetches. Although prefiltered B-spline

(a) (b) (c) (d)

Figure 6: (a): The unsampled Marschner-Lobb test signal. (b, c, d): Prefiltered cubic B-spline reconstruc-tion from 32 × 32 × 32 × 2 BCC samples using different settings of ε. (b): ε = 1%. (c): ε = 50%. (d):ε = 100%.

data set ML hand headnumber of voxels 43904 1951512 21889024linear B-spline 83 fps 49 fps 10 fpscubic B-spline 17 fps 8 fps 1.4 fps

Table 1: Frame rates of hardware-accelerated vol-ume rendering of BCC-sampled data. Images ofresolution 512 × 512 were generated on a GeForce7900 GTX graphics card using our prefiltered B-spline reconstruction for volume resampling.

reconstruction of a BCC-sampled data is theoreti-cally an approximation, it has been demonstratedthat it still provides higher quality than the inter-polating prefiltered B-spline reconstruction of anequivalent CC-sampled data. Apart from the 30%gain in storage requirements, an additional benefitof the BCC-sampled volume representation is themore uniform distribution of the approximation er-ror, which results in less annoying artifacts. As thediscrepancy of the FCC grid is even lower than thatof the BCC grid, in our future work, we intend toadapt prefiltered B-spline reconstruction to FCC-sampled volumetric data.

AcknowledgementsThis work has been supported by the Postdoctoral Fellowship Pro-gram of the Hungarian Ministry of Education, Hewlett-Packard,and the National Office for Research and Technology (Hungary).The VRVis Research Center is funded in part by the AustrianKplus project. The medical data are courtesy of Agfa Vienna.

References[1] T. Blu, P. Thevenaz, and M. Unser. Generalized interpola-

tion: Higher quality at no additional cost. In Proceedings ofIEEE International Conference on Image Processing, pages667–671, 1999.

[2] B. Csebfalvi. Prefiltered Gaussian reconstruction for high-quality rendering of volumetric data sampled on a body-centered cubic grid. In Proceedings of IEEE Visualization,pages 311–318, 2005.

[3] A. Entezari, R. Dyer, and T. Moller. Linear and cubic boxsplines for the body centered cubic lattice. In Proceedings ofIEEE Visualization, pages 11–18, 2004.

[4] A. Entezari, T. Meng, S. Bergner, and T. Moller. A granularthree dimensional multiresolution transform. In Proceedingsof Joint EUROGRAPHICS-IEEE VGTC Symposium on Visu-alization, pages 267–274, 2006.

[5] S. Li and K. Mueller. Accelerated, high-quality refractioncomputations for volume graphics. In Proceedings of VolumeGraphics, pages 73–81, 2005.

[6] S. Li and K. Mueller. Spline-based gradient filters for high-quality refraction computations in discrete datasets. In Pro-ceedings of Joint EUROGRAPHICS-IEEE TCVG Sympo-sium on Visualization, pages 217–222, 2005.

[7] S. Marschner and R. Lobb. An evaluation of reconstructionfilters for volume rendering. In Proceedings of IEEE Visual-ization, pages 100–107, 1994.

[8] O. Mattausch. Practical reconstruction schemes andhardware-accelerated direct volume rendering on body-centered cubic grids. Master’s Thesis, Vienna University ofTechnology, 2003.

[9] T. Moller, K. Mueller, Y. Kurzion, R. Machiraju, andR. Yagel. Design of accurate and smooth filters for func-tion and derivative reconstruction. In Proceedings of IEEESymposium on Volume Visualization, pages 143–151, 1998.

[10] C. Sigg and M. Hadwiger. Fast third-order texture filter-ing. In GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation,pages 313–329. Matt Pharr(ed.), Addison-Wesley, 2005.

[11] T. Theußl, O. Mattausch, T. Moller, and M. E. Groller. Re-construction schemes for high quality raycasting of the body-centered cubic grid. TR-186-2-02-11, Institute of ComputerGraphics and Algorithms, Vienna University of Technology,2002.

[12] T. Theußl, T. Moller, and M. E. Groller. Optimal regular vol-ume sampling. In Proceedings of IEEE Visualization, pages91–98, 2001.

[13] P. Thevenaz, T. Blu, and M. Unser. Interpolation revis-ited. IEEE Transactions on Medical Imaging, 19(7):739–758, 2000.

(a) (b)

Figure 7: Hardware-accelerated prefiltered cubic B-spline reconstruction of BCC-sampled CT data. (a):CT scan of a hand downsampled onto a BCC grid of resolution 122× 62× 129× 2. (b): CT scan of a headdownsampled onto a BCC grid of resolution 256 × 256 × 167 × 2.