## 6 Experimental Results
Where LUTs are used, the implementation of pixel loop unrolling is efficient. However, where \(r\) is large, cache-missing occurs and the speed decreases. Figure 11: The speedup ratio of bilateral filtering (BF) with respect to the kernel radius of FIR filtering. (**a**) Full sample in weight computation; (**b**) 1/4 subsample in weight computation; (**c**) 1/16 subsample in weight computation; (**d**) Full sample in LUT; (**e**) 1/4 subsample in LUT; (**f**) 1/16 subsample in LUT. If the ratio exceeds 1, the given pattern is faster than the kernel loop vectorization. Figure 10: Processing time for bilateral filtering (BF) with respect to the kernel radius of FIR filtering. (**a**) Full sample in weight computation; (**b**) 1/4 subsample in weight computation; (**c**) 1/16 subsample in weight computation; (**d**) Full sample in LUT; (**e**) 1/4 subsample in LUT; (**f**) 1/16 subsample in LUT. Note that arbitrary kernel loop unrolling is used instead of kernel loop unrolling in kernel-subsampling conditions. Figures 14 and 15 present the results of the RKS-GRF. The two types of the proposed pattern have the greatest speed of all the patterns. The two types of the proposed pattern continuously access reference pixels. However, other vectorization patterns cannot continuously access reference pixels. In particular, pixel loop unrolling is the most affected by this. Figure 12: Processing time for adaptive Gaussian filtering (AGF) with respect to the kernel radius of FIR filtering. (**a**) Full sample in weight computation; (**b**) \(1/4\) subsample in weight computation; (**c**) \(1/16\) subsample in weight computation; (**d**) Full sample in LUT; (**e**) \(1/4\) subsample in LUT; (**f**) \(1/16\) subsample in LUT. Note that arbitrary kernel loop unrolling is used instead of kernel loop unrolling in the kernel-subsampling conditions. Figure 13: The speedup ratio for adaptive Gaussian filtering (AGF) with respect to kernel radius of FIR filtering. (**a**) Full sample in weight computation; (**b**) \(1/4\) subsample in weight computation; (**c**) \(1/16\) subsample in weight computation; (**d**) Full sample in LUT; (**e**) \(1/4\) subsample in LUT; (**f**) \(1/16\) subsample in LUT. If the ratio exceeds \(1\), this pattern is faster than the kernel loop vectorization. Figures 16 and 17 present the results of the RKS-BF. Kernel loop vectorization is the fastest pattern. Pixel loop vectorization is slower than kernel loop vectorization. Pixel loop vectorization and pixel loop unrolling discontinuously access the spatial LUTs. Kernel loop vectorization and kernel loop unrolling continuously access spatial LUT. Figure 14: Processing time for randomly-kernel-subsampled Gaussian range filtering (RKS-GRF) with respect to the kernel radius of FIR filtering. (**a**) 1/4 subsample in weight computation; (**b**) 1/16 subsample in weight computation; (**c**) 1/4 subsample in LUT; (**d**) 1/16 subsample in LUT. Arbitrary pixel loop unrolling and arbitrary kernel loop unrolling are used in the place of pixel loop unrolling and kernel loop unrolling, respectively. Figure 15: The speedup ratio of randomly-kernel-subsampled Gaussian range filtering (RKS-GRF) with respect to the kernel radius of FIR filtering. (**a**) 1/4 subsample in weight computation; (**b**) 1/16 subsample in weight computation; (**c**) 1/4 subsample in LUT; (**d**) 1/16 subsample in LUT. If the ratio exceeds 1, the pattern is faster than kernel loop vectorization. Figures 18 and 19 present the results of the RKS-AGF. These figures indicate that the fastest pattern is kernel loop vectorization. The kernel loop vectorization continuously accesses reference pixels and  
Figure 16: Processing time for randomly-kernel-subsampled bilateral filtering (RKS-BF) with respect to the kernel radius of FIR filtering. (**a**) 1/4 subsample in weight computation; (**b**) 1/16 subsample in weight computation; (**c**) 1/4 subsample in LUT; (**d**) 1/16 subsample in LUT.