WO1991006153A1 - Huffman data string decompression apparatus and method - Google Patents

Huffman data string decompression apparatus and method Download PDF

Info

Publication number
WO1991006153A1
WO1991006153A1 PCT/US1990/005651 US9005651W WO9106153A1 WO 1991006153 A1 WO1991006153 A1 WO 1991006153A1 US 9005651 W US9005651 W US 9005651W WO 9106153 A1 WO9106153 A1 WO 9106153A1
Authority
WO
WIPO (PCT)
Prior art keywords
bits
data
string
logic array
sequence
Prior art date
Application number
PCT/US1990/005651
Other languages
French (fr)
Inventor
Rafi Retter
Daniel Seltz
Original Assignee
Zoran Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zoran Corporation filed Critical Zoran Corporation
Publication of WO1991006153A1 publication Critical patent/WO1991006153A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only

Definitions

  • the present invention relates to compression of digital image data and the recreation of an image from the recorded digital data. More specifically, the present 5 invention relates to parallel implementation of a Huffman decoder for data string decompression during recreation of the image.
  • Huffman table where Huffman coding operations are performed.
  • the result of Huffman encoding is reduced length code for the proces-
  • a Huffman coder is used to translate an eight bit word, indicative of a certain DCT scaled frequency into a variable length code.
  • a ROM is used to effect the translation.
  • the output of the ROM is a code
  • a data string is formed of codes followed by the data for that particular code.
  • the process for generating this data string is generally known in the art. One clock pulse is required per data word created.
  • a second problem is that every change in the content of the Huffman table for the state machine may cause a significant change in the implementation of the state machine. That is because the decision tree will not be the same and a whole new decision tree will have to be gener ⁇ ated, which is very complex.
  • Huffman table content causes only one mask change which can be accomplished on a computer and does not affect other logic or die size.
  • a Huffman data string decompression apparatus and method in accordance with this invention has an apparatus for decoding a compressed data bit string, having a data string positioner for designating a predefined portion a data bit string to be decompressed and a programmable logic array having a Huffman table programmed therein for si ultane- ously receiving the portion of the data bit string and for matching at least a particular unique sequence of bits in the portion to a sequence within the table. Also included are an output device responsive to the programmable logic array for producing a decompressed code value for the matched unique sequence on bits, and a mechanism for updating the data bit string positioner to designated a next portion of the bit string.
  • Figure 1 is a diagram of general data compression techniques.
  • FIG. 2 is a block diagram of the parallel Huffman decoder of the preferred embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • FIG. 1 an exemplary diagram of the process for encoding photographic data is shown.
  • An image to be digitally reproduced is broken down into a plurality of eight by eight pixel blocks 11a. Each of these frames
  • DCT digital coefficient transformation
  • the DCT transforms the digital picture data contained in the pixels into a collection of the frequencies lib. For a particular eight by eight collection of scaled frequencies lib, a value is assigned to each frequency. A prior analysis is done of which frequency values appear most frequently and those frequencies are assigned the smallest of the variable length codes. Huffman table is then generated based on this prior analysis.
  • An example of the encoding process is as follows. For each scaled frequency in frame - lib, a 16 bit value is assigned. Picking an arbitrary scaled frequency 12, in the middle of the central portion of the image 10, the 16 bit assigned value is 0000 0000 1011 1101. An eight bit word 14 is created to encode information for scaled frequency 12. In a frame lib, most of the 16 bit values will be all zeros. Of the ones that are not, a substantial portion of those will have leading zeros. Therefore, when a frequency having a non-zero 16 bit value is encountered, the first four bits 14a of its eight bit word 14 contain the number of preceding all zero 16 bits words. For the eight bit word 14 of frequency 12, the number of preceding immediate ⁇ ly all zero 16 bit words is seven. The second four bits 14b of the eight bit word 14 indicate the number of bits in the 16 bit word that actually contain data. In this instance, that number is eight.
  • the first four bits 16a contain the binary representation for eleven. Since there are only two bits of actual data, the second four bits 16b of eight bit word 16 contain the binary representation for two.
  • All eight bit encoded words 14 and 16 and associated data bits are sent to a Huffman table 18.
  • the Huffman table 18 produces an output for each word 14 and 16.
  • the output consists of two parts. The first part is a variable length code indicative of image data. The second part is a number which tells how long the variable length code is.
  • a plurality of codes and associated data are output from the Huffman table 18 until a data bit string of picture information is created.
  • a special code for end of block (EOB) is attached at the end of each block. This data string represents the encoded digital image and can be stored relatively efficiently in memory.
  • the data string is retrieved from memory and the data decoded.
  • the decoder 40 reads in 20 bits, in parallel, from the data string.
  • the number 20 is selected because the coder utilized in the encoding stage ( Figure 1) produces a largest code length of that size. This number, 20, however, is arbitrary and can be changed to accommodate other length codes.
  • the use of a 16 bit word length may be preferable in some instances because it is a common length word size.
  • the 20 bits are shifted from a shift register 42 to a programmable logic array (PLA) 44.
  • the PLA 44 has 21 inputs, 20 for data and 1 for enabling.
  • Input line 43 carries a signal which enables the PLA 44 when it is to be used.
  • the PLA 44 is turned off otherwise to conserve power.
  • the remaining 20 inputs are shifted over, one 20 bit. shift per clock pulse, into a first section 46 of the PLA 44.
  • This first section 46 contains the minterms.
  • the minterms are connected to an associated output code in a second, or output, section 48 of the PLA 44.
  • the output of the second section 48 is 13 bits wide. Eight of these bits represent output code, the other five indicate the length of the input compressed code in the initially shifted 20 bits.
  • the data string to be decoded, or at least a portion thereof, is extracted from memory and placed in a buffer 50.
  • the data string is moved from the buffer 50 to shifter register 42 where 20 data bits are shifted to the first section 46 of the PLA 44.
  • the first section 46 contains 256 minterms (these are represented as vertical lines) .
  • the contents of the minterms are predetermined values that are unique and will match to a particular input code sequence in the 20 bits shifted in.
  • the substantive value of the minterms is created from the same Huffman table 18 used in encoding the data. Creating a Huffman decoding array is well known in the art.
  • the first seven bits may find a match in the first minterm (repre- sented as the first column from the left in the PLA 44) .
  • 13 of the initially shifted 20 bits are not used.
  • Those 13 bits, after removal of data bits for the matched seven bit code, will now become the first 13 bits on the next 20 bit word to be shifted into the PLA 44.
  • the special eight bit code is the decompressed versions of the compressed eight bit words (14 and 16 of Figure 1, for example) . These eight bit codes are resident in the second section 48 of the PLA 44.
  • the minterm line When a match is made to a particular minterm, the minterm line is activated propagating a signal to the second section 48 that causes the associated eight bit code to move to the output 49 of the PLA 44.
  • the right most four bits of the eight bit output code is used to remove the actual data from the data string.
  • the eight bit output code is accompanied by a five bit preprogrammed code that indicates the number of data bits, of the 20, that were utilized in matching the minterm.
  • the eight bit code is output for final decompression, while the five bit indi ⁇ cator is used to update the data string pointer in the buffer 50 and shift register 42.
  • the five bit value indicative of the number of bits used to match a minterm are transmitted from the second section 48 to an adder 52.
  • the " five bit number is then sent through buffer 50 to shift register 42.
  • the amount of bits designated in the five bit value is subtracted from the data string.
  • the next 20 bits are then shifted to the PLA 44 and the operation repeats itself until the whole data string has been processed.
  • the five bit value would indicate a seven bit length that would then be propagated to the buffer 50 and shifter 42 to update the data string.
  • the first ten bits of the data string may match to the second minterm (column 2) .
  • the third minterm (column 3) indicates when the first bit in the data string creates a match.
  • 10 bits are removed from the input data string.
  • For the third minterm one bit is removed from the input data string before the next 20 bit shift occurs.
  • the reason there are 256 minterms is because the output code has eight bits. Since the minterms are unique and each one indicates a separate eight bit word, there are 256 of them.
  • the PLA 44 is divided into a larger number of smaller PLAs with the appropriate combina ⁇ tional logic.
  • the transistors which make up the PLA 44 are precharged, which results in faster signal processing and less load at the output. Both of these procedures are well known in the art and can be combined together.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

