The present invention relates generally to video processing, and more particularly, to an algorithm for reducing both block artifacts and ringing artifacts in decoded video.
Digital video compression exploits spatial and temporal correlation or redundancy in image data to reduce the amount of data required to represent video signals. In lossless compression, after decoding, the compressed data is identical to the uncompressed data. In that case, the quality is fixed and the amount of data required to transmit the compressed information will vary.
In most consumer applications (e.g. DVD, digital broadcast, etc,) the average bit rate is fixed. Hence, the quality will vary depending on the complexity of the video sequence. This is an example of the “lossy” encoding schemes. Such exhibit varying degrees of image degradation or artifacts depending on the fidelity of the encoding scheme. Such artifacts include blocking, ringing, and mosquito noise.
Blocking artifacts result from the image being divided into blocks of 8 lines by 8 pixels prior to encoding. Since the blocks are encoded individually, a coarse quantization utilized to reduce the bit rate will lead to the visibility of the block structure. As a result, a significant part of the image is lost.
The reduction of coding artifacts is important for image enhancement. Algorithms do exist that reduce such artifacts. Algorithms that reduce blocking artifacts generally depend on the ability to first detect the edges of the blocks and then measure the degree of blockiness. This is done by looking at discontinuities occurring at the edges of the blocks, for which purpose the grid size and position have to be known.
However, existing algorithms have their limitations. For example, any geometrical transformation of the image after decoding (e.g. scaling) will make it difficult to retrieve the exact block structure. Also, an algorithm that reduces blocking artifacts does not, in general, reduce other artifacts, especially ringing. Hence it is advantageous to find an algorithm that can reduce both blocking and ringing artifacts.
In view of the above, the present invention is directed to a method of processing a video signal. In one example, the method includes the video signal being split into a low frequency signal and a high frequency signal. The low frequency signal is processed to reduce ringing artifacts. The low frequency processing may include low pass filtering or another suitable technique. The high frequency signal is processed to reduce blocking artifacts. The high frequency processing may include median filtering, low pass filtering, temporal low pass filtering, spatial low pass filtering or another suitable technique. Further, the low frequency signal and high frequency signal are then combined to form an output signal.
In another example, the method further includes a flat area being detected in the video signal. In this example, the high and low frequency processing only is enabled for the flat area detected.
In one example, a flat area is detected by a number of steps. Such steps include a reference pixel and a predetermined number of neighboring pixels being selected. The difference between values of the reference pixel and each of the neighboring pixels is calculated. The difference between the values of the reference pixel and each of the neighboring pixels is summed producing a pixel sum. The pixel sum is divided by the predetermined number of neighboring pixels producing a pixel average. Further, the pixel average is then compared to a predetermined number.
Referring now to the drawings where like reference numbers represent corresponding parts throughout:
The present invention is directed to an algorithm that reduces both block artifacts and ringing artifacts in decoded video. As previously described, algorithms do exist that reduce coding artifacts. However, these existing algorithms have limitations. For example, an algorithm that reduces blocking artifacts does not, in general, reduce other artifacts such as ringing.
One example of the algorithm according to the present invention is shown in
As can be seen from
The outputs of the band-splitter 2 are provided to a low frequency processor 4 and a high frequency processor 6. During operation, the low frequency processor 4 processes the low frequency signal in order to reduce ringing artifacts. Further, the high frequency processor 6 processes the high frequency signal to reduce blocking artifacts. The low frequency processor 4 may be embodied by a low pass filter or any other suitable technique. The high frequency processor 6 may be embodied by a median filter, low pass filter, temporal low pass filter, spatial low pass filter or any other suitable technique.
As can be further seen, the outputs of the low and high frequency processors 4,6 are provided to an adder 8. The adder 8 combines the low and high frequency signals that were previously separately processed into an output video signal Yout. Further, the adder 8 will also limit the values of the output signal Yout. If the input signal Yin had eight-bit values, the output signal Yout would be limited to a value of 0-255. If the input signal Yin had nine-bit values, the output signal Yout would be limited to a value of 0-511. If the input signal Yin had ten-bit values, the output signal Yout would be limited to a value of 0-1023.
Another example of the algorithm according to the present invention is shown in
During operation, the low pass filter 10 will filter the input signal Yin to produce the low frequency signal. The adder 12 than adds the negative value of the low frequency signal to the input signal Yin to produce the high frequency signal. The low pass filter 10 may be implemented by a nine tap 2-D filter with filter coefficients of 1/16, 1/16, 1/16, 1/16, ½, 1/16, 1/16, 1/16 and 1/16.
In another example, the band splitter 2 may be implemented by a 2D-high pass filter instead of the low pass filter. In this example, the high pass filter will produce the high frequency signal from the input signal and the low frequency signal will be produced by subtracting the high frequency signal from the input signal.
Referring back to
In this example, the high frequency processor 6 is implemented by a median filter. As previously described, the high frequency processor 6 processes the high frequency signal to reduce blocking artifacts. Thus, during operation, the median filter 6 will process the high frequency in order to reduce the blocking artifacts.
The median filter processing consists of looking at pixels in both the horizontal and vertical direction and picking the pixels with the middle value. In a three tap median filter, a reference pixel and two neighboring pixels are ranked and the reference pixel takes the value that is in the middle. For example, if the reference pixel has a value of 96 and the neighboring pixels have a value of 122 and 133, the value of the reference pixel will be changed to 122 since it is in the middle. This is done in both the horizontal and vertical direction.
In the example of
As can be seen, another low pass filter 14 is included to filter the input signal Yin. The low pass filter 14 removes any noise or disturbances before the input signal reaches the flat area detector 16. The low pass filter 4 may be implemented by a nine tap 2-D filter with filter coefficients of 1/16, ⅛, 1/16, ⅛, ¼, ⅛, 1/16, ⅛ and 1/16.
As previously described, the flat area detector 16 detects flat areas in the input signal Yin. A flat area corresponds to an area where the difference between neighboring pixels is low. During operation, if a flat area is detected, the flat area detector 16 will provide an enabling signal (Fad_on) in order to enable the low pass filter 4 and median filter 6. Thus, the low pass filter 4 and median filter 6 will process the pixels associated with the flat area detected. If a flat area is not detected, the low pass filter 4 and median filter 6 will not be enabled. Therefore, the low and high frequency signals will just be passed through unchanged.
In order to detect a flat area, areas in input video are found where the difference between the neighboring pixels is low. One example of how do detect a flat area is shown in
Devi=|Rpix−Pixi| for i ε [0, 3] (1)
The sum of all deviations is calculated, as follows:
The average of the deviations is then calculated, as follows:
AvSumDev=SumDev/4 (3)
The average of the deviations AvSumDev is a value that represents the probability an area is a flat area. The AvSumDev is then compared to a threshold. If the AvSumDev is below the threshold, then it is a flat area. If the AvSumDev is above the threshold, then it is not a flat area. In one example, the value six (6) was used as a threshold. However, if a noise estimator is available, the output of the noise estimator to control this threshold.
One example of a device according to the present invention is shown in
The input/output devices 24, processor 18 and memory 20 communicate over the bus 22. The input video signal input signal is processed in accordance with one or more software programs stored in memory 20 and executed by processor 18 in order to generate an output video signal. This output video signal can be shown on the display device 26.
In particular, the software programs stored in the memory 14 may include a decoder. As previously mentioned, any block based coding scheme may be used. Therefore, the decoder stored in memory may be a JPEG, MPEG-1, MPEG-2, MPEG-4, H.261, H.263 or H.264 decoder.
Further, the software programs in the memory 20 would also include the algorithm that reduces both block artifacts and ringing artifacts as previously described and shown in
While the present invention has been described above in terms of specific examples, it is to be understood that the invention is not intended to be confined or limited to the examples disclosed herein. Therefore, the present invention is intended to cover various structures and modifications thereof included within the spirit and scope of the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB05/51586 | 5/16/2005 | WO | 10/18/2006 |
Number | Date | Country | |
---|---|---|---|
60572211 | May 2004 | US |