U.S. patent number 4,719,642 [Application Number 06/706,195] was granted by the patent office on 1988-01-12 for error detection and concealment using predicted signal values.
This patent grant is currently assigned to Scientific Atlanta, Inc.. Invention is credited to Keith Lucas.
United States Patent |
4,719,642 |
Lucas |
January 12, 1988 |
Error detection and concealment using predicted signal values
Abstract
The system transmits blocks of N signal values preceded by block
code words which are used at the receiver to detect errors. In the
transmitter, the digital value of the intelligence signal being
transmitted is sent to a predictor, a comparator, and an N-word
delay line. The predictor estimates the next signal value, which is
suitably delayed so that the current value and its estimate may be
compared. The comparator subtracts each estimated value from the
corresponding actual value, temporarily storing the difference,
called a "delta value," while the entire block of N words is
processed. A "Maximum Delta Encoder" encodes (with appropriate
error correction) the absolute value of the maximum delta value for
all N words. The resulting block code word is multiplexed into the
data channel ahead of the group of N words to which it corresponds.
An "N Sample Delay" is used to delay the N words so that the block
code word will precede it. In the receiver, the block code word is
demultiplexed and error corrected to recover the absolute value of
the maximum delta value for the group of N words which follow. As
each of the N words is received, it is subtracted from a predicted
value generated by a predictor circuit identical to the one found
in the transmitter. If the difference is greater than the maximum
delta value for that block, the received signal value represents an
error. The error is then concealed by replacing it with the
predicted value itself. If the difference is less than or equal to
the maximum delta value, the received signal is accepted as
correct.
Inventors: |
Lucas; Keith (Oak Ridges,
CA) |
Assignee: |
Scientific Atlanta, Inc.
(Atlanta, GA)
|
Family
ID: |
24836590 |
Appl.
No.: |
06/706,195 |
Filed: |
February 27, 1985 |
Current U.S.
Class: |
375/249;
G9B/20.055; 714/819; 375/243; 375/254; 375/240.12 |
Current CPC
Class: |
H03M
13/00 (20130101); G11B 20/1876 (20130101) |
Current International
Class: |
H03M
13/00 (20060101); G11B 20/18 (20060101); H04B
014/06 () |
Field of
Search: |
;375/27,28,29,30,31,32,33,122 ;332/11D ;358/133,135,136,138
;371/67,68 ;381/29,30,31 ;370/7 |
References Cited
[Referenced By]
U.S. Patent Documents
Other References
Steel Article, Statistical Block Protection Coding for DPCM-AQF
Speech, NTC '80 IEEE 1980 National Telecommunication Conf., Nov.
30-Dec. 4, 1980..
|
Primary Examiner: Masinick; Michael A.
Assistant Examiner: Chin; Stephen
Attorney, Agent or Firm: Banner, Birch, McKie &
Beckett
Claims
I claim:
1. A method of enabling the detection of errors introduced in an
informal signal during transmission of the informal signal through
a communication channel to a receiver, said method comprising the
steps of:
predicting from the untransmitted information signal a plurality of
actual values of the information signal and generating therefrom a
plurality of predicted values;
determining the difference between each of the plurality of actual
values and the corresponding predicted value;
developing an error detection signal based on a comparison of the
determined differences between each of the plurality of actual
values and the corresponding predicted value;
transmitting the plurality of actual values through the channel to
the receiver; and
transmitting the error detection signal to the receiver.
2. The method of claim 1 wherein the information signal is a
correlated signal.
3. A method of detecting errors introduced into an information
signal during passage of the information signal through a
communication channel to a receiver, said method comprising the
steps of:
predicting from the untransmitted information signal a plurality of
actual values of the information signal;
determining the difference between each of the plurality of actual
values and the corresponding prediction;
developing an error detection signal from the determined
differences between each of the plurality of actual values and the
corresponding prediction;
transmitting the plurality of actual values through the channel to
the receiver;
transmitting the error detection signal to the receiver;
receiving the transmitted plurality of actual values and the
transmitted error detection signal at the receiver;
predicting from the received actual values each of the plurality of
actual values of the received information signal;
determining the difference between each of the plurality of
received actual values and the corresponding prediction; and
comparing the received error detection signal with determined
differences between each of the plurality of received actual values
in the corresponding prediction to detect errors.
4. The method of claim 3 wherein the information signal is a
correlated signal.
5. A method of enabling the detection of errors introduced in an
information signal during transmission of the information signal
through a communication channel to a receiver, said method
comprising the steps of;
periodically sampling the information signal;
calculating from the untransmitted samples a predicted value
corresponding to each sample;
determining the difference between each sample and the
corresponding predicted value;
developing an error detection signal based on a comparison of the
determined differences between each sample and the corresponding
predicted value;
transmitting the samples through the channel to the receiver;
and
transmitting the error detection signal to the receiver.
6. The method of claim 5 wherein the information signal has known
statistical properties and said step of calculating from the
untransmitted samples a predicted value corresponding to each
sample comprises calculating the predicted value based solely on
the value of one or more previous untransmitted samples and the
statistical properties of the information signal.
7. A method of detecting errors introduced in an information signal
during passage of the information signal through a communication
channel to a receiver, said method comprising the steps of:
periodically sampling the information signal;
calculating from the untransmitted samples a predicted value
corresponding to each sample;
determining the difference between each sample and the
corresponding predicted value;
developing an error detection signal from the determined
differences between each sample and the corresponding predicted
value;
transmitting the samples through the channel to the receiver;
transmitting the error detection signal to the receiver;
receiving the transmitted samples and the transmitted error
detection signal at the receiver;
calculating from the received samples a predicted value
corresponding to each of the samples;
determining the difference between each received sample and the
corresponding predicted value; and
comparing the received error detection signal with the determined
differences between each received sample and the corresponding
predicted value to detect errors.
8. The method of claim 7 wherein:
the information signal has known statistical properties;
said step of calculating from the untransmitted samples a predicted
value comprises calculating the predicted value based solely on the
value of one or more previous untransmitted samples and the
statistical properties of the information signal; and
said step of calculating from the received samples a predicted
value comprises calculating the predicted value based solely on the
value of one or more previous received samples and the statistical
properties of the information signal.
9. A method of detecting and concealing errors introduced into an
information signal during passage of the information signal through
a communication channel to a receiver, said method comprising the
steps of:
receiving a plurality of actual values of the information
signal;
predicting from the received actual values each of the plurality of
actual values of the received information signal;
determining the difference between each of the plurality of
received actual values and the corresponding prediction;
receiving a maximum difference value;
comparing the received maximum difference value with the determined
differences between each of the plurality of received actual values
and the corresponding prediciton in order to detect errors; and
substituting, for any received actual value detected to be in
error, the corresponding prediction.
10. The method of claim 9 further comprising the inital steps
of:
predicting from the untransmitted information signal a plurality of
actual values of the information signal;
determining the difference between each of the plurality of actual
values of the untransmitted information signal and the
corresponding prediction;
evaluating the maximum value of the determined differences between
each of the plurality of actual values of the untransmitted
information signal and the corresponding prediction over a
predetermined period of time; and
transmitting the evaluated maximum value to the receiver as the
maximum difference value.
11. A method of detecting and concealing errors introduced into an
information signal during passage of the information signal through
a communication channel to a receiver, said method comprising the
steps of:
receiving a plurality of samples of the information signal;
calculating from the received samples a predicted value
corresponding to each of the samples;
determining the difference between each received sample and the
corresponding predicted value;
receiving a maximum difference value;
comparing the received maximum difference value with the determined
differences between each received sample and the corresponding
predicted value in order to detect errors; and
substituting, for any received sample detected to be in error, the
corresponding predicted value.
12. The method of claim 11 further comprising the initial steps
of:
calculating from the untransmitted information signal a predicted
value corresponding to each of a plurality of samples of the
information signal;
determining the difference between each sample of the untransmitted
information signal and the corresponding predicted value;
evaluating the maximum value of the determined differences between
each sample of the untransmitted information signal and the
corresponding predicted value for a predtermined number of samples;
and
transmitting the evaluated maximum value to the receiver as the
maximum difference value.
13. A method of detecting errors in actual signal values comprising
the steps of:
periodically sampling a received signal for producing a plurality
of actual signal values;
predicting an actual signal value based on the plurality of actual
signal values;
comparing the predicted signal value to the actual signal value,
producing a delta value;
determining a maximum delta value for a group of N consecutive
samples, where N is a positive integer; and
detecting an error if and only if the produced delta value is
greater than the predetermined maximum delta value.
14. The method of claim 13 where N is greater than one.
15. A method of detecting and concealing errors in actual signal
values comprising the steps of:
predicting an actual signal value based on at least one previous
actual signal value;
comparing the predicted signal value to the corresponding actual
signal value, producing a delta value;
comparing the delta value to a predetermined maximum delta
value;
detecting an error if and only if the delta value is greater than
the predetermined maximum delta value; and
if an error is detected, concealing the error by replacing the
actual signal value with the corresponding predicted signal
value.
16. The method of claim 15 wherein the actual signal values are
represented by periodic samples, the predetermined maximum delta
value being determined for a group of N consecutive periods, where
N is a positive integer.
17. The method of claim 16 where N is greater than one.
18. A method of generating error detection information from
periodically sampled actual signal values, said method comprising
the steps of:
predicting an actual signal value based on at least one previous
actual signal value;
comparing the predicted signal value to the corresponding actual
signal value, producing a delta value; and
repeating said steps of predicting and comparing for a total of N
actual signal values, where N is a positive integer, while:
delaying the actual signal value a period of time corresponding to
N sampling rates, and
storing the largest delta value as the error detection information.
Description
BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates to the field of detection and
concealment of errors in received data, and especially to detection
and concealment of errors introduced into the data during its
passage through the communication channel between the transmitter
and the receiver.
2. Description of the Prior Art
Numerous methods exist for the detection and correction of errors
in a received signal. For example, parity information can be added
to the information signal before transmission to provide the means
to detect and, optionally, correct errors occurring during
transmission. In block coding, for example, a single error
occurring in a sequence of (2.sup.M -M-1) bits can be corrected
using M parity bits which are added to the transmitted sequence of
bits. To correct k multiple errors in a sequence of (2.sup.M -kM-1)
bits requires at least kM parity bits.
Correction of multiple errors, however, requires a system which may
be very expensive to implement. Moreover, all of these methods are
inefficient in their use of the communication channel. Parity bits
added to the sequence of transmitted information reduce the channel
capacity available for transmission of the information signal. At
very high error rates in transmission, the fraction of channel
capacity dedicated to the transmission of parity bits becomes
excessive. Furthermore, all methods fail when the channel error
rate exceeds the design limit. In the case of audio signals,
established methods produce annoying "clicks" when the error rate
is even close to the design limit.
Alternative systems have been developed which allow for the
detection of errors but not their correction. Detected errors are
instead concealed by replacing the erroneous data with an estimate.
An example of this type of system is described in R. Steele and N.
S. Jayant, "Statistical Block Protection Coding for DPCM-AQF
Speech," Report of the IEEE 1980 National Telecommunications
Conference (hereinafter cited as Steele). Steele teaches a method
of block protection coding for differential pulse code modulated
(DPCM) speech. Circuitry at the transmitter calculates both the
magnitude of the maximum difference between adjacent speech samples
in a block, and the root-mean-square (rms) value of all the
adjacent differences in the block. These values are transmitted at
the head of the transmitted block of speech samples. At the
receiver, the difference between each sample determined to be
correct and the next sample is calculated; and, if this difference
is greater than the maximum as calculated prior to transmission,
then the next sample is deemed to be erroneous. Concealment is
accomplished by adding the rms value of the differences to the
correct (earlier) sample.
SUMMARY OF THE INVENTION
It is an object of the present invention to ensure the integrity of
information, such as a transmitted information signal.
It is also an object of the present invention to provide a system
in which errors arising in the communication channel are detected
or concealed at the receiver.
It is further an object of the present invention to utilize the
difference between a predicted value of an information signal and
the corresponding actual value in determining the presence of an
error.
It is still further an object of the present invention to utilize
the predicted value in concealing an erroneous actual value of the
received information signal.
The present invention deals with detection and concealment of
errors arising out of the transmission of information signals such
as electrical signals representing speech. The invention seeks to
reduce the amount of information which must be used to accomplish
error detection and concealment by taking advantage of the
statistical properties of the information signal itself to detect
those errors which are subjectively most annoying. A predictor is
used for both detection and concealment of transmitted errors.
The statistical properties of the information signal to be
transmitted are embodied in two identical predictors, one at the
transmitter and one at the receiver. Each of these predictors
calculates the predicted value of the information signal at a
particular time from one or more of its earlier values. The
transmitter's predictor uses actual values of the
yet-to-be-transmitted information signal to predict a number of
such values; it then determines the difference between each
predicted value and the corresponding actual value. The receiver's
predictor uses actual values of the received information signal to
predict these values and, similarly, determines the differences
between each predicted value and the corresponding actual
value.
If no errors were introduced into the information signal during its
passage through the communication channel, the information signal
values received would be the same as those transmitted, both
predictors would predict the same values, and the differences
determined at the transmitter would be the same as those determined
at the receiver. Ordinarily, however, errors are introduced; and in
such cases the difference determined at the receiver between an
erroneous received information signal value and its corresponding
prediction may be larger or smaller than the difference determined
at the transmitter between the correct value and its corresponding
prediction. I have found that, generally, the errors most
objectionable on a subjective basis are those which would cause a
large difference to exist between the received information signal
value and its corresponding prediction. These errors are concealed
by this invention.
Over a predetermined period of time, the transmitter circuitry
evaluates the maximum value of the determined differences. This
maximum is transmitted to the receiver for use in error detection
and concealment. The receiver circuitry compares each determined
difference with the received maximum value in effect for the period
of time in question. If the difference is not greater than the
maximum, no action is taken. If the difference is greater, the
received information signal value used to calculate the difference
is determined to be in error. This value is then replaced by the
corresponding prediction.
In the transmitter, the digital value of the intelligence signal
being transmitted is sent to a predictor, a comparator, and an
N-word delay line. The predictor estimates the next signal value,
which is suitably delayed so that the current value and its
estimate may be compared. The comparator subtracts each estimated
value from the corresponding actual value, temporarily storing the
difference, called a "delta value," while the entire block of N
words is processed. A "Maximum Delta Encoder" encodes (with
appropriate error correction) the absolute value of the maximum
delta value for all N words. The resulting block code word is
multiplexed into the data channel ahead of the group of N words to
which it corresponds. An "N Sample Delay" is used to delay the N
words so that the block code word will precede it.
In the receiver, the block code word is demultiplexed and error
corrected to recover the absolute value of the maximum delta value
for the group of N words which follow. As each of the N words is
received, it is subtracted from a predicted value generated by a
predictor circuit identical to the one found in the transmitter. If
the difference is greater than the maximum delta value for that
block, the received signal value represents an error. The error is
then concealed by replacing it with the predicted value itself. If
the difference is less than or equal to the maximum delta value,
the received signal is accepted as correct.
The invention has the advantage of efficiently using the
communication channel by transmitting the minimum information
necessary to allow detection and concealment of only those errors
which are subjectively disturbing. The invention is capable of
regenerating acceptable signals in a channel with a very high error
rate, and its implementation cost is low.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of the preferred embodiment of the
circuitry at the transmitter end of the present invention.
FIG. 2 is a block diagram of the preferred embodiment of the
circuitry at the receiver end of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 illustrates the preferred embodiment of the transmitter
circuitry of the present invention. Periodic samples of the
information signal are input to delay circuit 120 and predictor
130. The information signal is preferably a correlated signal, such
as audio or video; but it may also be non-correlated and may even
be a random process. Correlated signals are those in which one or
more parameters of information yet to be received is, to some
degree, predictable from information already received. (Audio and
video television signals are examples of correlated signals.) The
format of the signal could be analog, quantized, or digital, and is
preferably digital.
Predictor 130 calculates a predicted value corresponding to the
next actual value of the information signal. This is done using one
or more previous actual values, as well as the statistical
properties of the information signal. Such predictors are well
known, as shown, for example, in Oliver, U.S. Pat. No. 2,732,424
(weighted sum of several preceding signal values used for
prediction in television transmission); Atal, U.S. Pat. No.
3,631,520 (predictor having variable prediction parameters to deal
with signals having varying statistical properties, such as
speech); and Graham, U.S. Pat. No. 3,026,375 (recursive prediction
to deal with rapid signal changes in transmission of television),
all of which are incorporated herein by reference.
Delay circuit 120 delays the current signal value by a time T,
corresponding to twice the delay created in the predictor circuit.
The output of the predictor is the prediction for the next signal
value. The delay time T, being twice the delay of the predictor
circuit, ensures that the output of delay circuit 120 and that of
predictor 130 correspond to the same signal value. Delay circuit
120 can be any conventional circuit capable of producing the
requisite delay.
The delayed signal is input to both N--sample delay line 140 and
subtracter 150. The absolute value of the difference between the
actual and predicted signal values (the delta value) is output to
encoder 160, which stores the maximum delta value encountered in
each block of N samples and, at the end of the block of N samples,
encodes this maximum delta value with appropriate error correction
bits.
The encoded maximum delta value is input to multiplexer 170, which
multiplexes the maximum delta value ahead of the N sample values to
which it corresponds. N--sample delay line 140 ensures that the
encoded maximum delta value precedes the N samples. The output of
multiplexer 170 is sent to the communication channel. It is also
possible to transmit the encoded maximum delta value by a separate
channel.
FIG. 2 shows the preferred embodiment of the receiver circuitry of
the present invention. The block of N data words preceded by the
encoded maximum delta value is received at demultiplexer 210, and
the encoded maximum delta value is routed to decoder 240, which
decodes and corrects errors in it. The N data words representing
the information signal samples are routed to delay circuit 220 and
predictor 230. Delay circuit 220 and predictor 230 are identical to
delay circuit 120 and predictor 130, respectively, of the
transmitter as shown in FIG. 1 and described above.
Predictor 230 calculates the next signal value, and delay circuit
220 delays the current signal value by a time T so that the
predicted signal value and its corresponding actual signal value
are available concurrently. The predicted signal value is input to
both subtracter 250 and one of the two mutually exclusive terminals
of double throw switch 270. The corresponding actual signal value
is input to the other terminal.
Subtracter 250, which is identical to subtracter 150 of the
transmitter as shown in FIG. 1, determines the absolute value of
the difference between the predicted signal value and the
corresponding received actual signal value and outputs this
absolute value (the current delta value) to comparator 260.
Comparator 260 compares its two inputs and determines that there is
no error if the current delta value is less than or equal to the
maximum delta value. It then causes switch 270 to connect the
received actual signal value to output line 280.
If and only if the current delta value is greater than the maximum
delta value does comparator 260 detect an error in transmission.
The error is concealed by replacing the erroneous actual signal
value with the corresponding predicted signal value. This is done,
by comparator 260, by switching switch 270 to connect the predicted
signal value to line 280.
In this way, received signal values having a difference from their
corresponding predicted signal values larger than a maximum
difference calculated prior to transmission are treated as
erroneous. The erroneous signal value is concealed by replacing it
with the corresponding predicted signal value.
The preferred embodiment has been described by using digital data
as the input signal. It is also possible to construct this system
using analog or quantized input signals by simply replacing the
subtracters in circuits 150 and 250 with differential amplifiers.
The signals may then be transmitted either as analog or
digital.
Additionally, the signals may be transmitted as analog while the
maximum delta value is transmitted as digital, or both may be
analog signals. Further, the maximum delta value may be transmitted
in a separate communication channel. Also, this invention could be
carried out using either serial or parallel calculation and/or
transmission techniques.
Although illustrative embodiments of the present invention have
been described in detail with reference to the accompanying
drawings, it is to be understood that the invention is not limited
to those precise embodiments and that various changes or
modifications may be effected therein by one skilled in the art
without departing from the scope or spirit of the invention.
The method of construction may depend on the application. In the
case of audio signals, it is expected that an all-digital
implementation would be used, although partially analogue
techniques are possible. In the case of video information, the
maximum delta value may be transmitted digitally during the
line-blanking interval, or in any other digital channel associated
with the video signal. The predictor in this case might employ the
previous TV line of the video signal.
The technique may be combined with other
error-correction/concealment methods. The technique itself may be
enhanced to provide an error correction capability (rather than
being restricted to error concealment). Error detection methods
exist which specify the type of error which has occurred, but
cannot define its precise location. The maximum delta value could
be used for that purpose. One such method requires the introduction
of a single additional data word to the N-word group. This word is
the modulo 1 addition of the other N words in the group.
* * * * *