JP3005385B2 - Huffman decoding circuit - Google Patents

Huffman decoding circuit

Info

Publication number
JP3005385B2
JP3005385B2 JP5088160A JP8816093A JP3005385B2 JP 3005385 B2 JP3005385 B2 JP 3005385B2 JP 5088160 A JP5088160 A JP 5088160A JP 8816093 A JP8816093 A JP 8816093A JP 3005385 B2 JP3005385 B2 JP 3005385B2
Authority
JP
Japan
Prior art keywords
huffman
code
block
code length
data
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP5088160A
Other languages
Japanese (ja)
Other versions
JPH06276394A (en
Inventor
洋之 山田
Original Assignee
鐘紡株式会社
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 鐘紡株式会社 filed Critical 鐘紡株式会社
Priority to JP5088160A priority Critical patent/JP3005385B2/en
Publication of JPH06276394A publication Critical patent/JPH06276394A/en
Application granted granted Critical
Publication of JP3005385B2 publication Critical patent/JP3005385B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、ハフマン符号化方式
により符号化されたハフマン符号を復号するためのハフ
マン復号化回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Huffman decoding circuit for decoding a Huffman code coded by a Huffman coding method.

【0002】[0002]

【従来の技術】画像データは非常に多くの情報量を含ん
でいる。そのため、画像データをそのままの形で処理す
るのは、メモリ容量および通信速度の点で実用的ではな
い。そこで、画像データ圧縮技術が重要となる。
2. Description of the Related Art Image data contains a very large amount of information. Therefore, it is not practical to process the image data as it is in terms of memory capacity and communication speed. Therefore, image data compression technology becomes important.

【0003】画像データ圧縮の国際標準の1つとしてJ
PEG(Joint Photographic Ex
pert Group)がある。非可逆符号化を行なう
DCT(離散コサイン変換)方式と、二次元空間でDP
CM(Differential PCM)を行なう可
逆符号化方式が採用されている。以下、DCT方式の画
像データ圧縮を説明する。
[0003] J is one of the international standards for image data compression.
PEG (Joint Photographic Ex)
part group). DCT (Discrete Cosine Transform) for lossy coding and DP in two-dimensional space
A lossless encoding system that performs CM (Differential PCM) is employed. Hereinafter, DCT image data compression will be described.

【0004】図3は、DCT方式を実行するためのシス
テムの基本構成を示すブロック図である。
FIG. 3 is a block diagram showing a basic configuration of a system for executing the DCT method.

【0005】符号化側では、DCT装置100が、入力
される原画像データにDCT変換を行ない、DCT係数
を出力する。量子化器200は、量子化テーブル400
を参照してDCT係数に量子化処理を行ない、量子化さ
れたDCT係数(以下、量子化DCT係数と呼ぶ)を出
力する。エントロピー符号化器300は、符号化テーブ
ル500を参照して量子化DCT係数にエントロピー符
号化処理を行ない、圧縮データを出力する。エントロピ
ー符号化の方式としてハフマン符号化方式が用いられ
る。
On the encoding side, a DCT device 100 performs DCT transform on input original image data, and outputs DCT coefficients. The quantizer 200 includes a quantization table 400
, A quantization process is performed on the DCT coefficient, and a quantized DCT coefficient (hereinafter, referred to as a quantized DCT coefficient) is output. The entropy encoder 300 performs entropy encoding on the quantized DCT coefficients with reference to the encoding table 500, and outputs compressed data. Huffman coding is used as the entropy coding.

【0006】復号化側では、エントロピー復号器600
が、符号化テーブル500を参照して圧縮データにエン
トロピー復号化処理を行ない、量子化DCT係数を出力
する。逆量子化器700は、量子化テーブル400を参
照して量子化DCT係数に逆量子化処理を行ない、DC
T係数を出力する。逆DCT装置800は、DCT係数
に逆DCT変換を行ない、再生画像データを出力する。
On the decoding side, the entropy decoder 600
Performs entropy decoding on the compressed data with reference to the encoding table 500, and outputs quantized DCT coefficients. The inverse quantizer 700 performs an inverse quantization process on the quantized DCT coefficient with reference to the quantization table 400,
Output the T coefficient. The inverse DCT device 800 performs an inverse DCT transform on the DCT coefficient and outputs reproduced image data.

【0007】図4に示すように、各圧縮データ(符号デ
ータ)は可変長のハフマン符号および可変長の付加ビッ
トからなる。ハフマン符号の符号長および付加ビットの
符号長は各圧縮データによって異なる。
As shown in FIG. 4, each compressed data (code data) is composed of a variable length Huffman code and variable length additional bits. The code length of the Huffman code and the code length of the additional bit differ depending on each compressed data.

【0008】図5は、従来のハフマン復号化回路の主要
部の構成を示すブロック図である。ハフマンテーブル1
は、2m ワードの記憶容量を有するメモリ回路からな
る。ここで、mはハフマン符号の最大符号長を表す。メ
モリ回路としては、スタティックランダムアクセスメモ
リ(SRAM)、ダイナミックランダムアクセスメモリ
(DRAM)等が用いられる。
FIG. 5 is a block diagram showing a configuration of a main part of a conventional Huffman decoding circuit. Huffman table 1
Consists of a memory circuit having a storage capacity of 2 m words. Here, m represents the maximum code length of the Huffman code. As the memory circuit, a static random access memory (SRAM), a dynamic random access memory (DRAM), or the like is used.

【0009】ハフマンテーブル1のアドレス入力端子A
Dには、圧縮データの先頭のmビットがアドレス信号と
して与えられる。ハフマンテーブル1内の各アドレスに
は、そのアドレスが表すハフマン符号に対応する復号デ
ータが格納される。
Address input terminal A of Huffman table 1
D is supplied with the first m bits of the compressed data as an address signal. Each address in the Huffman table 1 stores decoded data corresponding to the Huffman code represented by that address.

【0010】たとえば、ハフマン符号の最大符号長mを
16とすると、16ビット長のハフマン符号“1111
111111110101”に対応する復号データは、
アドレス“1111111111110101”に格納
される。15ビット長のハフマン符号“1111111
11000010”に対応する復号データは、2つのア
ドレス“111111111000010X”に格納さ
れる。ここで、Xは0および1を表す。また、2ビット
長のハフマン符号“01”に対応する復号データは、2
14個のアドレス“01XXXXXXXXXXXXXX”
に格納される。
For example, assuming that the maximum code length m of the Huffman code is 16, a 16-bit length Huffman code "1111" is used.
The decoded data corresponding to 111111110101 ″ is
It is stored at the address “1111111111110101”. 15-bit length Huffman code "1111111"
The decoded data corresponding to “11000010” is stored in two addresses “1111111111000010X”, where X represents 0 and 1. The decoded data corresponding to the 2-bit length Huffman code “01” is 2
14 addresses "01XXXXXXXXXXXXXXXXXX"
Is stored in

【0011】このように、ハフマンテーブル1には、最
大符号長に相当する16ビットの圧縮データがアドレス
信号として与えられるので、最大符号長よりも短いハフ
マン符号に対応する復号データは、複数のアドレスに格
納しておく必要がある。
As described above, since 16-bit compressed data corresponding to the maximum code length is given to the Huffman table 1 as an address signal, decoded data corresponding to a Huffman code shorter than the maximum code length includes a plurality of addresses. Must be stored in