An apparatus (40) for decoding a compressed data bit string, having a data string positioner (42, 50) for designating a predefined portion in a data bit string to be decompressed and a programmable logic array (44) having a Huffman table programmed therein for simultaneously receiving the portion of the data bit string and for matching at least a particular unique sequence of bits in the portion to a sequence within the table. Also included are an output device (48) responsive to the programmable logic array (44) for producing a decompressed code value for the matched unique sequence of bits, and a mechanism (52) for updating the data bit string positioner (42, 50) to designate a next portion of the bit string.

Description

HUFFMAN DATA STRING DECOMPRESSION APPARATUS AND METHOD
Background of the invention
The present invention relates to compression of digital image data and the recreation of an image from the recorded digital data. More specifically, the present 5 invention relates to parallel implementation of a Huffman decoder for data string decompression during recreation of the image.
Summary of the Prior Art
The practice of data compression and decompression is
10 generally known in the art. Similarly, the use of Huffman encoding/decoding schemes is also well known in the art. In the case of photographic images, once an eight by eight pixel block has been allocated, and a discrete cosine transformation (DCT) preformed thereon, the resultant DCT
15 values are processed. The processing of these DCT values
(or frequencies, as described in the Detailed Description) includes scaling and entering them into a Huffman table where Huffman coding operations are performed. The result of Huffman encoding is reduced length code for the proces-
20 sed data. .
During a normal prior art compression cycle, a Huffman coder is used to translate an eight bit word, indicative of a certain DCT scaled frequency into a variable length code.
The more commonly occurring eight bit word values are
25 assigned smaller variable length codes. A ROM is used to effect the translation. The output of the ROM is a code
(representative of an eight bit word) , plus a number which indicates how many bits are in the particular code. Thus, a data string is formed of codes followed by the data for that particular code. The process for generating this data string is generally known in the art. One clock pulse is required per data word created.
A problem arises, however, in the decoding phase when it is necessary to extract the original eight bit data value from the coded data. Sequential logic which looks at one bit at a time has been utilized. In sequential logic implementations, a state machine or decision "tree" is established and used to decode compress data words. A data string enters the tree, one bit per clock pulse, until the data bits in the tree find a match down the particular branches and leaves of the decision tree. The problem with this solution is twofold. One, it is slow (since the logic works one bit at a time) . This problem is compounded because state machines can be very complex, especially when the coded data can be up to 16 or 20 bits.
A second problem is that every change in the content of the Huffman table for the state machine may cause a significant change in the implementation of the state machine. That is because the decision tree will not be the same and a whole new decision tree will have to be gener¬ ated, which is very complex.
SUMMARY OF THE INVENTION
Accordingly, it is the object of the present invention to provide a decompression apparatus with a parallel implementation of a Huffman decoder which will operate faster than sequential logic.
It is another object of the present invention to provide a decompression apparatus with an implementation of a Huffman decoder that is simpler to implement. It is still another object of the present invention to provide a decompression apparatus wherein any change in a
Huffman table content causes only one mask change which can be accomplished on a computer and does not affect other logic or die size.
The attainment of these and related objects may be achieved through use of the novel Huffman data string decompression apparatus and method herein disclosed. A Huffman data string decompression apparatus and method in accordance with this invention has an apparatus for decoding a compressed data bit string, having a data string positioner for designating a predefined portion a data bit string to be decompressed and a programmable logic array having a Huffman table programmed therein for si ultane- ously receiving the portion of the data bit string and for matching at least a particular unique sequence of bits in the portion to a sequence within the table. Also included are an output device responsive to the programmable logic array for producing a decompressed code value for the matched unique sequence on bits, and a mechanism for updating the data bit string positioner to designated a next portion of the bit string.
The attainment of the foregoing and related objects, advantages and features of the invention should be more readily apparent to those skilled in the art, after review of the following more detailed description of the inven¬ tion, taken together with the drawings, in which:
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a diagram of general data compression techniques.
Figure 2 is a block diagram of the parallel Huffman decoder of the preferred embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to Figure 1, an exemplary diagram of the process for encoding photographic data is shown. An image to be digitally reproduced is broken down into a plurality of eight by eight pixel blocks 11a. Each of these frames
11a undergoes a digital coefficient transformation (DCT) , plus scaling, to produce a similar sized matrix that contains scaled DCT frequencies lib. Both the procedure for conducting such a transformation and the reasons why such a transformation is necessary are well known in the art. The DCT transforms the digital picture data contained in the pixels into a collection of the frequencies lib. For a particular eight by eight collection of scaled frequencies lib, a value is assigned to each frequency. A prior analysis is done of which frequency values appear most frequently and those frequencies are assigned the smallest of the variable length codes. Huffman table is then generated based on this prior analysis.
An example of the encoding process is as follows. For each scaled frequency in frame - lib, a 16 bit value is assigned. Picking an arbitrary scaled frequency 12, in the middle of the central portion of the image 10, the 16 bit assigned value is 0000 0000 1011 1101. An eight bit word 14 is created to encode information for scaled frequency 12. In a frame lib, most of the 16 bit values will be all zeros. Of the ones that are not, a substantial portion of those will have leading zeros. Therefore, when a frequency having a non-zero 16 bit value is encountered, the first four bits 14a of its eight bit word 14 contain the number of preceding all zero 16 bits words. For the eight bit word 14 of frequency 12, the number of preceding immediate¬ ly all zero 16 bit words is seven. The second four bits 14b of the eight bit word 14 indicate the number of bits in the 16 bit word that actually contain data. In this instance, that number is eight.
Another example of this encoding scheme is illustrated with reference to eight bit word 16. We will assume that another scaled frequency value has a 16 bit word value of
0000 0000 0000 0011. If this value is preceded by eleven pixels of zero value, the first four bits 16a contain the binary representation for eleven. Since there are only two bits of actual data, the second four bits 16b of eight bit word 16 contain the binary representation for two.
All eight bit encoded words 14 and 16 and associated data bits are sent to a Huffman table 18. The Huffman table 18 produces an output for each word 14 and 16. The output consists of two parts. The first part is a variable length code indicative of image data. The second part is a number which tells how long the variable length code is. A plurality of codes and associated data are output from the Huffman table 18 until a data bit string of picture information is created. A special code for end of block (EOB) is attached at the end of each block. This data string represents the encoded digital image and can be stored relatively efficiently in memory.
When it is desired to recreate the encoded image, the data string is retrieved from memory and the data decoded.
As discussed previously, prior art attempts to decode the data string have been quite time consuming, processing the encoded data string one bit at a time in a state machine. The present invention addresses this shortcoming in data string processing by processing data string bits in parallel, as opposed to serial.
Referring to Figure 2, a block diagram of the prefer¬ red embodiment is shown. In the preferred embodiment the decoder 40 reads in 20 bits, in parallel, from the data string. The number 20 is selected because the coder utilized in the encoding stage (Figure 1) produces a largest code length of that size. This number, 20, however, is arbitrary and can be changed to accommodate other length codes. The use of a 16 bit word length may be preferable in some instances because it is a common length word size. The 20 bits are shifted from a shift register 42 to a programmable logic array (PLA) 44. The PLA 44 has 21 inputs, 20 for data and 1 for enabling. Input line 43 carries a signal which enables the PLA 44 when it is to be used. The PLA 44 is turned off otherwise to conserve power. The remaining 20 inputs are shifted over, one 20 bit. shift per clock pulse, into a first section 46 of the PLA 44. This first section 46 contains the minterms. As will be described in more detail below, the minterms are connected to an associated output code in a second, or output, section 48 of the PLA 44. The output of the second section 48 is 13 bits wide. Eight of these bits represent output code, the other five indicate the length of the input compressed code in the initially shifted 20 bits.
The data string to be decoded, or at least a portion thereof, is extracted from memory and placed in a buffer 50. The data string is moved from the buffer 50 to shifter register 42 where 20 data bits are shifted to the first section 46 of the PLA 44. The first section 46 contains 256 minterms (these are represented as vertical lines) . The contents of the minterms are predetermined values that are unique and will match to a particular input code sequence in the 20 bits shifted in. The substantive value of the minterms is created from the same Huffman table 18 used in encoding the data. Creating a Huffman decoding array is well known in the art.
Although 20 bits are shifted into the PLA 44, it is rare that all 20 bits are utilized. For example, the first seven bits may find a match in the first minterm (repre- sented as the first column from the left in the PLA 44) . In that instance, 13 of the initially shifted 20 bits are not used. Those 13 bits, after removal of data bits for the matched seven bit code, will now become the first 13 bits on the next 20 bit word to be shifted into the PLA 44. For every minterm there is an eight bit decompressed code associated therewith. The special eight bit code is the decompressed versions of the compressed eight bit words (14 and 16 of Figure 1, for example) . These eight bit codes are resident in the second section 48 of the PLA 44. When a match is made to a particular minterm, the minterm line is activated propagating a signal to the second section 48 that causes the associated eight bit code to move to the output 49 of the PLA 44. The right most four bits of the eight bit output code is used to remove the actual data from the data string. The eight bit output code is accompanied by a five bit preprogrammed code that indicates the number of data bits, of the 20, that were utilized in matching the minterm. The eight bit code is output for final decompression, while the five bit indi¬ cator is used to update the data string pointer in the buffer 50 and shift register 42.
The five bit value indicative of the number of bits used to match a minterm are transmitted from the second section 48 to an adder 52. The" five bit number is then sent through buffer 50 to shift register 42. In order to update the shift register 42, the amount of bits designated in the five bit value is subtracted from the data string. The next 20 bits are then shifted to the PLA 44 and the operation repeats itself until the whole data string has been processed.
In the above case of the seven bits of compressed data matched to the first minterm, the five bit value would indicate a seven bit length that would then be propagated to the buffer 50 and shifter 42 to update the data string. In another example, the first ten bits of the data string may match to the second minterm (column 2) . The third minterm (column 3) indicates when the first bit in the data string creates a match. In the case of the second minterm, 10 bits are removed from the input data string. For the third minterm, one bit is removed from the input data string before the next 20 bit shift occurs. On an addi- tional note, the reason there are 256 minterms is because the output code has eight bits. Since the minterms are unique and each one indicates a separate eight bit word, there are 256 of them.
The significance of the above described apparatus is that with each clock pulse a decompressed code is achieved. Although an extra clock pulse is used to remove the data, the system 40 both enters a compressed data code from the shift register 42 and outputs a decompressed code at output 49 with every clock pulse. This is a significant improve¬ ment over the sequential method of the prior art.
It is noted that since the number of minterms in the PLA 44 is rather large (256) , a significant load may be placed on the output. Two methods may be utilized to overcome this. In a first, the PLA 44 is divided into a larger number of smaller PLAs with the appropriate combina¬ tional logic. In a second, the transistors which make up the PLA 44 are precharged, which results in faster signal processing and less load at the output. Both of these procedures are well known in the art and can be combined together.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodi¬ ments were chosen and described in order to best explain the principles of the invention and its practical appliσa- tion, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use con- templated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.

