BM3D is a denoising algorithm that uses block matching and collaborative filtering in 3D transform domains. It finds similar 2D image fragments, stacks them into 3D groups, applies a 3D transformation, shrinks the transform coefficients to attenuate noise, and inverse transforms to estimate denoised fragments. BM3D improves on previous methods by exploiting inter-fragment correlation both within and between similar image blocks grouped together. It provides multiple estimates for each pixel by processing overlapping blocks, then fuses the estimates to produce the final denoised image.