【0012】たとえば、圧縮データが2ビットのハフマ
ン符号“01”を含む場合には、ハフマンテーブル1に
は、16ビットの圧縮データ“01…”がアドレス信号
として与えられる。それにより、アドレス“01…”に
格納された復号データが読み出され、データ出力端子D
Oから出力される。このようにして、圧縮データに含ま
れるハフマン符号が復号される。
For example, when the compressed data includes a 2-bit Huffman code "01", the Huffman table 1 is provided with 16-bit compressed data "01 ..." as an address signal. As a result, the decoded data stored at the address “01...” Is read out, and the data output terminal D
Output from O. In this manner, the Huffman code included in the compressed data is decoded.

【0013】[0013]

【発明が解決しようとする課題】上記のように、従来の
ハフマン復号化回路では、ハフマン符号の最大符号長m
に相当するビット数の圧縮データがアドレス信号として
ハフマンテーブル1に与えられるので、ハフマンテーブ
ル1を構成するメモリ回路の記憶容量は2m ワード必要
となる。この場合、最大符号長mよりも短いハフマン符
号に対応する復号データは複数のアドレスに格納され
る。最大符号長が16ビットのとき、メモリ回路の記憶
容量は216=64Kワード必要となる。
As described above, in the conventional Huffman decoding circuit, the maximum code length m of a Huffman code is m.
Is given to the Huffman table 1 as an address signal, and the memory capacity of the memory circuit constituting the Huffman table 1 requires 2 m words. In this case, decoded data corresponding to a Huffman code shorter than the maximum code length m is stored at a plurality of addresses. When the maximum code length is 16 bits, the storage capacity of the memory circuit requires 2 16 = 64K words.

【0014】このように、従来のハフマン復号化回路で
は、ハフマン符号の数よりもはるかに多くの数のアドレ
スに余分な復号データを書き込む必要があり、容量の大
きいメモリ回路が必要となる。その結果、ハフマン復号
化回路の回路規模が大きくなる。
As described above, in the conventional Huffman decoding circuit, it is necessary to write extra decoded data to a much larger number of addresses than the number of Huffman codes, and a large-capacity memory circuit is required. As a result, the circuit size of the Huffman decoding circuit increases.

【0015】この発明の目的は、回路規模の小さいハフ
マン復号化回路を提供することである。
An object of the present invention is to provide a Huffman decoding circuit having a small circuit size.

【0016】[0016]

【課題を解決するための手段】(1)第1の発明 第1の発明に係るハフマン復号化回路は、任意の符号長
を有するハフマン符号を復号するためのハフマン復号化
回路であって、符号長検出手段、記憶手段、および選択
手段を備える。
(1) First invention A Huffman decoding circuit according to a first invention is a Huffman decoding circuit for decoding a Huffman code having an arbitrary code length. A length detecting unit, a storing unit, and a selecting unit are provided.

【0017】符号長検出手段は、復号されるべきハフマ
ン符号を含む符号データを受け、復号されるべきハフマ
ン符号の符号長を検出する。記憶手段は、複数のハフマ
ン符号の符号長のいずれかがそれぞれ割り当てられた複
数のブロックを含む。複数のブロックの各々は、割り当
てられた符号長のハフマン符号に対応する復号データを
記憶し、かつ符号データの所定のビットをアドレス信号
として受ける。
The code length detecting means receives the code data including the Huffman code to be decoded, and detects the code length of the Huffman code to be decoded. The storage means includes a plurality of blocks to which any one of the code lengths of the plurality of Huffman codes is assigned. Each of the plurality of blocks stores decoded data corresponding to the Huffman code having the assigned code length, and receives a predetermined bit of the code data as an address signal.

【0018】選択手段は、符号長検出手段により検出さ
れた符号長に基づいて複数のブロックのいずれかを選択
し、選択されたブロックから読み出された復号データを
出力する。
The selecting means selects one of the plurality of blocks based on the code length detected by the code length detecting means, and outputs decoded data read from the selected block.

【0019】(2) 第2の発明 第2の発明に係るハフマン復号化回路においては、記憶
手段が第1ないし第nのブロックを含む。複数のブロッ
クの各々は2C ワードの記憶容量を有する。前記Cは、 2C-1 <A≦2C の関係を満足する整数を表す。Aは複数のハフマン符号
の総数を表す。前記nは、 n=B−C+1 の関係を満足する。Bは複数のハフマン符号の最大符号
長を表す。
(2) Second invention In the Huffman decoding circuit according to the second invention, the storage means includes first to n-th blocks. Each of the plurality of blocks has a storage capacity of 2 C words. C represents an integer satisfying the relationship of 2 C-1 <A ≦ 2 C. A represents the total number of a plurality of Huffman codes. N satisfies the following relationship: n = B−C + 1. B represents the maximum code length of a plurality of Huffman codes.

【0020】第1のブロックにはCビット以下の符号長
が割り当てられ、第iのブロックには(C+i−1)ビ
ットの符号長が割り当てられる。iは2からnまでの整
数を表す。
The first block is assigned a code length of C bits or less, and the ith block is assigned a code length of (C + i-1) bits. i represents an integer from 2 to n.

【0021】第1のブロックは符号データの第1ビット
から第Cビットをアドレス信号として受ける。第iのブ
ロックは符号データの第iビットから第(C+i−1)
ビットをアドレス信号として受ける。
The first block receives the first to C-th bits of the code data as an address signal. The ith block is from the ith bit of the code data to the (C + i-1) th bit.
Receive the bit as an address signal.

【0022】(3) 第3の発明 第3の発明に係るハフマン復号化回路においては、複数
のブロックが第1ないし第nのブロックを含む。第1の
ブロックは2C ワードの記憶容量を有する。前記Cは、 2C-1 <A≦2C の関係を満足する整数を表す。Aは複数のハフマン符号
の総数を表す。前記nは、 n=B−C+1 の関係を満足する。Bは複数のハフマン符号の最大符号
長を表す。第iのブロックは2K ワードの記憶容量を有
する。前記iは2からnまでの整数を表す。前記Kは、 2K-1 <A/(i−1)≦2K の関係を満足する整数を表す。A/(i−1)は小数点
以下を切捨てた整数を表す。
(3) Third invention In the Huffman decoding circuit according to the third invention, the plurality of blocks include the first to n-th blocks. The first block has a storage capacity of 2 C words. C represents an integer satisfying the relationship of 2 C-1 <A ≦ 2 C. A represents the total number of a plurality of Huffman codes. N satisfies the following relationship: n = B−C + 1. B represents the maximum code length of a plurality of Huffman codes. The ith block has a storage capacity of 2K words. I represents an integer from 2 to n. Wherein K represents an integer satisfying the relationship 2 K-1 <A / ( i-1) ≦ 2 K. A / (i-1) represents an integer obtained by truncating the decimal part.

【0023】第1のブロックにはCビット以下の符号長
が割り当てられる。第2ないし第nのブロックには同一
の符号長を有するハフマン符号の数に基づいてハフマン
符号の符号長がそれぞれ割り当てられる。
The first block is assigned a code length of C bits or less. The code lengths of the Huffman codes are assigned to the second to n-th blocks based on the number of Huffman codes having the same code length.

