Data Compression Apparatus and Method
Abstract
An apparatus and method are disclosed for converting an input data character stream into a variable length encoded data stream in a data compression system. The data compression system includes a history array. The history array has a plurality of entries and each entry of the history array is for storing a portion of the input data stream. The method for converting the input data character stream includes the following steps. Performing a search in a history array for the longest data string which matches the input data string. If the matching data string is found within the history buffer, the next step includes encoding the longest matching data string found by appending to the encoded data stream a tag indicating the longest matching data string was found and a string substitution code. If the matching data string is not found within the history array, the next step includes encoding the first character of the input data string by appending to the encoded data stream a raw data tag indicating that no matching data string was found and the first character of the input data string.
Metadata
Assignee
- Stac Electronics, Inc.
Inventors
- Douglas L. Whiting
- Glen A. George
- Glen E. Ivey
Application Information
Classifications
Patent Drawings (8 sheets)
Description
Background of the Invention
Summary of the Invention
Brief Description of the Drawings
Detailed Description of the Preferred Embodiment
Claims
Patent Citations (85)
| Patent | Date | Inventor | Cited By |
|---|---|---|---|
| US3054987 | 1962-09-01 | Lawrence et al. | |
| US3344406 | 1967-09-01 | Vinal | |
| US3390380 | 1968-06-01 | Cooke-Yarborough et al. | |
| US3394352 | 1968-07-01 | Wernikoff et al. | |
| US3396352 | 1968-08-01 | Wilson | |
| US3612660 | 1971-10-01 | Miller | |
| US3656178 | 1972-04-01 | De Maine et al. | |
| US3675211 | 1972-07-01 | Raviv | |
| US3675212 | 1972-07-01 | Raviv et al. | |
| US3694813 | 1972-09-01 | Loh et al. | |
| US3701108 | 1972-10-01 | Loh et al. | |
| US3717851 | 1973-02-01 | Cocke et al. | |
| US3726993 | 1973-04-01 | Lavallee | |
| US3767901 | 1973-10-01 | Black et al. | |
| US3873977 | 1975-03-01 | McIntosh | |
| US3970183 | 1976-07-01 | Robinson et al. | |
| US3976844 | 1976-08-01 | Betz | |
| US3995254 | 1976-11-01 | Rosenbaum | |
| US4021782 | 1977-05-01 | Hoerning | |
| US4031515 | 1977-06-01 | Kashio | |
| US4034350 | 1977-07-01 | Kashio | |
| US4054951 | 1977-10-01 | Jackson et al. | |
| US4064489 | 1977-12-01 | Babb | |
| US4121259 | 1978-10-01 | Preuss et al. | |
| US4135214 | 1979-01-01 | Weber | |
| US4145686 | 1979-03-01 | McMurray et al. | |
| US4207599 | 1980-06-01 | Murayama et al. | |
| US4232375 | 1980-11-01 | Paugstat et al. | |
| US4290105 | 1981-09-01 | Cichelli et al. | |
| US4295124 | 1981-10-01 | Roybal | |
| US4319225 | 1982-03-01 | Klose | |
| US4376933 | 1983-03-01 | Saran et al. | |
| US4382286 | 1983-05-01 | Mitchell et al. | |
| US4386416 | 1983-05-01 | Giltner et al. | |
| US4412306 | 1983-10-01 | Moll | |
| US4464650 | 1984-08-01 | Eastman et al. | |
| US4486853 | 1984-12-01 | Parsons | |
| US4491934 | 1985-01-01 | Heinz | |
| US4494150 | 1985-01-01 | Brickman et al. | |
| US4494151 | 1985-01-01 | Liao | |
| US4506325 | 1985-03-01 | Bennett et al. | |
| US4507752 | 1985-03-01 | McKenna et al. | |
| US4516246 | 1985-05-01 | Kenemuth | |
| US4543612 | 1985-09-01 | Matsunaga et al. | |
| US4545032 | 1985-10-01 | Mak | |
| US4546342 | 1985-10-01 | Weaver et al. | |
| US4558302 | 1985-12-01 | Welch | |
| US4597057 | 1986-06-01 | Snow | |
| US4610027 | 1986-09-01 | Anderson et al. | |
| US4612532 | 1986-09-01 | Bacon et al. | |
| US4626824 | 1986-12-01 | Larson | |
| US4626829 | 1986-12-01 | Hauck | |
| US4684923 | 1987-08-01 | Koga | |
| US4701108 | 1987-10-01 | Scampini | |
| US4701745 | 1987-10-01 | Waterworth | |
| US4706264 | 1987-11-01 | Cung | |
| US4730348 | 1988-03-01 | MacCrisken | |
| US4749983 | 1988-06-01 | Langdon, Jr. | |
| US4774500 | 1988-09-01 | Lichty | |
| US4783841 | 1988-11-01 | Crayson | |
| US4796003 | 1989-01-01 | Bentley et al. | |
| US4814746 | 1989-03-01 | Miller et al. | |
| US4839649 | 1989-06-01 | Imai et al. | |
| US4847619 | 1989-07-01 | Kato et al. | |
| US4857993 | 1989-08-01 | Music et al. | |
| US4862167 | 1989-08-01 | Copeland, III | |
| US4866440 | 1989-09-01 | Tsukiyama et al. | |
| US4870415 | 1989-09-01 | Van Maren et al. | |
| US4870479 | 1989-09-01 | Dubner | |
| US4872009 | 1989-10-01 | Tsukiyama et al. | |
| US4876541 | 1989-10-01 | Storer | |
| US4881075 | 1989-11-01 | Weng | |
| US4882754 | 1989-11-01 | Weaver et al. | |
| US4891643 | 1990-01-01 | Mitchell et al. | |
| US4899147 | 1990-02-01 | Schiavo et al. | |
| US4906991 | 1990-03-01 | Fiala et al. | |
| US4910751 | 1990-03-01 | Einarsson | |
| US5058144 | 1991-10-01 | Fiala et al. | |
| CAX719774 | 1965-10-01 | ||
| CAX811316 | 1969-04-01 | ||
| DEX2625527 | 1978-03-01 | ||
| GBX1190609 | 1970-05-01 | ||
| GBX1289015 | 1972-09-01 | ||
| GBX1318114 | 1973-05-01 | ||
| GBX1336317 | 1973-11-01 |
Non-Patent Literature (215)
- English translation of German Patent No. 26 25 527.
- Berkovich, S. et al., "Matching String Patterns in Large Textual Files," Department of Electrical Engineering and computer Science, George Washington Univ., pp. 122-127, 1985.
- Boyer, R., "A Fast String Searching Algorithm"; Communications of the ACM 20(10), 762-772, 1977.
- Cleary, J. , "Compact Hash Tables Using Bidirectional Linear Probing"; IEEE Transactions on Computers c-33(9): 828-834, 1984.
- Collmeyer, A. et al., "Analysis of Retrieval Performance for Selected File Organization Techniques," Proc. Fall Joint Comp. Conf., pp. 201-210, 1970.
- Comer, D., "English Dictionary Searching with Little Extra Space," National Computer conference, pp. 209-216, 1979.
- Comer, D. et al. "Hash-Bucket Search: A Fast Technique for Searching an English Spelling Dictionary," Software--Practice and Experience, vol. 12, pp. 669-682, 1982.
- Cowan, R. et al. "Hashing--the Key to Rapid Pattern Matching," Proceedings, Eurosam, lecture Notes in Computer Science 72, Springer-Verlag, Marsaille, pp. 266-278, 1979.
- Davidson, G., "Rapidly Searching for Character String Matches Using Hash Coding," IBM Technical Disclosure Bulletin, vol. 16, No. 1, p. 64, 1973.
- Davisson, L. et al., "Efficient Universal Noiseless Source Codes," IEEE Transactions on Information Theory, vol. IT-27, No. 3, pp. 269-279, 1981.
- Dewan, H. et al., "Dat Compression by Textual Substitution Some Implementation Schemes and Results," Technical Report CS-83-113, Brandeis Unviersity, 1983.
- Dimsdale, J. et al., "File Structure for an On-Line Catalog of One Million titles," Journal of library Automation, vol. 6, No. 1, pp. 37-55, 1973.
- Ellzey, R., "Data Structures for Computer Information Systems," Science Research Associates, 1982.
- Fiala, E. et al. "Data Compression with Finite Windows," Communications of the ACM 32(4): 490-505, Apr., 1989.
- Floyd, R., "Application of Data Compression Techniques on Computer-Based Text and Program Source Libraries," Thesis, College of Engineering, Florida Atlantic University, 1977.
- Floyd, R., "Data Base Compression through Combined Software Techniques," IBM Technical Disclosure Bulletin, vol. 21, No. 2, pp. 458-462, 1978.
- Gallant, J., "Optimal String Compression" EECS Department, Princeton Univ., pp. 1-10. (no date).
- Goble, C., "A Free-text Retrieval System using Hash Codes," The Computer Journal, vol. 18, pp. 18-20, 1975.
- Goto, E. et al., "Studies on Hashing Part-2: Algorithms and Programming with CAMs," Journal of Information Processing, vol. 3, No. 1, pp. 13-22, 1980.
- Harrison, M., "Implementation of the Substring Test by Hashing," Communications of the ACM 14(12): 777-779, 1971.
- Heaps, H., "Data Compression of Large Document Data Bases," Journal of Chemical Information and Computer Sciences, vol. 15, No. 1, pp. 32-39, 1975.
- Heaps, H., "Information Retrieval: Computational and Theoretical Aspects," Academic Press, Introduction, Chapter 5 and Chapter 9, 1978.
- Hegazy, "Searching Large Textual Files for Near Matching Patterns," The George Washington Univ., 1985.
- Hopgood, "Compiling Techniques," American Elsevier Publishing Company, Inc., pp. 1-28, 1969.
- Horowitz and Sahni, "Fundamentals of Data Structures in Pascal," (2d ed.) 1987.
- Horowitz and Sahni, "Fundamentals of Data Structures in Pascal," (4th ed.) W. H. Freeman and Company, pp. 425-457, 1990.
- Karp, R. et al., "Efficient Randomized Pattern-Matching Algorithms," Harvard Univ. Center for Research in Computing Technology, pp. 1-39, 1981.
- Knuth, D., "Algorithms," Scientific American, Apr., 1977, p. 63 et. seq.
- Kohonen, T., "Content Addressable Memories," Spring Series in Information Sciences, vol. 1, pp. 1-124 and 253-263, 1980.
- Kohonen, T. et al., "A Very Fast Associative Method for the Recognition and Correction of Misspelt Words, Based on Redundant Hash Addressing," Proc. 4th Int. Joint Conf. on Pattern Recognition, Kyoto, pp. 807-809, 1978.
- Kohonen, T. et al., "A Thousand-Word Recognition System Based on the Learning Subspace Method and Redundant Hash Addressing," Proc. 5th Int. Conf. on Pattern Recognition, Miami, pp. 158-165, 1980.
- Lindsay, R. et al., "Universal Data Compression," International Telemetering Conference Proceedings, pp. 117-124, 1985.
- Lynch, M., "Creation of Bibliographic Search Codes for Hash-addressing Using the Variety-Generator Method," Program, vol. 9, No. 2, pp. 46-55, 1975.
- Miller, V. et al., "Variations on a Theme by Lempel and Ziv," IBM, 1982.
- Munakata, S., "Ziv-Lempel Data Compression Algorithm," J. Information Processing Society of Japan, vol. 27, No. 1, pp. 2-6, Jan., 1985 (with translation).
- Rabin, M., "Discovering Repetitions in Strings," Combinatorial Algorithms on Words, Apostolico and Galil eds. nato ASI Series, vol. F12, pp. 279-288, 1985 (presented in Italy, Jun., 1984).
- Reghbati, H. et al., "An Overview of Data Compression Techniques," Computer, vol. 14, No. 4, pp. 71-75, 1981.
- Reuhkala, E., "Recognition of Strings of Discrete Symbols with Special Application to Isolated Word Recognition," ACTA Polytechnica Scandinavica Mathematics and Computer Science Series No. 38, pp. 1-92, 1983.
- Reukhala, E., "Pattern Recognition for Strings of Discrete Symbols," Proc. 6th Int. Conf. on Pattern Recognition, Munich, pp. 969-972, 1982.
- Rivest, R., "Partial-Match Retrieval Algorithms," Siam J. Computing, vol. 5, No. 1, p. 19 et seq., 1976.
- Rodeh, M., "String Matching Algorithms and their Application to Data Compression," Thesis, Israel Institute of Technology, pp. i-40, 1976 (and translation).
- Rodeh, M. et al., "A Linear Algorithm for Finding Repetitions and its Applications in Data Compression," Technicon--Israel Institute of Technology, Department of Computer Science, Haifa, Technical Report No. 72, pp. 1-32, 1976.
- Ryan, D. et al., "Data Compression Experiments Using Sliding Dictionaries," Technical Report CS-84-117, Brandeis University, 1984.
- Schuegraf, E., "A Survey of Data Compression Methods for Non-Numeric Records," Canadian Journal of Information Science, vol. 2, No. 1, pp. 93-105, 1977.
- Schuegraf, E. et al., "A Comparison of Algorithms for Data Base Compression by Use of Fragments as Language Elements," ISR vol. 10, No. 9/10-B, pp. 309-319, 1974.
- Sedgewick, R., "Algorithms" Addison-Wesley, 1984.
- Severance, D., "Identifier Search Mechnisms: A Survey and Generalized Model," Computing Surveys, vol. 6, No. 3, pp. 175-194, 1974.
- Stoter, J. et al., "The Macro Model for Data Compression," 1977.
- Tharp, A. et al., "The Practicality of Text Signatures for Accelerating String Searching," Software--Practice and Experience, vol. 12, pp. 35-44, 1982.
- Wagner, R., "Common Phrases and Minimum-Space Text Storage," Communications of the ACM 16(3): 148-152, 1973.
- Waterworth Design Memo, "Some Notes on the Subject of File Compression, Issue 2." (Jun. 1983).
- Waterwoth source code. (Jun. 1983).
- Whiting, D., "Bit-Serial Reed-Solomon Decoders in VLSI," Thesis, California Institute of Technology, 1985.
- Willett, P., "Document Retrieval Experiments Using Indexing Vocabularies of Varying Size. 11. Hashing, Truncation, Diagram and Trigram Enconding of Index Terms," Journal of Documentation, vol. 35, No. 4, pp. 296-305, 1979.
- Wipke, W. et al., "Hash Functions for Rapid Storage and Retrieval of Chemical Structures," J. Chem., Inf. comput. Sci. vol. 18, No. 1, pp. 32-37, 1978.
- Wirth, "Algorithms+Data Structures=Programs," 1976.
- Zamora, A., "Automatic Detection and Correction of Spelling Errors in a Large Data Base,: Journal of the American Society for information Science", pp. 51-57, 1980.
- Aho, Hopcroft and Ullman, The Design and Analysis of Computer Algorithms, pp. 111-113, 145-147 (1974).
- P. A. Alsberg, "Space and time Savings Through Large Data Base Compression and Dynamic Restructuring", Proceedings of the IEEE, vol. 63, No. 8, pp. 1114-1122, Aug., 1975.
- A. Apostolico and E. Guerrieri, "Linear Time Universal Compression Techniques For Dithered Images Based on Pattern Matching," (extended abstract), Proceedings Twenty-First Allerton Conference on Communications, Control, and Computing, Monticello, Illinois, pp. 70-79 (1975).
- Augenstein and Tenenbaum, Data Structures and PL/I Programming, pp. 534-542 (1979).
- M. F. Barnsley and A. D. Sloan, "A Better Way to Compress Images," Byte, Jan., 1988, pp. 215-223.
- J. L. Bentley, D. D. Sleator, R. E. Tarjan, and V. K. Wei, "A Locally Adaptive Data Compression Scheme," Communications of the ACM, vol. 29, No. 4, Apr., 1986, pp. 320-330.
- J. G. Cleary and I. H. Witten, "Data Compression Using Adaptive Coding and Partial String Matching," IEEE Transactions On Communications, vol. 33, No. 4, Apr., 1984, pp. 396-403.
- M. Cohn, "Performance of Lempel-Ziv Compressors with Deferred Innovation," Brandeis University, Technical Report TR-88-132, Apr., 1988.
- D. Cooper and M. F. Lynch, "Text Compression Using Variable to Fixed-Length Encodings," Journal of the American Society for Information Science, Jan., 1982, pp. 18-31.
- G. V. Cormack, "Data Compression On A Data Base System," Communications of the ACM, vol. 28, No. 12, Dec., 1985, pp. 1336-1342.
- D. L. Dance and U. W. Pooch, "An Adaptive On Line Data Compression System," The Computer Journal, vol. 19, No. 3, Aug., 1976, pp. 216-224.
- L. D. Davisson and R. M. Gray, "Advances in Data Compression," Advances in Communication Systems Theory and Applications, vol. 4, pp. 199-228 (1975).
- S. Even and M. Rodeh, "Economical Encoding of Commas Between Strings," Communications of the ACM, vol. 21, No. 4, Apr., 1978, pp. 315-317.
- N. Faller, "An Adaptive System for Data Compression," Conference Record of the Seventh IEEE Asilomar Conference on Circuits and Systems, pp. 593-597 (1973).
- A. S. Fraenkel and S. T. Klein, "Novel Compression of Sparse Bit-Strings--Preliminary Report," Combinatorial Algorithms on Words, pp. 169-183, (1985).
- A. S. Fraenkel, M. Mor and Y. Perl, "Is Text Compression by Prefixes and Suffixes Practical?", Acta Informatica, vol. 20, pp. 371-389 (1983).
- W. D. Frazer, "Compression Parsing Of Computer File Data," First USA-Japan Computer Conference, pp. 609-615 (1972).
- H. Fujiwara and K. Kinoshita, "On Testing Schemes for Test Data Compression," Transactions of the IECE of Japan, vol. E 61, No. 6, Jun., 1978, p. 504.
- J. Gallant, D. Maier, and J. A. Storer, "On Finding Minimal Length Superstrings," Journal of Computer and Systems Sciences, vol. 20, pp. 50-58 (1980).
- A. Gamal and A. Orlitsky, "Interactive Data Compression," Proceedings of the Twenty-Fifth Annual Symposium on Foundations of Computer Science, Oct. 24-26, 1984, pp. 100-108.
- A. V. Goldberg, "Compression and Ranking," Proceeding of the Seventeenth Annual ACM Symposium on Theory of Computing, May 6-8, 1985, pp. 440-448.
- S. W. Golomb, "Run-Length Encodings," IEEE Transactions on Information Theory, vol. 12, Jul., 1966, pp. 399-401.
- M. E. Gonzalez Smith and J. A. Storer, "Parallel Algorithms for Data Compression," Journal of the Association for Computing Machinery, vol. 32, No. 2, Apr., 1985, pp. 344-373.
- D. Gottlieb, S. A. Haberth, P. G. H. Lehot and H. S. Rabinowitz, "A Classification of Compression Methods and their Usefulness for a Large Data Processing Center," National Computer Conference, 1975, pp. 453-458.
- L. J. Guibas, "Periodicities in Strings," Combinatorial Algorithms on Words, pp. 257-269 (1985).
- B. Hahn, "A New Technique for Compression and Storage of Data," Communications of the ACM, vol. 17, No. 8, Aug., 1974, pp. 434-436.
- A. Hartman and M. Rodeh, "Optimal Parsing of Strings," Combinatorial Algorithms on Words, pp. 155-167 (1985).
- G. Held, Data Compression: Techniques and Applications, Hardware and Software Considerations, (second edition 1987).
- R. N. Horspool and G. V. Cormack, "A General-Purpose Data Compression Technique with Practical Computer Applications," Proceedings of the CIPS, Session 84, pp. 138-141 (1984).
- D. A. Huffman, "A Method for the Construction of Minimum-Redundancy Codes," Proceedings of the I.R.E., Sep., 1952, pp. 1098-1101.
- D. W. Jones, "Application of Splay Trees To Data Compression," Communications of the ACM, vol. 31, No. 8, Aug., 1988, pp. 996-1007.
- D. E. Knuth, "Dynamic Huffman Coding," Journal of Algorithms, vol. 6, pp. 163-180 (1985).
- Knuth, Sorting and Search: The Art of Computer Programming, pp. 506-549 (vol. 3, 1973).
- D. E. Knuth, J. H. Morris, and V. R. Pratt, "Fast Pattern Matching in Strings," Siam Journal of Computing, vol. 6, No. 2, Jun., 1977, pp. 323-350.
- G. G. Langdon, Jr., "A Note on the Ziv-Lempel Model for Compressing Individual Sequences," IEEE Transactions on Information Theory, vol. IT-29, No. 2, Mar., 1983, pp. 284-287.
- L. L. Larmore, "Length Limited Coding and Optimal Height-Limited Binary Trees," University of California, Irvine, Technical Report 88-01, Jan., 1988.
- D. D. A. Lelewer and D. S. Hirschberg, "Data Compression," ACM Computing Surveys, vol. 19, No. 3, Sep. 1987, pp. 261-296.
- A. Lempel, G. Seroussi and J. Ziv, "On the Power of Straight-line Computations in Finite Fields," IEEE Transactions on Information Theory, vol. IT-28, No. 6, Nov., 1982, pp. 875-880.
- A. Lempel and J. Ziv, "On the Complexity of Finite Sequences," IEEE Transactions on Information Theory, vol. IT-22, No. 1, Jan., 1976, pp. 75-81.
- A. Lempel and J. Ziv, "Compression of Two-Dimensional Data," IEEE Transactions on Information Theory, vol. IT-32, No. 1, Jan., 1986, pp. 2-8.
- A. Lempel and J. Ziv, "Compression of Two-Dimensional Images," Combinatorial Algorithms on Words, pp. 141-154 (1985).
- J. A. Llewellyn, "Data Compression for a Source with Markov Characteristics," The Computer Journal, vol. 30, No. 2, pp. 149-156 (1987).
- B. A. Marron and P. A. D. De Maine, "Automatic Data Compression," Communications of the ACM, vol. 10, No. 11, Nov., 1967, pp. 711-715.
- A. Mayne and E. B. James, "Information Compression by Factorising Common Strings," The Computer Journal, vol. 18, No. 2, May, 1975, pp. 157-160.
- J. P. McCarthy, "Automatic File Compression," International Computing Symposium 1973, pp. 511-516.
- E. M. McCreight, "A Space-Economical Suffix Tree Construction Algorithm," Journal of the Association for Computing Machinery, vol. 23, No. 1, Apr., 1976, pp. 262-272.
- V. S. Miller and M. N. Wegman, "Variations on a Theme by Lempel and Ziv," Combinatorial Algorithms on Words, pp. 131-140 (1985).
- J. H. Mommens and J. Raviv, "Coding for Data Compaction," IBM Watson Res. Report RC5150, Nov. 1974.
- J. Pike, "Text Compression Using a 4-Bit Coding Scheme," The Computer Journal, vol. 24, No. 4, pp. 324-330 (1981).
- J. H. Reif and J. A. Storer, "Real-Time Dynamic Compression of Video on a Grid-Connected Parallel Computer," Third International Conference on Supercomputing, May 15-20, 1988, pp. 453-462.
- J. Rissanen, "A Universal Data Compression System," IEEE Transactions on Information Theory, vol. IT-29, No. 5, Sep., 1983, pp. 656-664.
- M. Rodeh, V. R. Pratt, and S. Even, "Linear Algorithms for Data Compresion via String Matching," Journal of the Association for Computing Machinery,vol. 28, No. 1, Jan., 1981, pp. 16-24.
- I. Rubin, "Data Compression for Communication Networks: The Delay-Distortion Function," IEEE Transactions on Information Theory, vol. IT-22, No. 6, Nov., 1977, pp. 655-665.
- D. G. Severance, "A Practitioner's Guide to Data Base Compression," Information Systems, vol. 8, No. 1, pp. 51-62 (1983).
- J. A. Storer, "Parallel Algorithms For On-Line Dynamic Data Compression," IEEE International Conference on Communications 1988, pp. 385-389.
- J. A. Storer, "Textual Substitution Techniques for Data Compression," Combinatorial Algorithms on Words, pp. 111-129 (1985).
- J. A. Storer and T. G. Szymanski, "Data Compression via Textual Substitution," Journal of the Association for Computing Machinery, vol. 29, No. 4, Oct., 1982, pp. 928-951.
- J. A. Storer and T. G. Szymanski, "The Macro Model for Data Compression," (extended abstract), Tenth Annual ACM Symposium on Theory of Computing, pp. 30-39 (1978).
- B. Varn, "Optimal Variable Length Codes (Arbitrary Symbol Cost and Equal Code Work Probability)," Information and Control, vol. 19, pp. 289-301 (1971).
- U. Vishkin, "Optimal Parallel Pattern Matching in Strings," (extended summary), Lecture Notes in Computer Science, pp. 497-508 (1985).
- P. Winer, "Liner Pattern Matching Algorithms," Fourteenth Annual Symposium on Switching & Automata Theory, Oct. 15-17, 1973, pp. 1-11.
- T. A. Welch, "A Technique for High-Performance Data Compression," IEEE Computer, Jun., 1984, pp. 8-19.
- M. Wells, "File Compression Using Variable Length Encodings," The Computer Journal, vol. 15, No. 4, Nov., 1972, pp. 308-313.
- J. Ziv, "Coding Theorems for Individual Sequences," IEEE Transactions on Information Theory, vol. IT-24, No. 6, Jul., 1978, pp. 405-412.
- J. Ziv, "On Universal Quantization," IEEE Transactions on Information Theory, vol. IT-31, No. 3, May, 1985, pp. 344-347.
- J. Ziv and A. Lempel, "A Universal Algorithm for Sequential Data Compression," IEEE Transactions on Information Theory, vol. IT-23, No. 3, May, 1977, pp. 337-343.
- J. Ziv and A. Lempel, "Compression of Individual Sequences Via Variable-Rate Coding," IEEE Transactions on Information Theory, vol. IT-24, No. 5, Sep., 1978, pp. 530-536.
- J. K. Gallant, "String Compression Algorithms," Ph.D. Dissertation, Department of Electrical Engineering and Computer Science, Princeton University, 1982.
- J. A. Storer, Data Compression: Methods and Theory (1988).
- J. A. Storer, "Data Compression: Method and Complexity Issues," Ph.D. Dissertation, Department of Electrical Engineering and Computer Science, Princeton University, 1979.
- Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, Data Structures and Algorithms, 1983, pp. 122-125.
- Jules Aronson, "Data Compression--A Comparison of Methods," Computer Science & Technology, National Bureau of Standards Special Publication 500-12, Jun. 1977.
- R. B. Arps, T. K. Truong, D. J. Lu, R. C. Pasco, T. D. Friedman, "A Multi-Purpose VLSI Chip For Adaptive Data Compression of Bilevel Images," IBM Journal of Research and Development, vol. 32, No. 6, Nov. 1988, pp. 775-795.
- Michael F. Barnsley and Alan D. Sloan, "A Better Way to Compress Images," Byte, Jan. 1988, pp. 215-223.
- Timothy C. Bell, "Better OPM/L Text Compression," IEEE Transactions On Communications, vol. Com-34, No. 12, Dec. 1986, pp. 1176-1182.
- Timothy Bell, "A Unifying Theory and Improvements for Existing Approaches to Text Compression," Ph.D. Thesis, Department of Computer Science, University of Canterbury, 1986.
- Timothy C. Bell, John G. Cleary, Ian H. Witten, Text Compression, 1990, pp. 23, 103-104.
- T. Bell and A. Moffat, "A Note on the DMC Data Compression Scheme," The Computer Jorunal, vol. 32, No. 1, 1989, pp. 16-20.
- Timothy Bell and Ian H. Witten, "Greedy Macro Text Compression," Research Report No. 87/285/33, Dec. 1987, Department of Computer Science, The University of Calgary.
- Timothy C. Bell, Ian H. Witten and John G. Cleary, "Modeling for Text Compression," Research Report No. 88/327/39, Oct. 1988, Department of Computer Science, The University of Calgary.
- Jon Bentley, "Software Exploratorium--The Big Squeeze," Unix Review, vol. 9, No. 6, pp. 77-82. (No Date).
- R. P. Brent, "A Linear Algorithm for Data Compression," The Australian Computer Journal, vol. 19, No. 2, May 1987, pp. 64-68.
- Peter Camana, "Video-bandwidth compression: a study in tradeoffs," IEEE Spectrum, Jun. 1979, pp. 24-29.
- G. V. Cormack and R. N. S. Horspoll, "Data Compression Using Dynamic Markov Modelling," The Computer Journal, vol. 30, No. 6, 1987, pp. 541-550.
- Thomas M. Cover, "Hypothesis Testing With Finite Statistics," The Annals of Mathematical Statistics, vol. 40, No. 3, 1969, pp. 828-835.
- Maxime Crochemore and Dominique Perrin, "Two-Way String-Matching," Journal of the Association for Computing Machinery, vol. 38, No. 3, Jul. 1991, pp. 651-675.
- C. Ekambaram and S. C. Kwatra, "A New Architecture For Adaptive Transform Compression of NTSC Composite Video Signal," IEEE, 1981, C9.6.1-C9.6.5.
- Peter Elias, "Distinguishable Codeword Sets for Shared Memory," IEEE Transactions on Information Theory, vol. IT-21, No. 4, Jul. 1975, pp. 392-399.
- Peter Elias, "Efficient Storage and Retrieval by Content and Address of Static Files," Journal of the Association of Computing Machinery, vol. 21, No. 2, Apr. 1974, pp. 246-260.
- Peter Elias, "Universal Codeword Sets and Representations of the Integers," IEEE Transactions on Information Theory, vol. IT-21, No. 2, Mar. 1975, pp. 194-203.
- R. J. Enbody, H. C. Du, "Dynamic Hashing Schemes," ACM Computing Surveys, vol. 20, No. 2, Jun. 1988, pp. 85-113.
- Ronald Fagin, Jurg Nievergelt, Nicholas Pippenger and H. Raymond Strong, "Extendible Hashing--A Fast Access Method for Dynamic Files," ACM Transactions on Database Systems, vol. 4, No. 3, Sep. 1979, pp. 315-344.
- Robert M. Fano, "The Transmission of Information," Technical Report No. 65, Mar. 17, 1949, Research Laboratory of Electronics, Massachusetts Institute of Technology.
- R. M. Fano, "The Transmission of Information-II," Technical Report No. 149, Feb. 6, 1950, Research Laboratory of Electronics, Massachusetts Institute of Technology.
- Nicola J. Fedele, Alfonse A. Acampora, Richard M. Bunting, "Real-time multi-directional data compression of full motion video," SPIE vol. 901 Image Processing, Analysis, Measurement, and Quality, (1988), pp. 82-90.
- Philippe Flajolet, "Approximate Counting: A Detailed Analysis," BIT 25, (1985), pp. 113-134.
- Robert G. Gallager, "Variations on a Theme by Huffman," IEEE Transactions on Information Theory, vol. IT-24, No. 6, Nov. 1978, pp. 668-674.
- E. N. Gilbert, E. F. Moore, "Variable-length binary encodings," The Bell Telephone System Technical Journal, vol. 38, pp. 933-968, Jul. 1959.
- Neill Graham, Introduction to Computer Science, 3rd Edition, 1985, p. 219.
- Donald J. Healy, O. Robert Mitchell, "Digital Video Bandwidth Compression Using Block Truncation Coding," IEEE Transactions On Communications, vol. COM-29, No. 12, Dec. 1981, pp. 1809-1817.
- Daniel R. Helman, Glen G. Langdon, Jr., "Data Compression--Translating data from a useful form to an economical one," IEEE Potentials, Feb. 1988, pp. 25-28.
- D. Helman and G. G. Langdon, Jr., "Dynamic Replacement Hashing Algorithm for Dictionaries," IBM Technical Disclosure Bulletin, vol. 29, No. 8, Jan. 1987, pp. 3274-3275.
- D. R. Helman, G. G. Langdon, Jr., N. Martin and S. J. P. Todd, "Statistics Collection for Compression Coding wtih Randomizing Feature," IBM Technical Disclosure Bulletin, vol. 24, No. 10, Mar. 1982, p. 4917.
- D. R. Helman, G. G. Langdon, Jr. and J. J. Rissanen, "Arithmetic Compression Code Control Parameter Approximation," IBM Technical Disclosure Bulletin, vol. 23, No. 11, Apr. 1981, pp. 5112-5114.
- Martin E. Hellman and Thomas M. Cover, "On Memory Saved by Randomization," the Annals of Mathematical Statistics, 1971, vol. 42, No. 3, pp. 1075-1078.
- R. Nigel Horspool, Gordon V. Cormack, Technical Correspondence, Communications of the ACM, vol. 29, No. 2, Feb. 1986, pp. 150-152.
- Merle E. Houdek, Glen R. Mitchell, "Hash index helps manage large virtual memory," Electronics, Mar. 15, 1979, pp. 111-114.
- Intel, Intel, "Hardware Reference Information," The 8086 Family User's Manual, Oct. 1979, pp. 4-18-4-20.
- Intel, iAPX 286 Programmer's Reference Manual, 1983, pp. 2-15-2-22, B-1-B-5.
- Matti Jakobsson, "Compression of Character Strings by an Adaptive Dictionary," BIT, 1985, pp. 593-603.
- Roger Emanuel Kaufman, A Fortran Coloring Book, The M.I.T. Press, 1978, pp. 74-75.
- Tsutomu Kawabata and Hirosuke Yamamoto, "A New Implementation of the Ziv-Lempel Incremental Parsing Algorithm," IEEE Transactions on Information Theory, vol. 37, No. 5, Sep. 1991, pp. 1439-1440.
- Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Prentice-Hall, Inc., 1978, pp. 20, 119-127, 134-136.
- Glen G. Langdon, Jr., "An Introduction to Arithmetic Coding," IBM Journal of Research and Development, vol. 28, No. 2, Mar. 1984, pp. 135-149.
- G. G. Landon, Jr., "Method for Carry-over Control in a FIFO Arithmetic Code String," IBM Technical Disclosure Bulletin, vol. 23, No. 1, Jun. 1980, pp. 310-312.
- Glen G. Langdon, Jr., "A Note on the Ziv-Lempel Model for Compressing Individual Sequences," Computer Science Research Report, Nov. 24, 1981, IBM Research Division.
- Glen G. Langdon, Jr., "Tutorial on Arithmetic Coding," Computer Science Research Report, May 6, 1981, IBM Research Division.
- G. G. Langdon, Jr., J. J. Rissanen, "Arithmetic Coding with Integer Code Word Lengths," Research Report, IBM Research Division. (No Date available).
- Glen G. Langdon, Jr., Jorma J. Rissanen, "Compression of Black-White Images with Binary Arithmetic Coding," Communications Research Report, Dec. 6, 1979, IBM Research Division.
- Glen G. Langdon, Jr. and Jorma Rissanen, "Compression of Black-White Images with Arithmetic Coding," IEEE Transactions on Communications, vol. COM-29, No. 6, Jun. 1981, pp. 858-867.
- Glen G. Langdon, Jr., Jorma J. Rissanen, "A Double-Adaptive File Compression Algorithm," IEEE Transactions on Communications, vol. COM-31, No. 11, Nov. 1983, pp. 1253-1256.
- Per-.ANG.ke Larson, "Dynamic Hash Tables," Communications of the ACM, Apr. 1988, vol. 31, No. 4, pp. 446-457.
- Ted G. Lewis, Curtis R. Cook, "Hashing for Dynamic and Static Internal Tables," Computer, Oct. 1988, pp. 45-56.
- Arch C. Luther, "You are there . . . and in control," IEEE Spectrum, Sep. 1988, pp. 45-50.
- E. Makinsen, "On Implementing two Adaptive Data-compression Schemes," The Computer Journal, vol. 32, No. 3, 1989, pp. 238-240.
- G. Nigel N. Martin, Glen G. Langdon, Jr., Stephen J. P. Todd, "Arithmetic Codes for Constrained Channels," Computer Science Research Report, Jan. 21, 1982, IBM Research Division.
- Edward M. McCreight, "A Space-Economical Suffix Tree Construction Algorithm," Journal of the Association for Computing Machinery, vol. 23, No. 2, Apr. 1976, pp. 262-272.
- Victor S. Miller, Mark N. Wegman, "Variations on a theme by Ziv and Lempel," Computer Science Research Report, Jul. 31, 1984, IBM Research Div.
- J. L. Mitchell, W. B. Pennebaker, "Optimal hardware and software arithmetic coding procedures for the Q-Coder," IBM Journal of Research and Development, vol. 32, No. 6, Nov. 1988, pp. 727-736.
- J. L. Mitchell, W. B. Pennebaker, "Software implementations of the Q-Coder," IBM Journal of Research and Development, vol. 32, No. 6, Nov. 1988, pp. 753-774.
- Robert C. Nickerson, Fundamentals of Fortran 77 Programming--A Structured Approach, 3rd Edition, 1985, pp. 128-139.
- J. Nievergelt, E. M. Reingold, "Binary Search Trees of Bounded Balance," Siam J. Comput., vol. 2, No. 1, Mar. 1973, pp. 33-43.
- W. B. Pennebaker, J. L. Mitchell, G. G. Langdon, Jr., R. B. Arps, "An Overview of the basic principles of the Q-Coder adaptive binary arithmetic coder," IBM Journal of Research and Development, vol. 32, No. 6, Nov. 1988, pp. 717-726.
- W. B. Pennebaker, J. L. Mitchell, "Probability estimation for the Q-Coder," IBM Journal of Research and Development, vol. 32, No. 6, Nov. 1988, pp. 737-752.
- William B. Pennebaker, Joan L. Mitchell, Cesar A. Gonzales, Karen L. Anderson, "Approaching Exact Photographic Image Compression: The Last Stages," Communications Research Report, Apr. 24, 1987, IBM Research Division.
- Peter Pirsch, Ludwig Stenger, "Statistical analysis and coding of color video signals," Acta Electronica, vol. 19, No. 4, 1976, pp. 277-287.
- Timo Raita, Jukka Teuhola, "Predictive Text Compression by Hashing," ACM Conf. on Information Retrieval, New Orleans, 1987, pp. 223-233.
- Majid Rabbani, Digital Image Compression, Photographic Research Laboratories Imaging Science Lab, Eastman Kodak Company, Jan. 1, 1988.
- Majid Rabbani, Scott Daly, "An Optimized image data compression technique utilized in the Kodak SV9600 still video transceiver," SPIE, Jan. 1989.
- Jorma Rissanen, "Arithmetic Codings as Number Representations," Reprint from Acta Polytechnica Scandinavica, Ma 31, Helsinki 1979, pp. 44-51.
- Jorma Rissanen, "Probability Estimation for Symbols--Observed or Not," Computer Science Research Report, Jan. 27, 1983, IBM Research Division.
- Jorma Rissanen, "Universal Coding, Information, Prediction, and Estimation," IEEE Transactions on Information Theory, vol. IT-30, No. 4, Jul. 1984, pp. 629-636.
- J. Rissanen, "A Universal Data Compression System," Computer Science Research Report, Jun. 24, 1983, IBM Research Division.
- Jorma Rissanen, "A Universal Data Compression System," IEEE Transactions on Information Theory, vol. IT-29, No. 5, Sep. 1983, pp. 656-664.
- J. Rissanen, G. G. Langdon, Jr., "Arithmetic Coding," IBM Journal of Research and Development, vol. 23, No. 2, Mar. 1979, pp. 149-162.
- Jorma Rissanen, Glen G. Langdon, Jr., "Universal Modeling and Coding," IEEE Transactions on Information Theory, vol. IT-27, No. 1, Jan. 1981, pp. 12-23.
- Ronald L. Rivest, "Optimal Arrangement of Keys in a Hash Table," Journal of the Association of Computing Machinery, vol. 25, No. 2, Apr. 1978, pp. 200-209.
- Charles S. Stein, Andrew B. Watson, Lewis E. Hitchnert, "Psychophysical rating of image compression techniques," SPIE, Jan. 1989, pp. 1-11.
- Quentin F. Stout, Bette L. Warren, "Tree Rebalancing in Optimal Time and Space," Communications of the ACM, vol. 29, No. 9, Sep. 1986, pp. 902-908.
- Stephen Todd, G. G. Langdon, Jr., Dan Helman, Nigel Martin, "Dynamic Statistics Collection for Compression Coding with Randomizing Feature," Research Report, Aug. 31, 1988, IBM Research Division.
- Stephen J. P. Todd, Glen G. Langdon, Jr., G. Nigel N. Martin, "A General Fixed-Rate Arithmetic Coding Method for Constrained Channels," Computer Science Research Report, Jan. 21, 1982, IBM Research Division.
- Jeffrey Scott Vitter, "Design and Analysis of Dynamic Huffman Coding" (extended abstract), IEEE, 1985, pp. 293-302.
- Jeffrey Scott Vitter, "Design and Analysis of Dynamic Huffman Coding," Technical Report No. CS-85-13, Jul. 1985, Department of Computer Science, Brown University, pp. 1-30.
- Ross N. Williams, "Dynamic-History Predictive Compression," Inform. Systems, vol. 13, No. 1, pp. 129-140, 1988.
- Ian H. Witten, Timothy C. Bell, "Source Models for Natural Language," Research Report No. 88/326/38, Oct. 1988, Department of Computer Science, The University of Calgary.
- Ian H. Witten, John G. Cleary, "Inductive Modeling for Data Compression," Research Report No. 87/254/02, Jan. 1987, Department of Computer Science, The University of Calgary.
- Ian H. Witten, Radford M. Neal, John G. Gleary, "Arithmetic Coding for Data Compression," Communications of the ACM, vol. 30, No. 6, Jun. 1987, pp. 520-540.
- Ian H. Witten, Radford Neal, John G. Cleary, "Arithmetic Coding for Data Compression," Research Report No. 86/238/12, Aug. 1986, Department of Computer Science, The University of Calgary.