Parallelized Matrix Factorization for fast BTF Compression

In proceedings of Eurographics Symposium on Parallel Graphics and Visualization, pages 25-32, Mar. 2009
 

Abstract

Dimensionality reduction methods like Principal Component Analysis (PCA) have become commonplace for the compression of large datasets in computer graphics. One important application is the compression of Bidirectional Texture Functions (BTF). However, the use of such techniques has still many limitations that arise from the large size of the input data which results in impractically high compression times. In this paper, we address these shortcomings and present a method which allows for efficient parallelized computation of the PCA of a large BTF matrix. The matrix is first split into several blocks for which the PCA can be performed independently and thus in parallel. We scale the single subproblems in such a way, that they can be solved in-core using the EM-PCA algorithm. This allows us to perform the calculation on current GPUs exploiting their massive parallel computing power. The eigenspaces determined for the individual blocks are then merged to obtain the PCA of the whole dataset. This way nearly arbitrarily sized matrices can be processed considerably faster than by serial algorithms. Thus, BTFs with much higher spatial and angular resolution can be compressed in reasonable time.

Sample implementation

The source code can be obtained from this page.

Images

Download Paper

Download Paper

Bibtex

@INPROCEEDINGS{ruiters-2009-parallelized,
     author = {Ruiters, Roland and Rump, Martin and Klein, Reinhard},
      pages = {25--32},
      title = {Parallelized Matrix Factorization for fast BTF Compression},
  booktitle = {Eurographics Symposium on Parallel Graphics and Visualization},
       year = {2009},
      month = mar,
   abstract = {Dimensionality reduction methods like Principal Component Analysis (PCA) have become commonplace for
               the compression of large datasets in computer graphics. One important application is the compression
               of Bidirectional Texture Functions (BTF). However, the use of such techniques has still many
               limitations that arise from the large size of the input data which results in impractically high
               compression times. In this paper, we address these shortcomings and present a method which allows
               for efficient parallelized computation of the PCA of a large BTF matrix. The matrix is first split
               into several blocks for which the PCA can be performed  independently and thus in parallel. We scale
               the single subproblems in such a way, that they can be solved in-core using the EM-PCA algorithm.
               This allows us to perform the calculation on current GPUs exploiting their massive parallel
               computing power. The eigenspaces determined for the individual blocks are then merged to obtain the
               PCA of the whole dataset. This way nearly arbitrarily sized matrices can be processed considerably
               faster than by serial algorithms. Thus, BTFs with much higher spatial and angular resolution can be
               compressed in reasonable time.}
}