Technical Field
[0001] This invention relates to the coding of signals and, more particularly, to a context
extractor for entropy encoding/decoding.
Background of the Invention
[0002] It is known that in an entropy encoder/decoder, e.g., arithmetic or adaptive Huffman,
a probability estimate is required of the current symbol to be encoded/decoded. The
probability estimate is usually conditional in the sense that it is dependent on values
of the signal at prior symbol times. The particular choice of the positions of prior
symbols to be used in predicting the current symbol is called the "context configuration"
in entropy encoding/decoding.
[0003] In general, a large context configuration referencing many prior symbols will provide
a more accurate prediction of the current symbol. A problem with using such a large
context configuration is that it is complex to implement since it requires a large
memory. Additionally, it will cause a probability estimator to take a significantly
longer time to reach "good" estimates of probability. Indeed, during intervals of
changing signal statistics the probability estimator may be unable to track the changes
with a consequent reduction in encoding/decoding efficiency.
[0004] Prior known entropy encoders/decoders have heretofore employed fixed context configurations.
A problem with such arrangements is that if a particular symbol positioned prior to
the current symbol by a particular number of symbol intervals, i.e., a particular
"lag" interval, happened to be an excellent predictor of the current symbol but its
lag interval was not in the fixed context configuration, its predictive value would
not be exploited. Consequently, this limited the efficiency of the encoders/decoders.
[0005] An arithmetic encoder/decoder arrangement for compressing data for transmission is
disclosed in WO-A-86/00479.
[0006] An entropy encoder/decoder arrangement employing content extraction and probability
estimates as set out in the preamble of claims 1 and 10 and carrying out the method
set out in the preamble of claim 9 is described in an ISO standard by R.P. Arps and
R.C. Pasco entitled 'Progressive Binary Image Compressor (PBIC) Proposal', ISO International
Organisation for Standardisation, ISO/IEC/JTC1/SC2/WG8 JBIG No. 33, Rev 6, 28th June
1989, pages 1-37.
Summary of the Invention
[0007] The problems and other limitations of prior known entropy encoders/decoders are overcome,
in accordance with an aspect of the invention, by employing an adaptive context extractor.
[0008] More specifically, an adaptive context extractor is employed which automatically
adjusts the configuration of lag intervals used to define the context. This is realized
by adaptively incorporating into the context configuration at least one prior symbol
at a lag interval found to have a good predictive value relative to the particular
symbol stream being currently encoded/decoded. The context configuration adjustment
is such that the at least one found lag interval is exchanged with the lag interval
currently in an at least one so-called floating predictor position.
[0009] In an embodiment of the invention, an adaptive context extractor is used in which
so-called running measures are obtained and retained of the correlation between signal
values separated by fixed lag intervals. If a "high" degree of correlation, either
positive or negative, is found at some particular lag interval, the prior symbol preceding
the current symbol being encoded/decoded by that particular lag interval is incorporated
into the context configuration.
Brief Description of the Drawing
[0010] In the Drawing:
FIG. 1 shows details of an arrangement employing an encoder and remote decoder employing
an embodiment of the invention;
FIG. 2 is a graphic illustration of symbols used in adaptively obtaining a context;
FIG. 3 is a graphic illustration useful in describing the adaptive incorporation of
at least one prior lag interval into the context configuration;
FIG. 4 depicts a flow chart illustrating the operation of elements of the adaptive
context extractor employed in the encoder and decoder shown in FIG. 1; and
FIG. 5 shows a flowchart of the context configuration changer employed in the flowchart
of FIG. 4.
Detailed Description
[0011] FIG. 1 shows details of encoder 101 in simplified block diagram form, including aspects
of the invention, which receives data symbols s(k), encodes them into a compressed
data stream a(i) and interfaces them to a transmission media 102 for transmission
to remote decoder 103. Decoder 103, also including aspects of the invention, interfaces
to transmission media 102 to obtain the received data stream and decodes it to obtain
reconstructed replicas of the original symbols s(k). Symbols s(k) are chosen from
the integers [0,...,S-1]. Thus, the symbols may be multi-level (S>2) or bi-level (S=2)
as desired. The assumption that the symbol values are positive integers is for clarity
of exposition. Generalizations allowing symbols to take on other than integer values
will be obvious to those skilled in the art.
[0012] Accordingly, encoder 101 includes, in this example, entropy encoder unit 104, adaptive
context extractor 105, probability estimator 106 and line interface 107. Context c(k)
is provided, in accordance with an aspect of the invention, and is supplied to probability
estimator 106. Symbols s(k) and probability estimates

(k) are supplied to entropy encoder unit 104 and employed therein in known fashion
to generate an encoded data stream a(i). Such entropy encoder units are known in the
art and may be, for example, an arithmetic encoder or an adaptive Huffman encoder.
See, for example, an article entitled "Compression of Black-White Image with Arithmetic
Coding",
IEEE Transactions On Communications, VOL. COM.-29, No. 6, June 1981, pages 858-867, and U.S. patent 4,663,490 issued December
30, 1986 for arithmetic encoders/decoders used to encode and decode symbols having
binary elements. Also see an article entitled, Arithmetic Coding For Data Compression",
Communications of the ACM, Volume 30, No. 6, June 1987, pages 520-540, for an arithmetic encoder/decoder used
to encode/decode symbols having multi-level elements. For Huffman type encoders/decoders
see an article entitled "Compression of Text and Binary Files Using Adaptive Huffman
Coding Techniques", IEEE Southeast Conference, April 11-13, 1988, Knoxville, Tenn.,
pages 660-663.
[0013] Line interface 107 interfaces the encoded data stream a(i) to transmission media
102 which, in turn, supplies the data stream to remote decoder 103. To this end, line
interface 107 includes appropriate apparatus for formatting the data stream into the
signal format employed in transmission media 102. Some well known examples of possible
transmission media 102 are T-carrier trunks, ISDN basic subscriber lines, local area
networks and the like. Such line interface apparatus is known in the art.
[0014] Probability estimator 106 is advantageously employed to generate probability estimates

