1. Field of the Invention
The present invention relates to a two-dimensional noise reducer for video signals.
2. Description of the Related Art
Methods of reducing noise in video pictures are classified as two-dimensional if they use only the two spatial dimensions, and as three-dimensional if they also use the time dimension.
Three-dimensional noise reduction works well for stationary parts of a video picture. It is relatively easy to store one or more preceding frames in a frame buffer and detect noise in stationary parts of the current frame by comparing these parts with the preceding frames. For moving parts of the picture, however, it is necessary to add motion compensation by detecting motion vectors. This leads to complex algorithms, requiring extra hardware, and works well only under limited conditions. Particularly for pictures with high-speed motion, detecting the motion and finding the correct motion vectors remains a computationally challenging task.
A simpler method of noise reduction is noise coring: the removal of high-frequency signal components of low amplitude. This method can be practiced in two dimensions, making it applicable to moving pictures without the need for motion compensation, regardless of the motion speed. Noise coring has the drawback, however, of degrading the picture by removing low-amplitude fine detail as well as noise.
Another two-dimensional method, disclosed in Japanese Patent Application Publication No. 8-214192, processes each picture element (pixel) individually by averaging the pixel value with the values of other pixels located in directions in which there is no pixel with a greatly different value. That is, a pixel is averaged with other pixels located in all directions that show a certain degree of correlation with the pixel. This method turns out to be unreliable because of false correlation detection, leading to the inclusion of irrelevant pixels in the average value.
Despite the difficulties associated with motion compensation, a satisfactory alternative has yet to be found. There is an unmet need for a reliable two-dimensional noise reduction method that can avoid the loss of detail caused by noise coring.
An object of the present invention is to reduce noise reliably in both stationary and moving parts of a picture without requiring motion compensation or a frame buffer, and without causing needless loss of detail.
The present invention provides a noise reducer including a sum of absolute differences calculation circuit, a correlation direction decision circuit, and a variable-direction one-dimensional filter circuit.
The sum of absolute differences calculation circuit selects each pixel in an input video signal in turn as a pixel of interest and calculates sums of absolute differences between a central block of a predetermined size centered on the pixel of interest and neighboring blocks of the same size. A sum of absolute differences is calculated as a sum of absolute differences between values of pixels in corresponding positions in the central block and the neighboring block. One sum of absolute differences is calculated for each of the eight neighboring blocks centered on the pixels adjacent the pixel of interest above and below it, and to its left, right, upper right, lower right, upper left, and lower left.
The correlation direction decision circuit selects a direction of correlation indicated by a line extending from the pixel of interest through the center of the neighboring block having the minimum sum of absolute differences.
The variable-direction one-dimensional filter circuit calculates a weighted average of the pixel of interest and at least one pixel located in the correlation direction from the pixel of interest, and generates an output signal having the weighted average as the value of the pixel of interest.
Since only pixels in the same frame are processed, there is no need for motion detection or a frame buffer.
Noise reduction is reliable because the direction of correlation is determined from comparisons between blocks of pixels, rather than just by testing pixels in candidate directions.
Needless loss of detail is avoided because a pixel is averaged only with correlated pixels.
In the attached drawings:
Embodiments of the invention will now be described with reference to the attached drawings, in which like elements are indicated by like reference characters.
Referring to
A video signal such as a television signal is received at the input terminal 1 and supplied to the blocking circuit 2, which rearranges the signal data into a form suitable for two-dimensional processing.
The video signal input to the input terminal 1 represents a matrix of pixel values on a screen scanned one horizontal line at a time, the lines being scanned in order from top to bottom and the pixels in each line being scanned from left to right. One complete scan of the screen constitutes a frame. In each frame, the blocking circuit 2 selects the pixels one by one, the selected pixel becoming the current pixel of interest, and outputs the values of the pixels in a five-by-five block or matrix centered on the pixel of interest. This operation is synchronized with a pixel clock signal (not shown). In each pixel clock cycle, the blocking circuit 2 receives one pixel value from the input terminal 1 and outputs one five-by-five matrix of pixel values.
The position of a pixel on a screen is represented by horizontal and vertical integer coordinate values. The horizontal coordinate value increases by one per pixel from left to right; the vertical coordinate value increases by one per pixel from top to bottom.
Referring to
Referring to
In a variation of this structure, one-pixel delay element 8-1 is omitted; delay elements 9-1 and 8-6 are combined into a one-line-minus-four-pixel delay element; delay elements 9-2 and 8-11 are similarly combined; delay elements 9-3 and 8-16 are similarly combined; and delay elements 9-4 and 8-21 are similarly combined.
The five-by-five matrix in
The blocking circuit 2 supplies the pixel values of the twenty-five pixels in
The central block and eight neighboring blocks are illustrated in
This sum of absolute differences can also be written as follows:
The sums of absolute differences calculated for the other seven neighboring blocks can be expressed in a similar form. For the neighboring block BL(h+i, v+j) centered on pixel P(h+i, v+j), where i=−1, 0, or 1 and j=−1, 0, or 1, the sum of absolute differences is:
The correlation direction decision circuit 4 that performs these calculations has, for example, the structure shown in
In calculation unit 4-1 in
The calculation unit 4-2 in
In the correlation direction decision circuit 4, the sums of absolute differences are treated as representing the strength of the correlation between the pixel of interest P(h, v) and eight directions indicated by lines extending from the pixel of interest through the centers of the neighboring blocks. For example, SAD(h−1, v−1) represents the correlation with the upper left direction. A smaller sum of differences indicates a stronger correlation. The correlation direction decision circuit 4 selects the direction indicated by the smallest of the eight sums of differences as the direction of correlation of the pixel of interest, and outputs a signal DC indicating this direction to the variable-direction one-dimensional filter circuit 5.
The variable-direction one-dimensional filter circuit 5 receives the twenty-five pixel values output in parallel by the blocking circuit 2 and the direction of correlation signal DC output by the correlation direction decision circuit 4, takes a weighted average Pa of the value of the pixel of interest and the values of the two pixels closest to the pixel of interest in its direction of correlation, and outputs the result to the output terminal 6. Taking this weighted average is a type of one-dimensional filtering process.
The variable-direction one-dimensional filter circuit 5 has, for example, the structure shown in
The eight sets of three pixel values are input to respective filters 13-1 to 13-8. Filter 13-1 receives the pixel values P(h−2, v−2), P(h−1, v−1), and P(h, v) in set D1. Filter 13-2 receives the pixel values P(h, v−2), P(h, v−1), and P(h, v) in set D2. Filter 13-3 receives the pixel values P(h+2, v−2), P(h+1, v−1), and P(h, v) in set D3. Filter 13-4 receives the pixel values P(h−2, v), P(h−1, v), and P(h, v) in set D4. Filter 13-5 receives the pixel values P(h+2, v), P(h+1, v), and P(h, v) in set D5. Filter 13-6 receives the pixel values P(h−2, v+2), P(h−1, v+1), and P(h, v) in set D6. Filter 13-7 receives the pixel values P(h, v+2), P(h, v+1), and P(h, v) in set D7. Filter 13-8 receives the pixel values P(h+2, v+2), P(h+1, v+1), and P(h, v) in set D8.
Each one-dimensional filter multiplies the three pixel values it receives by predetermined weights and takes the sum of the three products. The pixel of interest has the greatest weight. For example, the pixel of interest may have a weight of 2/4 and the other two pixels in the set may have weights of ¼ each.
The selector 14 selects the weighted average calculated by one of the one-dimensional filters 13-1 to 13-8 according to the direction of correlation signal DC and outputs the selected weighted average Pa. If the direction of correlation is the upper left direction, corresponding to the pixels in set D1, the output of filter 13-1 is selected. If the direction of correlation is the upper direction, corresponding to the pixels in set D2, the output of filter 13-2 is selected. If the direction of correlation is the upper right direction, corresponding to the pixels in set D3, the output of filter 13-3 is selected. If the direction of correlation is the left direction, corresponding to the pixels in set D4, the output of filter 13-4 is selected. If the direction of correlation is the right direction, corresponding to the pixels in set D5, the output of filter 13-5 is selected. If the direction of correlation is the lower left direction, corresponding to the pixels in set D6, the output of filter 13-6 is selected. If the direction of correlation is the lower direction, corresponding to the pixels in set D7, the output of filter 13-7 is selected. If the direction of correlation is the lower right direction, corresponding to the pixels in set D8, the output of filter 13-8 is selected.
By using the sum of differences calculation to compare entire blocks of pixels, the first embodiment is able to determine the best direction of correlation with higher reliability than would be possible just by comparing the pixel of interest with other pixels in different directions, as in the Japanese Patent Application Publication cited above. The direction of correlation can be determined quickly because the sum of difference calculations can be carried out in parallel. Complex algorithms for distinguishing between stationary and moving parts of a picture and finding motion vectors for the moving parts are not needed. No frame buffer is required; the circuit in
Referring to
The switching control circuit 20 receives the sums of absolute differences SAD(h−1, v−1) to SAD(h+1, v+1) from the sum of absolute differences calculation circuit 3, decides whether the minimum sum of differences SADmin exceeds a predetermined threshold Tha, and outputs a result signal RCa indicating the result of this decision to the switching circuit 21. The switching control circuit 20 has, for example, the structure shown in
The switching circuit 21 receives the value of the pixel of interest P(h, v) from the blocking circuit 2 and the weighted average Pa output by the variable-direction one-dimensional filter circuit 5, selects one of these two inputs, and outputs the selected value to the output terminal 6. When the result signal RCa from the switching control circuit 20 indicates that the minimum sum of differences SADmin is equal to or less than the threshold Tha, the switching circuit 21 selects and outputs the weighted average Pa. When the result signal RCa indicates that the minimum sum of differences SADmin exceeds the threshold Tha, so that the pixel of interest does not have any identifiable direction of strong correlation, the switching circuit 21 selects and outputs the unmodified pixel value P(h, v).
The threshold Tha should be set to a value such that a larger sum of differences is more likely to be due to chance than to any true correlation.
When the minimum sum of differences SADmin is equal to or less than the threshold Tha, the second embodiment operates in the same way as the first embodiment. When the minimum sum of differences SADmin exceeds the threshold Tha, by leaving the pixel of interest unchanged, the second embodiment avoids image degradation that might be caused by averaging the pixel of interest with pixels to which it is not related. This situation may occur when, for example, the pixel of interest is near two or more edges located in different directions.
Referring to
The omnidirectional two-dimensional filter 30 receives the twenty-five pixel values P(h−2, v−2) to P(h+2, v+2) output from the blocking circuit 2, performs an omnidirectional two-dimensional filtering operation by multiplying each pixel value by a predetermined weight and adding the resulting products, and outputs the resulting sum Q. Examples of the filtering operation will be given below.
The switching control circuit 31 receives the sums of absolute differences SAD(h−1, v−1) to SAD(h+1, v+1) from the sum of absolute differences calculation circuit 3, compares the minimum sum of differences SADmin with a first threshold Tha, compares the maximum sum of differences SADmax with a second threshold Thb, which is less than the first threshold Tha, and outputs a control signal RCc to the switching circuit 32, indicating the result of these comparisons. The switching control circuit 31 has, for example, the structure shown in
The control signal RCc is given a first value when the maximum sum of differences SADmax is less than the second threshold Thb, a second value when the minimum sum of differences SADmin is greater than the first threshold Tha, and a third value when neither of these conditions is true, that is, when SADmin is equal to or less than the first threshold Tha and SADmax is equal to or greater than the second threshold Thb.
The switching circuit 32 receives the original value P(h, v) of the pixel of interest from the blocking circuit 2, the one-dimensionally filtered pixel value Pa from the variable-direction one-dimensional filter circuit 5, and the two-dimensionally filtered pixel value Q from the omnidirectional two-dimensional filter 30, selects one of these input values according to the control signal RCc received from the switching control circuit 31, and outputs the selected value Py to the output terminal 6. When the control signal RCc has the first value, indicating that SADmax is less than the second threshold Thb, the switching circuit 32 selects and outputs the two-dimensionally filtered value Q. When the control signal RCc has the second value, indicating that SADmin exceeds the first threshold Tha, the switching circuit 32 selects and outputs the original pixel value P(h, v), as in the second embodiment. When the control signal RCc has the third value, the switching circuit 32 selects and outputs the one-dimensionally filtered value Pa.
In the two-dimensional filtering operation performed by the omnidirectional two-dimensional filter 30, the pixel of interest has the greatest weight. The other pixels in the five-by-five matrix may have identical smaller weights, or they may have weights that decrease with increasing distance from the pixel of interest.
In one exemplary weighting scheme, the weight of the pixel of interest is 8/32 and the other pixels have weights of 1/32. The filtered value Q(h, v) is calculated as follows:
In another exemplary weighting scheme, the pixel of interest has a weight of 32/64, the eight pixels adjacent to the pixel of interest have weights of 2/64, and the other pixels have weights of 1/64. The filtered value Q(h, v) is calculated as follows:
In yet another exemplary weighting scheme, the pixel of interest has a weight of 96/128, the eight pixels adjacent to the pixel of interest have weights of 2/128, and the other pixels have weights of 1/128. The filtered value Q(h, v) is calculated as follows:
The first of these three exemplary weighting schemes has the strongest filtering effect, and the last has the least filtering effect. The same weighting scheme may be used for all pictures, or the weighting scheme may be changed according to the picture content, by providing an additional circuit to detect picture features or characteristics and by switching filters according to the detected features or characteristics.
When the maximum sum of differences SADmax is less than the second threshold Thb, all eight sums of differences are small, so the pixel of interest is correlated with nearby pixels in all directions, and noise can be reduced more effectively by omnidirectional two-dimensional filtering than by one-dimensional filtering.
Without employing motion detection or other complex algorithms, the third embodiment is able to select two-dimensional filtering, one-dimensional filtering, or no filtering on a pixel-by-pixel basis to reduce noise effectively without the creation of needless artifacts or the needless loss of detail.
The present invention can be used to reduce picture noise not only in television sets, but in a wide range of video display devices, including liquid crystal displays and monitors.
A few variations of the preceding embodiments have been mentioned above, but those skilled in the art will recognize that further variations are possible within the scope of the invention, which is defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2007-075877 | Mar 2007 | JP | national |
2007-297668 | Nov 2007 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5442462 | Guissin | Aug 1995 | A |
5497338 | Miyake et al. | Mar 1996 | A |
5682438 | Kojima et al. | Oct 1997 | A |
5892592 | Adachi et al. | Apr 1999 | A |
6636630 | Adachi et al. | Oct 2003 | B1 |
6714242 | Kobayashi | Mar 2004 | B1 |
7031498 | Aldrich et al. | Apr 2006 | B2 |
7110612 | Wang | Sep 2006 | B1 |
7176983 | Chiang et al. | Feb 2007 | B2 |
7218354 | Tanaka | May 2007 | B2 |
7227897 | Nishibori et al. | Jun 2007 | B2 |
7336710 | Kim et al. | Feb 2008 | B2 |
20030156301 | Kempf et al. | Aug 2003 | A1 |
20030189671 | Amano | Oct 2003 | A1 |
20040012720 | Alvarez | Jan 2004 | A1 |
20050110907 | Jung | May 2005 | A1 |
20060245499 | Chiu et al. | Nov 2006 | A1 |
20070196018 | Chen et al. | Aug 2007 | A1 |
20080181523 | Yoo et al. | Jul 2008 | A1 |
20080218630 | Kempf et al. | Sep 2008 | A1 |
20080231753 | Fujiwara et al. | Sep 2008 | A1 |
20090041371 | Hasegawa | Feb 2009 | A1 |
20100086202 | Omata et al. | Apr 2010 | A1 |
Number | Date | Country |
---|---|---|
5-103226 | Apr 1993 | JP |
8-214192 | Aug 1996 | JP |
10-178560 | Jun 1998 | JP |
2005-63097 | Mar 2005 | JP |
2006-115078 | Apr 2006 | JP |
2006-115268 | Apr 2006 | JP |
2006-165609 | Jun 2006 | JP |
2007-141176 | Jun 2007 | JP |
Number | Date | Country | |
---|---|---|---|
20080231753 A1 | Sep 2008 | US |