Patent ID: 7412110

Claim:
A computer-implemented method for filtering an image including a plurality of pixels, the method comprising: receiving a forward kernel centered at a first pixel in the image, the forward kernel assigning forward weights to pixels in a neighborhood surrounding the first pixel; specifying a backward kernel centered at a second pixel within the neighborhood surrounding the first pixel based on a local attribute of the image at the second pixel, the backward kernel assigning backward weights to pixels in a neighborhood surrounding the second pixel; determining a first convolution weight of the second pixel based on the backward kernel and the forward kernel, wherein determining the first convolution weight of the second pixel includes, determining a forward weight assigned to the second pixel by the forward kernel, determining a backward weight assigned to the first pixel by the backward kernel, and using the forward weight and the backward weight to determine the first convolution weight of the second pixel by multiplying the forward weight and the backward weight; and using the first convolution weight and a pixel value of the second pixel to generate a new value of the first pixel.