1. A system for filtering an image using a bilateral filter, said system comprising: a receiver, for receiving an image, said image having a plurality of pixels; and a bilateral filter, wherein said bilateral filter is run in constant time and comprises: a pixel value range determinor configured to determine a range of pixel values of said plurality of pixels; and a spatial filter configured to spatially filter at least one of said plurality of pixels, wherein said spatial filter is further configured to perform over a plurality of pixel values in said range of pixel values; and a filter selector configured to select a bilateral filter value of a plurality of bilateral filter values.