【0024】第1のブロックは符号データの第1ビット
から第Cビットをアドレス信号として受ける。
The first block receives bits 1 to C of the code data as an address signal.

【0025】このハフマン復号化回路は、符号長検出手
段により検出された符号長に基づいて符号データのK個
のビットを選択して第2ないし第nのブロックにアドレ
ス信号として与えるビット選択手段をさらに含む。
This Huffman decoding circuit includes bit selection means for selecting K bits of code data based on the code length detected by the code length detection means and providing the selected bit to the second to nth blocks as an address signal. In addition.

【0026】[0026]

【作用】(1) 第1の発明 第1の発明に係るハフマン復号化回路においては、符号
長検出手段により復号されるべきハフマン符号の符号長
が検出される。記憶手段の各ブロックでは、符号データ
の所定のビットに基づいてアドレス指定が行なわれ、対
応する復号データが読み出される。そして、検出された
符号長に基づいて、選択手段により記憶手段のブロック
のいずれかが選択され、そのブロックから読み出された
復号データが出力される。
(1) First invention In the Huffman decoding circuit according to the first invention, the code length of the Huffman code to be decoded is detected by the code length detecting means. In each block of the storage means, an address is specified based on a predetermined bit of the code data, and the corresponding decoded data is read. Then, one of the blocks of the storage unit is selected by the selection unit based on the detected code length, and the decoded data read from the block is output.

【0027】記憶手段の各ブロックは、割り当てられた
符号長のハフマン符号に対応する復号データを記憶すれ
ば足りるので、各ブロックの記憶容量は小さくなる。
Each block of the storage means only needs to store the decoded data corresponding to the Huffman code of the assigned code length, so that the storage capacity of each block is reduced.

【0028】(2) 第2の発明 第2の発明に係るハフマン復号化回路においては、記憶
手段がn個のブロックを含み、各ブロックは2C ワード
の記憶容量を有する。
(2) Second invention In the Huffman decoding circuit according to the second invention, the storage means includes n blocks, and each block has a storage capacity of 2 C words.

【0029】第1のブロックにはCビット以下の符号長
が割り当てられる。Cビット以下の符号長を有するハフ
マン符号の数は2C 個以下であるので、Cビット以下の
符号長を有するすべてのハフマン符号に対応する復号デ
ータを第1のブロックに記憶することができる。
The first block is assigned a code length of C bits or less. Since the number of Huffman codes having a code length of not more than C bits is 2 C or less, decoded data corresponding to all Huffman codes having a code length of not more than C bits can be stored in the first block.

【0030】一方、Cビット越える符号長はそれぞれ
1つのブロックに割り当てられる。各ブロックの記憶容
量2C がハフマン符号の総数A以上であるので、たとえ
すべてのハフマン符号が同じ符号長を有していても、す
べてのハフマン符号に対応する復号データを対応するブ
ロックに記憶することができる。
On the other hand, a code length exceeding C bits is assigned to one block. Since the storage capacity 2 C of each block is equal to or greater than the total number A of Huffman codes, even if all Huffman codes have the same code length, decoded data corresponding to all Huffman codes is stored in the corresponding block. be able to.

【0031】また、ハフマン符号の総数Aは2C 以下で
あるので、同じ符号長を有するハフマン符号について
は、下位Cビットの値は必ず異なる。したがって、第1
のブロックに符号データの第1ビットから第Cビットま
でをアドレス信号として与え、第iのブロックに符号デ
ータの第iビットから第(C+i−1)までをアドレス
信号として与えることによって、各ブロック内の対応す
る復号データを特定することができる。
Since the total number A of the Huffman codes is 2 C or less, the values of the lower C bits are always different for Huffman codes having the same code length. Therefore, the first
Is given as an address signal from the first bit to the C-th bit of the code data to the block, and from the ith bit to the (C + i-1) th of the code data as the address signal to the i-th block. Can be specified.

【0032】(3) 第3の発明 第3の発明に係るハフマン復号化回路においては、記憶
手段がn個のブロックを含み、第1のブロックは2C
ードの記憶容量を有する。
(3) Third invention In the Huffman decoding circuit according to the third invention, the storage means includes n blocks, and the first block has a storage capacity of 2 C words.

【0033】第1のブロックにはCビット以下の符号長
が割り当てられる。Cビット以下の符号長を有するハフ
マン符号の数は2C 個以下であるので、Cビット以下の
符号長を有するすべてのハフマン符号に対応する復号デ
ータを第1のブロックに記憶することができる。
The first block is assigned a code length of C bits or less. Since the number of Huffman codes having a code length of not more than C bits is 2 C or less, decoded data corresponding to all Huffman codes having a code length of not more than C bits can be stored in the first block.

【0034】Cビットを越えるハフマン符号は、同一の
符号長ごとにグループ分けされる。第iのブロックは2
K ワードの記憶容量を有する。
Huffman codes exceeding C bits are grouped by the same code length. The ith block is 2
It has a storage capacity of K words.

【0035】第2のブロックは、2K-1 <A≦2K の関
係を満足する2K ワードの記憶容量を有する。第2のブ
ロックには、最も多くの数のハフマン符号を含むグルー
プの符号長が割り当てられる。それにより、たとえすべ
てのハフマン符号の符号長が1つの符号長に集中して
も、すべてのハフマン符号に対応する復号データを第2
のブロックに記憶することができる。
The second block has a storage capacity of 2 K words which satisfies the relationship of 2 K -1 <A ≦ 2 K. The code length of the group including the largest number of Huffman codes is assigned to the second block. Thereby, even if the code lengths of all Huffman codes are concentrated on one code length, the decoded data corresponding to all Huffman codes is
Block.

【0036】第3のブロックは、2K-1 <A/2≦2K
の関係を満足する2K ワードの記憶容量を有する。第3
のブロックには、2番目に多くの数のハフマン符号を含
むグループの符号長が割り当てられる。それにより、す
べてのハフマン符号の符号長が2つの符号長に分散した
場合に、すべてのハフマン符号に対応する復号データを
第2および第3のブロックに記憶することができる。
The third block is 2 K-1 <A / 2 ≦ 2 K
Has a storage capacity of 2K words that satisfies the relationship Third
Are assigned the code length of the group including the second largest number of Huffman codes. Thereby, when the code lengths of all the Huffman codes are dispersed into two code lengths, the decoded data corresponding to all the Huffman codes can be stored in the second and third blocks.

【0037】第4のブロックは、2K-1 <A/3≦2K
の関係を満足する2K ワードの記憶容量を有する。第4
のブロックには、3番目に多くの数のハフマン符号を含
むグループの符号長が割り当てられる。それにより、す
べてのハフマン符号の符号長が3つの符号長に分散した
場合に、すべてのハフマン符号に対応する復号データを
第2ないし第4のブロックに記憶することができる。
The fourth block is 2 K-1 <A / 3 ≦ 2 K
Has a storage capacity of 2K words that satisfies the relationship 4th
Are assigned a code length of a group including the third largest number of Huffman codes. Thereby, when the code lengths of all the Huffman codes are dispersed into three code lengths, the decoded data corresponding to all the Huffman codes can be stored in the second to fourth blocks.

