# Parallelized Matrix Factorization for fast BTF Compression

## 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

## 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.} }