(k)=(p̂₀ (k),..., p̂
S-1 (k)) for incoming symbol s(k)ε [0,...,S-1] and associated context c(k)ε [0,...,C-1]
from adaptive context extractor 105. Any of a number of known probability estimators
may be used for probability estimator 106.
[0015] Adaptive context extractor 105 provides, in accordance with an aspect of the invention,
the context c(k), where c(k)ε[0,...,C-1], of received symbol s(k). That is to say,
adaptive context extractor 105 generates a unique context for the current symbol s(k)
being encoded dependent on prior supplied symbols. Adaptive context extractor 105
can be readily implemented by appropriately programming a computer or digital signal
processor. It is envisioned, however, that a superior mode of implementation is in
a very large scale integrated (VLSI) circuit configuration on a semiconductor chip.
[0016] For brevity and clarity of description, a specific embodiment of the invention will
be described relating to images (two dimensional data) in which pixels, i.e., picture
elements, are represented by bi-level signals. It will be apparent to those skilled
in the art how to apply the invention to multi-level signals or how to apply the invention
to signals that are not of dimensionality two. Speech is an example of a one dimensional,
multi-level signal and video is an example of a three dimensional, multi-level signal.
[0017] Accordingly, shown in FIG. 2 are a number of pixel positions, where position X indicates
the current pixel to be encoded corresponding to a current symbol s(k), the lag intervals
ℓ

through ℓ

point to positions of prior pixels (symbols) in a so-called fixed portion of a context
configuration used in providing context c(k) for predicting X, the pixel position
at lag interval ℓ

is a candidate position and is designated a so-called floating predictor position
that is initially included in the context configuration along with the fixed portion
and pixel positions at lag intervals ℓ

through ℓ

also point to candidate pixels. That is to say, the context configuration includes
a fixed portion and a so-called floating portion including at least one floating predictor
position. In this example, the pixel positions at lag intervals ℓ

, ℓ

and ℓ

through ℓ

are in the same row of an image as the current pixel position X, while the pixel
positions at lag intervals ℓ

through ℓ

are in a prior row and in a prescribed relationship to current pixel position X.
A pixel in at least one of the positions at lag intervals ℓ

through ℓ

is controllably selected, in accordance with an aspect of the invention, to be included
in the floating predictor position ℓ₇ in the context configuration. Accordingly, in
this example, the initial context configuration includes the prior pixels in the positions
at lag intervals ℓ

through ℓ

and floating predictor position ℓ

.
[0018] FIG. 3 is a graphic illustration of an aspect of the operation of the invention in
adaptively incorporating pixels (symbols) at particular lag intervals from the candidate
set into the context configuration. Although the example being described assumes that
only one lag interval from the candidate set is to be incorporated into the context
configuration, it will be apparent to those skilled in the art that more than one
lag interval could be incorporated, if desired. In this example, the number of pixels
(symbols) in a row is is denoted by R and a so-called fixed portion of the context
configuration includes pixels in positions at lag intervals ℓ

through ℓ

, where ℓ

=1, ℓ

=2, ℓ

=R-2 (prior row and two to the right), ℓ

=R-1, ℓ

=R, ℓ

=R+1 and ℓ

=R+2. The current floating predictor position is at lag interval ℓ₇=ℓ

=3. The remaining candidate positions are at lag intervals ℓ₈= ℓ

=4, ℓ₉ = ℓ

=5, ℓ₁₀ = ℓ

=6, ℓ₁₁ = ℓ

=7, ℓ₁₂ = ℓ

=8, ℓ₁₃ = ℓ

=9, ℓ₁₄ = ℓ

=10, ℓ₁₅ = ℓ

=11 and ℓ₁₆ = ℓ

=12. If at a later time it is determined that a pixel at a lag interval in another
of the candidate positions is a significantly better predictor for X than the pixel
at lag interval ℓ₇=3, then that lag interval is adaptively exchanged, in accordance
with an aspect of the invention, with the lag interval currently in the floating predictor
position of the context configuration, i.e., ℓ₇, and thereby incorporated into the
context configuration. For example, as shown in FIG. 3, if at some later time the
pixel referenced by ℓ₁₀ (that is, six (6) positions to the left of the current pixel
X) is determined to be a significantly better predictor for the current pixel X than
is the pixel referenced by ℓ₇ (that is, three (3) positions to the left of the current
pixel X), then ℓ₇ is changed to ℓ

while ℓ₁₀ is changed to ℓ

. Since the pixel referenced by ℓ₇ is the pixel incorporated into the context configuration,
the pixel at lag interval ℓ

will now be in the context configuration. That is to say, the pixel six (6) positions
to the left of the current pixel X is adaptively exchanged for the pixel three (3)
positions to the left of the current pixel X. Continuing, if at some still later time
it is determined that a pixel located at a different lag interval is now a significantly
better predictor for current pixel X, that lag interval will be adaptively exchanged
for ℓ₇ (now ℓ

). Thus, in the example of FIG. 3, the pixel at lag internal ℓ₁₂ (eight (8) positions
to the left of current pixel X) is determined to be a significantly better predictor
and the lag interval ℓ₁₂ is adaptively exchanged for ℓ₇ = ℓ

=6. The context configuration remains fixed until the next adaptive exchange, i.e.,
adjustment, is made. In this manner the context configuration is adaptively adjusted,
in accordance with an aspect of the invention.
[0019] It is to be noted that any new lag interval being considered for movement to the
at least one floating predictor position must reference a significantly better predictor
than is referenced by the current floating predictor lag interval because it is undesirable
to change the context configuration too often. The reason for this is that once the
context configuration is changed, it takes some time for probability estimator 106
to stabilize and learn the new probability values. During this time the performance
of the entropy encoder is suboptimal. Consequently, in considering changing the predictors
in the context, possible improvement in the prediction quality must be balanced against
the time required to learn the new probability estimates.
[0020] The flow chart shown in FIG. 4 depicts the operation of elements of adaptive context
extractor 105. Adaptive context extractor 105 provides a context c(k), in accordance
with an aspect of the invention, in such a way as to cause prediction to be more certain
so that the probabilities being estimated by probability estimator 106 are closer
either to zero (0) or one (1). Accordingly, operation of adaptive context extractor
105 is begun via start step 401. Thereafter, operational block 402 initializes k=0,
ℓ
i=ℓ