【0038】同様にして、第iのブロックは、2K-1
A/(i−1)≦2K の関係を満足する2K ワードの記
憶容量を有する。第iのブロックには、(i−1)番目
に多くの数のハフマン符号を含むグループの符号長が割
り当てられる。それにより、すべてのハフマン符号の符
号長が(i−1)個の符号長に分散した場合に、すべて
のハフマン符号に対応する復号データを第2ないし第i
のブロックに記憶することができる。
Similarly, the ith block is 2 K-1 <
Having a storage capacity of 2 K words satisfying the relation of A / (i-1) ≦ 2 K. The code length of the group including the (i-1) -th largest number of Huffman codes is assigned to the i-th block. Thereby, when the code lengths of all the Huffman codes are dispersed into (i-1) code lengths, the decoded data corresponding to all the Huffman codes are converted to the second to i-th codes.
Block.

【0039】したがって、検出された符号長に基づいて
符号データのK個のビットを選択して第iのブロックに
アドレス信号として与えることによって、第iのブロッ
ク内の対応する復号データを特定することができる。
Therefore, by selecting the K bits of the code data based on the detected code length and applying the selected bit to the i-th block as an address signal, the corresponding decoded data in the i-th block is specified. Can be.

【0040】[0040]

【実施例】以下、この発明の実施例を図面を参照しなが
ら詳細に説明する。図1は、この発明の第1の実施例に
よるハフマン復号化回路の構成を示すブロック図であ
る。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a Huffman decoding circuit according to a first embodiment of the present invention.

【0041】このハフマン復号化回路は、符号長検出回
路1、メモリ回路2およびデータセレクタ3を含む。
This Huffman decoding circuit includes a code length detection circuit 1, a memory circuit 2, and a data selector 3.

【0042】符号長検出回路1は、それぞれ8〜16ビ
ットの9個の比較器11,12,…,19およびプライ
オリティエンコーダ10を含む。8ビットの比較器11
の一方の入力端子には圧縮データの第1ないし第8ビッ
トD0〜D7が与えられ、他方の入力端子には8ビット
長のハフマン符号の最大符号値M8が与えられる。9ビ
ットの比較器12の一方の入力端子には圧縮データの第
1ないし第9ビットD0〜D8が与えられ、他方の入力
端子には9ビット長のハフマン符号の最大符号値M9が
与えられる。以下同様にして、16ビットの比較器19
の一方の入力端子には圧縮データの第1ないし第16ビ
ットD0〜D15が与えられ、他方の入力端子には16
ビット長のハフマン符号の最大符号値M16が与えられ
る。
The code length detection circuit 1 includes nine comparators 11, 12,..., 19 each having 8 to 16 bits and a priority encoder 10. 8-bit comparator 11
One input terminal is provided with first to eighth bits D0 to D7 of the compressed data, and the other input terminal is provided with a maximum code value M8 of an 8-bit length Huffman code. One input terminal of the 9-bit comparator 12 is supplied with first to ninth bits D0 to D8 of the compressed data, and the other input terminal is supplied with a maximum code value M9 of a 9-bit length Huffman code. Similarly, the 16-bit comparator 19
The first to sixteenth bits D0 to D15 of the compressed data are provided to one input terminal of the
The maximum code value M16 of the bit length Huffman code is given.

【0043】各比較器は、一方の入力端子に与えられる
圧縮データと他方の入力端子に与えられる最大符号値と
を比較し、圧縮データの値が最大符号値よりも大きい場
合に“H”を出力し、それ以外の場合に“L”を出力す
る。プライオリティエンコーダ10は、比較器11〜1
9の出力信号に応答してブロック選択信号BSを発生す
る。
Each comparator compares the compressed data supplied to one input terminal with the maximum code value supplied to the other input terminal, and when the value of the compressed data is larger than the maximum code value, outputs "H". And outputs "L" otherwise. The priority encoder 10 includes comparators 11 to 1
9 generates a block selection signal BS in response to the output signal.

【0044】比較器11〜19の出力信号が“L”であ
れば、ブロック選択信号BSは“1”を示す。比較器1
1の出力信号が“H”であり、他の比較器12〜19の
出力信号が“L”であれば、ブロック選択信号BSは
“2”を示す。比較器11,12の出力信号が“H”で
あり、他の比較器13〜19の出力信号が“L”であれ
ば、ブロック選択信号BSは“3”を示す。同様にし
て、比較器11〜18の出力信号が“H”であり、比較
器19の出力信号が“L”であれば、ブロック選択信号
BSは“9”を示す。
If the output signals of the comparators 11 to 19 are "L", the block selection signal BS indicates "1". Comparator 1
If the output signal of "1" is "H" and the output signals of the other comparators 12 to 19 are "L", the block selection signal BS indicates "2". If the output signals of the comparators 11 and 12 are “H” and the output signals of the other comparators 13 to 19 are “L”, the block selection signal BS indicates “3”. Similarly, if the output signals of the comparators 11 to 18 are “H” and the output signal of the comparator 19 is “L”, the block selection signal BS indicates “9”.

【0045】メモリ回路2は9個のブロックBL1,B
L2,…,BL9を含む。各ブロックBL1〜BL9は
256ワードRAM(ランダムアクセスメモリ)からな
る。
The memory circuit 2 has nine blocks BL1, B
L2,..., BL9. Each of the blocks BL1 to BL9 is composed of a 256 word RAM (random access memory).

【0046】ブロックBL1には圧縮データの第1ない
し第8ビットD0〜D7がアドレス信号として与えられ
る。ブロックBL2には圧縮データの第2ないし第9ビ
ットD1〜D8がアドレス信号として与えられる。以下
同様にして、ブロックBL9には圧縮データの第9ない
し第16ビットD8〜D15がアドレス信号として与え
られる。
The block BL1 receives the first to eighth bits D0 to D7 of the compressed data as an address signal. The block BL2 is supplied with second to ninth bits D1 to D8 of the compressed data as an address signal. Similarly, the ninth to sixteenth bits D8 to D15 of the compressed data are supplied to the block BL9 as an address signal.

【0047】ブロックBL1には1〜8ビットの符号長
を有するハフマン符号に対応する復号データが記憶され
る。ブロックBL2には9ビットの符号長を有するハフ
マン符号に対応する復号データが記憶される。以下同様
にして、ブロックBL9には16ビットの符号長を有す
るハフマン符号に対応する復号データが記憶される。各
復号データは、対応するハフマン符号により示されるア
ドレスに格納される。
The block BL1 stores decoded data corresponding to a Huffman code having a code length of 1 to 8 bits. The block BL2 stores decoded data corresponding to a Huffman code having a code length of 9 bits. Similarly, in the block BL9, decoded data corresponding to a Huffman code having a code length of 16 bits is stored. Each decoded data is stored at an address indicated by a corresponding Huffman code.

【0048】データセレクタ3は、プライオリティエン
コーダ10から発生されるブロック選択信号BSに応答
して、ブロックBL1〜BL9から読み出された復号デ
ータのうち1つを選択して出力する。
The data selector 3 selects and outputs one of the decoded data read from the blocks BL1 to BL9 in response to the block selection signal BS generated from the priority encoder 10.

