INTRODUCTION
When acquired and transmitted, images may be contaminated by noises. Therefore, images are usually denoised [Lu, Jian, et al., 2008; Sun, Xiaoli, Min Li, Weiqiang Zhang, 2011; Chen, Bo, et al., 2012; Han, Yu, et al., 2014; Wang, Jiefei, et al., 2016] before being displayed. A Gaussian filter can efficiently eliminate noises from images, especially addictive image noises, like Gaussian white noise. However, it may destroy edges of
an image while denosing. The filter implements the image filtering task regardless of image content. Specifically, its weights for averaging nearby pixels over a pixel depend only on Euclidian distances of the nearby pixels to this central pixel. They are independent of intensities of pixels of an image in processing. Thus, the Gaussian filter would result in smoothed edges as it is across edges. To overcome this shortcoming of the filter, it should depend on the image content, i.e. the weights should be given not only by pixel position but also by pixel intensities of an image. For this purpose, edge-preserving filters have been developed and widely used for image processing. It can well preserve edges of objects in an image while denosing it.
A bilateral filter is the most popular of edge-preserving filters [Tomasi, Manduchi, 1998; Chen Xu, Min Li, Xiaoli Sun, 2013]. It is a non-linear, edge-preserving and noise-reducing smoothing filter for images. During image processing, the intensity value at each pixel in an image is replaced by a weighted average of intensity values of nearby pixels. The weights depend not only on the Euclidean distance of nearby pixels to the central pixel, but also on intensity values of nearby pix-els. We can thus preserve sharp edges in an image while denosing it. Despite being so popular, the bilateral filter has a number of flaws. It may suffer from “gradient reversal” artifacts, as discussed in [Durand, Dorsey, 2002; Bae, Paris, Durand, 2006]. The reason is that when a pixel (often on an edge) has few similar pixels around it, the Gaussian weighted average is unstable. In this case, the filter results may exhibit unwanted profiles around edges [He, Sun, Tang, 2013]. Another flaw of this filter is its high computational complexity.