for all iε[0,...,L+M-1] where "L" is the number of lag intervals in the fixed portion
of the context configuration (in the above example L=7) and where "M" is the number
of candidate lag intervals in a set from which a floating predictor will be selected
(in the above example M=10). Operational block 402 also initializes s(k)=0 for all
k < 0 and n
m (k)=0 for all
mε[L,...,L+M-1]. The n
m(k) are running counts to be explained below.
[0021] Operational block 403 causes the current symbol s(k) to be read. Operational block
404 causes the context c(k) to be calculated in accordance with

Context c(k) is then supplied as an output to probability estimator 106 (FIG. 1).
Operational block 405 causes the running counts n
m(k) to be updated. It is to be noted that counts n
m(k) provide an efficient and fast measure of predictive value. To this end, n
m(k) are running counts of polarity coincidences, i.e., running counts of the number
of times that s(k) and s(k-ℓ
m) are the same. Thus, step 405 causes the updating of n
m(k) for all mε[L,...,L+M-1] in accordance with

[0022] Conditional branch point 406 tests to determine if current time k is an allowed time
for changing the context configuration. There is no need to allow possible changes
in the context configuration at every time k and, consequently, processing overhead
can be reduced by only periodically allowing context configuration changes. To this
end step 406 tests to determine if

where k is the symbol index and K is a predetermined parameter representative of the
interval at which changes in the context configuration are to be allowed. If the test
result in step 406 is NO, no change is to be made in the context configuration and
operational block 407 increments the symbol index, namely, sets k = k+1. Thereafter,
control is returned to step 403. If the test result in step 406 is YES, operational
block 408 causes the context configuration changer to be called. Once the context
configuration changer has run, operational block 407 increments the symbol index k
and control is returned to step 403.
[0023] FIG. 5 is a flow chart of the context configuration changer used in the main adaptive
context extractor of FIG. 4. Accordingly, the context configuration changer is entered
via step 501. Thereafter, operational block 502 causes ℓ
MAX to be found in accordance with

and causes i
MAX to be found which equals the smallest m in [L,...,L+M-1] such that

Thus, i
MAX is an index of the predictor for the current symbol offering the maximum correlation.
[0024] Operational block 503 causes ℓ
MIN to be found in accordance with

[0025] Conditional branch points 504 and 507 through 509 are employed to assure that the
context configuration is not changed unless a significantly better prediction of the
current symbol s(k) will result. Accordingly, conditional branch point 504 tests to
determine if ℓ
MAX is greater than a fraction of its maximum possible value K, namely, whether

where A is a predetermined fraction. In one example, A is selected to be 7/8. If ℓ
MAX is not greater than a significant fraction of its maximum possible value K, none
of the candidates for the at least one floating predictor in the context configuration
are particularly good predictors and there is no need to change the context configuration.
If the test result in step 504 is NO, the context configuration is not to be changed
and operational block 505 sets the running counts to zero, namely,

for all mε[L,...,L+m-1]. Thereafter, control is returned to the main routine via step
506. If the test result in step 504 is YES, conditional branch point 507 tests to
determine if

where B is a predetermined fraction. In one example, B is selected to be 1/4. When
the condition of equation (9) is not satisfied all of the candidate lag intervals
are approximately equally good predictors for the current symbol and, consequently,
there is no need to change the context configuration. If the test result in step 507
is NO, the context configuration is not to be changed and steps 505 and 506 are iterated,
as described above. If the test result in step 507 is YES, conditional branch point
508 tests to determine whether

If the condition of equation (10) is not met, the improvement in prediction offered
by changing the context configuration is not significant enough to warrant changing
it. Thus, if the test result in step 508 is NO, the context configuration is not to
be changed and steps 505 and 506 are iterated, as described above. If the test result
in step 508 is YES, conditional branch point 509 tests to determine whether

where C is a predetermined integer value. In one example, C is selected to be 64.
If the condition of equation (11) is not met, the improvement in prediction offered
by changing the context configuration is again not significant enough to warrant changing
it. Thus, if the test result in step 509 is NO, the context configuration is not to
be changed and steps 505 and 506 are iterated, as described above. If the test result
in step 509 is YES, operational block 510 causes a change in the context configuration
to occur by exchanging the more desirable lag interval with the lag interval currently
in the floating predictor position. This is realized by setting

Thereafter, steps 505 and 506 are iterated, as described above and control is returned
to the main routine. It is noted that an adjustment in the context configuration is
enabled, i.e., allowed, only if the prescribed criteria of steps 504 and 507 through
509 are met.
[0026] The running counts n
m(k) of polarity coincidences are measures of predictive value. Although this embodiment
of the invention has been described assuming a bi-level signal, counting polarity
coincidences would also provide a measure of predictive value for multi-level signals.
[0027] Another possible measure of predictive value is correlation. A technique that could
be advantageously used for obtaining correlations for multi-level and other signals
is low-pass filtering. To this end, the products of the symbol value at a given time
and the symbol value at some prior time are low-pass filtered to obtain the desired
correlations. Such low-pass filtering techniques are known in the art.
[0028] Decoder 103 includes, in this example, line interface 108, entropy decoder unit 109,
adaptive context extractor 110 and probability estimator 111. Line interface 108 performs
the inverse function of line interface 107 and de-formats the incoming signal, in
a known manner, to obtain the data stream a(i). Entropy decoder unit 109 performs
the inverse function of entropy encoder unit 104. To this end, the received data stream
a(i) and probability estimates