【0049】ブロック選択信号BSが“1”のときに
は、データセレクタ3はブロックBL1から読み出され
た復号データを選択して出力する。ブロック選択信号B
Sが“2”のときには、データセレクタ3はブロックB
L2から読み出された復号データを選択して出力する。
以下同様にして、ブロック選択信号BSが“9”のとき
には、データセレクタ3はブロックBL9から読み出さ
れた復号データを選択して出力する。
When the block selection signal BS is "1", the data selector 3 selects and outputs the decoded data read from the block BL1. Block selection signal B
When S is "2", the data selector 3
The decoded data read from L2 is selected and output.
Similarly, when the block selection signal BS is “9”, the data selector 3 selects and outputs the decoded data read from the block BL9.

【0050】JPEGのベースライン方式におけるAC
ハフマン符号の総数は162であり、JPEGの拡張方
式におけるACハフマン符号の総数は226である。こ
こで、拡張方式を考えると、ACハフマン符号の総数A
は226であり、ハフマン符号の最大符号長Bは16で
ある。27 <A≦28 であるので、C=8である。した
がって、この実施例では、メモリ回路2のブロックの数
nは、n=B−C+1=16−8+1=9となる。ま
た、各ブロックの記憶容量は2C =28 =256ワード
となる。
AC in the JPEG baseline method
The total number of Huffman codes is 162, and the total number of AC Huffman codes in the JPEG extension method is 226. Here, considering the extension method, the total number of AC Huffman codes A
Is 226, and the maximum code length B of the Huffman code is 16. Since 2 7 <A ≦ 2 8 , C = 8. Therefore, in this embodiment, the number n of blocks in the memory circuit 2 is n = B−C + 1 = 16−8 + 1 = 9. The storage capacity of each block is 2 C = 2 8 = 256 words.

【0051】各ブロックの記憶容量がハフマン符号の総
数よりも大きいので、ハフマン符号の符号長がどのよう
に分布しても、すべてのハフマン符号に対応する復号デ
ータをメモリ回路2内の対応するブロックに記憶するこ
とができる。
Since the storage capacity of each block is larger than the total number of Huffman codes, no matter how the code length of the Huffman code is distributed, decoded data corresponding to all Huffman codes is stored in the corresponding block in the memory circuit 2. Can be stored.

【0052】また、各符号長のハフマン符号の数の最大
値は28 (=256)以下になるので、同一符号長を有
するハフマン符号の下位8ビットの値が同一になること
はない。したがって、圧縮データに含まれるハフマン符
号の符号長およびそのハフマン符号の下位8ビットの値
より、対応する復号データを特定することができる。
Since the maximum value of the number of Huffman codes of each code length is 2 8 (= 256) or less, the lower 8 bits of Huffman codes having the same code length do not have the same value. Therefore, the corresponding decoded data can be specified from the code length of the Huffman code included in the compressed data and the value of the lower 8 bits of the Huffman code.

【0053】次に、図1のハフマン復号化回路の動作の
一例を説明する。ここでは、圧縮データが9ビット長の
ハフマン符号“111110110”を含むものとす
る。すなわち、圧縮データの第1ないし第9ビットは
“111110110”である。また、8ビット長のハ
フマン符号の最大符号値を“11111010”とし、
9ビット長のハフマン符号の最大符号値を“11111
1010”とする。また、10ビット長のハフマン符号
の最大符号値を“1111111010”とする。
Next, an example of the operation of the Huffman decoding circuit of FIG. 1 will be described. Here, it is assumed that the compressed data includes a 9-bit length Huffman code “111110110”. That is, the first to ninth bits of the compressed data are “111110110”. Also, the maximum code value of the 8-bit length Huffman code is “11111010”,
The maximum code value of the 9-bit length Huffman code is “11111”.
1010. The maximum code value of the 10-bit length Huffman code is "11111111010".

【0054】この場合、圧縮データの第1ないし第8ビ
ットD0〜D7が8ビットのハフマン符号の最大符号値
M8よりも大きいので、8ビットの比較器11の出力信
号は”H”となる。一方、圧縮データないし第9
ビットD0〜D8の値は9ビットのハフマン符号の最大
符号値M9よりも小さくなる。したがって、9ビット比
較器12の出力信号は”L”となる。同様に、圧縮デー
第1ないし第10ビットD0〜D9の値は10ビッ
トのハフマン符号の最大符号値M10よりも小さくな
る。したがって、10ビットの比較器13の出力信号
も”L”となる。
In this case, since the first to eighth bits D0 to D7 of the compressed data are larger than the maximum code value M8 of the 8-bit Huffman code, the output signal of the 8-bit comparator 11 becomes "H". Meanwhile, the first to ninth compressed data
The values of bits D0 to D8 are smaller than the maximum code value M9 of the 9-bit Huffman code. Therefore, the output signal of the 9-bit comparator 12 becomes "L". Similarly, the values of the first to tenth bits D0 to D9 of the compressed data are smaller than the maximum code value M10 of the 10-bit Huffman code. Therefore, the output signal of the 10-bit comparator 13 also becomes “L”.

【0055】その結果、圧縮データに含まれるハフマン
符号の符号長が9ビットであることが検出される。この
場合、プライオリティエンコーダ10は、ブロック選択
信号BSを“2”に設定する。
As a result, it is detected that the code length of the Huffman code included in the compressed data is 9 bits. In this case, the priority encoder 10 sets the block selection signal BS to “2”.

【0056】データセレクタ3は、そのブロック選択信
号BSに応答して、ブロックBL2の出力データを選択
する。ブロックBL2には、圧縮データの第2ないし第
9ビットD1〜D8、すなわち、9ビット長のハフマン
符号の下位8ビットがアドレス信号として与えられる。
それにより、ブロックBL2からは、9ビット長のハフ
マン符号“111110110”に対応する復号データ
が読み出され、データセレクタ3を介して出力される。
Data selector 3 selects output data of block BL2 in response to the block selection signal BS. The block BL2 is supplied with the second to ninth bits D1 to D8 of the compressed data, that is, the lower 8 bits of the 9-bit length Huffman code as an address signal.
As a result, decoded data corresponding to the 9-bit length Huffman code “111110110” is read from the block BL2 and output via the data selector 3.

【0057】上記実施例のハフマン復号化回路では、メ
モリ回路2の記憶容量は2304ワードとなり、従来の
ハフマン復号化回路における64Kワードの約28分の
1となる。
In the Huffman decoding circuit of the above embodiment, the storage capacity of the memory circuit 2 is 2304 words, which is about 1/28 of 64K words in the conventional Huffman decoding circuit.

【0058】図2は、第2の実施例によるハフマン復号
化回路の構成を示すブロック図である。
FIG. 2 is a block diagram showing the configuration of the Huffman decoding circuit according to the second embodiment.

【0059】このハフマン復号化回路は、符号長検出回
路1、メモリ回路2、レジスタ4、セレクタ5およびデ
ータセレクタ6を含む。符号長検出回路1の構成および
動作は、図1に示される符号長検出回路1の構成および
動作と同様である。
This Huffman decoding circuit includes a code length detection circuit 1, a memory circuit 2, a register 4, a selector 5, and a data selector 6. The configuration and operation of the code length detection circuit 1 are the same as the configuration and operation of the code length detection circuit 1 shown in FIG.

【0060】レジスタ4は、プライオリティエンコーダ
10から発生されるブロック選択信号BSをアドレス信
号として受け、データ選択信号DSを出力する。データ
選択信号DSは、メモリ回路2の出力データのうちハフ
マン符号の符号長に対応するデータを選択するための信
号である。
The register 4 receives the block selection signal BS generated from the priority encoder 10 as an address signal, and outputs a data selection signal DS. The data selection signal DS is a signal for selecting data corresponding to the code length of the Huffman code from the output data of the memory circuit 2.

