Efficient dictionary for lossless compression
First Claim
1. A system for lossless data compression, the system comprising:
- one or more hash engines to perform a respective hash on an input byte stream, the respective hashes producing respective hash keys for each hash engine of the one or more hash engines, the hash keys mapped to dictionary entries in one or more memory devices to store a corresponding one or more hash tables, each hash table associated with a respective hash engine;
the one or more memory devices to store a corresponding one or more compact dictionaries, each compact dictionary associated with a respective hash engine, each compact dictionary including a plurality of words, each word having a specific distance into the compact dictionary, and the one or more compact dictionaries being a subset of a standard dictionary;
one or more comparator circuits, each comparator circuit associated with a respective hash engine and compact dictionary, and to compare a word from the respective compact dictionary with the input byte stream hashed by the respective hash engine to create a match score, the one or more comparator circuits to identify a selected word; and
an encoder circuit to encode the selected word from the respective compact dictionary, wherein to encode the selected word includes an operation to determine an index into the standard dictionary of the selected word and use the index in the encoding.
1 Assignment
0 Petitions
Accused Products
Abstract
Various systems and methods for lossless data compression are described herein. A process for lossless data compression includes hashing an input byte stream to produce a hash key; identifying a set of dictionary entries in a hash table using the hash key, the hash key associated with a word from a compact dictionary; identifying a set of candidate words from the compact dictionary based on the identified set of dictionary entries, the compact dictionary being a subset of a standard dictionary; determining a best match of the set of candidate words with the input byte stream; and encoding the best match of the set of candidate words as a compressed output of the input byte stream, the encoding including an operation to determine an index into the standard dictionary of the best match and using the index in the encoding operation.
18 Citations
25 Claims
-
1. A system for lossless data compression, the system comprising:
-
one or more hash engines to perform a respective hash on an input byte stream, the respective hashes producing respective hash keys for each hash engine of the one or more hash engines, the hash keys mapped to dictionary entries in one or more memory devices to store a corresponding one or more hash tables, each hash table associated with a respective hash engine; the one or more memory devices to store a corresponding one or more compact dictionaries, each compact dictionary associated with a respective hash engine, each compact dictionary including a plurality of words, each word having a specific distance into the compact dictionary, and the one or more compact dictionaries being a subset of a standard dictionary; one or more comparator circuits, each comparator circuit associated with a respective hash engine and compact dictionary, and to compare a word from the respective compact dictionary with the input byte stream hashed by the respective hash engine to create a match score, the one or more comparator circuits to identify a selected word; and an encoder circuit to encode the selected word from the respective compact dictionary, wherein to encode the selected word includes an operation to determine an index into the standard dictionary of the selected word and use the index in the encoding. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for lossless data compression, the method comprising:
-
hashing an input byte stream to produce a hash key; identifying dictionary entries in a hash table using the hash key, the hash key associated with a word from a compact dictionary; identifying candidate words from the compact dictionary based on the identified set of dictionary entries, the compact dictionary being a subset of a standard dictionary; determining a best match of candidate words with the input byte stream; and encoding the best match of candidate words as a compressed output of the input byte stream, the encoding including an operation to determine an index into the standard dictionary of the best match and using the index in the encoding operation. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. At least one machine-readable medium including instructions for lossless data compression, the instructions when executed by a machine, cause the machine to perform the operations comprising:
-
hashing an input byte stream to produce a hash key; identifying dictionary entries in a hash table using the hash key, the hash key associated with a word from a compact dictionary; identifying candidate words from the compact dictionary based on the identified set of dictionary entries, the compact dictionary being a subset of a standard dictionary; determining a best match of candidate words with the input byte stream; and encoding the best match of candidate words as a compressed output of the input byte stream, the encoding including an operation to determine an index into the standard dictionary of the best match and using the index in the encoding operation. - View Dependent Claims (25)
-
Specification