Claims

What is claimed is:
1. An apparatus for decoding a compressed data bit string, comprising: data bit string position means for designating a predefined portion a data bit string to be decompressed; logic array means having a Huffman table programmed therein for simultaneously receiving said portion of said data bit string and for matching at least a particular unique sequence of bits in said portion to a sequence within said table; output means responsive to said logic array means for producing a decompressed code value for said matched unique sequence on bits; and means for updating said data bit string position means to designate a next portion of said bit string.
2. The apparatus of claim 1 wherein said output means is integral to said logic array means.
3. The apparatus of claim 1 wherein said output means is a preprogrammed logic array.
4. The apparatus of claim 1 wherein said updating means further comprises: means for producing a value indicative of the length of said matched sequence of bits; and means for forwarding said value to said data bit string position means for updating the position of said data bit string.
5. The apparatus of claim 4 wherein said means for producing a valve is within said output means.
6. An apparatus for decoding a compressed data string, comprising: logic array means having a Huffman table programmed therein for parallel receipt of a plurality of data bits from a data string and for matching a particular unique sequence of at least a portion of said received plurality of data bits to a sequence within said table; and output means responsive to said logic array means for outputting an associated decompressed code value for said matched sequence of bits.
7. The apparatus of claim 6 further comprises: means for updating the data string so that a next plurality of data bits in said data string, not including said matched sequence of bits, may be shifted into said logic array means.
8. The apparatus of claim 7 wherein the means for updating further comprises: means within said output means for producing a value indicative of the number of bits in said matched sequence of bits so that said value can be removed from said data string.
9. The apparatus of claim 6 wherein said output means is integral to said logic array means.
10. The apparatus of claim 6 wherein said output means is a preprogrammed logic array.
11. A method of decoding of a compressed data string, comprising the steps of: shifting, in parallel, a portion of a data string to a programmed logic array means; matching in said programmed logic array means at least a particular unique sequence of data bits of said shifted portion of said data string; and outputting a decompressed value for said matched sequence of data bits.
12. The method of claim 11 further comprises the steps of: producing a value indicative of the length of said matched sequence of bits; and updating said data string by removing the length of said matched sequence of bits from said data string.
PCT/US1990/005651 1989-10-06 1990-10-03 Huffman data string decompression apparatus and method WO1991006153A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41814489A 1989-10-06 1989-10-06
US418,144 1989-10-06

