The non-local means (NLM) denoising method replaces each pixel by the weighted average of pixels with the sur-rounding neighborhoods. In this paper we employ a cosine weighting function instead of the original exponential func-tion to improve the efficiency of the NLM denoising method. The cosine function outperforms in the high level noise more than low level noise. To increase the performance more in the low level noise we calculate the neighborhood si-milarity weights in a lower-dimensional subspace using singular value decomposition (SVD). Experimental compari-sons between the proposed modifications against the original NLM algorithm demonstrate its superior denoising per-formance in terms of peak signal to noise ratio (PSNR) and histogram, using various test images corrupted by additive white Gaussian noise (AWGN).
 A. Buades, B. Coll and J.-M. Morel, “A Review of Image Denoising Algorithms, with a New One,” SIAM Journal on Multiscale Modeling and Simulation, Vol. 4, No. 2, 2005, pp. 490-530. http://dx.doi.org/10.1137/040616024
 A. A. Efros and T. K. Leung, “Texture Synthesis by Nonparametric Sampling,” Proceedings of the IEEE International Conference on Computer Vision, Corfu, Greece, September 1999, pp. 1033-1038. http://dx.doi.org/10.1109/ICCV.1999.790383
 E. Garcia, “SVD and LSI Tutorial 3: Computing the Full SVD of a Matrix,” 2006. http://www.miislita.com/information-retrieval-tutorial/svd-lsitutorial-3-full-svd.html