# Effective Implementation of Edge-Preserving Filtering on CPU Microarchitectures
## 7 Experimental Results
### Influence of Denormalized Numbers
The speedup ratio is shown regarding single precision (32F) and double precision (64F) floating point numbers. If the ratio exceeds one, all implementation of the method are faster than the straightforward implementation (none). \(\sigma_{r}=4\), \(\sigma_{s}=6\), \(r=3\sigma_{r}\). Image size is \(768\times 512\). Figure 3: Computational time of the bilateral filter on Intel Core i9 7980 XE: (**a**) SSE; (**b**) AVX/AVX2; (**c**) AVX512. The computational times are shown in terms of single precision (32F) and double precision (64F) floating point numbers. \(\sigma_{r}=4\), \(\sigma_{s}=6\), \(r=3\sigma_{r}\). Image size is \(768\times 512\). Figure 5: Computational time of Gaussian range filter on Intel Core i9 7980 XE: (**a**) SSE; (**b**) AVX/AVX2; (**c**) AVX512. The computational times are shown in terms of single precision (32F) and double precision (64F) floating point numbers. \(\sigma_{r}=4\), and \(r=18\). Image size is \(768\times 512\). Figure 6: Speedup ratio of Gaussian range filter on Intel Core i9 7980 XE: (**a**) SSE; (**b**) AVX/AVX2; (**c**) AVX512. The speedup ratio is shown in single precision (32F) and double precision (64F) floating point numbers. If the ratio exceeds one, all implementation of the method are faster than the straightforward implementation (none). \(\sigma_{r}=4\), and \(r=18\). Image size is \(768\times 512\). Figure 8: Speedup ratio of non-local means filter on Intel Core i9 7980 XE: (**a**) SSE; (**b**) AVX/AVX2; (**c**) AVX512. The speedup ratio is shown regarding single precision (32F) and double precision (64F) floating point numbers. If the ratio exceeds one, all implementation of the method are faster than the straightforward implementation (none). \(h=4\sqrt{2}\); template window size is \((3,3)\), and search window size is \((37,37)\). Image size is \(768\times 512\). Figure 7: Computational time of non-local means filter on Intel Core i9 7980 XE: (**a**) SSE; (**b**) AVX/AVX2; (**c**) AVX512. The computational times are shown in terms of single precision (32F) and double precision (64F) floating point numbers. \(h=4\sqrt{2}\), template window size is \((3,3)\), and search window size is \((37,37)\). Image size is \(768\times 512\). Figure 10: Speedup ratio of bilateral non-local means filter on Intel Core i9 7980 XE: **(a)** SSE; **(b)** AVX/AVX2; **(c)** AVX512. The speedup ratio is shown regarding single precision (32F) and double precision (64F) floating point numbers. If the ratio exceeds one, all implementation of the method are faster than the straightforward implementation (none). \(\sigma_{s}=6\), \(h=4\sqrt{2}\), template window size is \((3,3)\), and search window size is \((2\times 3\sigma_{s}+1,2\times 3\sigma_{s}+1)\). Image size is \(768\times 512\). Figure 9: Computational time of bilateral non-local means filter on Intel Core i9 7980 XE: **(a)** SSE; **(b)** AVX/AVX2; **(c)** AVX512. The computational times are shown in terms of single precision (32F) and double precision (64F) floating point numbers. \(\sigma_{s}=6\), \(h=4\sqrt{2}\); template window size is \((3,3)\), and search window size is \((2\times 3\sigma_{s}+1,2\times 3\sigma_{s}+1)\). Image size is \(768\times 512\). Tables 3-6 show the speedup ratio of the MC/RC implementation between the proposed methods and the none implementation for each set of smoothing parameters. Note that when \(\sigma_{s}\), \(r\), and the search window size are larger, the amount of processing increases. The tables indicate that the proposed methods are 2-5-times faster than the none implementation. When the smoothing parameters are small and the amount of processing is large, the speedup ratio is high. Therefore, the influence of denormalized numbers is strong when the degree of smoothing is small and the amount of processing is large.