Publications (1)

Publication Number Publication Date
WO1991006153A1 true WO1991006153A1 (en) 1991-05-02

Family

ID=23656902

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1990/005651 WO1991006153A1 (en) 1989-10-06 1990-10-03 Huffman data string decompression apparatus and method

Country Status (1)

Country Link
WO (1) WO1991006153A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5304995A (en) * 1990-07-18 1994-04-19 Kabushiki Kaisha Toshiba Variable lengthcoding apparatus and variable length decoding apparatus
CN1306711C (en) * 1996-06-19 2007-03-21 松下电器产业株式会社 Code conversion device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3918047A (en) * 1974-03-28 1975-11-04 Bell Telephone Labor Inc Decoding circuit for variable length codes
US4228467A (en) * 1977-06-30 1980-10-14 Compagnie Industrielle Des Telecommunications Cit-Alcatel Reduced redundancy facsimile transmission installation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3918047A (en) * 1974-03-28 1975-11-04 Bell Telephone Labor Inc Decoding circuit for variable length codes
US4228467A (en) * 1977-06-30 1980-10-14 Compagnie Industrielle Des Telecommunications Cit-Alcatel Reduced redundancy facsimile transmission installation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5304995A (en) * 1990-07-18 1994-04-19 Kabushiki Kaisha Toshiba Variable lengthcoding apparatus and variable length decoding apparatus
CN1306711C (en) * 1996-06-19 2007-03-21 松下电器产业株式会社 Code conversion device

