Variable length decoder

Coded data generation or conversion – Digital code to digital code converters – To or from variable length codes

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C341S063000

Reexamination Certificate

active

06411229

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to an apparatus for inversely converting and decoding variable-length-coded compressed code sequences.
BACKGROUND OF THE INVENTION
In recent years, techniques for decoding high-efficiently coded and compressed images are eagerly researched, and used in the fields of computers, communication, broadcasting and the like. In addition, Joint Photographic Coding Experts Group (JPEG) is recommended as an International Standard of compression coding and decompression decoding of these images, and Moving Picture Experts Group
1
(MPEG
1
) video and Moving Picture Experts Group
2
(MPEG
2
) Video are recommended as International Standards of moving picture decoding.
According to these methods, image information is divided into blocks each being composed of a predetermined number of pixels. Each pixel included in the block is orthogonally transformed, quantized, and entropy-coded, to generate a code (in these method, a Huffman code is used). Plural generated codes are combined to compose a compressed code sequence (also referred to simply as a code sequence). The compressed code sequence is entropy-decoded, inversely quantized, and inversely-orthogonally transformed, for each code, to generate a restored image.
It should be noted here that the processing of orthogonally transforming, quantizing, and entropy-coding each pixel is hereinafter referred to as compression coding (or referred to simply as coding), and distinguished from the entropy coding. In addition, it should be noted that the processing of entropy-decoding, inversely quantizing, and inversely-orthogonally transforming a code is referred to as decompression decoding (or referred to simply as decoding), and distinguished from the entropy decoding.
Hereinafter, a description is given of a structure of a circuit for compressing/decompressing common images according to a baseline method as a function which is essential to an image encoder/decoder in conformance with the JPEG recommendation.
FIG. 2
is a block diagram illustrating the circuit for compressing/decompressing images according to the JPEG baseline method.
This compression/decompression circuit comprises a block transformation unit
201
, a DCT unit
202
, a quantization unit
203
, a Huffman coding unit
204
, a marker generation unit
205
, a Huffman decoding unit
206
, and a marker decryption unit
207
. Here, only the descriptions relating to the decompression decoding are given. The compression coding which has no direct bearing on the present invention is not described here. The marker decryption unit
207
decrypts a marker section which is stored at the head of the compressed code sequence, obtains information at the coding of a target image such as the size of the image, a quantization table and an entropy decoding table, and stores the information in a quantization table RAM (not shown) or an entropy decoding table RAM (not shown in FIG.
2
).
The Huffman decoding unit
206
entropy-decodes an entropy code section which is stored subsequent to the marker section of the compressed code sequence, and has been subjected to Huffman coding which is a kind of variable length coding and also a kind of entropy coding, in accordance with an entropy decoding table stored in the entropy decoding table RAM, to output a quantization DCT coefficient.
The quantization unit
203
multiplies a corresponding element of a quantization table stored in the quantization table RAM by the quantization DCT coefficient, and outputs a DCT coefficient to carry out the inverse quantization. The DCT unit
202
subjects the DCT coefficient to inverse transformation of DCT (Discrete Cosine Transformation) as a kind of the orthogonal transformation, and outputs pixel data of a block composed of 8 pixels x 8 pixels. The block transformation unit
201
rearranges the pixel data which have been received in block units, to output a restored image. Since the DCT and the quantization are already known techniques, they are not described in detail here. Further, the processed contents of the marker decryption unit
207
and the processed contents in the block transformation unit
201
are also well-known to persons expert in JPEG, and the processing circuit can be easily constructed. Therefore, the detailed descriptions thereof are not given here.
Before describing the remaining Huffman decoding unit
206
, a structure of the compressed code sequence of JPEG is described with reference to FIG.
3
.
FIG. 3
shows that the compressed code sequence includes a marker section
301
at the head, followed by an entropy code section
302
. The entropy code section
302
has a structure in which a Huffman code
303
as a variable length code and an additional bit
304
are alternately repeated. The code length (hereinafter referred to as “Lh”) of the Huffman code
303
is obtained from the Huffman code
303
itself, while the additional bit
304
is an uncoded binary bit string, and its bit length (hereinafter referred to as “La”) is obtained from the result of the entropy decoding of the Huffman code
303
.
Next, the Huffman decoding unit
206
shown in
FIG. 2
of the compression/decompression circuit is described with reference to FIG.
14
. The Huffman decoding unit
206
comprises a code location unit
2101
, a boundary code register
2102
, a Huffman code length detection unit
2103
, a base address register
2104
, an address generation unit
2105
, an entropy decoding table RAM
2106
, and an additional bit decoding unit
2107
.
The code location unit
2101
extracts a 16-bit bit string which is a bit string of the maximum code length (hereinafter referred to as “Lhmax”) of the Huffman code from the head of the compressed code sequence, and outputs the 16-bit bit string to the Huffman code length detection unit
2103
and the address generation unit
2105
. Further, it extracts a 11-bit bit string which is a bit string of the maximum bit length (hereinafter referred to as “Lamax”) of the additional bit from the head of the compressed code sequence, and outputs the 11-bit bit string to the additional bit decoding unit
2107
. When the Huffman code length Lh is obtained by the Huffman code length detection unit
2103
, the code location unit
2101
carries out a shift operation of the Huffman code length Lh, obtains the next data from the compressed code sequence as required, and locates the additional bit. Further, when the additional bit length La is obtained from the entropy decoding table RAM
2106
, the code location unit
2101
carries out the shift operation of the additional bit length La, and obtains the next data from the compressed code sequence as required, and locates the next Huffman code.
Prior to the start of the decompression decoding, the minimum code value for each code length is stored in the boundary code register
2102
.
The Huffman code length detection unit
2103
compares the 16-bit bit string obtained by the code location unit
2101
with the contents of the boundary code register
2102
, assumes that the Huffman code exists from the head of the bit string obtained by the code location unit
2101
, and detects the code length Lh. As described above, in the case of the Huffman code, the code length can be obtained before referring to the decoding table RAM
2106
.
Prior to the start of the decompression decoding, a base address which is an address of the entropy decoding table RAM
2106
, corresponding to the Huffman code of the minimum code value for each code length is stored in the base address register
2104
.
The address generation unit
2105
compares the 16-bit bit string obtained by the code location unit
2101
, the Huffman code length Lh obtained by the Huffman code length detection unit
2102
and the contents of the base address register
2104
, and generates an address for referring to the entropy decoding table RAM
2106
.
Prior to the start of the decompression decoding, the bit length of an additional bit corresponding to each codeword is stored in the entropy decoding table RAM
2106
.
The additional bit

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Variable length decoder does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Variable length decoder, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Variable length decoder will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2981878

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.