1. A computer-implemented process for reducing noise in a digital image or video frame, comprising: using a computing device to perform the following process actions: for each of a prescribed sequence of shift positions and for each of a prescribed set of sites in the digital image or video frame at each shift position, computing a squared difference value between the values of sites associated with corresponding site locations in prescribed-sized patches centered respectively on the site under consideration and a site location that the site under consideration would occupy if shifted in accordance with a currently shift position, computing a prefix sum value based on the squared difference values, computing a weight factor comprising applying a prescribed function to prefix sum values associated with sites in said prescribed-sized patch centered on the site under consideration, and computing a current denoised site value comprising applying the weight factor last computed for the site under consideration to a value originally assigned to a site in the digital image or video frame which the site under consideration would occupy if shifted in accordance with a current shift position, and adding the result to the denoised site value currently assigned to the site under consideration, wherein the denoised site value of a site is initially set to zero; and for each of the prescribed set of sites in the digital image or video frame, applying a normalizing weighting factor computed for the site under consideration to the last computed denoised value of the site under consideration.