CUDA implementation of Block-Matching 3D Filtering algorithm for image denoising

David Honzátko, Martin Kruliš


BM3D (Block-Matching and 3D Filtering) is one of the state-of-art image denoising methods. Efficient implementations of this method exist for the CPU; however, these implementations are time demanding. To answer this performance challenge and to make this algorithm applicable for real-time denoising, we have developed a CUDA-accelerated implementation presented as a form of library.

Where to get it

We are currently making some improvements and moving the repository to GitHub.

Source code of our first prototype can be downloaded below.


Contact email:



Research group at the department:

Parallel Architectures/Algorithms/Applications Research Group

Supporting research projects and grants:

GACR P103-14-14292P

The content of this web site is licensed under Creative Commons Attribution-NonCommercial 3.0 Czech Republic