Claims
- 1. A method for encoding and decoding data over a communications channel, comprising:
receiving input data to be encoded; generating compressed codes from the input data using a Lempel-Ziv-Jeff-Heath (LZJH) data compression algorithm; and applying a minimum redundancy coding algorithm on the compressed codes to generate compressed data.
- 2. The method of claim 1, further comprising:
transmitting the compressed data over the communications channel.
- 3. The method of claim 1, wherein the applying step comprises applying the minimum redundancy coding algorithm comprising a Huffman coding algorithm.
- 4. The method of claim 3, wherein the applying step comprises applying the Huffman coding algorithm comprising a fixed Huffman coding algorithm.
- 5. The method of claim 3, wherein the applying step comprises applying the Huffman coding algorithm comprising a dynamic Huffman coding algorithm.
- 6. The method of claim 2, wherein the transmitting step comprises transmitting the compressed data over the communications channel comprising one of the Internet, an Intranet, a wireless communications channel, a satellite communications channel, a cellular communications channel and a hybrid communications channel.
- 7. The method of claim 1, wherein the applying step comprises applying the minimum redundancy coding algorithm on at least one of the compressed codes comprising ordinal codes, control codes, codewords and string-extension length codes.
- 8. The method of claim 7, wherein the applying step comprises applying the minimum redundancy coding algorithm on the ordinal codes.
- 9. The method of claim 7, wherein the applying step comprises applying the minimum redundancy coding algorithm on the string-extension length codes.
- 10. The method of claim 7, wherein the applying step comprises applying the minimum redundancy coding algorithm on the ordinal codes and the string-extension length codes merged into a same alphabet.
- 11. The method of claim 7, wherein the applying step comprises applying the minimum redundancy coding algorithm on the string-extension length codes concatenated onto an ordinal alphabet.
- 12. The method of claim 7, wherein the applying step comprises applying the minimum redundancy coding algorithm on the codewords of a default dictionary.
- 13. The method of claim 7, wherein the applying step comprises applying the minimum redundancy coding algorithm on the codewords of a dictionary whose size is negotiated between two peers.
- 14. The method of claim 7, wherein the applying step comprises applying the minimum redundancy coding algorithm on the ordinal codes, the string-extension length codes and the codewords merged into a same alphabet.
- 15. The method of claim 7, wherein the applying step comprises applying the minimum redundancy coding algorithm on concatenated codeword, ordinal and string-extension alphabets.
- 16. The method of claim 1, further comprising:
receiving the compressed data to be decoded; applying a minimum redundancy decoding algorithm on the compressed data to generate the compressed codes; and generating the input data from the compressed codes using a Lempel-Ziv-Jeff-Heath (LZJH) data decompression algorithm.
- 17. The method of claim 16, wherein the receiving step comprises receiving the compressed data over the communications channel.
- 18. The method of claim 16, wherein the applying step comprises applying the minimum redundancy decoding algorithm comprising a Huffman decoding algorithm.
- 19. The method of claim 18, wherein the applying step comprises applying the Huffman decoding algorithm comprising a fixed Huffman decoding algorithm.
- 20. The method of claim 18, wherein the applying step comprises applying the Huffman decoding algorithm comprising a dynamic Huffman decoding algorithm.
- 21. The method of claim 17, wherein the receiving step comprises receiving the compressed data over the communications channel comprising one of the Internet, an Intranet, a wireless communications channel, a satellite communications channel, a cellular communications channel and a hybrid communications channel.
- 22. The method of claim 16, wherein the applying step comprises applying the minimum redundancy decoding algorithm on the compressed data to generate the compressed codes comprising the ordinal codes, the control codes, the codewords and the string-extension length codes.
- 23. The method of claim 22, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the ordinal codes.
- 24. The method of claim 22, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the string-extension length codes.
- 25. The method of claim 22, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the ordinal codes and the string-extension length codes merged into a same alphabet.
- 26. The method of claim 22, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the string-extension length codes concatenated onto an ordinal alphabet.
- 27. The method of claim 22, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the codewords of a default dictionary.
- 28. The method of claim 22, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the codewords of a dictionary whose size is negotiated between two peers.
- 29. The method of claim 22, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the ordinal codes, the string-extension length codes and the codewords merged into a same alphabet.
- 30. The method of claim 22, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate concatenated codeword, ordinal and string-extension alphabets.
- 31. A computer-readable medium carrying one or more sequences of one or more instructions for encoding and decoding data over a communications channel, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the following steps:
receiving input data to be encoded; generating compressed codes from the input data using a Lempel-Ziv-Jeff-Heath (LZJH) data compression algorithm; and applying a minimum redundancy coding algorithm on the compressed codes to generate compressed data.
- 32. The computer-readable medium of claim 31, further performing the step of:
transmitting the compressed data over the communications channel.
- 33. The computer-readable medium of claim 31, wherein the applying step comprises applying the minimum redundancy coding algorithm comprising a Huffman coding algorithm.
- 34. The computer-readable medium of claim 33, wherein the applying step comprises applying the Huffman coding algorithm comprising a fixed Huffman coding algorithm.
- 35. The computer-readable medium of claim 33, wherein the applying step comprises applying the Huffman coding algorithm comprising a dynamic Huffman coding algorithm.
- 36. The computer-readable medium of claim 32, wherein the transmitting step comprises transmitting the compressed data over the communications channel comprising one of the Internet, an Intranet, a wireless communications channel, a satellite communications channel, a cellular communications channel and a hybrid communications channel.
- 37. The computer-readable medium of claim 31, wherein the applying step comprises applying the minimum redundancy coding algorithm on at least one of the compressed codes comprising ordinal codes, control codes, codewords and string-extension length codes.
- 38. The computer-readable medium of claim 37, wherein the applying step comprises applying the minimum redundancy coding algorithm on the ordinal codes.
- 39. The computer-readable medium of claim 37, wherein the applying step comprises applying the minimum redundancy coding algorithm on the string-extension length codes.
- 40. The computer-readable medium of claim 37, wherein the applying step comprises applying the minimum redundancy coding algorithm on the ordinal codes and the string-extension length codes merged into a same alphabet.
- 41. The computer-readable medium of claim 37, wherein the applying step comprises applying the minimum redundancy coding algorithm on the string-extension length codes concatenated onto an ordinal alphabet.
- 42. The computer-readable medium of claim 37, wherein the applying step comprises applying the minimum redundancy coding algorithm on the codewords of a default dictionary.
- 43. The computer-readable medium of claim 37, wherein the applying step comprises applying the minimum redundancy coding algorithm on the codewords of a dictionary whose size is negotiated between two peers.
- 44. The computer-readable medium of claim 37, wherein the applying step comprises applying the minimum redundancy coding algorithm on the ordinal codes, the string-extension length codes and the codewords merged into a same alphabet.
- 45. The computer-readable medium of claim 37, wherein the applying step comprises applying the minimum redundancy coding algorithm on concatenated codeword, ordinal and string-extension alphabets.
- 46. The computer-readable medium of claim 31, further performing the steps of:
receiving the compressed data to be decoded; applying a minimum redundancy decoding algorithm on the compressed data to generate the compressed codes; and generating the input data from the compressed codes using a Lempel-Ziv-Jeff-Heath (LZJH) data decompression algorithm.
- 47. The computer-readable medium of claim 46, wherein the receiving step comprises receiving the compressed data over the communications channel.
- 48. The computer-readable medium of claim 46, wherein the applying step comprises applying the minimum redundancy decoding algorithm comprising a Huffman decoding algorithm.
- 49. The computer-readable medium of claim 48, wherein the applying step comprises applying the Huffman decoding algorithm comprising a fixed Huffman decoding algorithm.
- 50. The computer-readable medium of claim 48, wherein the applying step comprises applying the Huffman decoding algorithm comprising a dynamic Huffman decoding algorithm.
- 51. The computer-readable medium of claim 47, wherein the receiving step comprises receiving the compressed data over the communications channel comprising one of the Internet, an Intranet, a wireless communications channel, a satellite communications channel, a cellular communications channel and a hybrid communications channel.
- 52. The computer-readable medium of claim 46, wherein the applying step comprises applying the minimum redundancy decoding algorithm on the compressed data to generate the compressed codes comprising the ordinal codes, the control codes, the codewords and the string-extension length codes.
- 53. The computer-readable medium of claim 42, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the ordinal codes.
- 54. The computer-readable medium of claim 42, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the string-extension length codes.
- 55. The computer-readable medium of claim 42, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the ordinal codes and the string-extension length codes merged into a same alphabet.
- 56. The computer-readable medium of claim 52, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the string-extension length codes concatenated onto an ordinal alphabet.
- 57. The computer-readable medium of claim 52, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the codewords of a default dictionary.
- 58. The computer-readable medium of claim 52, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the codewords of a dictionary whose size is negotiated between two peers.
- 59. The computer-readable medium of claim 52, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate the ordinal codes, the string-extension length codes and the codewords merged into a same alphabet.
- 60. The computer-readable medium of claim 52, wherein the applying step comprises applying the minimum redundancy decoding algorithm to generate concatenated codeword, ordinal and string-extension alphabets.
- 61. A system for encoding and decoding data over a communications channel, comprising:
an encoder configured to receive input data to be encoded; said encoder further configured to generate compressed codes from the input data using a Lempel-Ziv-Jeff-Heath (LZJH) data compression algorithm; and said encoder further configured to apply a minimum redundancy coding algorithm on the compressed codes to generate compressed data.
- 62. The system of claim 61, further comprising:
said encoder further configured to transmit the compressed data over the communications channel.
- 63. The system of claim 61, wherein the minimum redundancy coding algorithm comprises a Huffman coding algorithm.
- 64. The system of claim 63, wherein the Huffman coding algorithm comprises a fixed Huffman coding algorithm.
- 65. The system of claim 63, wherein the Huffman coding algorithm comprises a dynamic Huffman coding algorithm.
- 66. The system of claim 62, wherein the communications channel comprises one of the Internet, an Intranet, a wireless communications channel, a satellite communications channel, a cellular communications channel and a hybrid communications channel.
- 67. The system of claim 61, wherein the encoder is configured to apply the minimum redundancy coding algorithm on at least one of the compressed codes comprising ordinal codes, control codes, codewords and string-extension length codes.
- 68. The system of claim 67, wherein the encoder is configured to apply the minimum redundancy coding algorithm on the ordinal codes.
- 69. The system of claim 67, wherein the encoder is configured to apply the minimum redundancy coding algorithm on the string-extension length codes.
- 70. The system of claim 67, wherein the encoder is configured to apply the minimum redundancy coding algorithm on the ordinal codes and the string-extension length codes merged into a same alphabet.
- 71. The system of claim 67, wherein the encoder is configured to apply the minimum redundancy coding algorithm on the string-extension length codes concatenated onto an ordinal alphabet.
- 72. The system of claim 67, wherein the encoder is configured to apply the minimum redundancy coding algorithm on the codewords of a default dictionary.
- 73. The system of claim 67, wherein the encoder is configured to apply the minimum redundancy coding algorithm on the codewords of a dictionary whose size is negotiated between two peers.
- 74. The system of claim 67, wherein the encoder is configured to apply the minimum redundancy coding algorithm on the ordinal codes, the string-extension length codes and the codewords merged into a same alphabet.
- 75. The system of claim 67, wherein the encoder is configured to apply the minimum redundancy coding algorithm on concatenated codeword, ordinal and string-extension alphabets.
- 76. The system of claim 1, further comprising:
a decoder configured to receive the compressed data to be decoded; said decoder further configured to apply a minimum redundancy decoding algorithm on the compressed data to generate the compressed codes; and said decoder further configured to generate the input data from the compressed codes using a Lempel-Ziv-Jeff-Heath (LZJH) data decompression algorithm.
- 77. The system of claim 76, wherein the decoder is configured to receive the compressed data over the communications channel.
- 78. The system of claim 76, wherein the decoder is configured to apply the minimum redundancy decoding algorithm comprising a Huffman decoding algorithm.
- 79. The system of claim 78, wherein the decoder is configured to apply the Huffman decoding algorithm comprising a fixed Huffman decoding algorithm.
- 80. The system of claim 78, wherein the decoder is configured to apply the Huffman decoding algorithm comprising a dynamic Huffman decoding algorithm.
- 81. The system of claim 77, wherein the communications channel comprises one of the Internet, an Intranet, a wireless communications channel, a satellite communications channel, a cellular communications channel and a hybrid communications channel.
- 82. The system of claim 76, wherein the decoder is configured to apply the minimum redundancy decoding algorithm on the compressed data to generate the compressed codes comprising the ordinal codes, the control codes, the codewords and the string-extension length codes.
- 83. The system of claim 82, wherein the decoder is configured to apply the minimum redundancy decoding algorithm to generate the ordinal codes.
- 84. The system of claim 82, wherein the decoder is configured to apply the minimum redundancy decoding algorithm to generate the string-extension length codes.
- 85. The system of claim 82, wherein the decoder is configured to apply the minimum redundancy decoding algorithm to generate the ordinal codes and the string-extension length codes merged into a same alphabet.
- 86. The system of claim 82, wherein the decoder is configured to apply the minimum redundancy decoding algorithm to generate the string-extension length codes concatenated onto an ordinal alphabet.
- 87. The system of claim 82, wherein the decoder is configured to apply the minimum redundancy decoding algorithm to generate the codewords of a default dictionary.
- 88. The system of claim 82, wherein the decoder is configured to apply the minimum redundancy decoding algorithm to generate the codewords of a dictionary whose size is negotiated between two peers.
- 89. The system of claim 82, wherein the decoder is configured to apply the minimum redundancy decoding algorithm to generate the ordinal codes, the string-extension length codes and the codewords merged into a same alphabet.
- 90. The system of claim 82, wherein the decoder is configured to apply the minimum redundancy decoding algorithm to generate concatenated codeword, ordinal and string-extension alphabets.
- 91. An apparatus for encoding and decoding data over a communications channel, comprising:
means for receiving input data to be encoded; means for generating compressed codes from the input data using a Lempel-Ziv-Jeff-Heath (LZJH) data compression algorithm; and means for applying a minimum redundancy coding algorithm on the compressed codes to generate compressed data.
- 92. The apparatus of claim 91, further comprising:
means for receiving the compressed data to be decoded; means for applying a minimum redundancy decoding algorithm on the compressed data to generate the compressed codes; and means for generating the input data from the compressed codes using a Lempel-Ziv-Jeff-Heath (LZJH) data decompression algorithm.
CROSS REFERENCE TO RELATED DOCUMENTS
[0001] The present invention claims the benefit of priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 60/311,781 of Heath, entitled “LZJH DATA COMPESSION WITH HUFFMAN CODING,” filed on Aug. 10, 2001, is related to commonly owned U.S. Pat. Nos. 5,955,976 and 5,973,630 to Heath and includes use of various technologies described in the references identified in the appended LIST OF REFERENCES and cross-referenced throughout the specification by numerals in brackets corresponding to the respective references, the entire contents of all of which are incorporated by reference herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60311781 |
Aug 2001 |
US |