【0061】セレクタ5は8個の入力端子S1〜S8を
有する。入力端子S1には圧縮データの第2ないし第9
ビットD1〜D8が与えられる。入力端子S2には圧縮
データの第3ないし第10ビットD2〜D9が与えられ
る。以下同様にして、入力端子S8には圧縮データの第
9ないし第16ビットD8〜D15(8ビットデータ)
が与えられる。
The selector 5 has eight input terminals S1 to S8. The second to ninth compressed data are input to the input terminal S1.
Bits D1 to D8 are provided. The input terminal S2 is supplied with the third to tenth bits D2 to D9 of the compressed data. Similarly, the ninth to sixteenth bits D8 to D15 (8-bit data) of the compressed data are input to the input terminal S8.
Is given.

【0062】セレクタ5は、プライオリティエンコーダ
10により発生されるブロック選択信号BSに応答し
て、8個の入力端子S1〜S8に与えられるデータのい
ずれか1つを選択して出力する
The selector 5 selects and outputs one of the data supplied to the eight input terminals S1 to S8 in response to the block selection signal BS generated by the priority encoder 10.

【0063】ブロック選択信号BSが“1”のときに
は、セレクタ5はどのデータも出力しない。ブロック選
択信号BSが“2”のときには、セレクタ5は入力端子
S1のデータを選択して出力する。ブロック選択信号B
Sが“3”のときには、セレクタ5は入力端子S2のデ
ータを選択して出力する。以下同様にして、ブロック選
択信号BSが“9”のときには、セレクタ5は入力端子
S8のデータを選択して出力する。
When the block selection signal BS is "1", the selector 5 does not output any data. When the block selection signal BS is "2", the selector 5 selects and outputs the data of the input terminal S1. Block selection signal B
When S is "3", the selector 5 selects and outputs the data of the input terminal S2. Similarly, when the block selection signal BS is "9", the selector 5 selects and outputs the data of the input terminal S8.

【0064】メモリ回路2は9個のブロックBK1,B
K2,…,BK9を含む。ブロックBK1,BK2は2
56ワードのRAMからなる。ブロックBK3,BK4
は128ワードのRAMからなる。ブロックBK5,B
K6,BK7は64ワードのRAMからなる。ブロッB
K8,BK9は32ワードのRAMからなる。
The memory circuit 2 has nine blocks BK1, B
K2,..., BK9. Blocks BK1 and BK2 are 2
It consists of a 56 word RAM. Block BK3, BK4
Consists of a 128 word RAM. Block BK5, B
K6 and BK7 are composed of 64 words of RAM. Block B
K8 and BK9 are composed of 32 words of RAM.

【0065】ブロックBK1には1〜8ビットの符号長
が割り当てられる。9〜16ビットの符号長を有するハ
フマン符号は、同一符号長ごとに8個のグループに分類
される。ブロックBK2には、最も多くの数のハフマン
符号を含むグループの符号長が割り当てられる。ブロッ
クBK3には、2番目に多くの数のハフマン符号を含む
グループの符号長が割り当てられる。以下、ブロックB
K4〜BK9には、多くの数のハフマン符号を含む順
に、順次符号長が割り当てられる。
The block BK1 is assigned a code length of 1 to 8 bits. Huffman codes having a code length of 9 to 16 bits are classified into eight groups for each code length. The code length of the group including the largest number of Huffman codes is assigned to the block BK2. The code length of the group including the second largest number of Huffman codes is assigned to the block BK3. Hereinafter, block B
Code lengths are sequentially assigned to K4 to BK9 in an order including a large number of Huffman codes.

【0066】各ブロックには割り当てられた符号長のハ
フマン符号に対応する復号データが記憶される。各復号
データは、対応するハフマン符号により示されるアドレ
スに格納される。
Each block stores decoded data corresponding to the Huffman code of the assigned code length. Each decoded data is stored at an address indicated by a corresponding Huffman code.

【0067】ブロックBK1には、圧縮データの第1な
いし第8ビットD0〜D7がアドレス信号として与えら
れる。ブロックBK2〜BK9にはセレクタ5の出力デ
ータ(8ビットデータ)のうち最下位ビットから該当す
るブロックのアドレスのビット数分のデータがアドレス
信号として与えられる。
The block BK1 is supplied with the first to eighth bits D0 to D7 of the compressed data as an address signal. To the blocks BK2 to BK9, data of the bit number of the address of the corresponding block from the least significant bit of the output data (8-bit data) of the selector 5 is given as an address signal.

【0068】データセレクタ6は、レジスタ4から出力
されるデータ選択信号DSに応答して、ブロックBK1
〜BK9から読み出された復号データの1つを選択して
出力する。
Data selector 6 responds to data selection signal DS output from register 4 to block BK1.
BK9, and selects and outputs one of the decoded data.

【0069】ここで、JPEGの拡張方式を考えると、
ACハフマン符号の総数Aは226であり、ハフマン符
号の最大符号長Bは16である。27 <A≦28 である
ので、C=8である。したがって、この実施例では、メ
モリ回路2のブロックの数nは、n=B−C+1=16
−8+1=9となる。また、ブロックBK1の記憶容量
は2C =28 =256ワードとなる。
Here, considering the JPEG extension method,
The total number A of AC Huffman codes is 226, and the maximum code length B of Huffman codes is 16. Since 2 7 <A ≦ 2 8 , C = 8. Therefore, in this embodiment, the number n of blocks of the memory circuit 2 is n = B−C + 1 = 16
−8 + 1 = 9. The storage capacity of the block BK1 is 2 C = 2 8 = 256 words.

【0070】ブロックBK2については、27 <A≦2
8 であるので、記憶容量は28 =256ワードとなる。
ブロックBK3については、26 <A/2≦27 である
ので、記憶容量は27 =128ワードとなる。ブロック
BK4については、26 <A/3≦27 であるので、記
憶容量は27 =128ワードとなる。ブロックBK5に
ついては、25 <A/4≦26 であるので、記憶容量は
6 =64ワードとなる。
For the block BK2, 2 7 <A ≦ 2
Since it is 8 , the storage capacity is 2 8 = 256 words.
For the block BK3, since 2 6 <A / 2 ≦ 2 7 , the storage capacity is 2 7 = 128 words. For the block BK4, since 2 6 <A / 3 ≦ 2 7 , the storage capacity is 2 7 = 128 words. As for the block BK5, since 2 5 <A / 4 ≦ 2 6 , the storage capacity is 2 6 = 64 words.

【0071】ブロックBK6については、25 <A/5
≦26 であるので、記憶容量は26=64ワードとな
る。ブロックBK7については、25 <A/6≦26
あるので、記憶容量は26 =64ワードとなる。ブロッ
クBK8については、24 <A/7≦25 であるので、
記憶容量は25 =32ワードとなる。ブロックBK9に
ついては、24 <A/8≦25 であるので、記憶容量は
5 =32ワードとなる。
For the block BK6, 2 5 <A / 5
Since ≦ 2 6 , the storage capacity is 2 6 = 64 words. As for the block BK7, since 25 <A / 6 ≦ 2 6 , the storage capacity is 2 6 = 64 words. For the block BK8, since 2 4 <A / 7 ≦ 25 ,
The storage capacity is 2 5 = 32 words. As for the block BK9, since 2 4 <A / 8 ≦ 2 5 , the storage capacity is 2 5 = 32 words.

