Patent ID: 7787975

Claim:
A computer-implemented method for restoring audio signals, the method comprising: receiving a data sequence including a plurality of samples representing an audio signal; defining a plurality of first filter coefficients for a first filter; selecting a current sample to be processed in the data sequence; updating the first filter coefficients based on a previous sample preceding the current sample in the data sequence and a filtered value determined by the first filter for the previous sample, said updating the first filter coefficients occurring for each new current sample; determining a filtered value for the current sample using the first filter with the updated first filter coefficients; using the value of the filtered current and filtered previous samples to determine whether the current and previous samples have been corrupted by impulsive noise, the filtered value of the current and previous samples thereby indicating either a corrupted region, an uncorrupted region, or a neighborhood uncorrupted region adjacent to a corrupted region and to an uncorrupted region; whereby: each said current and previous sample has an associated variable W which has a minimum value in said corrupted region and a maximum value in said uncorrupted region, said variable W in said neighborhood uncorrupted region varying monotonically from said minimum value adjacent to said corrupted region to said maximum value adjacent to said neighborhood uncorrupted region; when the filtered value of the current and previous samples indicates an uncorrupted region, providing the current sample as an output; when the filtered value of the current and previous samples indicates a neighborhood uncorrupted region or corrupted region, computing a restored value by minimizing a cost function value CF which is the sum of a first term and a second term, where the first term is computed from the differences between the sample and restored values, and the second term is computed from second differences of the restored values based on preceding restored values.