Multi-table mapping for huffman code decoding
Unique Huffman codes are generated with each being associated with a symbol. The unique codes are grouped according to a property of the unique codes such as length. The segments of a data stream to be decoded are compared with the grouped unique codes. Each segment has the same property as the grouped unique codes being compared with.
Publication number: US6573847B1 | Search similar patents
A decoding device for Huffman codes, provided with an operation circuit for determining, from a Huffman code to be decode, the code length of the Huffman code and a predetermined code number thereof by calculation, and a conversion circuit for converting the code number into a fixed-length code prior to encoding.
Publication number: US6408102B1 | Search similar patents
Variable-length code decoder
The present invention provides a variable-length code decoder for inputting a code data bit string having a predetermined number of code data bits in every decoding cycle and decoding it, which comprises storing means for storing a decoded symbol and a node in a code tree in the next decoding cycle corresponding to each combination of a value of the code data bit string and a node in the code tree, reading means for reading the decoded symbol and the node in the code tree in the next decoding cycle from the storing means in accordance with the code data bit string inputted in a current decoding cycle and the node in the code tree in the current decoding cycle, outputting means for outputting the decoded symbol read by the reading means, and providing means for providing the node in the code tree in the next decoding cycle read by the reading means to the reading means.
Publication number: US5825314A | Search similar patents
Method of generating huffman code length information
Embodiments of a method of generating Huffman code length information are disclosed. In one such embodiment, a data structure is employed, although, of course, the invention is not limited in scope to the particular embodiments disclosed.
Publication number: WO0237690A2 | Search similar patents
Low memory and mips efficient technique for decoding huffman codes using multi-stage, multi-bits lookup at different levels
Present herein is a low memory and MIPS efficient technique for decoding Huffman codes using multi-stage, multi-bits lookup at different levels. A binary tree is cut at levels depending on the quotient of the number of existing nodes and the number of possible nodes.
Publication number: US6839005B1 | Search similar patents
Huffman decoding method
The present invention relates to a Huffman decoding method. Firstly, a Huffman table including multiple Huffman codes and multiple corresponding size/symbol codes is extracted. Each Huffman code comprises a codeword and each size/symbol code comprises a size code and a symbol code. Then, multiple mask codes are generated according to the size codes. Then, masking operations are performed on successive 16 bits of the compression bit stream and the mask codes, thereby outputting multiple masking results. Subsequently, logic operations on the masking results and the Huffman codes, thereby generating multiple are performed on the new Huffman codes, wherein each new Huffman code includes the codeword. It is discriminated whether the 16 bits of the compression bit stream complies with a specific one of new Huffman codes, thereby outputting the size/symbol code corresponding to the codeword.
Publication number: US7375660B1 | Search similar patents
Method of building an adaptive huffman codeword tree
Many compression algorithms require the compressor to generate trees (tables) for encoding purposes. To generate the optimum tree for a set of Huffman symbols either takes too much time or requires too much hardware. This invention proposes to separate the symbols into groups according to the symbol's occurring frequency. With these groups of symbols available, subsequent code length assignment of these groups can be done without a complete sorting of all the symbols and their parents. During code length assignment, some relocation of individual symbols from one group to another can also be performed to optimize the Huffman table. In most of the cases this technique can achieve a compression ratio within 5% of the optimum Huffman table, while requiring less hardware or software overhead.
Publication number: US6040790A | Search similar patents
Method and apparatus for digital huffman decoding
Method and apparatus for decoding Huffman encoded words are disclosed which include the use of logic gates connected in the form of a binary decoding tree which includes branches, interior and leaf nodes. Bits of the encoded word are sequentially supplied to gates of the binary tree. Simultaneously, gate enable signals are supplied to gates of the binary tree. Both the data bits and enable signals are supplied to gates at increasingly higher levels of the binary tree. When an output is obtained from a gate associated with one of the leaf nodes of the tree, the process of sequentially supplying data bits and enable signals to gates of the binary tree is repeated for the next encoded word. The original data words are regenerated by use of outputs from said gates associated with leaf nodes of the binary tree.
Publication number: WO8600477A1 | Search similar patents
System and method for compressing data
Systems, devices and methods are provided to compress data, and in particular to code and decode data. One aspect of the present subject matter is a data structure. The data structure includes a field representing a decoding structure to decode canonical Huffman encoded data, and a field representing a symbol table. The decoding structure includes a field representing an accelerator table to provide a 2N-deep direct-index lookup to provide high-frequency symbols for high-frequency data and to provide bracketing indices for low-frequency data. The decoding structure also includes a field for a binary search table to provide a low-frequency symbol index using a binary search bounded by the bracketing indices provided by the accelerator table. The symbol table is adapted to provide a symbol associated with the low-frequency index.
Publication number: US6650996B1 | Search similar patents
Method of generating a length-constrained huffman code
Embodiments are disclosed of generating a length-constrained Huffman code.
Publication number: US6690306B1 | Search similar patents
Bitwise adaptive encoding using prefix prediction
A technique is presented for compressing data which leverages the frequency of an escape symbol for better compression. The prefix of a data string is evaluated and the probability of all characters that might succeed it is predicted in tabular form. Symbols are designated "Hit" or "Miss" based upon whether they are in the table. A binary tree is generated by partitioning nodes into Zero and One groups based on a single bit value. A partition bit is chosen to maximize the difference of probability sums of Hit symbols in Zero and One groups, with exceptions for partitions having non Hit symbols in one of the groups. A probability value is assigned to each branch, based on the probabilities of Hit and Miss symbols. Encoding a symbol is facilitated by encoding the branch probabilities on the shortest path from the root to the leaf node containing the symbol using arithmetic encoding.
Publication number: EP1231717A2 | Search similar patents
Method and apparatus for efficiently decoding variable length encoded
The present invention relates to a method and apparatus for performing decoding of variable length data. It is particularly effective when decoding data encoded with a Huffman or such similar encoding method. The invention employs a plurality of decoding tables which permits a fixed length of bits to be decoded in a minimum number of indexes for the size of the index. Each table is constructed such that the given node indicates whether a unique character has been decoded or whether further decoding is necessary.For data which is encoded in a manner similar to a Huffman code, a properly constructed table will yield the frequently used characters on a single index. Only less frequently used characters require multiple indexes into the plurality of tables.This application is a continuation of patent application Ser. No. 08/026,347, filed Mar. 4, 1993, now abandoned.
Publication number: US5915041A | Search similar patents
Briefly, in accordance with one embodiment, a method of coding data is described.
Publication number: US2007290899A1 | Search similar patents
Decoding Huffman codes is accomplished by identifying consecutive strings of high order ones or zeroes (216) and following consecutive strings of high order ones or zeroes, retrieving a table entry (222) for each string based on its run count and bit value, until the retrieved entry contains the decoding output symbol, or until the remaining bits of the code word number within a predetermined threshold. The remaining bits are used as an offset into a lookup table, but the dimensions of the table have been reduced through elimination of the leading ones and zeroes. The consecutive strings are preferably processed by a hardware accelerator to identify the repeated bit, count the bits in the string and return this information to the host processor. The efficiencies of decoding canonical codes are realized; yet, non-canonical codes can be decoded.
Publication number: EP1436899A1 | Search similar patents
Huffman decoding method and decoder, huffman decoding table, method of preparing the table, and storage media
There are provided a Huffman decoding method and decoder which is capable of carrying out a decoding process at a high speed with a small memory capacity, and requires only a small-sized circuit. Input data encoded by a Huffman code is decoded. A Huffman decoding table is prepared which describes a binary tree corresponding to the Huffman code and having leaves each storing data. A binary tree-based search of the table is carried out based on the input data sequentially acquired by at least one bit to thereby decode the input data encoded by the Huffman code.
Publication number: US2002130796A1 | Search similar patents