【0072】この実施例においても、ハフマン符号の符
号長がどのように分布しても、すべてのハフマン符号に
対応する復号データをメモリ回路2内の対応するブロッ
クに記憶することができる。
Also in this embodiment, no matter how the code length of the Huffman code is distributed, decoded data corresponding to all Huffman codes can be stored in corresponding blocks in the memory circuit 2.

【0073】また、圧縮データに含まれるハフマン符号
の符号長およびそのハフマン符号の下位8ビットの値よ
り、対応する復号データを特定することができる。
Further, the corresponding decoded data can be specified from the code length of the Huffman code included in the compressed data and the value of the lower 8 bits of the Huffman code.

【0074】次に、図2のハフマン復号化回路の動作の
一例を説明する。例えば、16ビットの符号長を有する
ハフマン符号の数が最も多く、9ビットの符号長を有す
るハフマン符号の数が2番目に多く、10ビットの符号
長を有するハフマン符号の数が3番目に多いものとす
る。
Next, an example of the operation of the Huffman decoding circuit of FIG. 2 will be described. For example, the number of Huffman codes having a code length of 16 bits is the largest, the number of Huffman codes having a code length of 9 bits is the second largest, and the number of Huffman codes having a code length of 10 bits is the third largest. Shall be.

【0075】この場合、ブロックBK2には16ビット
の符号長が割り当てられ、ブロックBK3には9ビット
の符号長が割り当てられ、ブロックBK4には10ビッ
トの符号長が割り当てられる。
In this case, the block BK2 is assigned a code length of 16 bits, the block BK3 is assigned a code length of 9 bits, and the block BK4 is assigned a code length of 10 bits.

【0076】与えられた圧縮データが8ビット長以下の
ハフマン符号を含むときには、ブロック選択信号BSは
“1”を示す。この場合、セレクタ5は出力データを供
給しない。また、データセレクタ6は、ブロックBK1
から読み出された復号データを選択して出力する。
When the given compressed data includes a Huffman code of 8 bits or less, the block selection signal BS indicates "1". In this case, the selector 5 does not supply output data. In addition, the data selector 6 selects the block BK1
And selects and outputs the decrypted data read from.

【0077】与えられた圧縮データが9ビット長のハフ
マン符号を含む場合には、ブロック選択信号BSは
“2”を示す。それにより、セレクタ5は、入力端子S
1に与えられるデータを選択して出力する。このとき、
データセレクタ6は、ブロックBK3から読み出された
復号データを選択してして出力する。
When the given compressed data includes a 9-bit Huffman code, the block selection signal BS indicates "2". As a result, the selector 5 sets the input terminal S
1 is selected and output. At this time,
The data selector 6 selects and outputs the decoded data read from the block BK3.

【0078】与えられた圧縮データが16ビット長のハ
フマン符号を含む場合には、ブロック選択信号BSは
“9”を示す。それにより、セレクタ5は、入力端子S
8に与えられるデータを選択して出力する。このとき、
データセレクタ6は、ブロックBK2から読み出された
復号データを選択してして出力する。
When the given compressed data includes a 16-bit Huffman code, the block selection signal BS indicates “9”. As a result, the selector 5 sets the input terminal S
8 is selected and output. At this time,
The data selector 6 selects and outputs the decoded data read from the block BK2.

【0079】上記実施例のハフマン復号化回路では、メ
モリ回路2の記憶容量は1024ワードとなり、従来の
ハフマン復号化回路における64Kビットの64分の1
となる。
In the Huffman decoding circuit of the above embodiment, the storage capacity of the memory circuit 2 is 1024 words, which is 1/64 of 64K bits in the conventional Huffman decoding circuit.
Becomes

【0080】第1の実施例と第2の実施例とを比較する
と、メモリ回路2の記憶容量については第2の実施例の
方が小さく、処理速度については第1の実施例の方が速
い。
When the first embodiment is compared with the second embodiment, the storage capacity of the memory circuit 2 is smaller in the second embodiment, and the processing speed is faster in the first embodiment. .

【0081】[0081]

【発明の効果】以上のように、この発明によれば、記憶
手段の各ブロックにはハフマン符号の符号長のいずれか
が割り当てられ、割り当てられた符号長のハフマン符号
に対応する復号データのみが記憶されるので、記憶手段
の記憶容量および回路規模が小さくなる。したがって、
回路規模が小さいハフマン復号化回路が得られる。
As described above, according to the present invention, each block of the storage means is assigned one of the code lengths of the Huffman code, and only the decoded data corresponding to the Huffman code of the assigned code length is stored. Since the data is stored, the storage capacity and the circuit scale of the storage unit are reduced. Therefore,
A Huffman decoding circuit having a small circuit scale is obtained.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の第1の実施例のハフマン復号化回路
の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a Huffman decoding circuit according to a first embodiment of the present invention.

【図2】この発明の第2の実施例のハフマン復号化回路
の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a Huffman decoding circuit according to a second embodiment of the present invention.

【図3】DCT方式の画像データ圧縮システムの基本構
成を示すブロック図である。
FIG. 3 is a block diagram showing a basic configuration of a DCT-based image data compression system.

【図4】圧縮データの構成を示す図である。FIG. 4 is a diagram showing a configuration of compressed data.

【図5】従来のハフマン復号化回路の主要部の構成を示
すブロック図である。
FIG. 5 is a block diagram showing a configuration of a main part of a conventional Huffman decoding circuit.

【符号の説明】[Explanation of symbols]