(k) from probability estimator 110 are supplied to entropy decoder unit 109 and used
therein in known fashion to reconstruct the symbols s(k). Symbols s(k) are supplied
to adaptive context extractor 110 which, in turn, provides context c(k) and supplies
it to probability estimator 111. Again, such entropy decoder units are known in the
art. See again the article entitled "Compression of Black-White Image with Arithmetic
Coding" and U.S. patent 4,633,490, cited above, regarding binary applications and
the article entitled "Arithmetic Coding For Data Compression", also cited above, for
multilevel applications. Also see the article cited above regarding Huffman encoders/decoders
entitled "Compression of Text and Binary Files Using Adaptive Huffman Coding Techniques".
Adaptive context extractor 110 is identical to adaptive context extractor 105 in structure
and operation and is not described again. Similarly, probability estimator 111 is
identical to probability estimator 106 in structure and operation and is not described
again.
1. An encoder (101) for encoding a supplied signal (s(k)) having a plurality of symbol
values including,
means (105) for extracting a context (c(k)) dependent on a configuration of prior
symbols of said supplied signal,
probability estimator means (106) being responsive to said supplied signal and
said context for generating probability estimates (

(k)) of said supplied signal,
entropy encoder means (104) being responsive to said supplied signal and said probability
estimated for generating an encoded version of said supplied signal,
means (107) for interfacing said entropy encoder means to a transmission medium
or storage,
CHARACTERIZED IN THAT
a plurality of said prior symbols are at prescribed individual lag intervals relative
to a current symbol being encoded, and
said means for extracting a context includes means (401-408, 501-510) responsive
to said supplied signal for adaptively adjusting said configuration.
2. An encoder as defined in claim 1 wherein said means for adaptively adjusting includes
means (406) for enabling adjustment of said configuration only at time when prescribed
criteria based on correlation between signal values at said lag intervals are met.
3. An encoder as defined in claim 1 wherein said configuration includes a predetermined
portion comprised of at least one of said lag intervals and an adjustable portion
comprised of at least one floating lag interval determined in response to said supplied
signal.
4. An encoder as defined in claim 3 wherein said means for adaptively adjusting includes
means (501-510) for selecting said at least one floating lag interval from a predetermined
set of candidate lag intervals.
5. An encoder as defined in claim 4 wherein said means for selecting includes means (502,
503) for obtaining a measure of predictive value of each prior symbol at said lag
intervals in said predetermined set of candidate lag intervals and means (504, 507-510)
for selecting from said set of candidate lag intervals at least one of said lag intervals
referencing a symbol having the greatest predictive value to be included as said floating
lag interval in said configuration.
6. An encoder as defined in claim 5 wherein said means for obtaining a measure of predictive
value includes means (502, 503) for obtaining a measure of correlation at each of
said candidate lag intervals and wherein said means for selecting includes means (504,
507-510) for determining which at least one of said lag intervals in said set is to
be included in said configuration based on said correlations.
7. An encoder as defined in claim 6 wherein said means for determining identifies an
at least one lag interval of said set of candidate lag intervals having the maximum
correlation (via 502) and further including means (510) for incorporating said identified
at least one lag interval into said configuration.
8. An encoder as defined in claim 5 wherein said means for obtaining a measure of predictive
value includes means (405) for counting polarity coincidences between said current
symbol and symbols at said candidate lag intervals and wherein said means (502-510)
for selecting is responsive to counts of said polarity coincidences to select as said
at least one lag interval to be included in said configuration at least one of said
candidate lag intervals having the maximum count of said polarity coincidences.
9. A method of encoding a supplied signal having a plurality of symbol values including
the steps of,
extracting a context (via 105) from said supplied signal dependent on a configuration
of prior symbols of said supplied signal,
generating probability estimates (via 106) of said supplied signal in response
to said supplied signal and said context,
entropy encoding (via 104) said supplied signal in response to said supplied signal
and said probability estimates to generate an encoded version of said supplied signal,
interfacing (via 107) said encoded version to a transmission medium or storage,
CHARACTERIZED IN THAT
a plurality of said prior symbols are at prescribed individual lag intervals relative
to a current symbol being encoded, and
said step of extracting a context includes adaptively adjusting (via 401-408, 501-510)
said configuration in response to said supplied signal.
10. A decoder (103) for reconstructing an original signal (s(k)) having a plurality of
symbol values from a compressed data signal (a(i)) including,
means (108) for interfacing to a transmission medium or storage (102) to obtain
a compressed data signal,
means (110) for extracting a context dependent on a configuration of prior symbols
of a reconstructed signal,
probability estimator means (111) being responsive to said reconstructed signal
and said context for generating probability estimates (

(k)) of said reconstructed signal,
entropy decoder means (109) being responsive to said obtained compressed data signal
and said probability estimates for generating a reconstructed version of the original
signal,
CHARACTERIZED IN THAT
a plurality of said prior symbols are at prescribed individual lag intervals relative
to a current symbol being decoded, and
said means for extracting a context include means (401-407, 501-510) responsive
to said reconstructed signal for adaptively adjusting said configuration.
11. A decoder as defined in claim 10 wherein said means for adaptively adjusting includes
means (406) for enabling adjustment of said configuration only at times when prescribed
criteria are met.
12. A decoder as defined in claim 10 wherein said configuration includes a predetermined
portion comprised of at least one of said lag intervals and an adjustable portion
comprised of at least one floating lag interval determined in response to said applied
signal.
13. A decoder as defined in claim 12 wherein said means for adaptively adjusting includes
means for selecting (501-510) said at least one floating lag interval from a predetermined
set of candidate lag intervals.
14. A decoder as defined in claim 13 wherein said means for selecting includes means (502,
503)for obtaining a measure of predictive value of each prior symbol at said lag intervals
in said predetermined set of candidate lag intervals and means (504, 507-510) for
selecting from said set of candidate lag intervals at least one of said lag intervals
referencing a symbol having the greatest predictive value to be included as said floating
lag interval in said configuration.
15. A decoder as defined in claim 14 wherein said means for obtaining a measure of predictive
value includes means (502, 503) for obtaining a measure of correlation at each of
said candidate lag intervals and wherein said means for selecting includes means (504,
502-510) for determining which at least one of said lag intervals in said set is to
be included in said configuration based on said correlations.
16. A decoder as defined in claim 15 wherein said means for determining identifies means
at least one lag interval of said set of candidate lag intervals having the maximum
correlation (via 502) and further including means (510) for incorporating said identified
at least one lag interval into said configuration.
17. A decoder as defined in claim 14 wherein said means (405) for obtaining a measure
of predictive value includes means for counting polarity coincidences between said
current symbol and symbols at said candidate lag intervals and wherein said means
(502-510) for selecting is responsive to counts of said polarity coincidences to select
as said at least one lag interval to be included in said configuration at least one
of said candidate lag intervals having the maximum count.
18. A method of decoding a compressed data signal representative of an encoded version
of an original supplied signal to obtain a reconstructed signal having a plurality
of symbol values including the steps of,
interfacing (via 108) to a transmission medium or storage to obtain a compressed
data signal,
extracting a context (via 110) from a reconstructed signal dependent on a configuration
of prior symbols of said reconstructed signal,
generating probability estimates (via 111) of said reconstructed signal in response
to said reconstructed signal and said context,
entropy decoding (via 109) said compressed data signal in response to said obtained
compressed data signal and said probability estimates to generate said reconstructed
signal version of the original signal,
CHARACTERIZED IN THAT
a plurality of said prior symbols are at prescribed individual lag intervals relative
to a current symbol being decoded, and
said step of extracting a context includes adaptively adjusting (via 401-408, 501-510)
said configuration in response to said reconstructed signal.
1. Codierer (101) zum Codieren eines zugeführten Signals (s(k)) mit einer Mehrzahl von
Symbolwerten einschließlich
Mitteln (105) zur Ableitung eines Kontexts (c(k)) in Abhängigkeit von einer Konfiguration
von vorhergehenden Symbolen des besagten zugeführten Signals,
auf das besagte zugeführte Signal und den besagten Kontext reagierender Wahrscheinlichkeitsschätzmittel
(106) zum Erzeugen von Wahrscheinlichkeitsschätzungen (

(k)) des besagten zugeführten Signals,
auf das besagte zugeführte Signal und besagte Wahrscheinlichkeitsschätzung reagierender
Entropiecodierermittel (104) zum Erzeugen einer codierten Version des besagten zugeführten
Signals,
Mitteln (107) zum Anschalten der besagten Entropiecodierermittel an ein Übertragungsmedium
oder einen Speicher,
dadurch gekennzeichnet, daß
sich eine Mehrzahl von besagten vorhergehenden Symbolen in vorgeschriebenen einzelnen
Nachlaufzeitabständen relativ zu einem aktuellen codierten Symbol befindet, und
die besagten Mittel zum Ableiten eines Kontexts auf das besagte zugeführte Signal
reagierende Mittel (401-408, 501-510) zur adaptiven Einstellung der besagten Konfiguration
enthalten.
2. Codierer nach Anspruch 1, wobei die besagten Mittel zur adaptiven Einstellung Mittel
(406) zur alleinigen Freigabe der Einstellung der besagten Konfiguration zu einer
Zeit, wenn die auf Korrelation zwischen Signalwerten zu den besagten Nachlaufzeitabständen
basierenden vorgeschriebenen Kriterien erfüllt werden, enthalten.
3. Codierer nach Anspruch 1, wobei die besagte Konfiguration einen vorbestimmten Teil
mit mindestens einem der besagten Nachlaufzeitabstände und einen verstellbaren Teil
mit mindestens einem als Reaktion auf das besagte zugeführte Signal bestimmten schwebenden
Nachlaufzeitabstand enthält.
4. Codierer nach Anspruch 3, wobei die besagten Mittel zur adaptiven Einstellung Mittel
(501-510) zum Auswählen des mindestens einen schwebenden Nachlaufzeitabstands aus
einer vorbestimmten Menge von in Frage kommenden Nachlaufzeitabständen enthalten.
5. Codierer nach Anspruch 4, wobei die besagten Mittel zum Auswählen Mittel (502, 503)
zum Erhalten eines Maßes eines Vorhersagewertes jedes vorhergehenden Symbols zu den
besagten Nachlaufzeitabständen in der besagten vorbestimmten Menge von in Frage kommenden
Nachlaufzeitabständen und Mittel (504, 507-510) zum Auswählen, aus der besagten Menge
von in Frage kommenden Nachlaufzeitabständen, mindestens eines der besagten Nachlaufzeitabstände,
der als Bezugswert für ein Symbol mit dem größten Vorhersagewert dient, um als besagter
schwebender Nachlaufzeitabstand in die besagte Konfiguration eingeschlossen zu werden,
enthalten.
6. Codierer nach Anspruch 5, wobei die besagten Mittel zum Erhalten eines Maßes eines
Vorhersagewertes Mittel (502, 503) zum Erhalten eines Maßes der Korrelation zu jedem
der besagten in Frage kommenden Nachlaufzeitabstände enthalten, und wobei die besagten
Mittel zum Auswählen Mittel (504, 507-510) zum Bestimmen, welcher mindestens eine
der besagten Nachlaufzeitabstände in der besagten Menge auf Grundlage der besagten
Korrelationen in die besagte Konfiguration aufzunehmen ist, enthalten.
7. Codierer nach Anspruch 6, wobei die besagten Mittel zum Bestimmen mindestens einen
Nachlaufzeitabstand der besagten Menge von in Frage kommenden Nachlaufzeitabständen
mit maximaler Korrelation (über 502) kennzeichnen und weiterhin Mittel (510) zum Aufnehmen
des besagten gekennzeichneten mindestens einen Nachlaufzeitabstandes in die besagte
Konfiguration enthalten.
8. Codierer nach Anspruch 5, wobei die besagten Mittel zum Erhalten eines Maßes eines
Vorhersagewertes Mittel (405) zum Zählen von Polaritätskoinzidenzen zwischen besagtem
aktuellen Symbol und Symbolen zu den besagten in Frage kommenden Nachlaufzeitabständen
enthalten und wobei die besagten Mittel (502-510) zum Auswählen auf Zählungen der
besagten Polaritätskoinzidenzen reagieren, um mindestens einen der besagten in Frage
kommenden Nachlaufzeitabstände mit maximaler Zählung der besagten Polaritätskoinzidenzen
als den besagten mindestens einen in die besagte Konfiguration aufzunehmenden Nachlaufzeitabstand
auszuwählen.
9. Verfahren zur Codierung eines zugeführten Signals mit einer Mehrzahl von Symbolwerten
einschließlich folgender Schritte:
Ableiten eines Kontexts (über 105) vom besagten zugeführten Signal in Abhängigkeit
von einer Konfiguration vorhergehender Symbole des besagten zugeführten Signals,
Erzeugen von Wahrscheinlichkeitsschätzungen (über 106) des besagten zugeführten
Signals als Reaktion auf das besagte zugeführte Signal und den besagten Kontext,
Entropiecodierung (über 104) des besagten zugeführten Signals als Reaktion auf
das besagte zugeführte Signal und besagte Wahrscheinlichkeitsschätzungen zur Erzeugung
einer codierten Version des besagten zugeführten Signals,
Anschalten (über 107) der besagten codierten Version an ein Übertragungsmedium
oder einen Speicher,
dadurch gekennzeichnet, daß
eine Mehrzahl von besagten vorhergehenden Symbolen sich in vorgeschriebenen einzelnen
Nachlaufzeitabständen relativ zu einem aktuellen codierten Symbol befindet, und
der besagte Schritt des Ableitens eines Kontexts die adaptive Einstellung (über
401-408, 501-510) der besagten Konfiguration als Reaktion auf das besagte zugeführte
Signal enthält.
10. Decodierer (103) zur Wiederherstellung eines ursprünglichen Signals (s(k)) mit einer
Mehrzahl von Symbolwerten aus einem komprimierten Datensignal (a(i)) einschließlich
Mitteln (108) zum Anschalten an ein Übertragungsmedium oder einen Speicher (102)
zum Erhalten eines komprimierten Datensignals,
Mitteln (110) zum Ableiten eines Kontexts in Abhängigkeit von einer Konfiguration
von vorhergehenden Symbolen eines wiederhergestellten Signals,
auf das besagte wiederhergestellte Signal und den besagten Kontext reagierender
Wahrscheinlichkeitsschätzungsmittel (111) zum Erzeugen von Wahrscheinlichkeitsschätzungen
(

(k)) des besagten wiederhergestellten Signals,
auf das besagte erhaltene komprimierte Datensignal und die besagten Wahrscheinlichkeitsschätzungen
reagierender Entropiedecodierermittel (109) zum Erzeugen einer wiederhergestellten
Version des ursprünglichen Signals,
dadurch gekennzeichnet, daß
sich eine Mehrzahl von besagten vorhergehenden Symbolen in vorgeschriebenen einzelnen
Nachlaufzeitabständen relativ zu einem aktuellen decodierten Symbol befindet, und
besagte Mittel zum Ableiten eines Kontexts auf das besagte wiederhergestellte Signal
reagierende Mittel (401-407, 501-510) zur adaptiven Einstellung der besagten Konfiguration
enthalten.
11. Decodierer nach Anspruch 10, wobei die besagten Mittel zum adaptiven Einstellen Mittel
(406) zur alleinigen Freigabe der Einstellung der besagten Konfiguration zu solchen
Zeiten, wenn vorgeschriebene Kriterien erfüllt sind, enthalten.
12. Decodierer nach Anspruch 10, wobei die besagte Konfiguration einen vorbestimmten Teil
mit mindestens einem der besagten Nachlaufzeitabstände und einen verstellbaren Teil
mit mindestens einem als Reaktion auf das besagte zugeführte Signal bestimmten schwebenden
Nachlaufzeitabstand enthält.
13. Decodierer nach Anspruch 12, wobei die besagten Mittel zum adaptiven Einstellen Mittel
zum Auswählen (501-510) mindestens eines schwebenden Nachlaufzeitabstandes aus einer
vorbestimmten Menge von in Frage kommenden Nachlaufzeitabständen enthalten.
14. Decodierer nach Anspruch 13, wobei die besagten Mittel zum Auswählen Mittel (502,
503) zum Erhalten eines Maßes eines Prädiktionswertes jedes vorhergehenden Symbols
zu besagten Nachlaufzeitabständen in der besagten vorbestimmten Menge von in Frage
kommenden Nachlaufzeitabständen und Mittel (504, 507-510) zum Auswählen, aus der besagten
Menge von in Frage kommenden Nachlaufzeitabständen, mindestens eines der besagten
Nachlaufzeitabstände, der als Bezugswert für ein Symbol mit dem größten Prädiktionswert
dient, um als besagter schwebender Nachlaufzeitabstand in besagte Konfiguration eingeschlossen
zu werden, enthalten.
15. Decodierer nach Anspruch 14, wobei die besagten Mittel zum Erhalten eines Maßes eines
Prädiktionswertes Mittel (502, 503) zum Erhalten eines Maßes einer Korrelation zu
jedem der besagten in Frage kommenden Nachlaufzeitabstände enthalten und wobei die
besagten Mittel zum Auswählen Mittel (504, 502-510) zum Bestimmen, welcher mindestens
eine der besagten Nachlaufzeitabstände in der besagten Menge auf Grundlage der besagten
Korrelationen in die besagte Konfiguration aufzunehmen ist, enthalten.
16. Decodierer nach Anspruch 15, wobei die besagten Mittel zum Bestimmen mindestens einen
Nachlaufzeitabstand der besagten Menge von in Frage kommenden Nachlaufzeitabständen
mit maximaler Korrelation (über 502) kennzeichnen und weiterhin Mittel (510) zum Aufnehmen
des besagten gekennzeichneten mindestens einen Nachlaufzeitabstandes in die besagte
Konfiguration enthalten.
17. Decodierer nach Anspruch 14, wobei die besagten Mittel (405) zum Erhalten eines Maßes
eines Prädiktionswertes Mittel zum Zählen von Polaritätskoinzidenzen zwischen dem
besagten aktuellen Symbol und Symbolen zu den besagten in Frage kommenden Nachlaufzeitabständen
enthalten und wobei die besagten Mittel (502-510) zum Auswählen auf Zählungen der
besagten Polaritätskoinzidenzen reagieren, um mindestens einen der besagten in Frage
kommenden Nachlaufzeitabstände mit maximaler Zählung als den besagten mindestens einen
in die besagte Konfiguration aufzunehmenden Nachlaufzeitabstand auszuwählen.
18. Verfahren der Decodierung eines eine codierte Version eines ursprünglichen zugeführten
Signals darstellenden komprimierten Datensignals zum Erhalten eines wiederhergestellten
Signals mit einer Mehrzahl von Symbolwerten einschließlich folgender Schritte:
Anschalten (über 108) an ein Übertragungsmedium oder einen Speicher zum Erhalten
eines komprimierten Datensignals,
Ableiten eines Kontexts (über 110) aus einem wiederhergestellten Signal in Abhängigkeit
von einer Konfiguration vorhergehender Symbole des besagten wiederhergestellten Signals,
Erzeugen von Wahrscheinlichkeitsschätzungen (über 111) des besagten wiederhergestellten
Signals als Reaktion auf das besagte wiederhergestellte Signal und den besagten Kontext,
Entropiedecodieren (über 109) des besagten komprimierten Datensignals als Reaktion
auf das besagte erhaltene komprimierte Datensignal und besagte Wahrscheinlichkeitsschätzungen
zur Erzeugung der besagten wiederhergestellten Signalversion des ursprünglichen Signals,
dadurch gekennzeichnet, daß
sich eine Mehrzahl von besagten vorhergehenden Symbolen in vorgeschriebenen einzelnen
Nachlaufzeitabständen relativ zu einem aktuellen decodierten Symbol befindet, und
der besagte Schritt des Ableitens eines Kontexts die adaptive Einstellung (über
401-408, 501-510) der besagten Konfiguration als Reaktion auf das besagte wiederhergestellte
Signal enthält.
1. Codeur (101) de codage d'un signal fourni (s(k)) ayant une pluralité de valeurs de
symboles comportant,
un moyen (105) d'extraction d'un contexte (c(k)) dépendant d'une configuration
de symboles antérieurs dudit signal fourni,
un moyen d'estimation de probabilité (106) sensible audit signal fourni et audit
contexte pour générer des estimations de probabilité dudit signal fourni,
un moyen codeur conservant l'entropie (104) sensible audit signal fourni et à ladite
probabilité estimée pour générer une version codée dudit signal fourni,
un moyen (107) d'interfaçage dudit moyen codeur conservant l'entropie avec un moyen
de transmission ou une mémoire,
CARACTERISE EN CE QUE
une pluralité desdits symboles antérieurs se trouvent à des intervalles de retard
individuels prescrits par rapport à un symbole en cours en train d'être codé, et
ledit moyen d'extraction d'un contexte comporte un moyen (401-408, 501-510) sensible
audit signal fourni pour régler de manière adaptative ladite configuration.
2. Codeur tel que défini à la revendication 1, dans lequel ledit moyen de réglage adaptatif
comporte un moyen (406) de validation du réglage de ladite configuration uniquement
lorsque des critères prescrits basés sur la corrélation entre des valeurs de signal
auxdits intervalles de retard sont remplis.
3. Codeur tel que défini à la revendication 1, dans lequel ladite configuration comporte
une partie prédéterminée composée d'au moins un desdits intervalles de retard et une
partie réglable composée d'au moins un intervalle de retard flottant déterminé en
réponse audit signal fourni.
4. Codeur tel que défini à la revendication 3, dans lequel ledit moyen de réglage adaptatif
comporte un moyen (501-510) de sélection dudit au moins un intervalle de retard flottant
à partir d'un ensemble prédéterminé d'intervalles de retard possibles.
5. Codeur tel que défini à la revendication 4, dans lequel ledit moyen de sélection comporte
un moyen (502, 503) d'obtention d'une mesure de valeur prédictive de chaque symbole
antérieur auxdits intervalles de retard dans ledit ensemble prédéterminé d'intervalles
de retard possibles et un moyen (504, 507-510) de sélection à partir dudit ensemble
d'intervalles de retard possibles d'au moins un desdits intervalles de retard faisant
référence à un symbole ayant la plus grande valeur prédictive à inclure comme dit
intervalle de retard flottant dans ladite configuration.
6. Codeur tel que défini à la revendication 5, dans lequel ledit moyen d'obtention d'une
mesure de valeur prédictive comporte un moyen (502, 503) d'obtention d'une mesure
de corrélation à chacun desdits intervalles de retard possibles et dans lequel ledit
moyen de sélection comporte un moyen (504, 507-510) de détermination de l'au moins
un desdits intervalles de retard dans ledit ensemble à inclure dans ladite configuration
en fonction desdites corrélations.
7. Codeur tel que défini à la revendication 6, dans lequel ledit moyen de détermination
identifie au moins un intervalle de retard dudit ensemble d'intervalles de retard
possibles ayant la corrélation maximum (par l'intermédiaire de 502) et comportant
en outre un moyen (510) d'incorporation dudit au moins un intervalle de retard identifié
dans ladite configuration.
8. Codeur tel que défini à la revendication 5, dans lequel ledit moyen d'obtention d'une
mesure de valeur prédictive comporte un moyen (405) de comptage de coïncidences de
polarité entre ledit symbole en cours et les symboles auxdits intervalles de retard
possibles et dans lequel ledit moyen (502-510) de sélection est sensible aux comptes
desdites coïncidences de polarité pour sélectionner comme dit au moins un intervalle
de retard à inclure dans ladite configuration au moins un desdits intervalles de retard
possibles ayant le compte maximum de dites coïncidences de polarité.
9. Procédé de codage d'un signal fourni ayant une pluralité de valeurs de symboles comportant
comme opérations,
l'extraction d'un contexte (par I'intermédiaire de 105) à partir dudit signal fourni
dépendant d'une configuration de symboles antérieurs dudit signal fourni,
la génération d'estimations de probabilité (par I'intermédiaire de 106) dudit signal
fourni en réponse audit signal fourni et audit contexte,
le codage conservant l'entropie (par l'intermédiaire de 104) dudit signal fourni
en réponse audit signal fourni et auxdites estimations de probabilité pour générer
une version codée dudit signal fourni,
l'interfaçage (par l'intermédiaire de 107) de ladite version codée avec un moyen
de transmission ou une mémoire,
CARACTERISE EN CE QUE
une pluralité desdits symboles antérieurs se trouvent à des intervalles de retard
individuels prescrits par rapport à un symbole en cours en train d'être codé, et
ladite opération d'extraction d'un contexte comporte le réglage adaptatif (par
l'intermédiaire de 401-408, 501-510) de ladite configuration en réponse audit signal
fourni.
10. Décodeur (103) pour reconstruire un signal original (s(k)) ayant une pluralité de
valeurs de symboles à partir d'un signal de données comprimées (a(i)) comportant,
un moyen (108) d'interfaçage avec un moyen de transmission ou une mémoire (102)
pour obtenir un signal de données comprimées,
un moyen (110) d'extraction d'un contexte dépendant d'une configuration de symboles
antérieurs d'un signal reconstruit,
un moyen d'estimation de probabilité (111) sensible audit signal reconstruit et
audit contexte pour générer des estimations de probabilité dudit signal reconstruit,
un moyen décodeur conservant l'entropie (109) sensible audit signal de données
comprimées obtenu et auxdites estimations de probabilité pour générer une version
reconstruite du signal original,
CARACTERISE EN CE QUE
une pluralité desdits symboles antérieurs se trouvent à des intervalles de retard
individuels prescrits par rapport à un symbole en cours en train d'être codé, et
ledit moyen d'extraction d'un contexte comporte un moyen (401-407, 501-510) sensible
audit signal reconstruit pour régler de manière adaptative ladite configuration.
11. Décodeur tel que défini à la revendication 10, dans lequel ledit moyen de réglage
adaptatif comporte un moyen (406) de validation du réglage de ladite configuration
uniquement lorsque des critères prescrits sont remplis.
12. Décodeur tel que défini à la revendication 10, dans lequel ladite configuration comporte
une partie prédéterminée composée d'au moins un desdits intervalles de retard et une
partie réglable composée d'au moins un intervalle de retard flottant déterminé en
réponse audit signal fourni.
13. Décodeur tel que défini à la revendication 12, dans lequel ledit moyen de réglage
adaptatif comporte un moyen de sélection (501-510) dudit au moins un intervalle de
retard flottant à partir d'un ensemble prédéterminé d'intervalles de retard possibles.
14. Décodeur tel que défini à la revendication 13, dans lequel ledit moyen de sélection
comporte un moyen (502, 503) d'obtention d'une mesure de valeur prédictive de chaque
symbole antérieur auxdits intervalles de retard dans ledit ensemble prédéterminé d'intervalles
de retard possibles et un moyen (504, 507-510) de sélection à partir dudit ensemble
d'intervalles de retard possibles d'au moins un desdits intervalles de retard faisant
référence à un symbole ayant la plus grande valeur prédictive à inclure comme dit
intervalle de retard flottant dans ladite configuration.
15. Décodeur tel que défini à la revendication 14, dans lequel ledit moyen d'obtention
d'une mesure de valeur prédictive comporte un moyen (502, 503) d'obtention d'une mesure
de corrélation à chacun desdits intervalles de retard possibles et dans lequel ledit
moyen de sélection comporte un moyen (504, 502-510) de détermination de l'au moins
un desdits intervalles de retard dans ledit ensemble à inclure dans ladite configuration
en fonction desdites corrélations.
16. Décodeur tel que défini à la revendication 15, dans lequel ledit moyen de détermination
identifie au moins un intervalle de retard dudit ensemble d'intervalles de retard
possibles ayant la corrélation maximum (par l'intermédiaire de 502) et comportant
en outre un moyen (510) d'incorporation dudit au moins un intervalle de retard identifié
dans ladite configuration.
17. Décodeur tel que défini à la revendication 14, dans lequel ledit moyen (405) d'obtention
d'une mesure de valeur prédictive comporte un moyen de comptage de coïncidences de
polarité entre ledit symbole en cours et les symboles auxdits intervalles de retard
possibles et dans lequel ledit moyen (502-510) de sélection est sensible aux comptes
desdites coïncidences de polarité pour sélectionner comme dit au moins un intervalle
de retard à inclure dans ladite configuration au moins un desdits intervalles de retard
possibles ayant le compte maximum.
18. Procédé de décodage d'un signal de données comprimées représentatif d'une version
codée d'un signal fourni original pour obtenir un signal reconstruit ayant une pluralité
de valeurs de symboles comportant comme opérations,
l'interfaçage (par l'intermédiaire de 108) avec un moyen de transmission ou une
mémoire pour obtenir un signal de données comprimées,
l'extraction d'un contexte (par l'intermédiaire de 110) à partir d'un signal reconstruit
dépendant d'une configuration de symboles antérieurs dudit signal reconstruit,
la génération d'estimations de probabilité (par l'intermédiaire de 111) dudit signal
reconstruit en réponse audit signal reconstruit et audit contexte,
le décodage conservant l'entropie (par l'intermédiaire de 109) dudit signal de
données comprimées en réponse audit signal de données comprimées obtenu et auxdites
estimations de probabilité pour générer ladite version de signal reconstruit du signal
original,
CARACTERISE EN CE QUE
une pluralité desdits symboles antérieurs se trouvent à des intervalles de retard
individuels prescrits par rapport à un symbole en cours en train d'être codé, et
ladite opération d'extraction d'un contexte comporte le réglage adaptatif (par
l'intermédiaire de 401-408, 501-510) de ladite configuration en réponse audit signal
reconstruit.