Directional spatial video noise reduction
First Claim
1. A method of reducing spatial noise in an image having a plurality of pixels, the pixels being arranged in a plurality of (h) rows and (w) columns, comprising:
- providing a set of three 64 bit registers, each register representing eight horizontally adjacent pixel values from one of three respective vertically adjacent image rows;
computing eight sets of directional high-pass values, one for each horizontal pixel position represented by said registers; and
computing directionally smoothed low pass pixel values by combining said high-pass values with image pixel values to produce directionally weighted sums; and
using the weighted sums to provide a reduced spatial noise image.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of reducing spatial noise in an image. Low-pass (smoothing) filters are calculated simultaneously from three successive image rows. Three blocks (m1, m2, m3) are associated with the three successive image rows, and the blocks are processed in row-major order. This implementation is applicable to both luminance and chrominance. The number of smoothing parameters is reduced to one. The technique is applicable to both luminance and chrominance. Directional mapping is used. Extension of the technique to spatial filtering using a 5×5 neighborhood (using five successive image rows) is described. Embodiments of the method using the MMX instruction set are described.
125 Citations
20 Claims
-
1. A method of reducing spatial noise in an image having a plurality of pixels, the pixels being arranged in a plurality of (h) rows and (w) columns, comprising:
-
providing a set of three 64 bit registers, each register representing eight horizontally adjacent pixel values from one of three respective vertically adjacent image rows; computing eight sets of directional high-pass values, one for each horizontal pixel position represented by said registers; and computing directionally smoothed low pass pixel values by combining said high-pass values with image pixel values to produce directionally weighted sums; and using the weighted sums to provide a reduced spatial noise image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of reducing spatial noise in an image having a plurality of pixels, the pixels being arranged in a plurality of (h) rows and (w) columns, comprising:
-
providing a set of 64 bit registers for representing eight 8-bit pixel values, said registers including a first (up) register for representing eight horizontally adjacent pixel values from a first image row;
a second (mid) register for representing eight horizontally adjacent pixel values from a second image row, said second image row pixels occurring vertically adjacent to and horizontally aligned with said first row pixels; and
a third (down) register for representing eight horizontally adjacent pixel values from a third image row, said third image row pixels occurring vertically adjacent to and horizontally aligned with said second image row pixels;loading said first (up), second (mid) and third (down) registers with pixel values from three vertically adjacent image row and saving previous register contents; computing eight average values for corresponding first and third image row pixels in said first (up) and third (down) registers; computing eight maxima and eight minima between said average values and corresponding second image row pixels in said second (mid) register; determining eight high-pass absolute values by subtracting said minima from said maxima; setting values of eight sign bytes such that if corresponding second row pixel values and minima are equal, a corresponding sign byte is set to all 1'"'"'s, otherwise the corresponding sign byte is set to all 0'"'"'s; shifting the first (up) and third (down) registers for left diagonal alignment of pixel values; calculating left diagonal high-pass absolute values and signs; shifting the first (up) and third (down) registers for right diagonal alignment of pixel values; calculating right diagonal high-pass absolute values and signs; shifting said second (mid) register for horizontal alignment of pixel values; calculating horizontal high-pass absolute values and signs; clearing (zeroing) high-pass values to exclude from low pass filters; clearing (zeroing) sign bytes for high pass values equal to zero; computing low pass values for four upper bytes by summing four corresponding high-pass values and subtracting from four corresponding second image row pixel values in said second (mid) register; computing low pass values for four lower bytes by summing four corresponding high-pass values and subtracting from four corresponding second image row pixel values in said second (mid) register; and packing and storing said low pass values into said first register.
-
-
11. A method of reducing spatial noise in an image having a plurality of pixels, the pixels being arranged in a plurality of (h) rows and (w) columns, comprising:
-
calculating a plurality of high-pass filter values for a number of pixels based upon surrounding pixel values in a 5×
5 pixel area surrounding each pixel for which a high-pass filter value is to be calculated;determining directionality information for each from the high-pass filter values for each pixel; determining directional low-pass (smoothing) filter values for each pixel based upon the directionality information for each pixel; applying the low-pass filter values (smoothing) to each pixel according to pixel values in the 5×
5 pixel area surrounding each pixel; anddisplaying the spatially reduced noise image. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification