1. A method, implemented in an image processor apparatus, for reducing noise and preserving contrast of an image to be displayed, the image having pixels, comprising: (a) comparing a value of a first pixel to values of a set of other pixels, wherein the first pixel and the set of other pixels are each of a first color; (b) comparing values of pixels neighboring the first pixel to values of further pixels neighboring the set of other pixels, wherein the pixels neighboring the first pixel and the further pixels neighboring the set of other pixels are one of the first color, a second color, and a third color; (c) determining, for each pixel in the set of other pixels, a weight based on results of steps (a) and (b); (d) calculating a de-noised pixel value based on the weights of each pixel in the set of other pixels; and (e) replacing the value of the first pixel with the de-noised pixel value.