1 符号長検出回路 2 メモリ回路 3,6 データセレクタ 4 レジスタ 5 セレクタ 10 プライオリティエンコーダ 11〜19 比較器 BL1〜BL9,BK1〜BK9 ブロック なお、各図中同一符号は同一または相当部分を示す。 DESCRIPTION OF SYMBOLS 1 Code length detection circuit 2 Memory circuit 3, 6 Data selector 4 Register 5 Selector 10 Priority encoder 11-19 Comparator BL1-BL9, BK1-BK9 block In each figure, the same code shows the same or equivalent part.

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 任意の符号長を有するハフマン符号を復
号するためのハフマン復号化回路であって、 復号されるべきハフマン符号を含む符号データを受け、
前記復号されるべきハフマン符号の符号長を検出する符
号長検出手段と、 前記複数のハフマン符号の符号長のいずれかがそれぞれ
割り当てられた複数のブロックを含む記憶手段とを備
え、 前記複数のブロックの各々は、割り当てられた符号長の
ハフマン符号に対応する復号データを記憶し、かつ前記
符号データの所定のビットをアドレス信号として受け、 前記符号長検出手段により検出された符号長に基づい
て、前記複数のブロックのいずれかを選択し、選択され
たブロックから読み出された復号データを出力する選択
手段をさらに備えた、ハフマン復号化回路。
1. A Huffman decoding circuit for decoding a Huffman code having an arbitrary code length, comprising: receiving code data including a Huffman code to be decoded;
A code length detection unit that detects a code length of the Huffman code to be decoded, and a storage unit that includes a plurality of blocks to which any one of the plurality of Huffman codes is assigned, and the plurality of blocks. Each stores decoded data corresponding to the Huffman code of the assigned code length, and receives a predetermined bit of the code data as an address signal, based on the code length detected by the code length detection means, A Huffman decoding circuit, further comprising a selection unit that selects one of the plurality of blocks and outputs decoded data read from the selected block.
【請求項2】 前記記憶手段は第1ないし第nのブロッ
クを含み、前記複数のブロックの各々は2C ワードの記
憶容量を有し、前記Cは、 2C-1 <A≦2C の関係を満足する整数を表し、前記Aは前記複数のハフ
マン符号の総数を表し、前記nは、 n=B−C+1 の関係を満足し、前記Bは前記複数のハフマン符号の最
大符号長を表し、 第1のブロックにはCビット以下の符号長が割り当てら
れ、第iのブロックには(C+i−1)ビットの符号長
が割り当てられ、前記iは2からnまでの整数を表し、 前記第1のブロックは前記符号データの第1ビットから
第Cビットをアドレス信号として受け、前記第iのブロ
ックは前記符号データの第iのビットから第(C+i−
1)ビットをアドレス信号として受ける、請求項1に記
載のハフマン復号化回路。
2. The storage means includes first to n-th blocks, each of the plurality of blocks has a storage capacity of 2 C words, and C is 2 C-1 <A ≦ 2 C A represents an integer satisfying the relationship, A represents the total number of the plurality of Huffman codes, n represents a relationship of n = B−C + 1, and B represents a maximum code length of the plurality of Huffman codes. The first block is assigned a code length of C bits or less, the i-th block is assigned a code length of (C + i-1) bits, and i represents an integer from 2 to n. One block receives the first to C-th bits of the code data as an address signal, and the i-th block receives the (C + i −)-th bit from the i-th bit of the code data.
The Huffman decoding circuit according to claim 1, wherein 1) receiving the bit as an address signal.
【請求項3】 前記複数のブロックは第1ないし第nの
ブロックを含み、前記第1のブロックは2C ワードの記
憶容量を有し、前記Cは、 2C-1 <A≦2C の関係を満足する整数を表し、前記Aは前記複数のハフ
マン符号の総数を表し、前記nは、 n=B−C+1 の関係を満足し、前記Bは前記複数のハフマン符号の最
大符号長を表し、第iのブロックは2K ワードの記憶容
量を有し、前記iは2からnまでの整数を表し、前記K
は、 2K-1 <A/(i−1)≦2K の関係を満足する整数を表し、A/(i−1)は小数点
以下を切捨てた整数を表し、 第1のブロックにはCビット以下の符号長が割り当てら
れ、前記第2ないし第nのブロックには同一の符号長を
有するハフマン符号の数に基づいてハフマン符号の符号
長がそれぞれ割り当てられ、 前記第1のブロックは前記符号データの第1ビットから
第Cビットをアドレス信号として受け、 前記符号長検出手段により検出された符号長に基づいて
前記符号データのK個のビットを選択して前第2ないし
第nのブロックにアドレス信号として与えるビット選択
手段をさらに含む、請求項1に記載のハフマン復号化回
路。
3. The plurality of blocks include first to n-th blocks, wherein the first block has a storage capacity of 2 C words, and C has the following condition: 2 C-1 <A ≦ 2 C Represents an integer satisfying the relationship, A represents the total number of the plurality of Huffman codes, n represents a relationship of n = B−C + 1, and B represents a maximum code length of the plurality of Huffman codes. , The i-th block has a storage capacity of 2 K words, wherein i represents an integer from 2 to n;
Represents an integer that satisfies the relationship of 2 K -1 <A / (i-1) ≤ 2 K , A / (i-1) represents an integer truncated to a decimal point, and the first block has C A code length equal to or less than a bit is allocated, and a code length of a Huffman code is allocated to each of the second to n-th blocks based on the number of Huffman codes having the same code length. The first to C-th bits of the data are received as an address signal, and the K bits of the code data are selected based on the code length detected by the code length detection means, and are selected for the second to n-th blocks. 2. The Huffman decoding circuit according to claim 1, further comprising bit selection means for giving as an address signal.
JP5088160A 1993-03-22 1993-03-22 Huffman decoding circuit Expired - Fee Related JP3005385B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5088160A JP3005385B2 (en) 1993-03-22 1993-03-22 Huffman decoding circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5088160A JP3005385B2 (en) 1993-03-22 1993-03-22 Huffman decoding circuit

Publications (2)

Publication Number Publication Date
JPH06276394A JPH06276394A (en) 1994-09-30
JP3005385B2 true JP3005385B2 (en) 2000-01-31

Family

ID=13935178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5088160A Expired - Fee Related JP3005385B2 (en) 1993-03-22 1993-03-22 Huffman decoding circuit

Country Status (1)

Country Link
JP (1) JP3005385B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3358721B2 (en) 1999-06-29 2002-12-24 日本電気株式会社 Huffman code decoder
JP2002261623A (en) * 2001-02-28 2002-09-13 Canon Inc Decoding device, decoding method, storage medium and program software
US8427494B2 (en) 2004-01-30 2013-04-23 Nvidia Corporation Variable-length coding data transfer interface
US8477852B2 (en) 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
US8502709B2 (en) 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
US8849051B2 (en) * 2007-09-17 2014-09-30 Nvidia Corporation Decoding variable length codes in JPEG applications
US8934539B2 (en) 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US9307267B2 (en) 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799812B2 (en) * 1990-03-26 1995-10-25 株式会社グラフイックス・コミュニケーション・テクノロジーズ Signal coding apparatus, signal decoding apparatus, and signal coding / decoding apparatus

Also Published As

Publication number Publication date
JPH06276394A (en) 1994-09-30

Similar Documents

Publication Publication Date Title
JP3410629B2 (en) Variable length coding circuit and variable length coding method
KR100241792B1 (en) Method and apparatus for encoding and decoding image data
KR940006352A (en) Variable length code decoder for video decompression operations
JP3021331B2 (en) Variable length decoding device using relative address
JP3005385B2 (en) Huffman decoding circuit
US6121905A (en) Method and apparatus for decoding JPEG symbols
US6313767B1 (en) Decoding apparatus and method
WO1999044368A1 (en) Image data processing device and processing method
US6157327A (en) Encoding/decoding device
US6026191A (en) Digital coding apparatus
JP3009993B2 (en) Huffman decoding device
CN114842108A (en) Probability grid map processing method and device and storage device
JP3005384B2 (en) Huffman decoding circuit
US5739778A (en) Digital data formatting/deformatting circuits
JP3015001B2 (en) Huffman decoding device
US6331827B1 (en) Huffman decoder using two priority encoder to reduce circuit scale
JP2812064B2 (en) Image processing device
JP3202403B2 (en) Image processing apparatus and method
JP2838964B2 (en) Variable length coding circuit
JP3291070B2 (en) Data transposition equipment
JP3368001B2 (en) Image coding apparatus and method
JP2733240B2 (en) Encoding device and decoding device
JP3270665B2 (en) Encoding / decoding apparatus and method
JP2000138933A (en) Image coder
JP2000101440A (en) Coding/transmission method and device thereof

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071119

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees