# US 5,708,430 A · High speed variable length code decoding apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,708,430 A
- Document ID: US5708430A
- Status: Granted
- Kind: A
- Application number: 08/616,941
- Filed: 1996-03-18
- Granted: 1998-01-13
- Earliest claimed: 1995-03-16
- Assignees: Daewoo Electronics Co., Ltd.
- Inventors: Young-Seok Sohn
- Web page: https://patentgrep.com/patent/US5708430A

## CPC

- H03M 7/425: {for the decoding process only}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

A variable-length code decoding apparatus for decoding sequential variable-length codewords includes a first barrel shifter for producing a first window output sequence in response to a window control signal, a second barrel shifter for producing a second window output sequence and a code value in response to a decoded codeword length, a relay circuit for latching the second window output sequence for one-half the clock cycle and providing the latched second window output sequence as a decoding output sequence, a first look-up table memory for producing the decoded codeword length in response to a pre.sub.-- fix code of the variable-length codeword that begins at the first bit position of the decoding output sequence, a second look-up table memory for producing a fixed-length word in response to the decoded codeword length and the code value, and an accumulation block for producing the window control signal.

## Claims

### Claim 1

A variable-length code decoding apparatus for decoding, at a half clock rate, sequential variable-length codewords supplied from an input buffer which stores an input bit stream to be decoded in fixed-length segments having a length equal to twice a longest length of the variable-length codewords, said apparatus comprising:
first and second bit storage means for storing consecutive fixed-length segments of the input bit stream in the input buffer;
first shift means connected to the first and the second bit storage means and having a first output window for producing a first window output sequence from bits in the consecutive fixed-length segments from the first and the second bit storage means, the bit length of the first window output sequence being equal to the longest length of the variable-length codewords and the first output window being shifted across the bits in the first and the second bit storage means in direct response to a window control signal;
second shift means connected to the first shift means and having a second output window for producing a second window output sequence from bits contained in the first window output sequence and a previous decoding output sequence applied thereto, and generating high-order M bits from the first bit in the second window output sequence as a code value, the bit length of the second window output sequence being equal to the longest length of the variable-length codewords, said second output window being shifted in direct response to a codeword length and M being an integer smaller than the longest length of the variable-length codewords;
relay means for latching the second window output sequence for one-half the clock cycle and producing the latched second window output sequence as the decoding output sequence;
first memory means coupled to the relay means for producing a codeword length in response to a pre.sub.-- fix code which consists of high-order P bits of the variable-length codeword that begins at the first bit position of the decoding output sequence, the maximum value of P being an integer smaller than the longest length of the variable-length codewords;
second memory means connected to the first memory means and the second shift means for producing a fixed-length word in response to the codeword length and the code value; and
accumulation means for adding the codeword length to a previously accumulated codeword length in order to produce the window control signal indicating the added and accumulated codeword length, said accumulation means generating a read signal to retrieve a next fixed-length segment stored in the input buffer when the accumulated codeword length is greater than twice the longest length of the variable-length codewords, the next fixed-length segment being stored in the first bit storage means and the fixed-length segment previously stored in the first bit storage means being transferred to the second bit storage means.
