The technical field of this invention is video image decoding.
Discrete cosine transform (DCT) based data compression techniques, e.g. JPEG and MPEG, are widely used in the field of video/image processing. However, annoying effects resulting from ringing, block noise, and other types of noise occurrences are known to appear in compressed images with low bit rates. Post-processing is often applied to the output images to reduce these artifacts to enhance the image quality. Although these post-processing techniques reduce some noise components, they are often overly complex or inadequate to restore high image quality.
Conventional linear filters are commonly used to eliminate high frequency components of decoded image. Since most noise sources have strong contributions in the high frequency spectrum, low pass filtering reduces the noise artifacts. However, low pass filtering removes image detail, which also has high frequency spectrum contributions. The result of low pass filtering is sometimes an unduly dull output image.
Wavelet analysis is employed to reduce the artifacts in DCT-based compressed images. This analysis often produces high quality output images but often requires costly complex computational resources.
The present invention is a novel post-processing method, which reduces the noise artifacts in the decoded images of DCT-based compressed images. The method applies appropriate filtering to a local area, according to an analysis of local image characteristics using power spectrum analysis. Evaluation of the power spectrum distribution is reduced to computation of auto-correlation coefficients.
The method of post-processing data for noise reduction in a video image decoder determines noise intensity in the region of each pixel of an image, and filters each pixel corresponding to the determined noise intensity. This noise intensity includes ringing intensity and block noise intensity. Determining the noise intensity includes calculating a short range power spectrum and a long range power spectrum. A spectrum is identified as ringing if the short range power spectrum is negative and the long range long range power spectrum is positive. A spectrum is identified as block noise if the short range autocorrelation coefficient is positive and the long range autocorrelation coefficient is positive.
These and other aspects of this invention are illustrated in the drawings, in which:
The present invention describes a new method for post-processing to remove unwanted noise from DCT-based images utilizing new models for ringing effects and block noise. The invention develops new models for these effects that are described by a special new processor function derived from the autocorrelation process.
This invention for removal of unwanted noise artifacts from the image signal has the following advantages. First, computational complexity is small compared to conventional filters. The filtering method for each filter is simple compared to other filters such as wavelet filter, despite the high quality of the output images. Second, the invention both detects and removes noise in the image. Image details are preserved and the resulting output is high in quality. The process is applicable to various DCT-based compression techniques such as JPEG and MPEG. The process itself is entirely independent of decoding process, thus, allowing flexibility in designing of the total system.
The most annoying artifacts in DCT-based compressed images are ringing and block noise. Mosquito noise usually coexists with ringing noise and block noises. As a result the new methods to reduce ringing and block noise are also efficient in the reduction of mosquito noise. These two noise types show following characteristics. Ringing noise is a wavy noise near a sharp edge. Block noise is a large gap along a DCT block boundary but with no wavy texture in the long range.
This invention models the two noise types as follows. Ringing noise is modeled as a high frequency component in the short range plus a step-like shape in long range. Block noise is modeled as a step-like shape occurring at the boundary of a scan block plus no high frequency components in the long range. The conceptual images of these models are illustrated in
The power spectrum in local region surrounding a target pixel can be estimated via a modified autocorrelation coefficient ρ at the grid point nearest the target pixel. The autocorrelation coefficient ρ is negative (−1≈ρ<0) if the high frequency element is dominant and ρ is positive (0<p≦1) if the low frequency element is dominant. Previous research has shown that large positive values of p are produced by a step-like function. Based on this new function ρ the ringing and block noise-models are described as follows. Let ρs be ρ in the short range and ρL be ρ in long range. Then the two types of noise may be distinguished by: ringing noise has negative ρs and positive ρL near the target pixel; and block noise has positive ρs on block boundary and positive ρL near the target pixel.
Step 301 fetches one target pixel in an image;
Step 302 estimates the noise intensity near the pixel by computation of power spectrum using the autocorrelation function and applying noise intensity metrics according to equation (5) below;
Step 303 applies filtering according to the noise intensity according to equation (7) below;
Step 304 select the next target pixel and repeats 302 through 304 until all pixels are processed; and
Step 305 ends processing if step 304 determines all pixels have been processed.
In step 302, the intensities of ringing and block noises are estimated based on the previously described models. In step 303, low pass filtering customized for each target pixel according to equation 7 is applied to the target pixel according to noise intensity calculated for that target pixel. This process is carried out for each pixel in the whole image. Steps 301 through 304 are first applied in the horizontal or the vertical direction and then applied in the other direction.
Consider the task of noise detection. First, it is useful to describe the derivation for intensity of ringing effects. Ringing as illustrated in
Therefore the mathematical model for ringing extends for values:
ρs<0 and ρL>0 (1)
I
ringing=(ρrth0−ρs)×(ρL−ρrth1) (2A)
I
ringing=0 (2B)
As illustrated in
ρB>0 and ρL>0 (3)
where: ρB is the short range autocorrelation coefficient at the block boundary; and ρL is the long range autocorrelation coefficient near the target pixel. Block noise intensity Iblock is:
I
block=(ρB−ρbtho)×(ρL−ρbth1)×b(x) (4A)
I
block=0 (4B)
In step 303 appropriate filtering customized for an individual target pixel is applied to the localized images based on the models and the intensities of ringing and block noise. First, the intensities of ringing noise Iringing and block noise Iblock for the target pixel are added to show the total noise intensity Itotal near the pixel, where
I
total
=c
ringing
×I
ringing
+c
block
×I
block (5)
where: cringing and cblock are user defined constants, in this example cringing=120/256 and cblock=20/256.
Next, appropriate filtering is applied according to the value of Itotal. In this example a low pass filter is applied to the target pixel. This low pass filter is defined mathematically by the equation:
where: ak=Itotal+(1−|k|); pi is the i-th input pixel; and pi′ is the i-th output pixel in the target line. In equation (7) it is assumed that Itotal is confined to the interval 0≦Itotal≦2.
The filter described in equation (7) is the transformation of individual input pixels into corresponding individual output pixels for a target line. The transformation generated by the filter is a direct function of the noise intensity metrics computed for the target pixel. Filtering may be supplemented with additional low pass filtering if desired, which narrows the pass-band width as Itotal increases.
The major elements of the invention have been concisely in equations (1) through (7). The mathematical background for the derivation of the power spectrum and the metrics to measure the shape of the power spectrum follows. This mathematic derivation also justifies the use of autocorrelation to evaluate the power spectrum distribution.
The frequency distribution of the power spectrum of a typical image S(ω) is illustrated in
The metric i is used to evaluate the distribution of the spectrum. This metric is given by:
where: f(ω) is an arbitrary function which is positive value near 0 and negative value near ωk as illustrated in
distributes in the low frequency region with positive value, and the metric i will be positive as illustrated in
We have:
where: ωb is the intersection point of the function S(ω) with the ω-axis illustrated in
Let the auto-correlation function Rxx(τ) be:
This auto-correlation function Rxx(τ) is also a Fourier transform of the power spectrum, thus can be written as:
Then the latter part of I in equation (12) can be written:
where: we have denoted
Thus I becomes:
I=2πωo2Rxx(0)+2πR″xx(0) (17)
Also, the denominator of equation (11) is written as:
By combining equations 11, 17 and 18 we have:
The evaluation of the power spectrum distribution is thus reduced to the evaluation of the autocorrelation function. The above equations were carried out for continuous time signal. Now approximating equation (19) with discrete time signals the auto-correlation function can be written as:
Next, approximate the differential Rxx″(0) by difference as:
R″
xx(τ)={Rxx(τ+1)−Rxx(τ)}−{Rxx(τ)−Rxx(τ−1)} (21)
This gives:
Then i is approximately:
where: ρ is the auto-correlation coefficient,
and A is an arbitrary parameter, A=1−πω02. Thus evaluation of spectrum distribution is reduced to computation of auto-correlation coefficient ρ. If ρ is small (negative), the spectrum distribution is in high frequency region. If ρ is large {positive), the spectrum distributes in low frequency region.
Here, δ is an arbitrary number smaller than the average Rxx(0). If Rxx(0)>>δ then ρ is same as the original. If the signal is close to the pattern illustrates
In case the area of the interest is small, equation 25 may be expressed as:
where: N is the number of pixels in the area.
The difference between this derivation and the conventional edge detection technique is important. In the conventional technique, a stripe pattern is considered as a group of edges. This method distinguishes an edge from stripes if the stripe pattern is sufficiently dense.