Claims
- 1. A method for encoding symbols in a symbol stream to compress the amount of data required to represent a signal corresponding to the symbol stream, the method comprising:
obtaining a current symbol in the symbol stream; and encoding the current symbol, such encoding being the result of:
using a modeling function to determine, for symbol values local to the current symbol, a modeling value based upon the magnitudes of such symbol values; and using the modeling value to determine a probability function that associates a probability value with each of the symbols in the stream; and using the probability function in encoding the current symbol.
- 2. The method of claim 1, wherein using the modeling value to determine the probability function includes using the modeling value as an address for locating the probability function in a defined set of functions.
- 3. The method of claim 1, wherein using the modeling value to determine the probability function includes using the modeling value as a variable in a probability function.
- 4. The method of claim 1, wherein using the modeling value, to determine the probability function includes using an encryption value.
- 5. The method of claim 4, wherein the encryption value is a public key in a public key encryption system.
- 6. A method for decoding symbols in a symbol stream comprising:
obtaining a current encoded symbol in a stream of encoded values; and decoding the current encoded symbol, such decoding being the result of:
using a modeling function to determine, for symbol values local to the current encoded symbol, a modeling value based upon the magnitudes of such symbol values; and using the modeling value to determine a probability function that associates a probability value with each of the symbols in the stream; and using the probability function in decoding the current encoded symbol.
- 7. The method of claim 6, wherein the method further comprises, responsive to receiving a first symbol in the symbol stream:
generating an initial probability function for decoding the symbols in the stream; and decoding the symbols in the stream using the initial probability function until a modeling value is calculated.
- 8. The method of claim 7, wherein generating an initial probability function includes using an encryption value to decode an initial modeling value.
- 9. The method of claim 6, wherein using the modeling value to determine the probability function includes using the modeling value as an address for locating the probability function in a defined set of functions.
- 10. The method of claim 6, wherein using the modeling value to determine the probability function includes using the modeling value as a variable in a probability function.
- 11. The method of claim 6, wherein the method further comprises replacing the current encoded symbol with more than one symbol.
- 12. A system for encoding symbols in a symbol stream comprising:
a modeling module for determining, for symbol values local to a current symbol in the symbol stream, a modeling value based upon the magnitudes of such symbol values; coupled to the modeling module, a classification module for using the modeling value to determine a probability function that associates a probability value with each of the symbols in the symbol stream; coupled to the modeling module, a probability mapping system for determining the probability of the current symbol in the symbol stream; and coupled to the probability mapping system, an entropy coder for encoding the current symbol based on the probability of the current symbol.
- 13. The system of claim 12, wherein the classification module further comprises a table containing probability functions.
- 14. The system of claim 12, wherein the modeling module further comprises a symbol counter for counting the number of consecutive identical symbols and generating a modeling value based on the count.
- 15. A system for decoding symbols in a symbol stream comprising:
a modeling module for determining, for symbol values local to a current encoded symbol, a modeling value based upon the magnitudes of such symbol values; coupled to the modeling module, a classification module for using the modeling value to determine a probability function that associates a probability value with each of the symbols in the symbol stream; coupled to the modeling module, a probability mapping system for determining the probability of the current encoded symbol; and coupled to the probability mapping system, an entropy coder for decoding the current encoded symbol based on the probability of the current encoded symbol.
- 16. The system of claim 15, wherein the classification module further comprises a table containing probability functions.
- 17. A computer-readable medium containing a computer program that:
obtains a current symbol in a symbol stream; and encodes the current symbol, such encoding being the result of:
using a modeling function to determine, for symbol values local to the current symbol, a modeling value based upon the magnitudes of such symbol values; and using the modeling value to determine a probability function that associates a probability value with each of the symbols in the stream; and using the probability function in encoding the current symbol.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This invention is a continuation of our prior application Ser. No. 09/112,668, filed Jul. 9, 1998; which claimed the benefit of provisional application Ser. No. 60/052,144, filed Jul. 9, 1997; the disclosures of both of these related applications are hereby incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60052144 |
Jul 1997 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09112668 |
Jul 1998 |
US |
Child |
09933457 |
Aug 2001 |
US |