5 GPU IMPLEMENTATION
While there are very efficient GPU implementations
of linear filtering (Kraus and Strengert, 2007b), any
additional functions in the summation (as in Equa-
tion 1) or additional nonconstant factors (as in Equa-
tion 2) defeat an efficient GPU implementation. This
problem is solved by our improvements presented in
Section 3, in particular Equations 4, 6, and 17.
For multidimensional data (e.g., RGB images) the
filtering operations in Equations 6 and 17 can be per-
formed in parallel for up to 3 components on GPUs.
Moreover, the filtering of weights in Equation 4 can
be performed in parallel in the A component of an
RGBA texture image in order to implement Equa-
tion 18 by alpha-blending. Note that only ˆw
r
i
and ˜x
r
i
have to be stored in the pull phase, while the push
phase only stores new values for x
r
i
in place of the
values ˜x
r
i
, which were computed in the pull phase.
While Gortler et al. (Gortler et al., 1996) claim
that Equations 8–11 can be implemented by standard
blending, this is unfortunately no longer true if the
computation is based on weighted variables ˜x
r
i
for
more efficient filtering. This problem is solved by the
approximation presented in Section 3.2, in particular
Equations 17 and 18.
The two-dimensional filters employed in Sec-
tion 3.3 require only four texture lookups per pixel
of the coarser level in the pull phase and one texture
lookup per pixel of the finer level in the push phase
if the filtering is implemented efficiently (Kraus and
Strengert, 2007b). As GPU implementations of the
proposed algorithms are bandwidth-limited, the arith-
metic operations do not significantly affect the per-
formance. Our implementation requires 0.60 ms for a
1024 × 1024 16-bit floating-point RGBA image on a
NVIDIA Quadro FX 5800 graphics board.
6 CONCLUSIONS
As shown in this work, the proposed algorithms for
the interpolation of scattered data points and the com-
putation of local densities of scattered points are well
suited for very efficient GPU implementations, which
could be used for real-time rendering or real-time im-
age and video processing.
The quality of the results computed by the pro-
posed algorithms depends on the choice of the pull
and push filters, the nonlinear function in Equation 7,
and the function p( ¯n) in Equation 22. Determining
suitable filters and functions for particular applica-
tions is part of future work.
REFERENCES
Burt, P. J. (1981). Fast Filter Transforms for Image Pro-
cessing. Computer Graphics and Image Processing,
16:20–51.
Burt, P. J. (1988). Moment images, polynomial fit filters,
and the problem of surface interpolation. In Pro-
ceedings of Computer Vision and Pattern Recognition,
pages 144–152.
Catmull, E. and Clark, J. (1978). Recursively Generated
B-Spline Surfaces on Arbitrary Topological Meshes.
Computer Aided Design, 10(6):350–355.
Drori, I., Cohen-Or, D., and Yeshurun, H. (2003).
Fragment-Based Image Completion. ACM Transac-
tions on Graphics, 22(3):303–312.
Gortler, S. J., Grzeszczuk, R., Szeliski, R., and Cohen, M. F.
(1996). The Lumigraph. In SIGGRAPH ’96: Pro-
ceedings of the 23rd Annual Conference on Computer
Graphics and Interactive Techniques, pages 43–54.
Guennebaud, G., Barthe, L., and Paulin, M. (2007). High-
Quality Adaptive Soft Shadow Mapping. Computer
Graphics forum (Proceedings Eurographics 2007),
26(3):525–533.
Kraus, M. and Strengert, M. (2007a). Depth-of-Field Ren-
dering by Pyramidal Image Processing. Computer
Graphics Forum (Conference Issue), 26(3):645–654.
Kraus, M. and Strengert, M. (2007b). Pyramid Filters Based
on Bilinear Interpolation. In Proceedings GRAPP
2007 (Volume GM/R), pages 21–28.
Lefebvre, S., Hornus, S., and Neyret, F. (2005). Octree Tex-
tures on the GPU. In Pharr, M., editor, GPU Gems 2,
pages 595–613.
Mitchell, D. P. (1987). Generating Antialiased Images at
Low Sampling Densities. In Proceedings of SIG-
GRAPH ’87, pages 65–72.
Strengert, M., Kraus, M., and Ertl, T. (2006). Pyramid
Methods in GPU-Based Image Processing. In Pro-
ceedings Vision, Modeling, and Visualization 2006,
pages 169–176.
GRAPP 2009 - International Conference on Computer Graphics Theory and Applications
184