EP0875859A2

Method and apparatus for compressing and decompressing data

Abstract

The present invention relates to a method and an apparatus (1158, 1171-1173, 1180-1184, 1188) for decoding blocks of data encoded using a plurality of variable-length code words. Preferably, the encoding used is Huffman coding. The blocks also comprise fixed-length, not-encoded fields and variable-length, not-encoded bit fields. The code words are interleaved with the variable-length, not-encoded bit fields. The apparatus (1158, 1171-1173, 1180-1184, 1188) includes a preprocessing logic unit for removing the fixed-length, not-encoded fields. The preprocessing logic unit outputs the variable-length code words interleaved with the variable-length, not-encoded bit fields, as well as signals indicating positions of the fixed-length, not-encoded fields in the data blocks. The apparatus (1158, 1171-1173, 1180-1184, 1188) also includes a circuit that synchronously passes the position-indicating signals to an output of the apparatus with the data being decoded. Thus, if there is a multiplicity of variable-length coded data between the fixed-length, not-encoded fields on the input of the apparatus(1158, 1171-1173, 1180-1184, 1188), a multiplicity of corresponding decoded data appears on the output of the apparatus (1158, 1171-1173, 1180-1184, 1188) between any two position-indicating signals corresponding to the fixed-length not-encoded words on the input.

EP0875859A2, drawing sheet 1
Sheet 1 of 270

Term

Term ended

Projected expiry passed 29 April 2018, 8.4 years ago.

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

25 claims: 7 independent, 18 dependent

  1. 1
    An apparatus for decoding blocks of data encoded using a plurality of variable-length code words, said blocks of data also comprising not-encoded fields of fixed length, said code words being interleaved with not-encoded bit fields of variable length, said apparatus comprising:a preprocessing logic unit for removing a plurality of not-encoded fields of fixed length and outputting said plurality of variable-length code words interleaved with said not-encoded bit fields of variable length, and outputting signals indicating positions of said plurality of not-encoded fields of fixed length in the blocks of data;means for passing said signals indicating positions to an output of the apparatus in a way synchronous with the data being decoded, such that if there is a multiplicity of variable-length coded data between said not-encoded fields of fixed length on the input of the apparatus, a multiplicity of corresponding decoded data appears on the output of the apparatus between any two signals indicating positions corresponding to said not-encoded words of fixed length on the input.
  2. 6
    A method of decoding blocks of data which have been encoded using a plurality of variable-length code words, said blocks of data comprising not-encoded fields of fixed length, said code words being interleaved with not-encoded bit fields of variable length, said method comprising the steps:removing said not-encoded fields of fixed length, and outputting said plurality of variable-length code words interleaved with said not-encoded bit fields of variable length, and outputting signals indicating positions of the said not-encoded words of fixed length in the blocks of data;passing said signals indicating positions to an output in a way synchronous with the data being decoded, such that if there is a multiplicity of variable-length coded data between said not-encoded fields of fixed length being input, a multiplicity of corresponding decoded data appears at the output between any two signals indicating positions corresponding to said not-encoded words of fixed length at the input.
  3. 11
    A discrete cosine transform (DCT) apparatus, comprising:a transpose memory means;and an arithmetic circuit interconnected with said transpose memory means, said arithmetic circuit consisting of a combinatorial circuit for calculating a DCT without clocked storage means.
  4. 15
    An inverse discrete cosine transform (DCT) apparatus, comprising:a transpose memory means;and an arithmetic circuit interconnected with said transpose memory means, said arithmetic circuit consisting essentially of a combinatorial circuit for calculating an inverse DCT without clocked storage means.
  5. 19
    A method of discrete cosine transforming (DCT) data, said method comprising the steps of:calculating a DCT of input data in accordance with a first orientation of said data using an arithmetic circuit consisting essentially of a combinatorial circuit for calculating said DCT without clocked storage means;storing said transformed input data in accordance with said first orientation in a transpose memory means interconnected with said combinatorial circuit;and calculating a DCT of said transformed input data stored in said transpose memory means in accordance with a second orientation of said data using said arithmetic circuit to provide transformed data.
  6. 22
    A method of inverse discrete-cosine transforming (DCT) data, said method comprising the steps of:calculating an inverse DCT of input coefficients in accordance with a first orientation of said coefficients using an arithmetic circuit consisting essentially of a combinatorial circuit for calculating said inverse DCT without clocked storage means;storing said inverse transformed input coefficients in accordance with said first orientation in a transpose memory means interconnected with said combinatorial circuit: and calculating an inverse DCT of said transformed input coefficients stored in said transpose memory means in accordance with a second orientation using said arithmetic circuit to provide output inverse transformed data.
  7. 25
    A recording medium storing computer-executable program codes in which a method according to any one of claims 9 - 14 and 19 - 24 is implemented.