Similar Documents

Publication Publication Date Title
JP2766302B2 (en) Variable length code parallel decoding method and apparatus
US5659631A (en) Data compression for indexed color image data
US4989000A (en) Data string compression using arithmetic encoding with simplified probability subinterval estimation
US5045852A (en) Dynamic model selection during data compression
US5818368A (en) Method and apparatus for lossless digital data compression
EP0030437A1 (en) Method and apparatus for compression and decompression of digital image data
US5673042A (en) Method of and an apparatus for compressing/decompressing data
JP3341962B2 (en) Variable length decoder and method for decoding variable length code value
JPH0366227A (en) Method and system for compression coding and decoding method
JPH0746142A (en) Data compression system
US5907635A (en) Picture data decompression apparatus
JPH0669813A (en) Decoding device of variable-length code
EP0658982B1 (en) System for bi-level symbol coding-decoding with saved storage and method for the same
JP3869033B2 (en) How to compress and decompress data files
US5663725A (en) VLC decoder with sign bit masking
GB2260458A (en) Data decoder
US20060214822A1 (en) Digital data decompression implemented in a field programmable array device
WO1991006153A1 (en) Huffman data string decompression apparatus and method
JPH0738445A (en) Variable-length sign decoder
US5654806A (en) Code manipulation for a high speed JPEG decoder
JP3127016B2 (en) Data compression and decompression method
JP2004517527A (en) Graphic image coding
JPH05252051A (en) Serial data decoder
JP3417684B2 (en) Image processing device
JP2004056417A (en) Decoder and decoding method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB IT LU NL SE