Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Huffman coding

A technology of Huffman coding and code words, which is applied in the field of decoding Huffman coding code words, and can solve the problems of decoding dependence, decoder blocking memory bus, etc.

Inactive Publication Date: 2005-05-04
NOKIA CORP
View PDF2 Cites 13 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

If the table is kept in common memory, the decoder may block the memory bus, since decoding is a very memory dependent application

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Huffman coding
  • Huffman coding
  • Huffman coding

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0046] The present invention provides a fast and memory efficient Huffman code stream decoding method. Decoding is based on the detection of bit strings, ie "0000..." and "1111..." strings in the beginning of the codeword. After finding the first n-bit consecutive 1 or 0, search for consecutive 1 or 0 for the remaining bits in the codeword (from n+1 position forward) again until it can be determined that there are only a few bits left in the codeword At this point, they can be used to look up the corresponding symbol from the storage table. This process can be thought of as traveling a "straight line trip" of maximum length in the Huffman tree, and stopping each time a turning point leading to a new "subtree" is detected. Advantageously, the codewords are processed a minimum of 2 bits at a time (leading 0 or 1 and subsequent bits indicating "turning points").

[0047] For example, in figure 1 In , the decoding process for the letter "P→11000" generally proceeds as follows: ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

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.

Description

technical field [0001] This invention relates to data compression and, in particular, to the decoding of Huffman encoded codewords. Background technique [0002] Huffman codes are widely used in the fields of data compression and communication. Some applications include JPEG image compression and MPEG video and audio compression. Huffman codes are codes with variable word length, which means that the individual symbols used to make up the message are each represented by different bit sequences of different lengths9 codes). This property of codewords helps reduce redundancy in the message data, ie it enables data compression. For example, the symbols A, B, C and D can be represented by the following code words: [0003] the symbol code word A 0 B 10 C 110 D 111 [0004] All codewords are uniquely decodable; for example, the bit sequence "01101110100" decodes to 'ACDABA'. This set of codewords is call...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): H03M7/42
CPCH03M7/42H03M7/40
Inventor 扬内·坎加斯
Owner NOKIA CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products