|
AbstractWith the introduction of high definition video formats (HDTV), it has become necessary to develop efficient methods and algorithms which achieve better compression rates and real-time decompression for streaming over low-bandwidth networks. In this work we focus on accelerating a modern, wavelet-based video codec, the Dirac Video Codec (DVC), by mapping most computations involved to graphics hardware. We show that these computations can be performed efficiently on modern, programmable GPUs, regarded as massively parallel co-processors through NVidia's CUDA compute paradigm. We implemented a number of widely useful CUDA computational kernels such as: overlapped block motion compensation, wavelet transforms based on the lifting scheme, and frame arithmetic. Our efficient motion compensation and frame arithmetic implementations can be used to accelerate other video codecs as well. Additionally, wavelet lifting has a wide range of applications ranging from image denoising to volume rendering. By implementing all these steps of the DVC decompressor, we achieved considerable speed-up compared to an optimized CPU implementation.
PaperA paper that explains the methods we came up with in detail has been submitted. As soon as it is accepted, the link will be put here.
Features- Large speedup in Dirac video decoding: allows for smooth, high-definition video decoding on systems that were incapable of this before
- GPU-Accelerated operations: subband transfer, wavelet transforms, motion compensation and frame arithmethic
- Fully asynchronous and parallel processing: the GPU works in tandem with the CPU
Requirements- NVidia CUDA Toolkit 1.1, and a matching driver installed on the system
- NVidia GeForce 8xxx series video card
- GStreamer multimedia framework (recommended)
- liboil library for vectorized inner loops
DownloadDownload the source tarball here.
Version: 4 (latest) (based on schrodinger SVN revision 512)
GITYou can always get the latest, cutting-edge version using the GIT version management system:
git clone git://diracvideo.schleef.org/git/schroedinger.gitgit checkout cudaLinksAuthorsPaper:
- Wladimir J. van der Laan
- Andrei C. Jalba
- Jos B.T.M. Roerdink
Software:
|
|