U.S. patent application number 09/248787 was filed with the patent office on 2002-07-04 for method and apparatus for preprocessing for peripheral erroneous data.
Invention is credited to CARRIG, JAMES J., FUJIMORI, YASUHIRO, GHOSAL, SUGATA, KONDO, TETSUJIRO.
Application Number | 20020087934 09/248787 |
Document ID | / |
Family ID | 22940682 |
Filed Date | 2002-07-04 |
United States Patent
Application |
20020087934 |
Kind Code |
A1 |
KONDO, TETSUJIRO ; et
al. |
July 4, 2002 |
METHOD AND APPARATUS FOR PREPROCESSING FOR PERIPHERAL ERRONEOUS
DATA
Abstract
A method, apparatus, and article of manufacture for restoring a
deteriorated signal to an undeteriorated signal. A deteriorated
signal consists of a plurality of deteriorated and undeteriorated
data points. For each deteriorated data point, a plurality of class
types is created based upon characteristics of the area containing
the deteriorated data point. The data point is classified with
respect to one of the plurality of class types and assigned a
corresponding input signal class. The undeteriorated signal is
generated by adaptively filtering the deteriorated input signal in
accordance with the input signal classification result. More than
one classification method is used to create the plurality of class
types. The deteriorated input signal is modified by preprocessing
peripheral erroneous data.
Inventors: |
KONDO, TETSUJIRO;
(KANAGAWA-PREFECTURE, JP) ; FUJIMORI, YASUHIRO;
(CUPERTINO, CA) ; GHOSAL, SUGATA; (SAN JOSE,
CA) ; CARRIG, JAMES J.; (SAN JOSE, CA) |
Correspondence
Address: |
THOMAS A HASSING
BLAKELY SOKOLOFF TAYLOR & ZAFMAN
12400 WILSHIRE BOULEVARD
7TH FLOOR
LOS ANGELES
CA
90025
|
Family ID: |
22940682 |
Appl. No.: |
09/248787 |
Filed: |
February 12, 1999 |
Current U.S.
Class: |
714/764 ;
375/E7.133; 375/E7.15; 375/E7.163; 375/E7.189; 375/E7.193;
375/E7.281; 714/25 |
Current CPC
Class: |
H04N 19/85 20141101;
H04N 19/80 20141101; H04N 19/112 20141101; H04N 19/895 20141101;
H04N 19/137 20141101; H04N 19/105 20141101 |
Class at
Publication: |
714/764 ;
714/25 |
International
Class: |
H04L 001/22; G11C
029/00; H02H 003/05 |
Claims
What is claimed is:
1. A method for restoring a deteriorated input signal comprising
the steps of: detecting a data point of the deteriorated input
signal; modifying the deteriorated input signal by preprocessing
peripheral erroneous data; creating a classification result based
upon an area containing the data point; selecting a filter
coefficient according to the classification result; creating an
undeteriorated data by filtering the data with the filter
coefficient; and outputting an undeteriorated signal corresponding
to the input signal.
2. The method of claim 1 further comprising the step of modifying
the deteriorated input signal by preprocessing peripheral erroneous
data based on an error location flag.
3. The method of claim 1 further comprising the step of creating a
motion class.
4. The method of claim 1 further comprising the step of creating an
error class.
5. The method of claim 1 further comprising the step of creating a
spatial class.
6. The method of claim 1 further comprising the step of creating a
spatial activity class.
7. The method of claim 1 further comprising the step of creating an
Adaptive Dynamic Range Coding (ADRC) class.
8. The method of claim 1 further comprising the step of creating a
Differential Pulse Code Modulation (DPCM) class.
9. The method of claim 1 further comprising the step of creating a
Vector Quantization (VQ) class.
10. The method of claim 1 further comprising the step of creating a
Discrete Cosine Transform (DCT) class.
11. The method of claim 1 further comprising the step of creating a
dynamic range class.
12. The method of claim 1 further comprising the step of creating a
standard deviation class.
13. The method of claim 1 further comprising the step of creating a
Laplacian class.
14. The method of claim 1 further comprising the step of creating a
spatial gradient class.
15. A method for restoring a deteriorated input signal comprising
the steps of: detecting a data point of the deteriorated input
signal; modifying the deteriorated input signal by preprocessing
peripheral erroneous data; classifying the modified input signal
with respect to a plurality of class types; creating a multiple
classification result with the plurality of class types; selecting
a filter coefficient according to the multiple classification
result; creating undeteriorated data by filtering the data with the
filter coefficient accoridng to the multiple classification result;
and outputting an undeteriorated signal corresponding to the input
signal.
16. The method of claim 15 further comprising the step of modifying
the deteriorated input signal by preprocessing peripheral erroneous
data based on an error location flag.
17. The method of claim 15 wherein the class types are selected
from the group consisting of spatial class, spatial activity class,
motion class, and error class.
18. The method of claim 15 further comprising the step of creating
an Adaptive Dynamic Range Coding (ADRC) class.
19. The method of claim 15 further comprising the step of creating
a Differential Pulse Code Modulation (DPCM) class.
20. The method of claim 15 further comprising the step of creating
a Vector Quantization (VQ) class.
21. The method of claim 15 further comprising the step of creating
a Discrete Cosine Transform (DCT) class.
22. The method of claim 15 further comprising the step of creating
a dynamic range class.
23. The method of claim 15 further comprising the step of creating
a standard deviation class.
24. The method of claim 15 further comprising the step of creating
a Laplacian class.
25. The method of claim 15 further comprising the step of creating
a spatial gradient class.
26. An article of manufacture for use in a computer system to
restore a deteriorated input signal, the article of manufacture
comprising a computer usable medium having computer readable
program code means embodied in the medium, the program code means
including: computer readable program code means embodied in the
computer usable medium for causing a computer to detect a data
point of the deteriorated input signal; computer readable program
code means embodied in the computer usable medium for causing a
computer to modify the deteriorated input signal by preprocessing
peripheral erroneous data; computer readable program code means
embodied in the computer usable medium for causing a computer to
create a classification result based upon an area containing the
data point; computer readable program code means embodied in the
computer usable medium for causing a computer to select a filter
coefficient according to the classification result; computer
readable program code means embodied in the computer usable medium
for causing a computer to create an undeteriorated data by
filtering the data with the filter coefficient; and computer
readable program code means embodied in the computer usable medium
for causing a computer to output an undeteriorated signal
corresponding to the input signal.
27. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to modify the deteriorated
input signal by preprocessing peripheral erroneous data based on an
error location flag.
28. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a motion class.
29. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create an error class.
30. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a spatial class.
31. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a spatial activity
class.
32. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create an Adaptive Dynamic
Range Coding (ADRC) class.
33. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a Differential Pulse
Code Modulation (DPCM) class.
34. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a Vector
Quantization (VQ) class.
35. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a Discrete Cosine
Transform (DCT) class.
36. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a dynamic range
class.
37. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a standard deviation
class.
38. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a Laplacian
class.
40. The article of manufacture of claim 26 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a spatial gradient
class.
41. An article of manufacture for use in a computer system to
restore a deteriorated input signal, the article of manufacture
comprising a computer usable medium having computer readable
program code means embodied in the medium, the program code means
including: computer readable program code means embodied in the
computer usable medium for causing a computer to detect a data
point of the deteriorated input signal; computer readable program
code means embodied in the computer usable medium for causing a
computer to modify the deteriorated input signal by preprocessing
peripheral erroneous data; computer readable program code means
embodied in the computer usable medium for causing a computer to
classify the modified input signal with respect to a plurality of
class types; computer readable program code means embodied in the
computer usable medium for causing a computer to create a multiple
classification result with the plurality of class types; computer
readable program code means embodied in the computer usable medium
for causing a computer to select a filter coefficient according to
the multiple classification result; computer readable program code
means embodied in the computer usable medium for causing a computer
to create undeteriorated data by filtering the data with the filter
coefficient accoridng to the multiple classification result; and
computer readable program code means embodied in the computer
usable medium for causing a computer to output an undeteriorated
signal corresponding to the input signal.
42. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to modify the deteriorated
input signal by preprocessing peripheral erroneous data based on an
error location flag.
43. The method of claim 41 wherein the class types are selected
from the group consisting of spatial class, spatial activity class,
motion class, and error class.
44. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create an Adaptive Dynamic
Range Coding (ADRC) class.
45. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a Differential Pulse
Code Modulation (DPCM) class.
46. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a Vector
Quantization (VQ) class.
47. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a Discrete Cosine
Transform (DCT) class.
48. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a dynamic range
class.
49. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a standard deviation
class.
50. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a Laplacian
class.
51. The article of manufacture of claim 41 further comprising
computer readable program code means embodied in the computer
usable medium for causing a computer to create a spatial gradient
class.
52. An apparatus for restoring a deteriorated input signal
comprising: a detector to detect a data point of the deteriorated
input signal; a modifier logically coupled to the detector to
modify the deteriorated input signal by preprocessing peripheral
erroneous data; a result generator logically coupled to the
detector to create a classification result based upon an area
containing the data point; a selector logically coupled to the
result generator to select a filter coefficient according to the
classification result; a data restorer logically coupled to the
assignor to create an undeteriorated data by filtering the data
with the filter coefficient; and a transmitter logically coupled to
the data restorer to output an undeteriorated signal corresponding
to the input signal.
53. The apparatus of claim 52 wherein the modifier comprises a
modifier to modify the deteriorated input signal by preprocessing
peripheral erroneous data based on an error location flag.
54. The apparatus of claim 52 further comprising a class generator
to create a motion class.
55. The apparatus of claim 52 further comprising a class generator
to create an error class.
56. The apparatus of claim 52 further comprising a class generator
to create a spatial class.
57. The apparatus of claim 52 further comprising a class generator
to create a spatial activity class.
58. The apparatus of claim 52 further comprising a class generator
to create an Adaptive Dynamic Range Coding (ADRC) class.
59. The apparatus of claim 52 further comprising a class generator
to create a Differential Pulse Code Modulation (DPCM) class.
60. The apparatus of claim 52 further comprising a class generator
to create a Vector Quantization (VQ) class.
61. The apparatus of claim 52 further comprising a class generator
to create a Discrete Cosine Transform (DCT) class.
62. The apparatus of claim 52 further comprising a class generator
to create a dynamic range class.
63. The apparatus of claim 52 further comprising a class generator
to create a standard deviation class.
64. The apparatus of claim 52 further comprising a class generator
to create a Laplacian class.
65. The apparatus of claim 52 further comprising a class generator
to create a spatial gradient class.
66. An apparatus for restoring a deteriorated input signal
comprising: a detector to detect a data point of the deteriorated
input signal; a modifier logically coupled to the detector to
modify the deteriorated input signal by preprocessing peripheral
erroneous data; a result generator logically coupled to the
detector to create a multiple classification result with the
plurality of class types; a selector logically coupled to the
result generator to select a filter coefficient according to the
multiple classification result; a data restorer logically coupled
to the assignor to create an undeteriorated data by filtering the
data with the filter coefficient; and a transmitter logically
coupled to the data restorer to output an undeteriorated signal
corresponding to the input signal.
67. The apparatus of claim 66 wherein the modifier comprises a
modifier to modify the deteriorated input signal by preprocessing
peripheral erroneous data based on an error location flag.
68. The method of claim 66 wherein the class types are selected
from the group consisting of spatial class, spatial activity class,
motion class, and error class.
69. The apparatus of claim 66 further comprising a class generator
to create an Adaptive Dynamic Range Coding (ADRC) class.
70. The apparatus of claim 66 further comprising a class generator
to create a Differential Pulse Code Modulation (DPCM) class.
71. The apparatus of claim 66 further comprising a class generator
to create a Vector Quantization (VQ) class.
72. The apparatus of claim 66 further comprising a class generator
to create a Discrete Cosine Transform (DCT) class.
73. The apparatus of claim 66 further comprising a class generator
to create a dynamic range class.
74. The apparatus of claim 66 further comprising a class generator
to create a standard deviation class.
75. The apparatus of claim 66 further comprising a class generator
to create a Laplacian class.
76. The apparatus of claim 66 further comprising a class generator
to create a spatial gradient class.
77. An apparatus for restoring a deteriorated input signal
comprising: means for detecting a data point of the deteriorated
input signal; means for modifying the deteriorated input signal by
preprocessing peripheral erroneous data; means for creating a
classification result based upon an area containing the data point;
means for selecting a filter coefficient according to the
classification result; means for creating an undeteriorated data by
filtering the data with the filter coefficient; and means for
outputting an undeteriorated signal corresponding to the input
signal.
78. An apparatus for restoring a deteriorated input signal
comprising: means for detecting a data point of the deteriorated
input signal; means for modifying the deteriorated input signal by
preprocessing peripheral erroneous data; means for creating a
multiple classification result with a plurality of class types;
means for selecting a filter coefficient according to the multiple
classification result; means for creating an undeteriorated data by
filtering the data with the filter coefficient; and means for
outputting an undeteriorated signal corresponding to the input
signal.
Description
FIELD OF THE INVENTION
[0001] This invention relates generally to the processing of image,
sound or other correlated signals, and more particularly, to a
method, apparatus, and article of manufacture for restoring a
deteriorated signal to an undeteriorated signal.
BACKGROUND OF THE INVENTION
[0002] Conventionally, to restore an image that is deteriorated in
image quality it is necessary to analyze the cause of the
deterioration, determine a deterioration model function, and apply
its inverse function to the deteriorated image. Various causes of
deteriorations are possible, such as a uniform movement of a camera
(imaging device such as a video camera) and blurring caused by the
optical system of a camera. Therefore, in restoring an image,
different model functions may be used for respective causes of
deteriorations. Unless the cause of deterioration is found, it is
difficult to restore a deteriorated image because a model function
cannot be determined.
[0003] In addition, it is frequently the case that even if a model
function of a deterioration is established, there is no inverse
function for restoration that corresponds to the model function. In
such a case, it is difficult to perform evaluation for determining
the optimum model.
[0004] Conventionally, error recovery has been achieved by
correlation evaluation. For example, some recovery choices have
been implemented using a conventional error pixel recovery method.
FIG. 1A shows a conventional error recovery block diagram. Using
neighboring data, which are shown in FIG. 1B, spatial inclinations
of the target data are detected. In this example, the inclinations
regarding four directions are evaluated according to the formulae
which are shown in FIG. 1C. An interpolation filter is chosen where
the inclination value, E.sub.i, is the smallest among four values.
In addition to the spatial inclination, a motion factor is also
evaluated for error recovery. In the case of the motion area, a
selected spatial filter is used for error recovery. On the other
hand, the previous frame data at the same location as the target
data are used for error recovery. This evaluation is performed in
the evaluation block of FIG. 1A.
[0005] The conventional error recovery process shown in FIGS. 1A-1C
may cause many serious degradations on changing data, especially on
object edges. Actual signal distribution typically varies widely,
so these problems are likely to occur. Therefore, there is a need
for a way to restore a deteriorated signal to an undeteriorated
signal which minimizes degradations on changing data.
SUMMARY OF THE INVENTION
[0006] The present invention provides a method, apparatus, and
article of manufacture for restoring a deteriorated signal to an
undeteriorated signal. A deteriorated signal consists of a
plurality of deteriorated and undeteriorated data points. For each
deteriorated data point, a plurality of class types is created
based upon characteristics of the area containing the deteriorated
data point. The data point is classified with respect to one of the
plurality of class types and assigned a corresponding input signal
class. The undeteriorated signal is generated by adaptive filtering
of the input signal in accordance with the input signal
classification results. More than one classification method may
optionally be used to create the plurality of class types. Created
classes may include a motion class, an error class, a spatial class
or a spatial activity class. An adaptive class tap structure may
optionally be used to create the plurality of class types. An
adaptive filter tap structure may optionally be used base on the
corresponding plurality of class types. Filter tap expansion may
optionally be used to reduce the number of filter coefficients. The
deteriorated input signal may optionally be modified by
preprocessing peripheral erroneous data. A spatial class may
optionally be modified according to spatial symmetry.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The present invention is illustrated by way of example and
may be better understood by referring to the following description
in conjunction with the accompanying drawings, in which like
references indicate similar elements and in which:
[0008] FIGS. 1A-1C show a conventional error recovery method,
filter tap, and correspondence between inclination value and
interpolation filter;
[0009] FIGS. 2A-2D show a classified adaptive error recovery method
and class compatible with an embodiment of the present
invention;
[0010] FIG. 3 shows a motion class tap compatible with an
embodiment of the present invention;
[0011] FIG. 4 shows an error class tap compatible with an
embodiment of the present invention;
[0012] FIG. 5 shows an adaptive spatial class tap compatible with
an embodiment of the present invention;
[0013] FIG. 6 shows an adaptive spatial class tap (error class 0)
compatible with an embodiment of the present invention;
[0014] FIG. 7 shows an adaptive spatial class tap (error class 1)
compatible with an embodiment of the present invention;
[0015] FIG. 8 shows an adaptive spatial class tap (error class 2)
compatible with an embodiment of the present invention;
[0016] FIG. 9 shows an adaptive spatial class tap (error class 3)
compatible with an embodiment of the present invention;
[0017] FIG. 10 shows an adaptive filter tap compatible with an
embodiment of the present invention;
[0018] FIG. 11 shows a motion class adaptive filter tap compatible
with an embodiment of the present invention;
[0019] FIG. 12 shows a motion class adaptive filter tap (error
class 0) compatible with an embodiment of the present
invention;
[0020] FIG. 13 shows a motion class adaptive filter tap (error
class 1) compatible with an embodiment of the present
invention;
[0021] FIG. 14 shows a motion class adaptive filter tap (error
class 2) compatible with an embodiment of the present
invention;
[0022] FIG. 15 shows a motion class adaptive filter tap (error
class 3) compatible with an embodiment of the present
invention;
[0023] FIG. 16 shows a preprocessing algorithm compatible with an
embodiment of the present invention;
[0024] FIG. 17 shows a motion tap and stationary tap preprocessing
algorithm compatible with an embodiment of the present
invention;
[0025] FIG. 18 shows a system block diagram compatible with an
embodiment of the present invention;
[0026] FIG. 19 shows coefficient memory contents compatible with an
embodiment of the present invention;
[0027] FIG. 20 shows an ADRC class reduction based on a 4-tap 1-bit
ADRC compatible with an embodiment of the present invention;
and
[0028] FIG. 21 shows an example of audio signal adaptive
classification compatible with an embodiment of the present
invention.
DETAILED DESCRIPTION OF AN EMBODIMENT OF THE PRESENT INVENTION
[0029] In the following description of an embodiment of the present
invention, reference is made to the accompanying drawings which
form a part hereof, and in which is shown by way of illustration a
specific embodiment in which the invention may be practiced. It is
to be understood that other embodiments may be utilized and
structural changes may be made without departing from the scope of
the present invention.
[0030] The present invention provides a method, apparatus, and
article of manufacture for restoring a deteriorated signal to an
undeteriorated signal using classified adaptive error recovery.
Target data is the particular data of the deteriorated signal whose
value is to be determined or estimated.
[0031] Classified adaptive error recovery is the technology which
utilizes classified adaptive filter processing. A proper
classification with respect to the deteriorated input signal is
performed according to the input signal characteristics. An
adaptive filter is prepared for each class prior to error recovery
processing.
[0032] More than one classification method may optionally be used
to generate the plurality of classes. Generated classes may include
a motion class, an error class, a spatial activity class or a
spatial class. An adaptive class tap structure may optionally be
used to generate the plurality of classes. An adaptive filter tap
structure may optionally be used according to the class which is
detected in each deteriorated input signal. The adaptive filter tap
structure may optionally be expanded based upon multiple taps. The
number of filter coefficients that must be stored can be reduced by
allocating the same coefficient to multiple taps. This process is
referred to as filter tap expansion. The deteriorated input signal
may optionally be modified by preprocessing peripheral erroneous
data. A spatial class may optionally be eliminated according to a
spatial class elimination formula.
[0033] The present invention can be applied to any form of
correlated data, including without limitation photographs or other
two-dimensional static images, holograms, or other
three-dimensional static images, video or other two-dimensional
moving images, three-dimensional moving images, a monaural sound
stream, or sound separated into a number of spatially related
streams, such as stereo. In the description, the term value, in one
embodiment, may refer to a component within a set of received or
generated data. Furthermore, a data point is a position, place,
instance, location or range within data.
[0034] For the sake of clarity, some of the description herein
focuses on video data comprising a pixel stream. However, it will
be recognized that the present invention may be used with other
types of data other than video data and that the terms and phrases
used herein to describe the present invention cover a broad range
of applications and data types. For example, an adaptive class tap
structure is an adaptive structure for class tap definition used in
multiple classification. A spatial class, a motion class and an
error class may be used to define the structure. An adaptive filter
tap structure is an adaptive structure for filter tap definition
based upon a corresponding class.
[0035] A class may be defined based on one or more characteristics
of the target data. For example, a class may also be defined based
on one or more characteristics of the group containing the target
data. A class ID is a specific value within the class that is used
to describe and differentiate the target data from other data with
respect to a particular characteristic. A class ID may be
represented by a number, a symbol, or a code within a defined
range. A parameter may be used as a predetermined or variable
quantity that is used in evaluating, estimating, or classifying the
data. For example, the particular motion class ID of a target data
can be determined by comparing the level of motion quantity in the
block containing the target data against a parameter which can be a
pre-determined threshold.
[0036] Multiple Classification
[0037] In one embodiment, a multiple class may be used as a
collection of specific values or sets of values used to describe at
least two different characteristics of the target data. For
example, a multiple class may be defined to be a combination of at
least two different classes. For example, a multiple class may be
defined to be a combination of an error class, a motion class, and
a spatial class such as an ADRC class.
[0038] In one embodiment, the multiple class ID can be used as the
memory address to locate the proper filter coefficients and other
information that are used to determine or estimate the value of the
target data. In one embodiment, a simple concatenation of different
class IDs in the multiple class ID is used as the memory
address.
[0039] Therefore, a multiple classification scheme is a way of
classifying the target data with respect to more than one
characteristic of the target data in order to more accurately
determine or estimate the value of the target data.
[0040] An error class is a collection of specific values used to
describe the various distribution patterns of erroneous data in the
neighborhood of the target data. In one embodiment, an error class
is defined to indicate which adjacent data to the target data is
erroneous. An error class ID is a specific value within the error
class used to describe a particular distribution pattern of
erroneous data in the neighborhood of the target data. For example,
an error class ID of "0" may be defined to indicate that there is
no erroneous data to the left and to the right of the target data;
an error class ID of "1" may be defined to indicate that the data
to the left of the target data is erroneous, etc. A filter is a
mathematical process, function or mask for selecting a group of
data.
[0041] A motion class is a collection of specific values used to
describe the motion characteristic of the target data. In one
embodiment, the motion class is defined based on the different
levels of motion of the block containing the target data, for
example, no motion in the block, little motion in the block, or
large motion in the block. A motion class ID is a specific value
within the motion class used to indicate a particular level of
motion quantity of the target data. For example, motion class ID of
"0" may be defined to indicate no motion, motion class ID of "3"
may be defined to indicate large motion.
[0042] A spatial class is a collection of specific values used to
describe the spatial characteristic of the target data. For
example, spatial classification of the data may be determined using
Adaptive Dynamic Range Coding (ADRC), Differential Pulse Code
Modulation (DPCM), Vector Quantization (VQ), Discrete Cosine
Transform (DCT), etc. A spatial class ID is a specific value within
the spatial class used to describe the spatial pattern of the
target data in the group or block containing the target data.
[0043] For example, an ADRC class is a spatial class defined by the
Adaptive Dynamic Range Coding method. An ADRC class ID is a
specific value within the ADRC class used to describe the spatial
pattern of the data distribution in the group or block containing
the target data. A class is a collection of specific values used to
describe certain characteristics of the target data. A variety of
different types of classes exist, for example, a motion class, a
spatial class, an error class, a spatial activity class, etc.
[0044] The present invention provides a method and apparatus for
adaptive processing that generates data corresponding to a set of
one or more data classes. This process is known as
"classification". Classification can be achieved by various
attributes of signal distribution. For example, Adaptive Dynamic
Range Coding (ADRC) may be used for generation of each class as a
spatial class, but it will be recognized by one of ordinary skill
in the art that other classes, including a motion class, an error
class, and a spatial activity class may be used with the present
invention without loss of generality. A spatial activity class is a
collection of specific values used to describe the spatial activity
characteristic of the target data. For example, spatial activity
classification of the data may be determined using the dynamic
range, the standard deviation, the Laplacian value or the spatial
gradient value. Some classification methods provide advantages
which are desirable before restoration of a deteriorated signal
takes place. For example, ADRC can achieve classification by
normalizing each signal waveform automatically.
[0045] For each class, a suitable filter for signal restoration is
prepared for the adaptive processing. In one embodiment, each
filter is represented by a matrix of filter coefficients which are
applied to the data. The filter coefficients can be generated by a
training process, an example of which is described subsequently,
that occurs as a preparation process prior to filtering. In one
embodiment of the present invention, the filter coefficients can be
stored in a random access memory (RAM), shown in FIG. 2A at
207.
[0046] A typical signal processing flow of the present invention is
shown in FIG. 2A. Target input data 201 can be accompanied with
error flag data 203. Error flag data can indicate locations within
the data that contain erroneous pixels. In one embodiment of the
present invention, an ADRC class is generated for each input target
data in classification block 205, filter coefficients corresponding
to each class ID are output from the coefficient memory block 207,
and filtering is executed with input data 201 and the filter
coefficients in the filter block 209. The filtered data may
correspond to an error recovered result. In the selector block 211,
switching between error recovered data and error free data occurs
according to the error flag data 203.
[0047] In FIG. 2B, an example is shown where the number of class
taps is four. In the case of 1-bit ADRC, 16 class IDs are available
as given by [formula 3], shown below. ADRC is realized by [formula
2], shown below. Detecting a local dynamic range (DR) is given by
[formula 1], shown below, 1 DR = MAX - MIN + 1 [ formula 1 ] q i =
( x i - MIN + 0.5 ) 2 Q DR [ formula 2 ] c = i = 1 4 2 i - 1 q i [
formula 3 ]
[0048] where c corresponds to an ADRC class ID, DR represents the
dynamic range of the four data area, MAX represents the maximum
level of the four data, MIN represents the minimum level of the
four data, q.sub.i is the ADRC encoded data, also referred to as a
Q code, and Q is the number of quantization bits. The .left
brkt-bot..multidot..right brkt-bot. operator represents a
truncation operation.
[0049] In 1-bit ADRC, c may have a value from 0 to 15 with Q=1.
This process is one type of spatial classification, but it will be
recognized by one of ordinary skill in the art that other examples
of spatial classification, including Differential PCM, Vector
Quantization and Discrete Cosine Transform may be used with the
present invention without loss of generality. Any method may be
used if it can classify a target data distribution.
[0050] In the example shown in FIG. 2C, each adaptive filter has 12
taps. Output data is generated according to the linear combination
operation given by [formula 4], shown below, 2 y = i = 1 12 w i x i
[ formula 4 ]
[0051] where x.sub.i is input data, w.sub.i corresponds to each
filter coefficient, and y is the output data after error recovery.
Filter coefficients can be generated for each class ID by a
training process that occurs prior to the error recovery
process.
[0052] For example, training may be achieved according to the
following criterion. 3 min w ; X W - Y r; 2 [ formula 5 ]
[0053] where X, W, and Y are, for example, the following matrices:
X is the input data matrix defined by [formula 6], W is the
coefficient matrix defined by [formula 7], and Y corresponds to the
target data matrix defined by [formula 8]. 4 X = ( x 11 x 12 x 1 n
x 21 x 22 x 2 n x m1 x m2 x mn ) [ formula 6 ] W = ( w 1 w 2 w n )
[ formula 7 ] Y = ( y 1 y 2 y m ) [ formula 8 ]
[0054] The coefficient w.sub.i can be obtained according to
[formula 5], so that estimation errors against target data are
minimized.
[0055] In the example shown in FIG. 2C, 12 coefficients regarding
each ADRC class ID are determined by the training method described
above.
[0056] A flow diagram of an embodiment of the present invention is
shown in FIG. 2D. The flow chart of FIG. 2D shows the basic
processing stream for generating an undeteriorated signal from the
deteriorated input signal. At step 215, the preprocessing for a
peripheral erroneous pixel is performed. At step 217, each
classification regarding the deteriorated input signal is executed
to generate a class ID. Some class taps are selected adaptively
according to another class ID. Multiple classification may be
executed, such as motion classification, error classification,
spatial activity classification and spatial classification.
[0057] The classification scheme can be defined during system
design, where the classification scheme, the number of classes, and
other specification are decided for the target data. The design
stage may include, among others, considerations of system
performance and hardware complexity.
[0058] At step 219, multiple classification generates a multiple
class ID with a plurality of class IDs which are generated by
various classification at step 217. At step 221, filter taps are
adaptively selected according to the multiple class ID which is
generated at step 219. At step 223, the filter tap structure is
adaptively expanded according to the multiple class ID which is
generated at step 219. The number of filter coefficients that must
be stored can be reduced by allocating the same coefficient to
multiple taps. This process is referred to as filter tap expansion.
At step 224, filter coefficients are selected according to the
multiple class ID which is generated at step 219. At step 225,
filtering with respect to the deteriorated input signal is executed
to generate an undeteriorated signal. Filter coefficients are
selected adaptively according to the multiple class ID which is
generated in step 219.
[0059] In one embodiment of the present invention, a three
dimensional ADRC process may be used to realize spatio-temporal
classification, because simple waveform classifications such as a
two dimensional ADRC process typically cannot structurally achieve
separation for general motion pictures in the class of FIG. 2B. If
both stationary and motion areas are processed in the same class
ID, error recovery quality is degraded because of differences in
characteristics of the two areas.
[0060] In another embodiment of the present invention, motion
classification, in addition to spatial classification, may also be
used to provide compact definition of temporal characteristics.
Further, multiple classification may be added to the classified
adaptive error recovery method. For example, there are various
types of classes, such as a motion class, an error class, a spatial
activity class and a spatial class explained above. The combination
of one or more of these different classification methods can also
improve classification quality.
[0061] FIG. 3 shows an example of motion class tap structures. The
example shows eight taps in neighborhood of the target error data.
In this example, the eight tap accumulated temporal difference can
be evaluated according to [formula 9], shown below, and is
classified to four kinds of motion classes by thresholding based on
[formula 10], shown below. In one embodiment of the present
invention, th0 is equal to 3, th1 is equal to 8, and th2 is equal
to 24. 5 fd = i = 1 8 x i - x i ' [ formula 9 ] m c = { 0 ( 0 fd
< th0 ) 1 ( th0 fd < th1 ) 2 ( th1 fd < th2 ) 3 ( th2 fd )
[ formula 10 ]
[0062] In the above formulas, fd represents an accumulated temporal
difference, x.sub.i represents motion class tap data of the current
frame, x'.sub.i represents the previous frame tap data
corresponding to the current frame, and mc represents a motion
class ID. Three thresholds, th0, th1, th2, can be used for this
motion classification.
[0063] In one embodiment of the present invention, an error class
can be used in conjunction with the classified adaptive error
recovery method. This classification is achieved according to the
erroneous data distribution pattern in neighborhood of the target
data, examples of which are shown in FIG. 4. This example has four
error classes: an independent error case, a left error case, a
right error case, and a three consecutive error case.
[0064] Generally speaking, filter coefficients of pixels adjacent
to the target data have larger weights for error recovery. The data
adjacent to the error data has a significant impact on the result
of error recovery. Error classes can reduce this influence by
separating different characteristic areas to other classes
according to the adjacent erroneous data distribution. For the
example shown in FIG. 2B, ADRC classification generates 16 kinds of
ADRC class IDs, where motion and error classification generate four
kinds of class IDs, respectively. Thus, the number of class IDs
equals 16.times.4.times.4, or 256. Classification may be realized
by representing each signal characteristic. Multiple classification
can define a suitable class, the class ID, regarding the erroneous
target data by combining different classification
characteristics.
[0065] Adaptive Class Tap Structure
[0066] In one embodiment of the present invention, an adaptive
class tap structure can be used in conjunction with the classified
adaptive error recovery method. FIG. 5 shows one example of motion
class adaptive spatial class tap structures. Intra-frame taps can
be chosen in a stationary or a slow motion area. Intra-field taps
are typically used for larger motion areas. Suitable spatial
classification is achieved by this adaptive processing.
[0067] For example, if intra-frame taps are used for large motion
area classification, then the generated class distribution may vary
widely because of low correlation, and therefore it will be
difficult to represent the target data characteristics properly. An
adaptive class tap structure, such as that shown in FIG. 5, is
therefore effective.
[0068] Additional examples are shown in FIGS. 6, 7, 8, 9. Spatial
class taps are typically selected according to a motion and an
error class. In addition to the motion factor, the erroneous data
distribution is taken into account for the spatial class tap
definition. The neighboring erroneous data is typically not
introduced to the spatial classification. By this definition, only
valid data is used and the classification accuracy is improved.
[0069] Adaptive Filter Tap Structure
[0070] In one embodiment of the present invention, an adaptive
filter tap structure based on a corresponding class can be used in
conjunction with the classified adaptive error recovery method.
FIG. 10 shows one example of an adaptive filter tap structures
based on an error class. The filter tap structure regarding the
target data is typically defined adaptively, preferably avoiding
damaged data in neighborhood. Damaged data is not chosen for
filtering.
[0071] An adaptive filter tap structure can be also defined
according to motion class, an example of which is shown in FIG. 11.
In the motion class example shown in FIG. 10, motion class 0
corresponds to stationary areas, but motion class 3 corresponds to
large motion areas. Motion classes 1 and 2 correspond to
intermediate motion areas.
[0072] For stationary or quasi-stationary class areas, intra-frame
taps are used as shown in FIG. 11. At the same time, previous frame
data at the target data location may be used for error recovery
filtering. These areas correspond to motion class 0 and 1. For fast
motion or moderate motion areas, each filter typically has an
intra-field taps structure, which is also shown in FIG. 11. As
shown by the example in FIG. 11, previous frame data is not
introduced, and thus weakly correlated data is ignored. Filtering
quality is typically improved by intra-field taps in such
cases.
[0073] FIG. 12 shows an example of motion and error class adaptive
filter tap structures. FIGS. 10 and 11 represent error and motion
class adaptive filter taps, respectively. The example shown in FIG.
12 illustrates both adaptive structures with error class0, which is
the independent error case. Upper adaptive characteristics are also
shown in this example. In a manner similar to that of FIG. 12, FIG.
13 corresponds to error class 1, FIG. 14 corresponds to error class
2 and FIG. 15 corresponds to error class 3.
[0074] Filter Tap Expansion
[0075] In one embodiment of the present invention, filter tap
expansion by allocating the same coefficient to plural taps can be
used in conjunction with the classified adaptive error recovery
method. Filter tap expansion is also shown by the structures in
FIGS. 12-15. For example, the filter tap structure has four of the
same coefficient taps with motion class 3 in FIG. 12. According to
the evaluation results, some tap coefficients can be replaced with
the same coefficient. The example shown in FIG. 12 has four W3
coefficients that are allocated at horizontally and vertically
symmetric locations. By this expansion, 14 coefficients can cover
18 tap areas. This reduction method can typically reduce the need
for coefficient memory and filtering hardware such as adders and
multipliers. In one embodiment of the present invention, the
expansion tap definition may be achieved by evaluation of
coefficient distribution and visual results.
[0076] Preprocessing for Peripheral Erroneous Data
[0077] In one embodiment of the present invention, preprocessing
for peripheral erroneous data can be used in conjunction with the
classified adaptive error recovery method. To achieve error
recovery filtering, suitable data is necessary at peripheral error
locations of filter taps.
[0078] One example of this preprocessing is shown by the flow
diagram of FIG. 16. If at steps 1601, 1605, or 1609 there is
erroneous data at a peripheral location of the target data, at
steps 1603, 1607, 1611 the erroneous data is replaced with
horizontal processed data in the case of no horizontal errors. If
at steps 1613, 1617, or 1621 there are three consecutive horizontal
errors, at steps 1615, 1619, or 1623 vertical processing is applied
for generating preprocessed data. In all erroneous cases around the
intra-frame data of this example, previous frame data is introduced
for error processing, at step 1625.
[0079] FIG. 17 shows another preprocessing example that uses a
motion adaptive process for preprocessing. Using error free data,
motion quantity is detected at the motion detection step 1701.
Generally speaking, an averaged motion quantity is calculated by
averaging summed motion quantity with the number of error free data
at the next step. Motion or stationary taps are chosen at step 1703
according to a threshold value of the result of averaged motion
quantity. After these steps, processing steps 1705 through 1729 are
performed in a manner similar to steps 1601 through 1625 of FIG.
16. The preprocessed data is generated according to these
prioritized processes, and is introduced for error recovery
filtering.
[0080] Spatial Class Reduction
[0081] In one embodiment of the present invention, spatial class
reduction can be used in conjunction with the classified adaptive
error recovery. As explained above, an ADRC class can be used for
the spatial classification, given by [formula 3]. This has 16 kinds
of class IDs in the definition of a 4 tap ADRC. These 16 class IDs
can be reduced to eight kinds of class IDs according to [formula
11], shown below, 6 c = { i = 1 4 2 i - 1 q i ( c < 2 3 ) 2 4 -
1 - i = 1 4 2 i - 1 q i ( c 2 3 ) [ formula 11 ]
[0082] where c corresponds to the ADRC class ID, q.sub.i is the
quantized data and Q is the number of quantization bits based on
[formula 1] and [formula 2].
[0083] In one embodiment of the present invention, [formula 11]
corresponds to a 1's complement operation in binary data of the
ADRC code. This is related to the symmetric characteristics of each
signal waveform. Because ADRC classification is a normalization of
the target signal waveform, two waveforms which have the relation
of 1's complement in each ADRC code can be classified in the same
class ID. ADRC class IDs can typically be halved by this reduction
process. An ADRC class reduction based on a 4-tap 1-bit ADRC is
shown in FIG. 20. In this example, applying [formula 11] gives
eight ADRC class pairs. Each pair contains spatial symmetric
patterns, and therefore the number of ADRC class IDs can be reduced
by half by taking advantage of these symmetric patterns. The
spatial class reduction technique can also be applied to other
spatial classification techniques, including but not limited to
DPCM and Block Truncation Coding (BTC).
[0084] System Structure
[0085] An overall system structure for one embodiment of the
present invention, including all the processes described above, is
shown in FIG. 18. Input data 1801 and corresponding error flags
1803 are input to the system. Examining the error flags 1803, the
input data 1801 is preprocessed at 1805. ADRC classification is
performed at 1807, motion classification is performed at 1809, and
error classification is performed at 1811.
[0086] In this example, ADRC class taps are chosen adaptively
according to the error and motion class, such as shown in FIGS. 6,
7, 8, 9. Filter tap data are chosen at 1813 based on the error and
motion class, such as shown in FIGS. 12, 13, 14, 15. Error recovery
filtering is performed at 1817 with tap data and filter
coefficients selected from the coefficient memory 1815
corresponding to the ADRC class ID of 1807, the motion class ID of
1809 and the error class ID of 1811. Error recovered data and error
free input data 1817 are selected at 1821 according to the error
flag 1803, which produces the output data 1823 of this system.
[0087] FIG. 19 shows an example of coefficient memory contents. It
has 4.times.4.times.8 or 128 class IDs according to the multiple
classification scheme. Four categories are used for an error class,
four categories are for a motion class, and eight categories are
for an ADRC class, which are typically halved according to [formula
11]. Each class corresponds to each memory address in FIG. 19. In
this example, 14 coefficients are stored in each class ID address
according to the filter definition, like FIGS. 12, 13, 14, 15.
[0088] The present invention may be used with any form of
correlated data, including without limitation photographs or other
two-dimensional static images, holograms, or other
three-dimensional static images, video or other two-dimensional
moving images, three-dimensional moving images, a monaural sound
stream, or sound separated into a number of spatially related
streams, such as stereo. FIG. 21 shows an example of audio signal
adaptive classification compatible with the present invention. An
example audio signal 2101 is monitored at one or more time points
t0-t8. The level of the audio signal 2101 at time points t0-t8 is
given by tap points X0-X8. The dynamic range of the audio signal
2101 is given as the difference between the lowest level tap point
X0 and the highest level tap point X4. In case of error recovery
for erroneous data at t4, multiple classification can be applied
with spatial classification like ADRC classification and spatial
activity classification like dynamic range classification. Dynamic
range classification is performed by thresholding the dynamic range
in a manner similar to the motion classification processing of
[formula 10]. As described above, motion classification, error
classification and spatial classification are referred to in
multiple classification. Spatial activity classification can also
be introduced to multiple classification for general applications
such as video data. In addition to dynamic range, the standard
deviation, the Laplacian value or the spatial gradient value can be
introduced for spatial activity classification.
[0089] With the present invention, the quality of data that is
recovered due to errors is improved by introducing the disclosed
technologies to the classified adaptive error recovery method. The
present invention provides a way to restore a deteriorated signal
to an undeteriorated signal which minimizes degradations on
changing data.
[0090] While the invention is described in terms of embodiments in
a specific system environment, those of ordinary skill in the art
will recognize that the invention can be practiced, with
modification, in other and different hardware and software
environments within the spirit and scope of the appended
claims.
* * * * *