Nova Patents
EP0891094A2

Video decompression

Abstract

A parallel Huffman decoder, comprising : an input, accepting a mixed data stream comprising Huffman coded variable length codes, fixed length codes, and data tokens, wherein all complete Huffman codes are received in a single cycle of operation ;a selector operative on said data stream, wherein in a first mode of operation variable length codes are provided to said address lines of a Huffman Code ROM, and in a second mode of operation data tokens and a signal representative of a length of fixed length codes is output by the decoder without reference to said ROM ;a pair of input registers for receiving Huffman coded data, both of said registers directing input in parallel to said selector ; and a Huffman Code ROM for receiving input from said selector and another ROM table select input; said ROM providing a first decoded data output, said selector being responsive to a second output of said ROM.

EP0891094A2, drawing sheet 1
Sheet 1 of 365

Term

Term ended

Projected expiry passed 28 July 2015, 11.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

24 claims: 3 independent, 21 dependent

  1. 1
    A parallel Huffman decoder, comprising :an input, accepting a mixed data stream comprising Huffman coded variable length codes, fixed length codes, and data tokens, wherein all complete Huffman codes are received in a single cycle of operation ;a selector operative on said data stream, wherein in a first mode of operation variable length codes are provided to said address lines of a Huffman Code ROM, and in a second mode of operation data tokens and a signal representative of a length of fixed length codes is output by the decoder without reference to said ROM ;a pair of input registers for receiving Huffman coded data, both of said registers directing input in parallel to said selector ;anda Human Code ROM for receiving input from said selector and another ROM table select input;said ROM providing a first decoded data output, said selector being responsive to a second output of said ROM.
  2. 5
    A Huffman decoder, as recited in my one of claims 1 to 4, wherein one of said pair of input registers handles most significant data ad the other of said pair of registers handles least significant data.
  3. 20
    A method of decoding a mixed data stream comprising Huffman coded variable length codes, fixed length codes, and data tokens, the stream including a first code having a first length, and a second code having a second length, comprising the steps of :memorizing data in a plurality of locations of a memory, wherein said memory has a plurality of address lines for addressing said locations, a first set of said address lines and a second set of said address lines being defined to correspond with a pattern of bits of said first code and a pattern of bits of said second code respectively ;identifying variable length codes in the data stream ;respectively associating each bit of a said variable length code with a said address line ;activating said address lines responsive to the bits associated therewith ;coupling a first wordline driver to said first set of address lines ;coupling a second wordline driver to said second set of address lines ;activating a selected one of said first wordline driver and said second wordline driver in response to signals on all of their respectively coupled address lines ;obtaining data from a location in said memory that is driven by said activated wordline driver ;from said obtained data determining the length of the variable length code ;according to said determined length, aligning bits of a succeeding variable length code with said address lines for association therewith ;identifying fixed length codes in the data stream ;and outputting a decoded value thereof without accessing said memory.