We propose a new bilateral filtering algorithm with computational
complexity invariant to filter kernel size, socalled
O(1) or constant time in the literature. By showing
that a bilateral filter can be decomposed into a number of
constant time spatial filters, our method yields a new class
of constant time bilateral filters that can have arbitrary spatial1
and arbitrary range kernels. In contrast, the current
available constant time algorithm requires the use of specific
spatial or specific range kernels. Also, our algorithm
lends itself to a parallel implementation leading to the first
real-time O(1) algorithm that we know of. Meanwhile, our
algorithm yields higher quality results since we are effectively
quantizing the range function instead of quantizing
both the range function and the input image. Empirical experiments
show that our algorithm not only gives higher
PSNR, but is about 10× faster than the state-of-the-art. It
also has a small memory footprint, needed ...